[Monitor]: Stakeholder page: Build menu and navigation
git-svn-id: https://svn.driver.research-infrastructures.eu/driver/dnet40/modules/uoa-monitor-portal/trunk/monitor@57357 d315682c-612b-4755-9ff5-7f18f6832af3
This commit is contained in:
parent
5a22424a47
commit
e0e2e4741b
|
@ -7,7 +7,10 @@ import {MonitorComponent} from "./monitor.component";
|
||||||
@NgModule({
|
@NgModule({
|
||||||
imports: [
|
imports: [
|
||||||
RouterModule.forChild([
|
RouterModule.forChild([
|
||||||
{ path: ':id', component: MonitorComponent, canActivate: [FreeGuard], canDeactivate: [PreviousRouteRecorder] }
|
{ path: ':stakeholder', component: MonitorComponent, canActivate: [FreeGuard], canDeactivate: [PreviousRouteRecorder] },
|
||||||
|
{ path: ':stakeholder/:topic', component: MonitorComponent, canActivate: [FreeGuard], canDeactivate: [PreviousRouteRecorder] },
|
||||||
|
{ path: ':stakeholder/:topic/:category', component: MonitorComponent, canActivate: [FreeGuard], canDeactivate: [PreviousRouteRecorder] },
|
||||||
|
{ path: ':stakeholder/:topic/:category/:subCategory', component: MonitorComponent, canActivate: [FreeGuard], canDeactivate: [PreviousRouteRecorder] }
|
||||||
])
|
])
|
||||||
]
|
]
|
||||||
})
|
})
|
||||||
|
|
|
@ -3,9 +3,33 @@
|
||||||
name="OpenAIRE Monitor">
|
name="OpenAIRE Monitor">
|
||||||
</schema2jsonld>
|
</schema2jsonld>
|
||||||
<div
|
<div
|
||||||
class="image-front-topbar uk-margin-large-top"
|
class="image-front-topbar uk-margin-medium-top"
|
||||||
uk-scrollspy="{"target":"[uk-scrollspy-class]","cls":"uk-animation-fade","delay":false}"
|
uk-scrollspy="{"target":"[uk-scrollspy-class]","cls":"uk-animation-fade","delay":false}"
|
||||||
tm-header-transparent="light" tm-header-transparent-placeholder="">
|
tm-header-transparent="light" tm-header-transparent-placeholder="">
|
||||||
<helper *ngIf="pageContents && pageContents['top'] && pageContents['top'].length > 0"
|
<div *ngIf="status === errorCodes.LOADING" class="uk-animation-fade uk-margin-top uk-width-1-1" role="alert">
|
||||||
[texts]="pageContents['top']"></helper>
|
<span class="loading-gif uk-align-center"></span>
|
||||||
|
</div>
|
||||||
|
<div *ngIf="stakeholder && status === errorCodes.DONE && activeTopic"
|
||||||
|
class="uk-background-primary uk-light uk-padding-small">
|
||||||
|
<div class="uk-flex uk-flex-middle topic-nav" uk-grid>
|
||||||
|
<div class="uk-width-1-5@m uk-margin-left">
|
||||||
|
<span class="uk-text-bold uk-h4">{{stakeholder.index_name}}</span><br>
|
||||||
|
<span class="uk-h5">Monitor Dashboard</span>
|
||||||
|
</div>
|
||||||
|
<nav class="uk-width-3-5@m uk-navbar" uk-navbar>
|
||||||
|
<div class="uk-navbar-center">
|
||||||
|
<ul class="uk-navbar-nav">
|
||||||
|
<ng-template ngFor [ngForOf]="stakeholder.topics" let-topic let-i="index">
|
||||||
|
<li [ngClass]="(topic.alias === activeTopic.alias)?'uk-active':''">
|
||||||
|
<a (click)="navigateTo(stakeholder.alias, topic.alias)">{{topic.name}}</a>
|
||||||
|
</li>
|
||||||
|
</ng-template>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</nav>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div uk-grid>
|
||||||
|
<sidebar [menuItems]="sideMenuItems" class="uk-width-1-5 sidebar"></sidebar>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -1,10 +1,7 @@
|
||||||
import {Component} from '@angular/core';
|
import {Component} from '@angular/core';
|
||||||
import {ActivatedRoute, Router} from '@angular/router';
|
import {ActivatedRoute, Params, Router} from '@angular/router';
|
||||||
import {Meta, Title} from '@angular/platform-browser';
|
import {Meta, Title} from '@angular/platform-browser';
|
||||||
import {EnvProperties} from '../openaireLibrary/utils/properties/env-properties';
|
import {EnvProperties} from '../openaireLibrary/utils/properties/env-properties';
|
||||||
import {CommunitiesService} from '../openaireLibrary/connect/communities/communities.service';
|
|
||||||
import {SubscribeService} from '../openaireLibrary/utils/subscribe/subscribe.service';
|
|
||||||
import {CommunityInfo} from '../openaireLibrary/connect/community/communityInfo';
|
|
||||||
|
|
||||||
import {PiwikService} from '../openaireLibrary/utils/piwik/piwik.service';
|
import {PiwikService} from '../openaireLibrary/utils/piwik/piwik.service';
|
||||||
import {StringUtils} from '../openaireLibrary/utils/string-utils.class';
|
import {StringUtils} from '../openaireLibrary/utils/string-utils.class';
|
||||||
|
@ -14,19 +11,23 @@ import {ErrorMessagesComponent} from '../openaireLibrary/utils/errorMessages.com
|
||||||
import {HelperService} from "../openaireLibrary/utils/helper/helper.service";
|
import {HelperService} from "../openaireLibrary/utils/helper/helper.service";
|
||||||
import {SEOService} from "../openaireLibrary/sharedComponents/SEO/SEO.service";
|
import {SEOService} from "../openaireLibrary/sharedComponents/SEO/SEO.service";
|
||||||
import {StakeholderService} from "../services/stakeholder.service";
|
import {StakeholderService} from "../services/stakeholder.service";
|
||||||
import {Stakeholder} from "../stakeholder";
|
import {Category, Stakeholder, SubCategory, Topic} from "../utils/entities/stakeholder";
|
||||||
|
import {MenuItem, RootMenuItem, SideMenuItem} from "../openaireLibrary/sharedComponents/menu";
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'monitor',
|
selector: 'monitor',
|
||||||
templateUrl: 'monitor.component.html',
|
templateUrl: 'monitor.component.html',
|
||||||
})
|
})
|
||||||
|
|
||||||
export class MonitorComponent {
|
export class MonitorComponent {
|
||||||
public piwiksub: any;
|
public piwiksub: any;
|
||||||
public pageContents = null;
|
public pageContents = null;
|
||||||
public divContents = null;
|
public divContents = null;
|
||||||
public status: number;
|
public status: number;
|
||||||
public loading: boolean = true;
|
public loading: boolean = true;
|
||||||
|
public activeTopic: Topic = null;
|
||||||
|
public activeCategory: Category = null;
|
||||||
|
public activeSubCategory: SubCategory = null;
|
||||||
|
public sideMenuItems: SideMenuItem[] = null;
|
||||||
public errorCodes: ErrorCodes;
|
public errorCodes: ErrorCodes;
|
||||||
public stakeholder: Stakeholder;
|
public stakeholder: Stakeholder;
|
||||||
private errorMessages: ErrorMessagesComponent;
|
private errorMessages: ErrorMessagesComponent;
|
||||||
|
@ -52,25 +53,31 @@ export class MonitorComponent {
|
||||||
this.route.params.subscribe( params => {
|
this.route.params.subscribe( params => {
|
||||||
this.properties = data.envSpecific;
|
this.properties = data.envSpecific;
|
||||||
var url = data.envSpecific.baseLink + this._router.url;
|
var url = data.envSpecific.baseLink + this._router.url;
|
||||||
this.stakeholderService.getStakeholder(params['id']).subscribe(stakeholder => {
|
if(!this.stakeholder || this.stakeholder.index_id !== params['stakeholder']) {
|
||||||
this.stakeholder = stakeholder;
|
this.status = this.errorCodes.LOADING;
|
||||||
this.seoService.createLinkForCanonicalURL(url, false);
|
this.stakeholderService.getStakeholder(params['stakeholder']).subscribe(stakeholder => {
|
||||||
this._meta.updateTag({content: url}, "property='og:url'");
|
this.stakeholder = stakeholder;
|
||||||
var description = "Monitor | " + this.stakeholder.index_name;
|
this.seoService.createLinkForCanonicalURL(url, false);
|
||||||
var title = "Monitor | " + this.stakeholder.index_shortName;
|
this._meta.updateTag({content: url}, "property='og:url'");
|
||||||
this._meta.updateTag({content: description}, "name='description'");
|
var description = "Monitor Dashboard | " + this.stakeholder.index_name;
|
||||||
this._meta.updateTag({content: description}, "property='og:description'");
|
var title = "Monitor Dashboard | " + this.stakeholder.index_shortName;
|
||||||
this._meta.updateTag({content: title}, "property='og:title'");
|
this._meta.updateTag({content: description}, "name='description'");
|
||||||
this._title.setTitle(title);
|
this._meta.updateTag({content: description}, "property='og:description'");
|
||||||
if (this.properties.enablePiwikTrack && (typeof document !== 'undefined')) {
|
this._meta.updateTag({content: title}, "property='og:title'");
|
||||||
this.piwiksub = this._piwikService.trackView(this.properties, title, this.properties.piwikSiteId).subscribe();
|
this._title.setTitle(title);
|
||||||
}
|
if (this.properties.enablePiwikTrack && (typeof document !== 'undefined')) {
|
||||||
//this.getDivContents();
|
this.piwiksub = this._piwikService.trackView(this.properties, title, this.properties.piwikSiteId).subscribe();
|
||||||
this.getPageContents();
|
}
|
||||||
}, error => {
|
//this.getDivContents();
|
||||||
console.log(error);
|
this.getPageContents();
|
||||||
this._router.navigate(['']);
|
this.status = this.errorCodes.DONE;
|
||||||
})
|
this.setView(params);
|
||||||
|
}, error => {
|
||||||
|
this.navigateToError();
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
this.setView(params);
|
||||||
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -87,6 +94,74 @@ export class MonitorComponent {
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private setView(params: Params) {
|
||||||
|
if(params && params['topic']) {
|
||||||
|
this.activeTopic = this.stakeholder.topics.filter(topic => topic.alias === decodeURIComponent(params['topic']))[0];
|
||||||
|
if(this.activeTopic) {
|
||||||
|
if(params['category']) {
|
||||||
|
this.activeCategory = this.activeTopic.categories.filter(category =>
|
||||||
|
category.alias === decodeURIComponent(params['category']))[0];
|
||||||
|
} else {
|
||||||
|
let category: Category = this.activeTopic.categories[0];
|
||||||
|
this.navigateTo(this.stakeholder.alias, this.activeTopic.alias, category.alias);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if(this.activeCategory) {
|
||||||
|
if(params['subCategory']) {
|
||||||
|
this.activeSubCategory = this.activeCategory.subCategories.filter(subCategory =>
|
||||||
|
subCategory.alias = decodeURIComponent(params['subCategory']))[0];
|
||||||
|
} else {
|
||||||
|
this.activeSubCategory = this.activeCategory.subCategories.filter(subCategory => !subCategory.alias)[0];
|
||||||
|
}
|
||||||
|
if(this.activeSubCategory) {
|
||||||
|
this.setSideBar();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
this.navigateToError();
|
||||||
|
} else {
|
||||||
|
let topic: Topic = this.stakeholder.topics[0];
|
||||||
|
let category: Category = topic.categories[0];
|
||||||
|
this.navigateTo(this.stakeholder.alias, topic.alias, category.alias);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private setSideBar() {
|
||||||
|
this.sideMenuItems = [];
|
||||||
|
this.activeTopic.categories.forEach(category => {
|
||||||
|
let rootItem: MenuItem = new MenuItem(category.alias, category.name, null, (
|
||||||
|
'/monitor/' + this.stakeholder.alias + '/' + this.activeTopic.alias + '/' + category.alias),
|
||||||
|
false, null, null, null);
|
||||||
|
let items: RootMenuItem[] = [];
|
||||||
|
category.subCategories.forEach(subCategory => {
|
||||||
|
if(subCategory.alias != null) {
|
||||||
|
items.push({
|
||||||
|
items: [],
|
||||||
|
rootItem: new MenuItem(subCategory.alias, subCategory.name, null, (
|
||||||
|
'/monitor/' + this.stakeholder.alias + '/' + this.activeTopic.alias + '/' + category.alias + '/' + subCategory.alias),
|
||||||
|
false, null, null, null)
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
this.sideMenuItems.push({
|
||||||
|
rootItem: rootItem,
|
||||||
|
items: items,
|
||||||
|
ukIcon: null
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
public navigateToError() {
|
||||||
|
this._router.navigate(['/error'],{queryParams: {'page': this._router.url}});
|
||||||
|
}
|
||||||
|
|
||||||
|
public navigateTo(stakeholder: string, topic: string, category: string = null, subcategory: string = null) {
|
||||||
|
let url = 'monitor/' + stakeholder+ '/' + topic + ((category)?('/'
|
||||||
|
+ category):'') + ((subcategory)?('/' + subcategory):'');
|
||||||
|
return this._router.navigate([url]);
|
||||||
|
}
|
||||||
|
|
||||||
public quote(param: string): string {
|
public quote(param: string): string {
|
||||||
return StringUtils.quote(param);
|
return StringUtils.quote(param);
|
||||||
}
|
}
|
||||||
|
|
|
@ -14,11 +14,12 @@ import {SEOServiceModule} from "../openaireLibrary/sharedComponents/SEO/SEOServi
|
||||||
import {MonitorRoutingModule} from "./monitor-routing.module";
|
import {MonitorRoutingModule} from "./monitor-routing.module";
|
||||||
import {MonitorComponent} from "./monitor.component";
|
import {MonitorComponent} from "./monitor.component";
|
||||||
import {StakeholderService} from "../services/stakeholder.service";
|
import {StakeholderService} from "../services/stakeholder.service";
|
||||||
|
import {SideBarModule} from "../openaireLibrary/sharedComponents/sidebar/sideBar.module";
|
||||||
|
|
||||||
@NgModule({
|
@NgModule({
|
||||||
imports: [
|
imports: [
|
||||||
CommonModule, FormsModule, RouterModule, ErrorMessagesModule,
|
CommonModule, FormsModule, RouterModule, ErrorMessagesModule,
|
||||||
HelperModule, Schema2jsonldModule, SEOServiceModule, MonitorRoutingModule
|
HelperModule, Schema2jsonldModule, SEOServiceModule, MonitorRoutingModule, SideBarModule
|
||||||
],
|
],
|
||||||
declarations: [
|
declarations: [
|
||||||
MonitorComponent
|
MonitorComponent
|
||||||
|
|
|
@ -1,20 +1,20 @@
|
||||||
import {Injectable} from "@angular/core";
|
import {Injectable} from "@angular/core";
|
||||||
import {HttpClient, HttpErrorResponse} from "@angular/common/http";
|
import {HttpClient, HttpErrorResponse} from "@angular/common/http";
|
||||||
import {Observable} from "rxjs";
|
import {Observable} from "rxjs";
|
||||||
import {Stakeholder} from "../stakeholder";
|
import {Stakeholder} from "../utils/entities/stakeholder";
|
||||||
import {map} from "rxjs/operators";
|
import {map} from "rxjs/operators";
|
||||||
|
|
||||||
@Injectable()
|
@Injectable()
|
||||||
export class StakeholderService {
|
export class StakeholderService {
|
||||||
|
|
||||||
|
|
||||||
constructor(private http: HttpClient) {
|
constructor(private http: HttpClient) {
|
||||||
}
|
}
|
||||||
|
|
||||||
getStakeholder(id: string): Observable<Stakeholder> {
|
getStakeholder(alias: string): Observable<Stakeholder> {
|
||||||
return this.http.get<any>('./assets/stakeholders.json').pipe(map(json => {
|
return this.http.get<any>('./assets/stakeholders.json').pipe(map(json => {
|
||||||
let stakeholder = json.stakeholders.filter(stakeholder => stakeholder.index_id === id)[0];
|
let stakeholder = json.stakeholders.filter(stakeholder => stakeholder.alias === alias)[0];
|
||||||
if(stakeholder) {
|
if (stakeholder) {
|
||||||
|
stakeholder.topics = stakeholder.topics.filter(topic => topic.isActive && topic.isPublic);
|
||||||
return stakeholder;
|
return stakeholder;
|
||||||
} else {
|
} else {
|
||||||
throw new HttpErrorResponse({
|
throw new HttpErrorResponse({
|
||||||
|
|
|
@ -4,6 +4,7 @@ export class Stakeholder {
|
||||||
index_id;
|
index_id;
|
||||||
index_name: string;
|
index_name: string;
|
||||||
index_shortName:string;
|
index_shortName:string;
|
||||||
|
alias: string;
|
||||||
isDefaultProfile: boolean;
|
isDefaultProfile: boolean;
|
||||||
isActive: boolean;
|
isActive: boolean;
|
||||||
isPublic: boolean;
|
isPublic: boolean;
|
||||||
|
@ -14,6 +15,7 @@ export class Stakeholder {
|
||||||
}
|
}
|
||||||
export class Topic {
|
export class Topic {
|
||||||
name: string;
|
name: string;
|
||||||
|
alias: string;
|
||||||
description: string;
|
description: string;
|
||||||
isActive: boolean;
|
isActive: boolean;
|
||||||
isPublic: boolean;
|
isPublic: boolean;
|
||||||
|
@ -21,6 +23,7 @@ export class Topic {
|
||||||
}
|
}
|
||||||
export class Category {
|
export class Category {
|
||||||
name: string;
|
name: string;
|
||||||
|
alias: string;
|
||||||
description: string;
|
description: string;
|
||||||
isActive: boolean;
|
isActive: boolean;
|
||||||
isPublic: boolean;
|
isPublic: boolean;
|
||||||
|
@ -30,6 +33,7 @@ export class Category {
|
||||||
|
|
||||||
export class SubCategory {
|
export class SubCategory {
|
||||||
name: string;
|
name: string;
|
||||||
|
alias: string;
|
||||||
description: string;
|
description: string;
|
||||||
isActive: boolean;
|
isActive: boolean;
|
||||||
isPublic: boolean;
|
isPublic: boolean;
|
|
@ -16,12 +16,6 @@
|
||||||
--monitor-portal-lower-tone: #7c9144;
|
--monitor-portal-lower-tone: #7c9144;
|
||||||
--connect-portal-lower-tone: #b48536;
|
--connect-portal-lower-tone: #b48536;
|
||||||
--develop-portal-lower-tone: #9f4e7e;
|
--develop-portal-lower-tone: #9f4e7e;
|
||||||
|
|
||||||
--community_main_color: #4C9CD5;
|
|
||||||
--community_main_color_rgb: 76,156,213;
|
|
||||||
--community_secondary_color:#24857F;
|
|
||||||
--community_main_dark_color:#2276B9;
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.tm-toolbar .uk-subnav-line .custom-monitor-li {
|
.tm-toolbar .uk-subnav-line .custom-monitor-li {
|
||||||
|
@ -67,3 +61,13 @@ div:not(.connect_App) bottom .uk-totop{
|
||||||
.uk-breadcrumb .active{
|
.uk-breadcrumb .active{
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.uk-light .topic-nav .uk-navbar-nav > li > a {
|
||||||
|
font-size: 20px;
|
||||||
|
text-transform: unset;
|
||||||
|
}
|
||||||
|
|
||||||
|
.uk-light .topic-nav .uk-navbar-nav > li.uk-active > a, .uk-light .topic-nav .uk-navbar-nav > li > a:hover,
|
||||||
|
.uk-light .topic-nav .uk-navbar-nav > li > a:focus {
|
||||||
|
color: white !important;
|
||||||
|
}
|
||||||
|
|
|
@ -1,153 +1,312 @@
|
||||||
{
|
{
|
||||||
"stakeholders":[
|
"stakeholders": [
|
||||||
{
|
{
|
||||||
"id": "1",
|
"id": "1",
|
||||||
"type": "funder",
|
"type": "funder",
|
||||||
"index_id": "EC",
|
"index_id": "EC",
|
||||||
"index_name": "European Comission",
|
"index_name": "European Comission",
|
||||||
"index_shortName": "EC",
|
"index_shortName": "EC",
|
||||||
"isDefaultProfile": false,
|
"alias": "EC",
|
||||||
"isActive": true,
|
"isDefaultProfile": false,
|
||||||
"isPublic": true,
|
|
||||||
"creationDate": "08-10-2019",
|
|
||||||
"updateDate": "08-10-2019",
|
|
||||||
"managers": null,
|
|
||||||
|
|
||||||
"topics": [{
|
|
||||||
"name": "Open Science",
|
|
||||||
"description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do...",
|
|
||||||
"isActive": true,
|
"isActive": true,
|
||||||
"isPublic": true,
|
"isPublic": true,
|
||||||
"categories": [
|
"creationDate": "08-10-2019",
|
||||||
|
"updateDate": "08-10-2019",
|
||||||
|
"managers": null,
|
||||||
|
"topics": [
|
||||||
{
|
{
|
||||||
"name": "Overview",
|
"name": "OpenScience",
|
||||||
"description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do...",
|
"alias": "openScience",
|
||||||
"isOverview": true,
|
|
||||||
"isActive": true,
|
|
||||||
"isPublic": true,
|
|
||||||
"subCategories": [{
|
|
||||||
"name": null,
|
|
||||||
"description": null,
|
|
||||||
"isActive": true,
|
|
||||||
"isPublic": true,
|
|
||||||
"numbers": ["1","2","3"],
|
|
||||||
"charts": ["4"]
|
|
||||||
}]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Publications",
|
|
||||||
"description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do...",
|
"description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do...",
|
||||||
"isOverview": false,
|
|
||||||
"isActive": true,
|
"isActive": true,
|
||||||
"isPublic": true,
|
"isPublic": true,
|
||||||
"subCategories": [{
|
"categories": [
|
||||||
"name": null,
|
{
|
||||||
"description": null,
|
"name": "Overview",
|
||||||
"isActive": true,
|
"alias": "overView",
|
||||||
"isPublic": true,
|
"description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do...",
|
||||||
"numbers": ["1","2","3"],
|
"isOverview": true,
|
||||||
"charts": ["4"]
|
"isActive": true,
|
||||||
}]
|
"isPublic": true,
|
||||||
|
"subCategories": [
|
||||||
|
{
|
||||||
|
"name": null,
|
||||||
|
"description": null,
|
||||||
|
"alias": null,
|
||||||
|
"isActive": true,
|
||||||
|
"isPublic": true,
|
||||||
|
"numbers": [
|
||||||
|
"1",
|
||||||
|
"2",
|
||||||
|
"3"
|
||||||
|
],
|
||||||
|
"charts": [
|
||||||
|
"4"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Open",
|
||||||
|
"description": "open",
|
||||||
|
"alias": "open",
|
||||||
|
"isActive": true,
|
||||||
|
"isPublic": true,
|
||||||
|
"numbers": [
|
||||||
|
"1",
|
||||||
|
"2",
|
||||||
|
"3"
|
||||||
|
],
|
||||||
|
"charts": [
|
||||||
|
"4"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Publications",
|
||||||
|
"alias": "publications",
|
||||||
|
"description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do...",
|
||||||
|
"isOverview": false,
|
||||||
|
"isActive": true,
|
||||||
|
"isPublic": true,
|
||||||
|
"subCategories": [
|
||||||
|
{
|
||||||
|
"name": null,
|
||||||
|
"description": null,
|
||||||
|
"alias": null,
|
||||||
|
"isActive": true,
|
||||||
|
"isPublic": true,
|
||||||
|
"numbers": [
|
||||||
|
"1",
|
||||||
|
"2",
|
||||||
|
"3"
|
||||||
|
],
|
||||||
|
"charts": [
|
||||||
|
"4"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Research data",
|
||||||
|
"alias": "researchData",
|
||||||
|
"description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do...",
|
||||||
|
"isOverview": false,
|
||||||
|
"isActive": true,
|
||||||
|
"isPublic": true,
|
||||||
|
"subCategories": [
|
||||||
|
{
|
||||||
|
"name": null,
|
||||||
|
"description": null,
|
||||||
|
"alias": null,
|
||||||
|
"isActive": true,
|
||||||
|
"isPublic": true,
|
||||||
|
"numbers": [
|
||||||
|
],
|
||||||
|
"charts": [
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Software",
|
||||||
|
"alias": "software",
|
||||||
|
"description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do...",
|
||||||
|
"isOverview": false,
|
||||||
|
"isActive": true,
|
||||||
|
"isPublic": true,
|
||||||
|
"subCategories": [
|
||||||
|
{
|
||||||
|
"name": null,
|
||||||
|
"description": null,
|
||||||
|
"alias": null,
|
||||||
|
"isActive": true,
|
||||||
|
"isPublic": true,
|
||||||
|
"numbers": [
|
||||||
|
],
|
||||||
|
"charts": [
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Other",
|
||||||
|
"alias": "other",
|
||||||
|
"description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do...",
|
||||||
|
"isOverview": false,
|
||||||
|
"isActive": true,
|
||||||
|
"isPublic": true,
|
||||||
|
"subCategories": [
|
||||||
|
{
|
||||||
|
"name": null,
|
||||||
|
"description": null,
|
||||||
|
"alias": null,
|
||||||
|
"isActive": true,
|
||||||
|
"isPublic": true,
|
||||||
|
"numbers": [
|
||||||
|
],
|
||||||
|
"charts": [
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Research data",
|
"name": "Collaboration",
|
||||||
|
"alias": "collaboration",
|
||||||
"description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do...",
|
"description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do...",
|
||||||
"isOverview": false,
|
|
||||||
"isActive": true,
|
"isActive": true,
|
||||||
"isPublic": true,
|
"isPublic": true,
|
||||||
"subCategories": [{
|
"categories": [
|
||||||
"name": null,
|
{
|
||||||
"description": null,
|
"name": "Overview",
|
||||||
"isActive": true,
|
"alias": "overView",
|
||||||
"isPublic": true,
|
"description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do...",
|
||||||
"numbers": [
|
"isOverview": true,
|
||||||
],
|
"isActive": true,
|
||||||
"charts": [
|
"isPublic": true,
|
||||||
]
|
"subCategories": [
|
||||||
}]
|
{
|
||||||
|
"name": null,
|
||||||
|
"description": null,
|
||||||
|
"alias": null,
|
||||||
|
"isActive": true,
|
||||||
|
"isPublic": true,
|
||||||
|
"numbers": [
|
||||||
|
"1",
|
||||||
|
"2",
|
||||||
|
"3"
|
||||||
|
],
|
||||||
|
"charts": [
|
||||||
|
"4"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Software",
|
"name": "Impact/Correlation",
|
||||||
|
"alias": "impact-correlation",
|
||||||
"description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do...",
|
"description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do...",
|
||||||
"isOverview": false,
|
|
||||||
"isActive": true,
|
"isActive": true,
|
||||||
"isPublic": true,
|
"isPublic": true,
|
||||||
"subCategories": [{
|
"categories": [
|
||||||
"name": null,
|
{
|
||||||
"description": null,
|
"name": "Overview",
|
||||||
"isActive": true,
|
"alias": "overView",
|
||||||
"isPublic": true,
|
"description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do...",
|
||||||
"numbers": [
|
"isOverview": true,
|
||||||
],
|
"isActive": true,
|
||||||
"charts": [
|
"isPublic": true,
|
||||||
]
|
"subCategories": [
|
||||||
}]
|
{
|
||||||
}, {
|
"name": null,
|
||||||
"name": "Other",
|
"description": null,
|
||||||
"description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do...",
|
"alias": null,
|
||||||
"isOverview": false,
|
"isActive": true,
|
||||||
"isActive": true,
|
"isPublic": true,
|
||||||
"isPublic": true,
|
"numbers": [
|
||||||
"subCategories": [{
|
"1",
|
||||||
"name": null,
|
"2",
|
||||||
"description": null,
|
"3"
|
||||||
"isActive": true,
|
],
|
||||||
"isPublic": true,
|
"charts": [
|
||||||
"numbers": [
|
"4"
|
||||||
],
|
]
|
||||||
"charts": [
|
}
|
||||||
]
|
]
|
||||||
}]
|
}
|
||||||
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}]
|
}
|
||||||
}],
|
],
|
||||||
"indicators": [{
|
"indicators": [
|
||||||
"id": "1",
|
{
|
||||||
"type": "number",
|
"id": "1",
|
||||||
"name": "Total",
|
"type": "number",
|
||||||
"description": "Total number of publications",
|
"name": "Total",
|
||||||
"tags":["publications"],
|
"description": "Total number of publications",
|
||||||
"width": "small",
|
"tags": [
|
||||||
"indicatorPaths":[{"type":"",
|
"publications"
|
||||||
"url": "/stats-api/funders/{index_shortname}",
|
],
|
||||||
"jsonPath":["statistics","publications"]}]
|
"width": "small",
|
||||||
},
|
"indicatorPaths": [
|
||||||
|
{
|
||||||
|
"type": "",
|
||||||
|
"url": "/stats-api/funders/{index_shortname}",
|
||||||
|
"jsonPath": [
|
||||||
|
"statistics",
|
||||||
|
"publications"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"id": "2",
|
"id": "2",
|
||||||
"type": "number",
|
"type": "number",
|
||||||
"name": "Open",
|
"name": "Open",
|
||||||
"description": "Total number of open access publications",
|
"description": "Total number of open access publications",
|
||||||
"tags":["publication", "open access"],
|
"tags": [
|
||||||
|
"publication",
|
||||||
|
"open access"
|
||||||
|
],
|
||||||
"width": "small",
|
"width": "small",
|
||||||
"indicatorPaths": [{"type":"",
|
"indicatorPaths": [
|
||||||
"url": "/stats-api/funders/{index_shortname}",
|
{
|
||||||
"jsonPath":["statistics","open"]}]
|
"type": "",
|
||||||
|
"url": "/stats-api/funders/{index_shortname}",
|
||||||
|
"jsonPath": [
|
||||||
|
"statistics",
|
||||||
|
"open"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "3",
|
"id": "3",
|
||||||
"type": "number",
|
"type": "number",
|
||||||
"name": "Embargo",
|
"name": "Embargo",
|
||||||
"description": "Total number of embargoed publications",
|
"description": "Total number of embargoed publications",
|
||||||
"tags":["publication", "embargo"],
|
"tags": [
|
||||||
|
"publication",
|
||||||
|
"embargo"
|
||||||
|
],
|
||||||
"width": "small",
|
"width": "small",
|
||||||
"indicatorPaths": [{"type":"",
|
"indicatorPaths": [
|
||||||
"url": "/stats-api/funders/{index_shortname}",
|
{
|
||||||
"jsonPath":["statistics","embargo"]}]
|
"type": "",
|
||||||
|
"url": "/stats-api/funders/{index_shortname}",
|
||||||
|
"jsonPath": [
|
||||||
|
"statistics",
|
||||||
|
"embargo"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "4",
|
"id": "4",
|
||||||
"type": "charts",
|
"type": "charts",
|
||||||
"name": "Number of publications by project",
|
"name": "Number of publications by project",
|
||||||
"description": "Number of publications by project",
|
"description": "Number of publications by project",
|
||||||
"tags":["publication", "project"],
|
"tags": [
|
||||||
|
"publication",
|
||||||
|
"project"
|
||||||
|
],
|
||||||
"width": "large",
|
"width": "large",
|
||||||
"indicatorPaths":[{ "type":"bar graph",
|
"indicatorPaths": [
|
||||||
"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%",
|
{
|
||||||
"jsonPath":[]},
|
"type": "bar graph",
|
||||||
{ "type":"table",
|
"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%",
|
||||||
"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}",
|
"jsonPath": []
|
||||||
"jsonPath":[]}
|
},
|
||||||
|
{
|
||||||
|
"type": "table",
|
||||||
|
"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}",
|
||||||
|
"jsonPath": []
|
||||||
|
}
|
||||||
]
|
]
|
||||||
}]
|
}
|
||||||
|
]
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue