[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:
Konstantinos Triantafyllou 2019-10-14 08:46:41 +00:00
parent 5a22424a47
commit e0e2e4741b
8 changed files with 423 additions and 153 deletions

View File

@ -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] }
]) ])
] ]
}) })

View File

@ -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="{&quot;target&quot;:&quot;[uk-scrollspy-class]&quot;,&quot;cls&quot;:&quot;uk-animation-fade&quot;,&quot;delay&quot;:false}" uk-scrollspy="{&quot;target&quot;:&quot;[uk-scrollspy-class]&quot;,&quot;cls&quot;:&quot;uk-animation-fade&quot;,&quot;delay&quot;: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>

View File

@ -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);
} }

View File

@ -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

View File

@ -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({

View File

@ -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;

View File

@ -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;
}

View File

@ -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": []
}
] ]
}] }
]
} }