Project

General

Profile

« Previous | Next » 

Revision 57357

[Monitor]: Stakeholder page: Build menu and navigation

View differences:

modules/uoa-monitor-portal/trunk/monitor/src/app/stakeholder.ts
1
export class Stakeholder {
2
  id: string;
3
  type: string;
4
  index_id;
5
  index_name: string;
6
  index_shortName:string;
7
  isDefaultProfile: boolean;
8
  isActive: boolean;
9
  isPublic: boolean;
10
  creationDate: string;
11
  updateDate: string;
12
  managers: string[];
13
  topics:Topic[];
14
}
15
export class Topic {
16
  name: string;
17
  description: string;
18
  isActive: boolean;
19
  isPublic: boolean;
20
  categories: Category[];
21
}
22
export class Category {
23
  name: string;
24
  description: string;
25
  isActive: boolean;
26
  isPublic: boolean;
27
  isOverview: boolean;
28
  subCategories: SubCategory[];
29
}
30

  
31
export class SubCategory {
32
  name: string;
33
  description: string;
34
  isActive: boolean;
35
  isPublic: boolean;
36
  charts:string[];
37
  numbers:string[];
38

  
39
}
40
export class Indicator {
41
  name: string;
42
  description: string;
43
  type:string; //number,chart
44
  width:string; //small,medium,large
45
  tags:string[];
46
  isActive: boolean;
47
  isPublic: boolean;
48
  urls:IndicatorPath[];
49
}
50

  
51
export class IndicatorPath {
52
  type: string;
53
  url: string;
54
  jsonPath:string[];
55
}
modules/uoa-monitor-portal/trunk/monitor/src/app/utils/entities/stakeholder.ts
1
export class Stakeholder {
2
  id: string;
3
  type: string;
4
  index_id;
5
  index_name: string;
6
  index_shortName:string;
7
  alias: string;
8
  isDefaultProfile: boolean;
9
  isActive: boolean;
10
  isPublic: boolean;
11
  creationDate: string;
12
  updateDate: string;
13
  managers: string[];
14
  topics:Topic[];
15
}
16
export class Topic {
17
  name: string;
18
  alias: string;
19
  description: string;
20
  isActive: boolean;
21
  isPublic: boolean;
22
  categories: Category[];
23
}
24
export class Category {
25
  name: string;
26
  alias: string;
27
  description: string;
28
  isActive: boolean;
29
  isPublic: boolean;
30
  isOverview: boolean;
31
  subCategories: SubCategory[];
32
}
33

  
34
export class SubCategory {
35
  name: string;
36
  alias: string;
37
  description: string;
38
  isActive: boolean;
39
  isPublic: boolean;
40
  charts:string[];
41
  numbers:string[];
42

  
43
}
44
export class Indicator {
45
  name: string;
46
  description: string;
47
  type:string; //number,chart
48
  width:string; //small,medium,large
49
  tags:string[];
50
  isActive: boolean;
51
  isPublic: boolean;
52
  urls:IndicatorPath[];
53
}
54

  
55
export class IndicatorPath {
56
  type: string;
57
  url: string;
58
  jsonPath:string[];
59
}
modules/uoa-monitor-portal/trunk/monitor/src/app/services/stakeholder.service.ts
1 1
import {Injectable} from "@angular/core";
2 2
import {HttpClient, HttpErrorResponse} from "@angular/common/http";
3 3
import {Observable} from "rxjs";
4
import {Stakeholder} from "../stakeholder";
4
import {Stakeholder} from "../utils/entities/stakeholder";
5 5
import {map} from "rxjs/operators";
6 6

  
7 7
@Injectable()
8 8
export class StakeholderService {
9 9

  
10

  
11 10
  constructor(private http: HttpClient) {
12 11
  }
13 12

  
14
  getStakeholder(id: string): Observable<Stakeholder> {
13
  getStakeholder(alias: string): Observable<Stakeholder> {
15 14
    return this.http.get<any>('./assets/stakeholders.json').pipe(map(json => {
16
      let stakeholder = json.stakeholders.filter(stakeholder => stakeholder.index_id === id)[0];
17
      if(stakeholder) {
15
      let stakeholder = json.stakeholders.filter(stakeholder => stakeholder.alias === alias)[0];
16
      if (stakeholder) {
17
        stakeholder.topics = stakeholder.topics.filter(topic => topic.isActive && topic.isPublic);
18 18
        return stakeholder;
19 19
      } else {
20 20
        throw new HttpErrorResponse({
modules/uoa-monitor-portal/trunk/monitor/src/app/monitor/monitor.module.ts
14 14
import {MonitorRoutingModule} from "./monitor-routing.module";
15 15
import {MonitorComponent} from "./monitor.component";
16 16
import {StakeholderService} from "../services/stakeholder.service";
17
import {SideBarModule} from "../openaireLibrary/sharedComponents/sidebar/sideBar.module";
17 18

  
18 19
@NgModule({
19 20
  imports: [
20 21
    CommonModule, FormsModule, RouterModule, ErrorMessagesModule,
21
    HelperModule, Schema2jsonldModule, SEOServiceModule, MonitorRoutingModule
22
    HelperModule, Schema2jsonldModule, SEOServiceModule, MonitorRoutingModule, SideBarModule
22 23
  ],
23 24
  declarations: [
24 25
    MonitorComponent
modules/uoa-monitor-portal/trunk/monitor/src/app/monitor/monitor-routing.module.ts
7 7
@NgModule({
8 8
  imports: [
9 9
    RouterModule.forChild([
10
     	{ path: ':id', component: MonitorComponent, canActivate: [FreeGuard], canDeactivate: [PreviousRouteRecorder] }
10
     	{ path: ':stakeholder', component: MonitorComponent, canActivate: [FreeGuard], canDeactivate: [PreviousRouteRecorder] },
11
      { path: ':stakeholder/:topic', component: MonitorComponent, canActivate: [FreeGuard], canDeactivate: [PreviousRouteRecorder] },
12
      { path: ':stakeholder/:topic/:category', component: MonitorComponent, canActivate: [FreeGuard], canDeactivate: [PreviousRouteRecorder] },
13
      { path: ':stakeholder/:topic/:category/:subCategory', component: MonitorComponent, canActivate: [FreeGuard], canDeactivate: [PreviousRouteRecorder] }
11 14
    ])
12 15
  ]
13 16
})
modules/uoa-monitor-portal/trunk/monitor/src/app/monitor/monitor.component.html
3 3
               name="OpenAIRE Monitor">
4 4
</schema2jsonld>
5 5
<div
6
  class="image-front-topbar uk-margin-large-top"
6
  class="image-front-topbar uk-margin-medium-top"
7 7
  uk-scrollspy="{&quot;target&quot;:&quot;[uk-scrollspy-class]&quot;,&quot;cls&quot;:&quot;uk-animation-fade&quot;,&quot;delay&quot;:false}"
8 8
  tm-header-transparent="light" tm-header-transparent-placeholder="">
9
  <helper *ngIf="pageContents && pageContents['top'] && pageContents['top'].length > 0"
10
          [texts]="pageContents['top']"></helper>
9
  <div *ngIf="status === errorCodes.LOADING" class="uk-animation-fade uk-margin-top  uk-width-1-1" role="alert">
10
    <span class="loading-gif  uk-align-center"></span>
11
  </div>
12
  <div *ngIf="stakeholder && status === errorCodes.DONE && activeTopic"
13
       class="uk-background-primary uk-light uk-padding-small">
14
    <div class="uk-flex uk-flex-middle topic-nav" uk-grid>
15
      <div class="uk-width-1-5@m uk-margin-left">
16
        <span class="uk-text-bold uk-h4">{{stakeholder.index_name}}</span><br>
17
        <span class="uk-h5">Monitor Dashboard</span>
18
      </div>
19
      <nav class="uk-width-3-5@m uk-navbar" uk-navbar>
20
        <div class="uk-navbar-center">
21
          <ul class="uk-navbar-nav">
22
            <ng-template ngFor [ngForOf]="stakeholder.topics" let-topic let-i="index">
23
              <li [ngClass]="(topic.alias === activeTopic.alias)?'uk-active':''">
24
                <a (click)="navigateTo(stakeholder.alias, topic.alias)">{{topic.name}}</a>
25
              </li>
26
            </ng-template>
27
          </ul>
28
        </div>
29
      </nav>
30
    </div>
31
  </div>
32
  <div uk-grid>
33
    <sidebar [menuItems]="sideMenuItems" class="uk-width-1-5 sidebar"></sidebar>
34
  </div>
11 35
</div>
modules/uoa-monitor-portal/trunk/monitor/src/app/monitor/monitor.component.ts
1 1
import {Component} from '@angular/core';
2
import {ActivatedRoute, Router} from '@angular/router';
2
import {ActivatedRoute, Params, Router} from '@angular/router';
3 3
import {Meta, Title} from '@angular/platform-browser';
4 4
import {EnvProperties} from '../openaireLibrary/utils/properties/env-properties';
5
import {CommunitiesService} from '../openaireLibrary/connect/communities/communities.service';
6
import {SubscribeService} from '../openaireLibrary/utils/subscribe/subscribe.service';
7
import {CommunityInfo} from '../openaireLibrary/connect/community/communityInfo';
8 5

  
9 6
import {PiwikService} from '../openaireLibrary/utils/piwik/piwik.service';
10 7
import {StringUtils} from '../openaireLibrary/utils/string-utils.class';
......
14 11
import {HelperService} from "../openaireLibrary/utils/helper/helper.service";
15 12
import {SEOService} from "../openaireLibrary/sharedComponents/SEO/SEO.service";
16 13
import {StakeholderService} from "../services/stakeholder.service";
17
import {Stakeholder} from "../stakeholder";
14
import {Category, Stakeholder, SubCategory, Topic} from "../utils/entities/stakeholder";
15
import {MenuItem, RootMenuItem, SideMenuItem} from "../openaireLibrary/sharedComponents/menu";
18 16

  
19 17
@Component({
20 18
  selector: 'monitor',
21 19
  templateUrl: 'monitor.component.html',
22 20
})
23

  
24 21
export class MonitorComponent {
25 22
  public piwiksub: any;
26 23
  public pageContents = null;
27 24
  public divContents = null;
28 25
  public status: number;
29 26
  public loading: boolean = true;
27
  public activeTopic: Topic = null;
28
  public activeCategory: Category = null;
29
  public activeSubCategory: SubCategory = null;
30
  public sideMenuItems: SideMenuItem[] = null;
30 31
  public errorCodes: ErrorCodes;
31 32
  public stakeholder: Stakeholder;
32 33
  private errorMessages: ErrorMessagesComponent;
......
52 53
        this.route.params.subscribe( params => {
53 54
          this.properties = data.envSpecific;
54 55
          var url = data.envSpecific.baseLink + this._router.url;
55
          this.stakeholderService.getStakeholder(params['id']).subscribe(stakeholder => {
56
            this.stakeholder = stakeholder;
57
            this.seoService.createLinkForCanonicalURL(url, false);
58
            this._meta.updateTag({content: url}, "property='og:url'");
59
            var description = "Monitor | " + this.stakeholder.index_name;
60
            var title = "Monitor | " + this.stakeholder.index_shortName;
61
            this._meta.updateTag({content: description}, "name='description'");
62
            this._meta.updateTag({content: description}, "property='og:description'");
63
            this._meta.updateTag({content: title}, "property='og:title'");
64
            this._title.setTitle(title);
65
            if (this.properties.enablePiwikTrack && (typeof document !== 'undefined')) {
66
              this.piwiksub = this._piwikService.trackView(this.properties, title, this.properties.piwikSiteId).subscribe();
67
            }
68
            //this.getDivContents();
69
            this.getPageContents();
70
          }, error => {
71
            console.log(error);
72
            this._router.navigate(['']);
73
          })
56
          if(!this.stakeholder || this.stakeholder.index_id !== params['stakeholder']) {
57
            this.status = this.errorCodes.LOADING;
58
            this.stakeholderService.getStakeholder(params['stakeholder']).subscribe(stakeholder => {
59
              this.stakeholder = stakeholder;
60
              this.seoService.createLinkForCanonicalURL(url, false);
61
              this._meta.updateTag({content: url}, "property='og:url'");
62
              var description = "Monitor Dashboard | " + this.stakeholder.index_name;
63
              var title = "Monitor Dashboard | " + this.stakeholder.index_shortName;
64
              this._meta.updateTag({content: description}, "name='description'");
65
              this._meta.updateTag({content: description}, "property='og:description'");
66
              this._meta.updateTag({content: title}, "property='og:title'");
67
              this._title.setTitle(title);
68
              if (this.properties.enablePiwikTrack && (typeof document !== 'undefined')) {
69
                this.piwiksub = this._piwikService.trackView(this.properties, title, this.properties.piwikSiteId).subscribe();
70
              }
71
              //this.getDivContents();
72
              this.getPageContents();
73
              this.status = this.errorCodes.DONE;
74
              this.setView(params);
75
            }, error => {
76
              this.navigateToError();
77
            })
78
          } else {
79
            this.setView(params);
80
          }
74 81
        });
75 82
      });
76 83
  }
......
87 94
    })
88 95
  }
89 96

  
97
  private setView(params: Params) {
98
    if(params && params['topic']) {
99
      this.activeTopic = this.stakeholder.topics.filter(topic => topic.alias === decodeURIComponent(params['topic']))[0];
100
      if(this.activeTopic) {
101
        if(params['category']) {
102
          this.activeCategory = this.activeTopic.categories.filter(category =>
103
            category.alias === decodeURIComponent(params['category']))[0];
104
        } else {
105
          let category: Category = this.activeTopic.categories[0];
106
          this.navigateTo(this.stakeholder.alias, this.activeTopic.alias, category.alias);
107
          return;
108
        }
109
        if(this.activeCategory) {
110
          if(params['subCategory']) {
111
            this.activeSubCategory = this.activeCategory.subCategories.filter(subCategory =>
112
              subCategory.alias = decodeURIComponent(params['subCategory']))[0];
113
          } else {
114
            this.activeSubCategory = this.activeCategory.subCategories.filter(subCategory => !subCategory.alias)[0];
115
          }
116
          if(this.activeSubCategory) {
117
            this.setSideBar();
118
            return;
119
          }
120
        }
121
      }
122
      this.navigateToError();
123
    } else {
124
      let topic: Topic = this.stakeholder.topics[0];
125
      let category: Category = topic.categories[0];
126
      this.navigateTo(this.stakeholder.alias, topic.alias, category.alias);
127
    }
128
  }
129

  
130
  private setSideBar() {
131
    this.sideMenuItems = [];
132
    this.activeTopic.categories.forEach(category => {
133
      let rootItem: MenuItem = new MenuItem(category.alias, category.name, null, (
134
        '/monitor/' + this.stakeholder.alias + '/' + this.activeTopic.alias + '/' + category.alias),
135
        false, null, null, null);
136
      let items: RootMenuItem[] = [];
137
      category.subCategories.forEach(subCategory => {
138
        if(subCategory.alias != null) {
139
          items.push({
140
            items: [],
141
            rootItem: new MenuItem(subCategory.alias, subCategory.name, null, (
142
              '/monitor/' + this.stakeholder.alias + '/' + this.activeTopic.alias + '/' + category.alias + '/' + subCategory.alias),
143
              false, null, null, null)
144
          });
145
        }
146
      });
147
      this.sideMenuItems.push({
148
        rootItem: rootItem,
149
        items: items,
150
        ukIcon: null
151
      });
152
    });
153
  }
154

  
155
  public navigateToError() {
156
    this._router.navigate(['/error'],{queryParams: {'page': this._router.url}});
157
  }
158

  
159
  public navigateTo(stakeholder: string, topic: string, category: string = null, subcategory: string = null) {
160
    let url = 'monitor/' + stakeholder+ '/' + topic + ((category)?('/'
161
      + category):'') + ((subcategory)?('/' + subcategory):'');
162
    return this._router.navigate([url]);
163
  }
164

  
90 165
  public quote(param: string): string {
91 166
    return StringUtils.quote(param);
92 167
  }
modules/uoa-monitor-portal/trunk/monitor/src/assets/stakeholders.json
1 1
{
2
 "stakeholders":[
3
  {
4
    "id": "1",
5
    "type": "funder",
6
    "index_id": "EC",
7
    "index_name": "European Comission",
8
    "index_shortName": "EC",
9
    "isDefaultProfile": false,
10
    "isActive": true,
11
    "isPublic": true,
12
    "creationDate": "08-10-2019",
13
    "updateDate": "08-10-2019",
14
    "managers": null,
15

  
16
    "topics": [{
17
      "name": "Open Science",
18
      "description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do...",
2
  "stakeholders": [
3
    {
4
      "id": "1",
5
      "type": "funder",
6
      "index_id": "EC",
7
      "index_name": "European Comission",
8
      "index_shortName": "EC",
9
      "alias": "EC",
10
      "isDefaultProfile": false,
19 11
      "isActive": true,
20 12
      "isPublic": true,
21
      "categories": [
13
      "creationDate": "08-10-2019",
14
      "updateDate": "08-10-2019",
15
      "managers": null,
16
      "topics": [
22 17
        {
23
        "name": "Overview",
24
        "description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do...",
25
        "isOverview": true,
26
        "isActive": true,
27
        "isPublic": true,
28
        "subCategories": [{
29
          "name": null,
30
          "description": null,
31
          "isActive": true,
32
          "isPublic": true,
33
          "numbers": ["1","2","3"],
34
          "charts": ["4"]
35
        }]
36
      },
37
        {
38
          "name": "Publications",
18
          "name": "OpenScience",
19
          "alias": "openScience",
39 20
          "description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do...",
40
          "isOverview": false,
41 21
          "isActive": true,
42 22
          "isPublic": true,
43
          "subCategories": [{
44
            "name": null,
45
            "description": null,
46
            "isActive": true,
47
            "isPublic": true,
48
            "numbers": ["1","2","3"],
49
            "charts": ["4"]
50
          }]
23
          "categories": [
24
            {
25
              "name": "Overview",
26
              "alias": "overView",
27
              "description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do...",
28
              "isOverview": true,
29
              "isActive": true,
30
              "isPublic": true,
31
              "subCategories": [
32
                {
33
                  "name": null,
34
                  "description": null,
35
                  "alias": null,
36
                  "isActive": true,
37
                  "isPublic": true,
38
                  "numbers": [
39
                    "1",
40
                    "2",
41
                    "3"
42
                  ],
43
                  "charts": [
44
                    "4"
45
                  ]
46
                },
47
                {
48
                  "name": "Open",
49
                  "description": "open",
50
                  "alias": "open",
51
                  "isActive": true,
52
                  "isPublic": true,
53
                  "numbers": [
54
                    "1",
55
                    "2",
56
                    "3"
57
                  ],
58
                  "charts": [
59
                    "4"
60
                  ]
61
                }
62
              ]
63
            },
64
            {
65
              "name": "Publications",
66
              "alias": "publications",
67
              "description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do...",
68
              "isOverview": false,
69
              "isActive": true,
70
              "isPublic": true,
71
              "subCategories": [
72
                {
73
                  "name": null,
74
                  "description": null,
75
                  "alias": null,
76
                  "isActive": true,
77
                  "isPublic": true,
78
                  "numbers": [
79
                    "1",
80
                    "2",
81
                    "3"
82
                  ],
83
                  "charts": [
84
                    "4"
85
                  ]
86
                }
87
              ]
88
            },
89
            {
90
              "name": "Research data",
91
              "alias": "researchData",
92
              "description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do...",
93
              "isOverview": false,
94
              "isActive": true,
95
              "isPublic": true,
96
              "subCategories": [
97
                {
98
                  "name": null,
99
                  "description": null,
100
                  "alias": null,
101
                  "isActive": true,
102
                  "isPublic": true,
103
                  "numbers": [
104
                  ],
105
                  "charts": [
106
                  ]
107
                }
108
              ]
109
            },
110
            {
111
              "name": "Software",
112
              "alias": "software",
113
              "description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do...",
114
              "isOverview": false,
115
              "isActive": true,
116
              "isPublic": true,
117
              "subCategories": [
118
                {
119
                  "name": null,
120
                  "description": null,
121
                  "alias": null,
122
                  "isActive": true,
123
                  "isPublic": true,
124
                  "numbers": [
125
                  ],
126
                  "charts": [
127
                  ]
128
                }
129
              ]
130
            },
131
            {
132
              "name": "Other",
133
              "alias": "other",
134
              "description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do...",
135
              "isOverview": false,
136
              "isActive": true,
137
              "isPublic": true,
138
              "subCategories": [
139
                {
140
                  "name": null,
141
                  "description": null,
142
                  "alias": null,
143
                  "isActive": true,
144
                  "isPublic": true,
145
                  "numbers": [
146
                  ],
147
                  "charts": [
148
                  ]
149
                }
150
              ]
151
            }
152
          ]
51 153
        },
52 154
        {
53
          "name": "Research data",
155
          "name": "Collaboration",
156
          "alias": "collaboration",
54 157
          "description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do...",
55
          "isOverview": false,
56 158
          "isActive": true,
57 159
          "isPublic": true,
58
          "subCategories": [{
59
            "name": null,
60
            "description": null,
61
            "isActive": true,
62
            "isPublic": true,
63
            "numbers": [
64
            ],
65
            "charts": [
66
            ]
67
          }]
160
          "categories": [
161
            {
162
              "name": "Overview",
163
              "alias": "overView",
164
              "description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do...",
165
              "isOverview": true,
166
              "isActive": true,
167
              "isPublic": true,
168
              "subCategories": [
169
                {
170
                  "name": null,
171
                  "description": null,
172
                  "alias": null,
173
                  "isActive": true,
174
                  "isPublic": true,
175
                  "numbers": [
176
                    "1",
177
                    "2",
178
                    "3"
179
                  ],
180
                  "charts": [
181
                    "4"
182
                  ]
183
                }
184
              ]
185
            }
186
          ]
68 187
        },
69 188
        {
70
          "name": "Software",
189
          "name": "Impact/Correlation",
190
          "alias": "impact-correlation",
71 191
          "description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do...",
72
          "isOverview": false,
73 192
          "isActive": true,
74 193
          "isPublic": true,
75
          "subCategories": [{
76
            "name": null,
77
            "description": null,
78
            "isActive": true,
79
            "isPublic": true,
80
            "numbers": [
81
            ],
82
            "charts": [
83
            ]
84
          }]
85
        }, {
86
          "name": "Other",
87
          "description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do...",
88
          "isOverview": false,
89
          "isActive": true,
90
          "isPublic": true,
91
          "subCategories": [{
92
            "name": null,
93
            "description": null,
94
            "isActive": true,
95
            "isPublic": true,
96
            "numbers": [
97
            ],
98
            "charts": [
99
            ]
100
          }]
194
          "categories": [
195
            {
196
              "name": "Overview",
197
              "alias": "overView",
198
              "description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do...",
199
              "isOverview": true,
200
              "isActive": true,
201
              "isPublic": true,
202
              "subCategories": [
203
                {
204
                  "name": null,
205
                  "description": null,
206
                  "alias": null,
207
                  "isActive": true,
208
                  "isPublic": true,
209
                  "numbers": [
210
                    "1",
211
                    "2",
212
                    "3"
213
                  ],
214
                  "charts": [
215
                    "4"
216
                  ]
217
                }
218
              ]
219
            }
220
          ]
101 221
        }
102 222
      ]
103
    }]
104
  }],
105
  "indicators": [{
106
    "id": "1",
107
    "type": "number",
108
    "name": "Total",
109
    "description": "Total number of publications",
110
    "tags":["publications"],
111
    "width": "small",
112
    "indicatorPaths":[{"type":"",
113
      "url": "/stats-api/funders/{index_shortname}",
114
      "jsonPath":["statistics","publications"]}]
115
  },
223
    }
224
  ],
225
  "indicators": [
116 226
    {
227
      "id": "1",
228
      "type": "number",
229
      "name": "Total",
230
      "description": "Total number of publications",
231
      "tags": [
232
        "publications"
233
      ],
234
      "width": "small",
235
      "indicatorPaths": [
236
        {
237
          "type": "",
238
          "url": "/stats-api/funders/{index_shortname}",
239
          "jsonPath": [
240
            "statistics",
241
            "publications"
242
          ]
243
        }
244
      ]
245
    },
246
    {
117 247
      "id": "2",
118 248
      "type": "number",
119 249
      "name": "Open",
120 250
      "description": "Total number of open access publications",
121
      "tags":["publication", "open access"],
251
      "tags": [
252
        "publication",
253
        "open access"
254
      ],
122 255
      "width": "small",
123
      "indicatorPaths": [{"type":"",
124
        "url": "/stats-api/funders/{index_shortname}",
125
        "jsonPath":["statistics","open"]}]
256
      "indicatorPaths": [
257
        {
258
          "type": "",
259
          "url": "/stats-api/funders/{index_shortname}",
260
          "jsonPath": [
261
            "statistics",
262
            "open"
263
          ]
264
        }
265
      ]
126 266
    },
127 267
    {
128 268
      "id": "3",
129 269
      "type": "number",
130 270
      "name": "Embargo",
131 271
      "description": "Total number of embargoed publications",
132
      "tags":["publication", "embargo"],
272
      "tags": [
273
        "publication",
274
        "embargo"
275
      ],
133 276
      "width": "small",
134
      "indicatorPaths": [{"type":"",
135
        "url": "/stats-api/funders/{index_shortname}",
136
        "jsonPath":["statistics","embargo"]}]
277
      "indicatorPaths": [
278
        {
279
          "type": "",
280
          "url": "/stats-api/funders/{index_shortname}",
281
          "jsonPath": [
282
            "statistics",
283
            "embargo"
284
          ]
285
        }
286
      ]
137 287
    },
138 288
    {
139 289
      "id": "4",
140 290
      "type": "charts",
141 291
      "name": "Number of publications by project",
142 292
      "description": "Number of publications by project",
143
      "tags":["publication", "project"],
293
      "tags": [
294
        "publication",
295
        "project"
296
      ],
144 297
      "width": "large",
145
      "indicatorPaths":[{ "type":"bar graph",
146
        "url": "https://www.openaire.eu/stats/chart.php?com=query&data={%22table%22%3A%22result%22%2C%22fields%22%3A[{%22fld%22%3A%22number%22%2C%22agg%22%3A%22count%22%2C%22type%22%3A%22bar%22%2C%22yaxis%22%3A1%2C%22c%22%3Afalse}]%2C%22xaxis%22%3A{%22name%22%3A%22result_projects-project-acronym%22%2C%22agg%22%3A%22avg%22}%2C%22group%22%3A%22%22%2C%22color%22%3A%22%22%2C%22type%22%3A%22chart%22%2C%22size%22%3A30%2C%22sort%22%3A%22count-number%22%2C%22yaxisheaders%22%3A[%22%22]%2C%22fieldsheaders%22%3A[%22publications%22]%2C%22in%22%3A[]%2C%22filters%22%3A[{%22name%22%3A%22result_projects-project-funding_lvl0%22%2C%22values%22%3A[%22H2020%22]%2C%22to%22%3A%22-1%22}%2C{%22name%22%3A%22type%22%2C%22values%22%3A[%22publication%22]%2C%22to%22%3A%22-1%22}]%2C%22having%22%3A[]%2C%22xStyle%22%3A{%22r%22:%22-%22,%22s%22:%22-%22,%22l%22:%22-%22,%22ft%22:%22-%22,%22wt%22:%22-%22}%2C%22title%22%3A%22H2020%20Publications%20per%20project%20%28top%2030%29%22%2C%22subtitle%22%3A%22%22%2C%22xaxistitle%22%3A%22project%22%2C%22order%22%3A%22d%22}&h=100%&w=80%",
147
        "jsonPath":[]},
148
        { "type":"table",
149
          "url":"https://www.openaire.eu/stats/gtable.php?com=query&data={%22table%22:%22result%22,%22fields%22:[{%22fld%22:%22number%22,%22agg%22:%22count%22,%22type%22:%22pie%22,%22yaxis%22:1,%22c%22:false}],%22xaxis%22:{%22name%22:%22result_projects-project-title%22,%22agg%22:%22avg%22},%22group%22:%22%22,%22color%22:%22%22,%22type%22:%22chart%22,%22size%22:%2230%22,%22sort%22:%22count-number%22,%22yaxisheaders%22:[%22%22],%22fieldsheaders%22:[%22publications%22],%22in%22:[],%22filters%22:[{%22name%22:%22result_projects-project-funder%22,%22values%22:[%22{index_name}%22],%22to%22:%22-1%22},{%22name%22:%22type%22,%22values%22:[%22publication%22],%22to%22:%22-1%22}],%22having%22:[],%22xStyle%22:{%22r%22:-90,%22s%22:%22-%22,%22l%22:%22-%22,%22ft%22:10,%22wt%22:%22-%22},%22title%22:%22{index_shortname}%20Publications%20by%20project%20(top%2030)%22,%22subtitle%22:%22%22,%22xaxistitle%22:%22project%22,%22order%22:%22d%22}",
150
          "jsonPath":[]}
298
      "indicatorPaths": [
299
        {
300
          "type": "bar graph",
301
          "url": "https://www.openaire.eu/stats/chart.php?com=query&data={%22table%22%3A%22result%22%2C%22fields%22%3A[{%22fld%22%3A%22number%22%2C%22agg%22%3A%22count%22%2C%22type%22%3A%22bar%22%2C%22yaxis%22%3A1%2C%22c%22%3Afalse}]%2C%22xaxis%22%3A{%22name%22%3A%22result_projects-project-acronym%22%2C%22agg%22%3A%22avg%22}%2C%22group%22%3A%22%22%2C%22color%22%3A%22%22%2C%22type%22%3A%22chart%22%2C%22size%22%3A30%2C%22sort%22%3A%22count-number%22%2C%22yaxisheaders%22%3A[%22%22]%2C%22fieldsheaders%22%3A[%22publications%22]%2C%22in%22%3A[]%2C%22filters%22%3A[{%22name%22%3A%22result_projects-project-funding_lvl0%22%2C%22values%22%3A[%22H2020%22]%2C%22to%22%3A%22-1%22}%2C{%22name%22%3A%22type%22%2C%22values%22%3A[%22publication%22]%2C%22to%22%3A%22-1%22}]%2C%22having%22%3A[]%2C%22xStyle%22%3A{%22r%22:%22-%22,%22s%22:%22-%22,%22l%22:%22-%22,%22ft%22:%22-%22,%22wt%22:%22-%22}%2C%22title%22%3A%22H2020%20Publications%20per%20project%20%28top%2030%29%22%2C%22subtitle%22%3A%22%22%2C%22xaxistitle%22%3A%22project%22%2C%22order%22%3A%22d%22}&h=100%&w=80%",
302
          "jsonPath": []
303
        },
304
        {
305
          "type": "table",
306
          "url": "https://www.openaire.eu/stats/gtable.php?com=query&data={%22table%22:%22result%22,%22fields%22:[{%22fld%22:%22number%22,%22agg%22:%22count%22,%22type%22:%22pie%22,%22yaxis%22:1,%22c%22:false}],%22xaxis%22:{%22name%22:%22result_projects-project-title%22,%22agg%22:%22avg%22},%22group%22:%22%22,%22color%22:%22%22,%22type%22:%22chart%22,%22size%22:%2230%22,%22sort%22:%22count-number%22,%22yaxisheaders%22:[%22%22],%22fieldsheaders%22:[%22publications%22],%22in%22:[],%22filters%22:[{%22name%22:%22result_projects-project-funder%22,%22values%22:[%22{index_name}%22],%22to%22:%22-1%22},{%22name%22:%22type%22,%22values%22:[%22publication%22],%22to%22:%22-1%22}],%22having%22:[],%22xStyle%22:{%22r%22:-90,%22s%22:%22-%22,%22l%22:%22-%22,%22ft%22:10,%22wt%22:%22-%22},%22title%22:%22{index_shortname}%20Publications%20by%20project%20(top%2030)%22,%22subtitle%22:%22%22,%22xaxistitle%22:%22project%22,%22order%22:%22d%22}",
307
          "jsonPath": []
308
        }
151 309
      ]
152
    }]
310
    }
311
  ]
153 312
}
modules/uoa-monitor-portal/trunk/monitor/src/assets/monitor-custom.css
16 16
    --monitor-portal-lower-tone: #7c9144;
17 17
    --connect-portal-lower-tone: #b48536;
18 18
    --develop-portal-lower-tone: #9f4e7e;
19

  
20
    --community_main_color: #4C9CD5;
21
    --community_main_color_rgb: 76,156,213;
22
    --community_secondary_color:#24857F;
23
    --community_main_dark_color:#2276B9;
24

  
25 19
}
26 20

  
27 21
.tm-toolbar .uk-subnav-line .custom-monitor-li {
......
67 61
.uk-breadcrumb .active{
68 62
    font-weight: bold;
69 63
}
64

  
65
.uk-light .topic-nav .uk-navbar-nav > li > a {
66
  font-size: 20px;
67
  text-transform: unset;
68
}
69

  
70
.uk-light .topic-nav .uk-navbar-nav > li.uk-active > a, .uk-light .topic-nav .uk-navbar-nav > li > a:hover,
71
.uk-light .topic-nav .uk-navbar-nav > li > a:focus {
72
  color: white !important;
73
}

Also available in: Unified diff