Revision 57357
Added by Konstantinos Triantafyllou almost 4 years ago
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="{"target":"[uk-scrollspy-class]","cls":"uk-animation-fade","delay":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
[Monitor]: Stakeholder page: Build menu and navigation