[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({
imports: [
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">
</schema2jsonld>
<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}"
tm-header-transparent="light" tm-header-transparent-placeholder="">
<helper *ngIf="pageContents && pageContents['top'] && pageContents['top'].length > 0"
[texts]="pageContents['top']"></helper>
<div *ngIf="status === errorCodes.LOADING" class="uk-animation-fade uk-margin-top uk-width-1-1" role="alert">
<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>

View File

@ -1,10 +1,7 @@
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 {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 {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 {SEOService} from "../openaireLibrary/sharedComponents/SEO/SEO.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({
selector: 'monitor',
templateUrl: 'monitor.component.html',
})
export class MonitorComponent {
public piwiksub: any;
public pageContents = null;
public divContents = null;
public status: number;
public loading: boolean = true;
public activeTopic: Topic = null;
public activeCategory: Category = null;
public activeSubCategory: SubCategory = null;
public sideMenuItems: SideMenuItem[] = null;
public errorCodes: ErrorCodes;
public stakeholder: Stakeholder;
private errorMessages: ErrorMessagesComponent;
@ -52,25 +53,31 @@ export class MonitorComponent {
this.route.params.subscribe( params => {
this.properties = data.envSpecific;
var url = data.envSpecific.baseLink + this._router.url;
this.stakeholderService.getStakeholder(params['id']).subscribe(stakeholder => {
this.stakeholder = stakeholder;
this.seoService.createLinkForCanonicalURL(url, false);
this._meta.updateTag({content: url}, "property='og:url'");
var description = "Monitor | " + this.stakeholder.index_name;
var title = "Monitor | " + this.stakeholder.index_shortName;
this._meta.updateTag({content: description}, "name='description'");
this._meta.updateTag({content: description}, "property='og:description'");
this._meta.updateTag({content: title}, "property='og:title'");
this._title.setTitle(title);
if (this.properties.enablePiwikTrack && (typeof document !== 'undefined')) {
this.piwiksub = this._piwikService.trackView(this.properties, title, this.properties.piwikSiteId).subscribe();
}
//this.getDivContents();
this.getPageContents();
}, error => {
console.log(error);
this._router.navigate(['']);
})
if(!this.stakeholder || this.stakeholder.index_id !== params['stakeholder']) {
this.status = this.errorCodes.LOADING;
this.stakeholderService.getStakeholder(params['stakeholder']).subscribe(stakeholder => {
this.stakeholder = stakeholder;
this.seoService.createLinkForCanonicalURL(url, false);
this._meta.updateTag({content: url}, "property='og:url'");
var description = "Monitor Dashboard | " + this.stakeholder.index_name;
var title = "Monitor Dashboard | " + this.stakeholder.index_shortName;
this._meta.updateTag({content: description}, "name='description'");
this._meta.updateTag({content: description}, "property='og:description'");
this._meta.updateTag({content: title}, "property='og:title'");
this._title.setTitle(title);
if (this.properties.enablePiwikTrack && (typeof document !== 'undefined')) {
this.piwiksub = this._piwikService.trackView(this.properties, title, this.properties.piwikSiteId).subscribe();
}
//this.getDivContents();
this.getPageContents();
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 {
return StringUtils.quote(param);
}

View File

@ -14,11 +14,12 @@ import {SEOServiceModule} from "../openaireLibrary/sharedComponents/SEO/SEOServi
import {MonitorRoutingModule} from "./monitor-routing.module";
import {MonitorComponent} from "./monitor.component";
import {StakeholderService} from "../services/stakeholder.service";
import {SideBarModule} from "../openaireLibrary/sharedComponents/sidebar/sideBar.module";
@NgModule({
imports: [
CommonModule, FormsModule, RouterModule, ErrorMessagesModule,
HelperModule, Schema2jsonldModule, SEOServiceModule, MonitorRoutingModule
HelperModule, Schema2jsonldModule, SEOServiceModule, MonitorRoutingModule, SideBarModule
],
declarations: [
MonitorComponent

View File

@ -1,20 +1,20 @@
import {Injectable} from "@angular/core";
import {HttpClient, HttpErrorResponse} from "@angular/common/http";
import {Observable} from "rxjs";
import {Stakeholder} from "../stakeholder";
import {Stakeholder} from "../utils/entities/stakeholder";
import {map} from "rxjs/operators";
@Injectable()
export class StakeholderService {
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 => {
let stakeholder = json.stakeholders.filter(stakeholder => stakeholder.index_id === id)[0];
if(stakeholder) {
let stakeholder = json.stakeholders.filter(stakeholder => stakeholder.alias === alias)[0];
if (stakeholder) {
stakeholder.topics = stakeholder.topics.filter(topic => topic.isActive && topic.isPublic);
return stakeholder;
} else {
throw new HttpErrorResponse({

View File

@ -4,6 +4,7 @@ export class Stakeholder {
index_id;
index_name: string;
index_shortName:string;
alias: string;
isDefaultProfile: boolean;
isActive: boolean;
isPublic: boolean;
@ -14,6 +15,7 @@ export class Stakeholder {
}
export class Topic {
name: string;
alias: string;
description: string;
isActive: boolean;
isPublic: boolean;
@ -21,6 +23,7 @@ export class Topic {
}
export class Category {
name: string;
alias: string;
description: string;
isActive: boolean;
isPublic: boolean;
@ -30,6 +33,7 @@ export class Category {
export class SubCategory {
name: string;
alias: string;
description: string;
isActive: boolean;
isPublic: boolean;

View File

@ -16,12 +16,6 @@
--monitor-portal-lower-tone: #7c9144;
--connect-portal-lower-tone: #b48536;
--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 {
@ -67,3 +61,13 @@ div:not(.connect_App) bottom .uk-totop{
.uk-breadcrumb .active{
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":[
{
"id": "1",
"type": "funder",
"index_id": "EC",
"index_name": "European Comission",
"index_shortName": "EC",
"isDefaultProfile": false,
"isActive": true,
"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...",
"stakeholders": [
{
"id": "1",
"type": "funder",
"index_id": "EC",
"index_name": "European Comission",
"index_shortName": "EC",
"alias": "EC",
"isDefaultProfile": false,
"isActive": true,
"isPublic": true,
"categories": [
"creationDate": "08-10-2019",
"updateDate": "08-10-2019",
"managers": null,
"topics": [
{
"name": "Overview",
"description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do...",
"isOverview": true,
"isActive": true,
"isPublic": true,
"subCategories": [{
"name": null,
"description": null,
"isActive": true,
"isPublic": true,
"numbers": ["1","2","3"],
"charts": ["4"]
}]
},
{
"name": "Publications",
"name": "OpenScience",
"alias": "openScience",
"description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do...",
"isOverview": false,
"isActive": true,
"isPublic": true,
"subCategories": [{
"name": null,
"description": null,
"isActive": true,
"isPublic": true,
"numbers": ["1","2","3"],
"charts": ["4"]
}]
"categories": [
{
"name": "Overview",
"alias": "overView",
"description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do...",
"isOverview": true,
"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...",
"isOverview": false,
"isActive": true,
"isPublic": true,
"subCategories": [{
"name": null,
"description": null,
"isActive": true,
"isPublic": true,
"numbers": [
],
"charts": [
]
}]
"categories": [
{
"name": "Overview",
"alias": "overView",
"description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do...",
"isOverview": true,
"isActive": true,
"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...",
"isOverview": false,
"isActive": true,
"isPublic": true,
"subCategories": [{
"name": null,
"description": null,
"isActive": true,
"isPublic": true,
"numbers": [
],
"charts": [
]
}]
}, {
"name": "Other",
"description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do...",
"isOverview": false,
"isActive": true,
"isPublic": true,
"subCategories": [{
"name": null,
"description": null,
"isActive": true,
"isPublic": true,
"numbers": [
],
"charts": [
]
}]
"categories": [
{
"name": "Overview",
"alias": "overView",
"description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do...",
"isOverview": true,
"isActive": true,
"isPublic": true,
"subCategories": [
{
"name": null,
"description": null,
"alias": null,
"isActive": true,
"isPublic": true,
"numbers": [
"1",
"2",
"3"
],
"charts": [
"4"
]
}
]
}
]
}
]
}]
}],
"indicators": [{
"id": "1",
"type": "number",
"name": "Total",
"description": "Total number of publications",
"tags":["publications"],
"width": "small",
"indicatorPaths":[{"type":"",
"url": "/stats-api/funders/{index_shortname}",
"jsonPath":["statistics","publications"]}]
},
}
],
"indicators": [
{
"id": "1",
"type": "number",
"name": "Total",
"description": "Total number of publications",
"tags": [
"publications"
],
"width": "small",
"indicatorPaths": [
{
"type": "",
"url": "/stats-api/funders/{index_shortname}",
"jsonPath": [
"statistics",
"publications"
]
}
]
},
{
"id": "2",
"type": "number",
"name": "Open",
"description": "Total number of open access publications",
"tags":["publication", "open access"],
"tags": [
"publication",
"open access"
],
"width": "small",
"indicatorPaths": [{"type":"",
"url": "/stats-api/funders/{index_shortname}",
"jsonPath":["statistics","open"]}]
"indicatorPaths": [
{
"type": "",
"url": "/stats-api/funders/{index_shortname}",
"jsonPath": [
"statistics",
"open"
]
}
]
},
{
"id": "3",
"type": "number",
"name": "Embargo",
"description": "Total number of embargoed publications",
"tags":["publication", "embargo"],
"tags": [
"publication",
"embargo"
],
"width": "small",
"indicatorPaths": [{"type":"",
"url": "/stats-api/funders/{index_shortname}",
"jsonPath":["statistics","embargo"]}]
"indicatorPaths": [
{
"type": "",
"url": "/stats-api/funders/{index_shortname}",
"jsonPath": [
"statistics",
"embargo"
]
}
]
},
{
"id": "4",
"type": "charts",
"name": "Number of publications by project",
"description": "Number of publications by project",
"tags":["publication", "project"],
"tags": [
"publication",
"project"
],
"width": "large",
"indicatorPaths":[{ "type":"bar graph",
"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":"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":[]}
"indicatorPaths": [
{
"type": "bar graph",
"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": "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": []
}
]
}]
}
]
}