Finish my-stakeholders and browse-stakeholder. Update library, openaire-theme and assets
|
@ -135,6 +135,7 @@ export class AppComponent {
|
|||
this.userMenuItems.push(new MenuItem("", "Manage profiles",
|
||||
this.properties.domain + properties.baseLink + "/dashboard/admin", "", false, [], [], {}))
|
||||
}
|
||||
this.userMenuItems.push(new MenuItem("", "My Dashboards", "", "/my-dashboards", false, [], [], {}));
|
||||
this.userMenuItems.push(new MenuItem("", "User information", "", "/user-info", false, [], [], {}));
|
||||
}
|
||||
}
|
||||
|
|
|
@ -9,32 +9,23 @@
|
|||
<ng-template #card>
|
||||
<div class="uk-padding">
|
||||
<div *ngIf="stakeholder.visibility && stakeholder.visibility !== 'PUBLIC'"
|
||||
class="uk-position-top-right uk-margin-top uk-margin-right uk-flex uk-flex-column uk-flex-middle">
|
||||
<icon [name]="visibilityIcon.get(stakeholder.visibility)" ratio="1.5" [flex]="true"></icon>
|
||||
class="uk-position-top-right uk-margin-small-top uk-margin-small-right uk-flex uk-flex-column uk-flex-middle">
|
||||
<icon [name]="visibilityIcon.get(stakeholder.visibility)" ratio="1.2" [flex]="true"></icon>
|
||||
<span class="uk-text-small uk-text-capitalize">{{stakeholder.visibility.toLowerCase()}}</span>
|
||||
</div>
|
||||
<div class="uk-card-media-top uk-flex uk-flex-center uk-flex-middle uk-height-xsmall uk-padding-small">
|
||||
<div>
|
||||
<img *ngIf="community.logoUrl != null && community.logoUrl != ''" src="{{community.logoUrl}}"
|
||||
alt="{{(community.title)?community.title:community.shortTitle}} logo" class="uk-height-max-xsmall">
|
||||
<div class="uk-card-media-top uk-padding-small uk-padding-remove-vertical uk-flex uk-flex-center uk-flex-middle uk-height-xsmall">
|
||||
<img *ngIf="stakeholder.logoUrl" [src]="stakeholder | logoUrl" [alt]="stakeholder.name + ' logo'" class="uk-height-max-xsmall">
|
||||
</div>
|
||||
<div class="uk-card-body uk-padding-remove-horizontal">
|
||||
<div class="uk-text-capitalize uk-text-small">{{mapType(stakeholder.type)}}</div>
|
||||
<div class="uk-h6 uk-link uk-margin-remove multi-line-ellipsis lines-2">
|
||||
<p *ngIf="stakeholder.name" class="uk-margin-remove">
|
||||
{{stakeholder.name}}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="uk-card-body uk-padding-remove uk-margin-small-bottom">
|
||||
<h3 class="uk-text-center uk-h6 uk-link" [ngClass]="(showDescription)?'uk-margin-small-bottom':''">
|
||||
<span *ngIf="community.title">
|
||||
{{community.title.slice(0, thresholdTitle)}}
|
||||
<span *ngIf="community.title.length > thresholdTitle">...</span>
|
||||
</span>
|
||||
<span *ngIf="!community.title && community.shortTitle">
|
||||
{{community.shortTitle.slice(0, thresholdTitle)}}
|
||||
<span *ngIf="community.shortTitle.length > thresholdTitle">...</span>
|
||||
</span>
|
||||
<!-- </a>-->
|
||||
</h3>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</ng-template>
|
||||
|
||||
<modal-alert #AlertModal (alertOutput)="goToPage($event)">
|
||||
<div class="uk-text-left">
|
||||
You will be navigated to a new tab. Are you sure that you want to proceed?
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
import {Component, Input, ViewChild} from '@angular/core';
|
||||
import {ActivatedRoute, Router} from '@angular/router';
|
||||
import {Location} from '@angular/common';
|
||||
import {Stakeholder, StakeholderInfo, Visibility} from "../openaireLibrary/monitor/entities/stakeholder";
|
||||
import {StakeholderInfo, Visibility} from "../openaireLibrary/monitor/entities/stakeholder";
|
||||
import {EnvProperties} from "../openaireLibrary/utils/properties/env-properties";
|
||||
import {properties} from "../../environments/environment"
|
||||
import {LocalStorageService} from "../openaireLibrary/services/localStorage.service";
|
||||
|
@ -13,10 +13,7 @@ import {Subscriber} from "rxjs";
|
|||
})
|
||||
export class BrowseStakeholderComponent {
|
||||
@Input() public stakeholder: StakeholderInfo = null;
|
||||
@Input() public showDescription: boolean = true;
|
||||
@Input() public smallTitle: boolean = false;
|
||||
@ViewChild('AlertModal', { static: true }) modal;
|
||||
public thresholdTitle: number = 45;
|
||||
public properties: EnvProperties = properties;
|
||||
public directLink: boolean = true;
|
||||
public visibilityIcon: Map<Visibility, string> = new Map<Visibility, string> ([
|
||||
|
@ -47,13 +44,16 @@ export class BrowseStakeholderComponent {
|
|||
});
|
||||
}
|
||||
|
||||
|
||||
isProduction(): boolean {
|
||||
return this.properties.environment != "development";
|
||||
}
|
||||
|
||||
getProductionPrefix(id:string): string {
|
||||
return (this.properties.environment == "production") ? "" : "beta.";
|
||||
mapType(type: string) {
|
||||
if(type === 'ri') {
|
||||
return 'Research Initiative';
|
||||
} else if(type === 'community') {
|
||||
return 'Research Community'
|
||||
} else if(type === 'organization') {
|
||||
return 'Institution';
|
||||
} else {
|
||||
return type;
|
||||
}
|
||||
}
|
||||
|
||||
public confirmModalOpen() {
|
||||
|
|
|
@ -1,18 +1,18 @@
|
|||
import {NgModule} from '@angular/core';
|
||||
import {CommonModule} from '@angular/common';
|
||||
import {FormsModule} from '@angular/forms';
|
||||
import {RouterModule} from '@angular/router';
|
||||
import {NgModule} from '@angular/core';
|
||||
import {CommonModule} from '@angular/common';
|
||||
import {RouterModule} from '@angular/router';
|
||||
import {AlertModalModule} from "../openaireLibrary/utils/modal/alertModal.module";
|
||||
import {UrlPrefixModule} from "../openaireLibrary/utils/pipes/url-prefix.module";
|
||||
import {ManageModule} from "../openaireLibrary/utils/manage/manage.module";
|
||||
import {LogoUrlPipeModule} from "../openaireLibrary/utils/pipes/logoUrlPipe.module";
|
||||
import {IconsModule} from "../openaireLibrary/utils/icons/icons.module";
|
||||
import {BrowseStakeholderComponent} from "./browse-stakeholder.component";
|
||||
import {IconsService} from "../openaireLibrary/utils/icons/icons.service";
|
||||
import {incognito} from "../openaireLibrary/utils/icons/icons";
|
||||
|
||||
@NgModule({
|
||||
imports: [
|
||||
CommonModule, FormsModule, RouterModule,
|
||||
ManageModule, AlertModalModule, UrlPrefixModule, LogoUrlPipeModule, IconsModule
|
||||
CommonModule, RouterModule,
|
||||
ManageModule, AlertModalModule, LogoUrlPipeModule, IconsModule
|
||||
],
|
||||
declarations: [
|
||||
BrowseStakeholderComponent
|
||||
|
@ -23,4 +23,8 @@ import {BrowseStakeholderComponent} from "./browse-stakeholder.component";
|
|||
BrowseStakeholderComponent
|
||||
]
|
||||
})
|
||||
export class BrowseStakeholderModule { }
|
||||
export class BrowseStakeholderModule {
|
||||
constructor(private iconsService: IconsService) {
|
||||
this.iconsService.registerIcons([incognito]);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,550 +1,248 @@
|
|||
<div>
|
||||
<div class="uk-section uk-background-fixed uk-background-bottom-right uk-background-norepeat homeBackgroundImage" style="background: #fff;">
|
||||
<div class="uk-container uk-container-large uk-margin-large-bottom">
|
||||
<div class="uk-grid">
|
||||
<div>
|
||||
<h1 class="uk-heading-large">
|
||||
A new era of <br><span class="uk-text-primary">monitoring</span> <br>research<span class="uk-text-primary">.</span>
|
||||
</h1>
|
||||
<div class="uk-text-large uk-margin-medium-top">
|
||||
<div class="uk-section uk-background-fixed uk-background-bottom-right uk-background-norepeat homeBackgroundImage"
|
||||
style="background: #fff;">
|
||||
<div class="uk-container uk-container-large uk-margin-large-bottom">
|
||||
<div class="uk-grid">
|
||||
<div>
|
||||
<h1 class="uk-heading-large">
|
||||
A new era of <br><span class="uk-text-primary">monitoring</span> <br>research<span
|
||||
class="uk-text-primary">.</span>
|
||||
</h1>
|
||||
<div class="uk-text-large uk-margin-medium-top">
|
||||
<div>Work together with us to view, understand and visualize</div>
|
||||
<div>research statistics and indicators.</div>
|
||||
</div>
|
||||
<div class="uk-margin-medium-top">
|
||||
<a class="uk-button uk-button-primary" routerLink="/">GET STARTED</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<section-scroll [customClass]="'uk-section uk-section-primary uk-padding-remove-bottom '" [childrenCustomClass]="' uk-container uk-container-large '">
|
||||
<div top class="uk-width-1-1 uk-background-primary">
|
||||
<div class="top-content uk-container uk-container-large">
|
||||
<span class="uk-h6 uk-text-primary">Benefits</span>
|
||||
<h2 class="uk-h1 uk-margin-remove-top">Simplify open science <br>tracking & monitoring<span class="uk-text-primary">.</span></h2>
|
||||
</div>
|
||||
</div>
|
||||
<div left class="uk-width-1-1 uk-width-1-2@m" uk-scrollspy="target: > img; cls: uk-animation-slide-bottom-medium; repeat: true">
|
||||
<div class="imgContainer uk-flex uk-flex-middle uk-flex-center" style="opacity: 1;">
|
||||
<img id="imgId1" src="assets/monitor-assets/home/placeholder.png" alt="img1">
|
||||
</div>
|
||||
<div class="imgContainer uk-flex uk-flex-middle uk-flex-center" style="opacity: 0;">
|
||||
<img id="imgId2" src="assets/monitor-assets/home/placeholder.png" alt="img2">
|
||||
</div>
|
||||
<div class="imgContainer uk-flex uk-flex-middle uk-flex-center" style="opacity: 0;">
|
||||
<img id="imgId3" src="assets/monitor-assets/home/placeholder.png" alt="img3">
|
||||
</div>
|
||||
</div>
|
||||
<div scroll class="uk-width-expand">
|
||||
<div class="uk-background-primary uk-flex uk-flex-middle uk-flex-center uk-flex-left@m">
|
||||
<div id="1st" name="txt">
|
||||
<h3 class="uk-h2">
|
||||
Get a <span class="uk-text-primary">complete <br> picture.</span>
|
||||
</h3>
|
||||
<p class="uk-text-lead">Track and discover your organization’s research output. <br> Use the OpenAIRE Research Graph to get a 360o view of <br> your publications-data-code.</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="uk-background-primary uk-flex uk-flex-middle uk-flex-center uk-flex-left@m">
|
||||
<div id="2nd" name="txt">
|
||||
<h3 class="uk-h2">
|
||||
Monitor <span class="uk-text-primary">open science <br></span> compliance<span class="uk-text-primary">.</span>
|
||||
</h3>
|
||||
<p class="uk-text-lead"> Work with the open science expert community <br> for open and transparent metrics. Discover open <br> science trends for your organization and see how <br> you fare in EOSC.</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="uk-background-primary uk-flex uk-flex-middle uk-flex-center uk-flex-left@m">
|
||||
<div id="3rd" name="txt">
|
||||
<h3 class="uk-h2">
|
||||
Turn <span class="uk-text-primary">research <br> results </span> to insights<span class="uk-text-primary">.</span>
|
||||
</h3>
|
||||
<p class="uk-text-lead">Understand your community. Measure impact, <br> discover trends, connections and collaborations <br> to improve and optimize your future actions. </p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section-scroll>
|
||||
<div class="uk-section uk-container uk-container-large uk-margin-large-top uk-margin-large-bottom">
|
||||
<h2 class="uk-h1 uk-text-center">
|
||||
Tap into the OpenAIRE <br> Research Graph<span class="uk-text-primary">.</span>
|
||||
</h2>
|
||||
<div class="uk-flex uk-flex-center uk-margin-large-top uk-margin-medium-bottom">
|
||||
<loading *ngIf="loading"></loading>
|
||||
<div *ngIf="!loading" class="uk-width-1-1 uk-flex-center uk-grid" uk-grid>
|
||||
<div *ngIf="publicationsSize">
|
||||
<a class="uk-card uk-card-default uk-position-relative uk-padding-small uk-display-block uk-link-reset"
|
||||
href="https://explore.openaire.eu/search/find/research-outcomes?type=publications" target="_blank">
|
||||
<div class="uk-height-small uk-width-small uk-flex uk-flex-center uk-flex-column">
|
||||
<div class="uk-text-center">
|
||||
<h4 class="uk-text-primary-gradient uk-margin-remove-bottom">{{(publicationsSize.number|number) + publicationsSize.size}}</h4>
|
||||
<div class="uk-margin-small uk-text-large">Publications</div>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
<div *ngIf="datasetsSize">
|
||||
<a class="uk-card uk-card-default uk-position-relative uk-padding-small uk-display-block uk-link-reset"
|
||||
href="https://explore.openaire.eu/search/find/research-outcomes?type=datasets" target="_blank">
|
||||
<div class="uk-height-small uk-width-small uk-flex uk-flex-center uk-flex-column">
|
||||
<div class="uk-text-center">
|
||||
<h3 class="uk-text-primary-gradient uk-margin-remove-bottom">{{(datasetsSize.number|number) + datasetsSize.size}}</h3>
|
||||
<div class="uk-margin-small uk-text-large">Datasets</div>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
<div *ngIf="softwareSize">
|
||||
<a class="uk-card uk-card-default uk-position-relative uk-padding-small uk-display-block uk-link-reset"
|
||||
href="https://explore.openaire.eu/search/find/research-outcomes?type=software" target="_blank">
|
||||
<div class="uk-height-small uk-width-small uk-flex uk-flex-center uk-flex-column">
|
||||
<div class="uk-text-center">
|
||||
<h3 class=" uk-text-primary-gradient uk-margin-remove-bottom">{{(softwareSize.number|number) + softwareSize.size}}</h3>
|
||||
<div class="uk-margin-small uk-text-large">Software</div>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
<div *ngIf="otherSize">
|
||||
<a class="uk-card uk-card-default uk-position-relative uk-padding-small uk-display-block uk-link-reset"
|
||||
href="https://explore.openaire.eu/search/find/research-outcomes?type=other" target="_blank">
|
||||
<div class="uk-height-small uk-width-small uk-flex uk-flex-center uk-flex-column">
|
||||
<div class="uk-text-center">
|
||||
<h3 class="uk-text-primary-gradient uk-margin-remove-bottom">{{(otherSize.number|number) + otherSize.size}}</h3>
|
||||
<div class="uk-margin-small uk-text-large">Other</div>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
<div *ngIf="fundersSize">
|
||||
<a class="uk-card uk-card-default uk-position-relative uk-padding-small uk-display-block uk-link-reset"
|
||||
href="https://explore.openaire.eu/search/find/projects" target="_blank">
|
||||
<div class="uk-height-small uk-width-small uk-flex uk-flex-center uk-flex-column">
|
||||
<div class="uk-text-center">
|
||||
<h3 class=" uk-text-primary-gradient uk-margin-remove-bottom">{{(fundersSize.number|number) + fundersSize.size}}</h3>
|
||||
<div class="uk-margin-small uk-text-large">Funders</div>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="uk-section uk-container uk-container-large uk-margin-large-bottom">
|
||||
<div class="uk-grid uk-grid-large" uk-grid>
|
||||
<div class="uk-width-1-3">
|
||||
<span class="uk-h6 uk-text-primary">Features</span>
|
||||
<h2 class="uk-h1 uk-margin-remove-top">Open data. <br> Open <br> methodologies<span class="uk-text-primary">.</span></h2>
|
||||
<a class="uk-display-inline-block uk-text-uppercase uk-button-text"
|
||||
routerLinkActive="router-link-active" routerLink="/about/learn-how">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<section-scroll [customClass]="'uk-section uk-section-primary uk-padding-remove-bottom '"
|
||||
[childrenCustomClass]="' uk-container uk-container-large '">
|
||||
<div top class="uk-width-1-1 uk-background-primary">
|
||||
<div class="top-content uk-container uk-container-large">
|
||||
<span class="uk-h6 uk-text-primary">Benefits</span>
|
||||
<h2 class="uk-h1 uk-margin-remove-top">Simplify open science <br>tracking & monitoring<span
|
||||
class="uk-text-primary">.</span></h2>
|
||||
</div>
|
||||
</div>
|
||||
<div left class="uk-width-1-1 uk-width-1-2@m"
|
||||
uk-scrollspy="target: > img; cls: uk-animation-slide-bottom-medium; repeat: true">
|
||||
<div class="imgContainer uk-flex uk-flex-middle uk-flex-center" style="opacity: 1;">
|
||||
<img id="imgId1" src="assets/monitor-assets/home/placeholder.png" alt="img1">
|
||||
</div>
|
||||
<div class="imgContainer uk-flex uk-flex-middle uk-flex-center" style="opacity: 0;">
|
||||
<img id="imgId2" src="assets/monitor-assets/home/placeholder.png" alt="img2">
|
||||
</div>
|
||||
<div class="imgContainer uk-flex uk-flex-middle uk-flex-center" style="opacity: 0;">
|
||||
<img id="imgId3" src="assets/monitor-assets/home/placeholder.png" alt="img3">
|
||||
</div>
|
||||
</div>
|
||||
<div scroll class="uk-width-expand">
|
||||
<div class="uk-background-primary uk-flex uk-flex-middle uk-flex-center uk-flex-left@m">
|
||||
<div id="1st" name="txt">
|
||||
<h3 class="uk-h2">
|
||||
Get a <span class="uk-text-primary">complete <br> picture.</span>
|
||||
</h3>
|
||||
<p class="uk-text-lead">Track and discover your organization’s research output. <br> Use the OpenAIRE Research
|
||||
Graph to get a 360o view of <br> your publications-data-code.</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="uk-background-primary uk-flex uk-flex-middle uk-flex-center uk-flex-left@m">
|
||||
<div id="2nd" name="txt">
|
||||
<h3 class="uk-h2">
|
||||
Monitor <span class="uk-text-primary">open science <br></span> compliance<span
|
||||
class="uk-text-primary">.</span>
|
||||
</h3>
|
||||
<p class="uk-text-lead"> Work with the open science expert community <br> for open and transparent metrics.
|
||||
Discover open <br> science trends for your organization and see how <br> you fare in EOSC.</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="uk-background-primary uk-flex uk-flex-middle uk-flex-center uk-flex-left@m">
|
||||
<div id="3rd" name="txt">
|
||||
<h3 class="uk-h2">
|
||||
Turn <span class="uk-text-primary">research <br> results </span> to insights<span
|
||||
class="uk-text-primary">.</span>
|
||||
</h3>
|
||||
<p class="uk-text-lead">Understand your community. Measure impact, <br> discover trends, connections and
|
||||
collaborations <br> to improve and optimize your future actions. </p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section-scroll>
|
||||
<div class="uk-section uk-container uk-container-large uk-margin-large-top uk-margin-large-bottom">
|
||||
<h2 class="uk-h1 uk-text-center">
|
||||
Tap into the OpenAIRE <br> Research Graph<span class="uk-text-primary">.</span>
|
||||
</h2>
|
||||
<div class="uk-flex uk-flex-center uk-margin-large-top uk-margin-medium-bottom">
|
||||
<div class="uk-width-1-1 uk-flex-center uk-grid" uk-grid>
|
||||
<ng-template #numberCard let-numberSize="numberSize" let-name="name" let-url="url">
|
||||
<a class="uk-card uk-card-default uk-card-hover uk-position-relative uk-padding-small uk-display-block uk-link-reset"
|
||||
[href]="url" target="_blank">
|
||||
<div class="uk-height-small uk-width-small uk-flex uk-flex-center uk-flex-column">
|
||||
<div class="uk-text-center">
|
||||
<div class="uk-text-primary-gradient uk-text-bold number">{{(numberSize.number|number) + numberSize.size}}</div>
|
||||
<div class="uk-margin-small uk-text-large">{{name}}</div>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
</ng-template>
|
||||
<div *ngIf="publicationsSize">
|
||||
<ng-container *ngTemplateOutlet="numberCard; context: {numberSize: publicationsSize, name: 'Publications',
|
||||
url: 'https://explore.openaire.eu/search/find/research-outcomes?type=publications'}">
|
||||
</ng-container>
|
||||
</div>
|
||||
<div *ngIf="datasetsSize">
|
||||
<ng-container *ngTemplateOutlet="numberCard; context: {numberSize: datasetsSize, name: 'Datasets',
|
||||
url: 'https://explore.openaire.eu/search/find/research-outcomes?type=dataset'}">
|
||||
</ng-container>
|
||||
</div>
|
||||
<div *ngIf="softwareSize">
|
||||
<ng-container *ngTemplateOutlet="numberCard; context: {numberSize: softwareSize, name: 'Software',
|
||||
url: 'https://explore.openaire.eu/search/find/research-outcomes?type=software'}">
|
||||
</ng-container>
|
||||
</div>
|
||||
<div *ngIf="otherSize">
|
||||
<ng-container *ngTemplateOutlet="numberCard; context: {numberSize: otherSize, name: 'Other',
|
||||
url: 'https://explore.openaire.eu/search/find/research-outcomes?type=other'}">
|
||||
</ng-container>
|
||||
</div>
|
||||
<div *ngIf="fundersSize">
|
||||
<ng-container *ngTemplateOutlet="numberCard; context: {numberSize: fundersSize, name: 'Funders',
|
||||
url: 'https://explore.openaire.eu/search/find/projects'}">
|
||||
</ng-container>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="uk-section uk-container uk-container-large uk-margin-large-bottom">
|
||||
<div class="uk-grid uk-grid-large" uk-grid>
|
||||
<div class="uk-width-1-3">
|
||||
<span class="uk-h6 uk-text-primary">Features</span>
|
||||
<h2 class="uk-h1 uk-margin-remove-top">Open data. <br> Open <br> methodologies<span
|
||||
class="uk-text-primary">.</span></h2>
|
||||
<a class="uk-display-inline-block uk-text-uppercase uk-button-text"
|
||||
routerLinkActive="router-link-active" routerLink="/about/learn-how">
|
||||
<span class="uk-flex uk-flex-middle">
|
||||
<span>Learn More</span>
|
||||
</span>
|
||||
</a>
|
||||
</div>
|
||||
<div class="uk-width-2-3 uk-grid uk-grid-large uk-child-width-1-2" uk-grid>
|
||||
<div class="">
|
||||
<div class="uk-icon-bg-shadow uk-margin-bottom">
|
||||
<icon name="done" [flex]="true" ratio="1.5" visuallyHidden="Global outlook" customClass="uk-text-primary-gradient"></icon>
|
||||
</div>
|
||||
<div class="uk-text-lead uk-text-bold uk-margin-small-bottom">
|
||||
Global outlook
|
||||
</div>
|
||||
<div>
|
||||
Monitor is built on the OpenAIRE Research Graph. An interconnected scholarly communication shared data resource from open initiatives around the world, of global interest.
|
||||
</div>
|
||||
</div>
|
||||
<div class="">
|
||||
<div class="uk-icon-bg-shadow uk-margin-bottom">
|
||||
<icon name="done" [flex]="true" ratio="1.5" visuallyHidden="Minimum effort to join" customClass="uk-text-primary-gradient"></icon>
|
||||
</div>
|
||||
<div class="uk-text-lead uk-text-bold uk-margin-small-bottom">
|
||||
Minimum effort to join
|
||||
</div>
|
||||
<div>
|
||||
You only share some information with us to include in out backend aggregating and data mining, and we deliver a view of your world. As you see fit.
|
||||
</div>
|
||||
</div>
|
||||
<div class="">
|
||||
<div class="uk-icon-bg-shadow uk-margin-bottom">
|
||||
<icon name="done" [flex]="true" ratio="1.5" visuallyHidden="Transparent methodology" customClass="uk-text-primary-gradient"></icon>
|
||||
</div>
|
||||
<div class="uk-text-lead uk-text-bold uk-margin-small-bottom">
|
||||
Transparent methodology
|
||||
</div>
|
||||
<div>
|
||||
We base our service on open science principles. We rely on open data sources, and document our algorithms for every metric and indicator we publish.
|
||||
</div>
|
||||
</div>
|
||||
<div class="">
|
||||
<div class="uk-icon-bg-shadow uk-margin-bottom">
|
||||
<icon name="done" [flex]="true" ratio="1.5" visuallyHidden="Customised to your needs" customClass="uk-text-primary-gradient"></icon>
|
||||
</div>
|
||||
<div class="uk-text-lead uk-text-bold uk-margin-small-bottom">
|
||||
Customised to your needs
|
||||
</div>
|
||||
<div>
|
||||
Choose from a variety of pre-defined metrics. Select how to visualize them, and who to share with. Use our advanced tools and expertise add add your own metrics.
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="uk-section uk-container uk-container-large uk-margin-large-bottom">
|
||||
<h2 class="uk-h1">Dashboards <br> in action<span class="uk-text-primary">.</span></h2>
|
||||
<div class="uk-text-large uk-margin-bottom">
|
||||
Short description of “what monitor members are”, sed diam nonumy eirmod <br> tempor invidunt ut labore et dolore magna aliquyam erat, sed diam <br> voluptua. At vero eos et accusam et justo duo dolores et ea rebum.
|
||||
</div>
|
||||
<a class="uk-display-inline-block uk-text-uppercase uk-button-text"
|
||||
routerLinkActive="router-link-active" routerLink="/browse">
|
||||
</a>
|
||||
</div>
|
||||
<div class="uk-width-2-3 uk-grid uk-grid-large uk-child-width-1-2" uk-grid>
|
||||
<div class="">
|
||||
<div class="uk-icon-bg-shadow uk-margin-bottom">
|
||||
<icon name="done" [flex]="true" ratio="1.5" visuallyHidden="Global outlook"
|
||||
customClass="uk-text-primary-gradient"></icon>
|
||||
</div>
|
||||
<div class="uk-text-lead uk-text-bold uk-margin-small-bottom">
|
||||
Global outlook
|
||||
</div>
|
||||
<div>
|
||||
Monitor is built on the OpenAIRE Research Graph. An interconnected scholarly communication shared data
|
||||
resource from open initiatives around the world, of global interest.
|
||||
</div>
|
||||
</div>
|
||||
<div class="">
|
||||
<div class="uk-icon-bg-shadow uk-margin-bottom">
|
||||
<icon name="done" [flex]="true" ratio="1.5" visuallyHidden="Minimum effort to join"
|
||||
customClass="uk-text-primary-gradient"></icon>
|
||||
</div>
|
||||
<div class="uk-text-lead uk-text-bold uk-margin-small-bottom">
|
||||
Minimum effort to join
|
||||
</div>
|
||||
<div>
|
||||
You only share some information with us to include in out backend aggregating and data mining, and we
|
||||
deliver a view of your world. As you see fit.
|
||||
</div>
|
||||
</div>
|
||||
<div class="">
|
||||
<div class="uk-icon-bg-shadow uk-margin-bottom">
|
||||
<icon name="done" [flex]="true" ratio="1.5" visuallyHidden="Transparent methodology"
|
||||
customClass="uk-text-primary-gradient"></icon>
|
||||
</div>
|
||||
<div class="uk-text-lead uk-text-bold uk-margin-small-bottom">
|
||||
Transparent methodology
|
||||
</div>
|
||||
<div>
|
||||
We base our service on open science principles. We rely on open data sources, and document our algorithms
|
||||
for every metric and indicator we publish.
|
||||
</div>
|
||||
</div>
|
||||
<div class="">
|
||||
<div class="uk-icon-bg-shadow uk-margin-bottom">
|
||||
<icon name="done" [flex]="true" ratio="1.5" visuallyHidden="Customised to your needs"
|
||||
customClass="uk-text-primary-gradient"></icon>
|
||||
</div>
|
||||
<div class="uk-text-lead uk-text-bold uk-margin-small-bottom">
|
||||
Customised to your needs
|
||||
</div>
|
||||
<div>
|
||||
Choose from a variety of pre-defined metrics. Select how to visualize them, and who to share with. Use our
|
||||
advanced tools and expertise add add your own metrics.
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="uk-section uk-container uk-container-large uk-margin-large-bottom">
|
||||
<h2 class="uk-h1">Dashboards <br> in action<span class="uk-text-primary">.</span></h2>
|
||||
<div class="uk-text-large uk-margin-bottom">
|
||||
Short description of “what monitor members are”, sed diam nonumy eirmod <br> tempor invidunt ut labore et dolore
|
||||
magna aliquyam erat, sed diam <br> voluptua. At vero eos et accusam et justo duo dolores et ea rebum.
|
||||
</div>
|
||||
<a class="uk-display-inline-block uk-text-uppercase uk-button-text"
|
||||
routerLinkActive="router-link-active" routerLink="/browse">
|
||||
<span class="uk-flex uk-flex-middle">
|
||||
<span>Browse them all</span>
|
||||
</span>
|
||||
</a>
|
||||
<div class="uk-margin-large-top uk-margin-large-bottom">
|
||||
<!-- Tabs -->
|
||||
<my-tabs>
|
||||
<my-tab [tabTitle]="'All'" [tabId]="'all'" class="uk-active">
|
||||
<ng-container *ngTemplateOutlet="allContainer"></ng-container>
|
||||
</my-tab>
|
||||
<my-tab [tabTitle]="'Funders'" [tabId]="'funders'">
|
||||
<ng-container *ngTemplateOutlet="fundersContainer"></ng-container>
|
||||
</my-tab>
|
||||
<my-tab [tabTitle]="'Research Initiatives'" [tabId]="'researchInitiatives'">
|
||||
<ng-container *ngTemplateOutlet="researchInitiativesContainer"></ng-container>
|
||||
</my-tab>
|
||||
<my-tab [tabTitle]="'Research Institutions'" [tabId]="'researchInstitutions'">
|
||||
<ng-container *ngTemplateOutlet="researchInstitutionsContainer"></ng-container>
|
||||
</my-tab>
|
||||
</my-tabs>
|
||||
<!-- Tab content -->
|
||||
<ng-template #allContainer>
|
||||
<div uk-slider class="uk-margin-large-top">
|
||||
<ul class="uk-slider-items" uk-height-match="target: .uk-card; row: false">
|
||||
<li *ngFor="let slide of sliderize(stakeholders)" class="uk-width-1-1">
|
||||
<div class="uk-padding">
|
||||
<div uk-grid class="uk-grid uk-child-width-1-3@l uk-child-width-1-2@m">
|
||||
<div *ngFor="let stakeholder of slide">
|
||||
<div class="uk-card uk-card-default uk-card-body uk-card-hover">
|
||||
{{stakeholder.name}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
<ul class="uk-slider-nav uk-dotnav uk-flex-center uk-margin"></ul>
|
||||
</div>
|
||||
</ng-template>
|
||||
<ng-template #fundersContainer>
|
||||
<div uk-slider class="uk-margin-large-top">
|
||||
<ul class="uk-slider-items" uk-height-match="target: .uk-card; row: false">
|
||||
<li *ngFor="let slide of sliderize(funders)" class="uk-width-1-1">
|
||||
<div class="uk-padding">
|
||||
<div uk-grid class="uk-grid uk-child-width-1-3@l uk-child-width-1-2@m">
|
||||
<div *ngFor="let stakeholder of slide">
|
||||
<div class="uk-card uk-card-default uk-card-body uk-card-hover">
|
||||
{{stakeholder.name}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
<ul class="uk-slider-nav uk-dotnav uk-flex-center uk-margin"></ul>
|
||||
</div>
|
||||
</ng-template>
|
||||
<ng-template #researchInitiativesContainer>
|
||||
<div uk-slider class="uk-margin-large-top">
|
||||
<ul class="uk-slider-items" uk-height-match="target: .uk-card; row: false">
|
||||
<li *ngFor="let slide of sliderize(researchInitiatives)" class="uk-width-1-1">
|
||||
<div class="uk-padding">
|
||||
<div uk-grid class="uk-grid uk-child-width-1-3@l uk-child-width-1-2@m">
|
||||
<div *ngFor="let stakeholder of slide">
|
||||
<div class="uk-card uk-card-default uk-card-body uk-card-hover">
|
||||
{{stakeholder.name}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
<ul class="uk-slider-nav uk-dotnav uk-flex-center uk-margin"></ul>
|
||||
</div>
|
||||
</ng-template>
|
||||
<ng-template #researchInstitutionsContainer>
|
||||
<div uk-slider class="uk-margin-large-top">
|
||||
<ul class="uk-slider-items" uk-height-match="target: .uk-card; row: false">
|
||||
<li *ngFor="let slide of sliderize(researchInstitutions)" class="uk-width-1-1">
|
||||
<div class="uk-padding">
|
||||
<div uk-grid class="uk-grid uk-child-width-1-3@l uk-child-width-1-2@m">
|
||||
<div *ngFor="let stakeholder of slide">
|
||||
<div class="uk-card uk-card-default uk-card-body uk-card-hover">
|
||||
{{stakeholder.name}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
<ul class="uk-slider-nav uk-dotnav uk-flex-center uk-margin"></ul>
|
||||
</div>
|
||||
</ng-template>
|
||||
</div>
|
||||
</div>
|
||||
<div class="uk-section uk-container uk-container-large uk-margin-large-bottom uk-text-center">
|
||||
<h2 class="uk-h1">
|
||||
Need more information? <br> Get in touch and let us help you<span class="uk-text-primary">.</span>
|
||||
</h2>
|
||||
<a class="uk-button uk-button-primary uk-text-uppercase uk-margin-medium-top uk-margin-medium-bottom" routerLink="/contact-us">Contact us</a>
|
||||
</div>
|
||||
</a>
|
||||
<div class="uk-margin-large-top">
|
||||
<div *ngIf="loading" class="uk-height-large uk-flex uk-flex-column uk-flex-center">
|
||||
<loading></loading>
|
||||
</div>
|
||||
<!-- Tabs -->
|
||||
<my-tabs *ngIf="!loading">
|
||||
<my-tab [tabTitle]="'All'" [tabId]="'all'" class="uk-active">
|
||||
<ng-container *ngTemplateOutlet="sliderTemplate; context: {slides: slider(stakeholders)}"></ng-container>
|
||||
</my-tab>
|
||||
<my-tab [tabTitle]="'Funders'" [tabId]="'funders'">
|
||||
<ng-container *ngTemplateOutlet="sliderTemplate; context: {slides: slider(funders)}"></ng-container>
|
||||
</my-tab>
|
||||
<my-tab [tabTitle]="'Research Initiatives'" [tabId]="'researchInitiatives'">
|
||||
<ng-container *ngTemplateOutlet="sliderTemplate; context: {slides: slider(researchInitiatives)}"></ng-container>
|
||||
</my-tab>
|
||||
<my-tab [tabTitle]="'Research Institutions'" [tabId]="'researchInstitutions'">
|
||||
<ng-container *ngTemplateOutlet="sliderTemplate; context: {slides: slider(organizations)}"></ng-container>
|
||||
</my-tab>
|
||||
</my-tabs>
|
||||
<!-- Slider Template for Tab Content -->
|
||||
<ng-template #sliderTemplate let-slides="slides">
|
||||
<div uk-slider class="uk-margin-medium-top">
|
||||
<ul class="uk-slider-items" uk-height-match="target: .uk-card; row: false">
|
||||
<li *ngFor="let slide of slides" class="uk-width-1-1">
|
||||
<div class="uk-padding-small">
|
||||
<div uk-grid class="uk-grid uk-child-width-1-3@l uk-child-width-1-2@m">
|
||||
<div *ngFor="let stakeholder of slide">
|
||||
<div class="uk-card uk-card-default uk-card-hover">
|
||||
<browse-stakeholder [stakeholder]="stakeholder"></browse-stakeholder>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
<ul class="uk-slider-nav uk-dotnav uk-flex-center uk-margin-medium-top"></ul>
|
||||
</div>
|
||||
</ng-template>
|
||||
</div>
|
||||
</div>
|
||||
<div class="uk-section uk-container uk-container-large uk-margin-large-bottom uk-text-center">
|
||||
<h2 class="uk-h1">
|
||||
Need more information? <br> Get in touch and let us help you<span class="uk-text-primary">.</span>
|
||||
</h2>
|
||||
<a class="uk-button uk-button-primary uk-text-uppercase uk-margin-medium-top uk-margin-medium-bottom"
|
||||
routerLink="/contact-us">Contact us</a>
|
||||
</div>
|
||||
</div>
|
||||
<!-- <div class="image-front-topbar"
|
||||
style="background: transparent linear-gradient(180deg, #F4F4F4 0%, #F5F5F5 83%, #FAFAFA 100%) no-repeat;">
|
||||
<div
|
||||
class="uk-section uk-container uk-container-large uk-text-center uk-section uk-section-small uk-margin-large-bottom"
|
||||
uk-parallax="media: @l; y: -200; easing: 0.5">
|
||||
<div class="uk-padding-small">
|
||||
<h1 class="uk-margin-top">A new era of monitoring research</h1>
|
||||
<div class="girl-background">
|
||||
<h4 class="uk-margin-remove-top">Open data. Open methodologies.</h4>
|
||||
<div class="uk-margin-medium-top uk-text-muted">
|
||||
Work together with us to view, understand and visualize<br>research statistics and indicators.
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="uk-section uk-container uk-container-large dashboard-section">
|
||||
<div class="uk-padding-small">
|
||||
<div class="dashboard uk-flex uk-flex-center">
|
||||
<img class="uk-width-1-2@l" src="/assets/monitor-assets/home/dashboard.png">
|
||||
</div>
|
||||
<div class="uk-margin-large-top">
|
||||
<div class="uk-margin-medium-left uk-margin-medium-right uk-margin-large-bottom">
|
||||
<div class="uk-child-width-1-3@m uk-grid info" uk-grid>
|
||||
<div [@1]="state.toString()" class="clickable" [class.uk-active]="state === 1" (click)="startAnimation()">
|
||||
<h5>
|
||||
Get a complete picture
|
||||
</h5>
|
||||
<div class="uk-text-muted">
|
||||
Track and discover your organization’s research output. Use the OpenAIRE Research Graph to get a
|
||||
360<span>°</span>
|
||||
view of your publications-data-code.
|
||||
</div>
|
||||
</div>
|
||||
<div [@2]="state.toString()" class="clickable" [class.uk-active]="state === 2" (click)="startAnimation(2)">
|
||||
<h5>
|
||||
Monitor open science compliance
|
||||
</h5>
|
||||
<div class="uk-text-muted">
|
||||
Work with the open science expert community for open and transparent metrics. Discover open science trends
|
||||
for your organization and see how you fare in EOSC.
|
||||
</div>
|
||||
</div>
|
||||
<div [@3]="state.toString()" class="clickable" [class.uk-active]="state === 3" (click)="startAnimation(3)">
|
||||
<h5>
|
||||
Turn research results to insights
|
||||
</h5>
|
||||
<div class="uk-text-muted">
|
||||
Understand your community. Measure impact, discover trends, connections and collaborations to improve
|
||||
and optimize your future actions.
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="uk-section uk-container uk-container-large">
|
||||
<div class="uk-padding-small hologram uk-position-relative">
|
||||
<div class="uk-grid uk-grid-match uk-child-width-1-2 uk-visible@m" uk-grid>
|
||||
<div uk-parallax="y: 40, -60; easing: 0.5">
|
||||
<div class="uk-margin-large-left uk-margin-large-bottom uk-width-3-4 part">
|
||||
<h5 class="uk-text-secondary">Global outlook</h5>
|
||||
<div>
|
||||
Monitor is built on the OpenAIRE Research Graph. An interconnected scholarly communication shared data
|
||||
resource from open initiatives around the world, of global interest.
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div uk-parallax="y: 40, -60; easing: 0.5" class="uk-flex uk-flex-right">
|
||||
<div class="part uk-width-3-4 uk-margin-medium-right">
|
||||
<h5 class="uk-text-secondary">Transparent methodology</h5>
|
||||
<div>
|
||||
We base our service on open science principles. We rely on open data sources, and document our algorithms
|
||||
for every metric and indicator we publish.
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div uk-parallax="y: -100; easing: 0.5">
|
||||
<div class="part uk-width-3-4 uk-margin-medium-left">
|
||||
<h5 class="uk-text-secondary">Customised to your needs</h5>
|
||||
<div>
|
||||
Choose from a variety of pre-defined metrics. Select how to visualize them, and who to share with. Use our
|
||||
advanced tools and expertise add add your own metrics.
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div uk-parallax="y: -100; easing: 2" class="uk-flex uk-flex-center">
|
||||
<div class="part uk-width-3-4 uk-margin-large-left">
|
||||
<h5 class="uk-text-secondary">Minimum effort to join</h5>
|
||||
<div>
|
||||
You only share some information with us to include in out backend aggregating and data mining, and we
|
||||
deliver a view of your world. As you see fit.
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="uk-hidden@m uk-grid uk-child-width-1-1" uk-grid>
|
||||
<div>
|
||||
<h5 class="uk-text-secondary">Global outlook</h5>
|
||||
<div>
|
||||
Monitor is built on the OpenAIRE Research Graph. An interconnected scholarly communication shared data
|
||||
resource from open initiatives around the world, of global interest.
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<h5 class="uk-text-secondary">Transparent methodology</h5>
|
||||
<div>
|
||||
We base our service on open science principles. We rely on open data sources, and document our algorithms for
|
||||
every metric and indicator we publish.
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<h5 class="uk-text-secondary">Customised to your needs</h5>
|
||||
<div>
|
||||
Choose from a variety of pre-defined metrics. Select how to visualize them, and who to share with. Use our
|
||||
advanced tools and expertise add add your own metrics.
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<h5 class="uk-text-secondary">Minimum effort to join</h5>
|
||||
<div>
|
||||
You only share some information with us to include in out backend aggregating and data mining, and we deliver
|
||||
a view of your world. As you see fit.
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="uk-text-center uk-margin-large">
|
||||
<a class="uk-button portal-button" routerLink="/about">Learn More</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="graph-section">
|
||||
<div class="uk-section uk-container uk-margin-large">
|
||||
<div class="uk-text-center uk-padding-small">
|
||||
<h2>Tap into the OpenAIRE Research Graph</h2>
|
||||
<div class="uk-flex uk-flex-center">
|
||||
<div class="uk-width-3-4@m uk-margin-large-top uk-grid uk-child-width-1-5@m uk-child-width-1-2">
|
||||
<div *ngIf="publicationsSize" class="uk-margin-medium-bottom uk-text-center">
|
||||
<h3 class="uk-margin-remove portal-color">
|
||||
<a class="uk-link-reset"
|
||||
href="https://explore.openaire.eu/search/find/research-outcomes?type=publications" target=_blank>
|
||||
<span class="uk-text-bold number">{{publicationsSize.number|number}}</span>{{publicationsSize.size}}
|
||||
</a>
|
||||
</h3>
|
||||
<div class="uk-margin-small uk-text-large uk-text-uppercase">publications</div>
|
||||
</div>
|
||||
<div *ngIf="datasetsSize" class="uk-margin-medium-bottom uk-text-center">
|
||||
<h3 class="uk-margin-remove portal-color">
|
||||
<a class="uk-link-reset" href="https://explore.openaire.eu/search/find/research-outcomes?type=datasets"
|
||||
target=_blank>
|
||||
<span class="uk-text-bold number">{{datasetsSize.number|number}}</span>{{datasetsSize.size}}
|
||||
</a>
|
||||
</h3>
|
||||
<div class="uk-margin-small uk-text-large uk-text-uppercase">datasets</div>
|
||||
</div>
|
||||
<div *ngIf="softwareSize" class="uk-margin-medium-bottom uk-text-center">
|
||||
<h3 class="uk-margin-remove portal-color">
|
||||
<a class="uk-link-reset" href="https://explore.openaire.eu/search/find/research-outcomes?type=software"
|
||||
target="_blank">
|
||||
<span class="uk-text-bold number">{{softwareSize.number|number}}</span>{{softwareSize.size}}
|
||||
</a>
|
||||
</h3>
|
||||
<div class="uk-margin-small uk-text-large uk-text-uppercase">software</div>
|
||||
</div>
|
||||
<div *ngIf="otherSize" class="uk-margin-medium-bottom uk-text-center">
|
||||
<h3 class="uk-margin-remove portal-color">
|
||||
<a class="uk-link-reset" href="https://explore.openaire.eu/search/find/research-outcomes?type=other"
|
||||
target="_blank">
|
||||
<span class="uk-text-bold number">{{otherSize.number|number}}</span>{{otherSize.size}}
|
||||
</a>
|
||||
</h3>
|
||||
<div class="uk-margin-small uk-text-large uk-text-uppercase">other</div>
|
||||
</div>
|
||||
<div *ngIf="fundersSize" class="uk-margin-medium-bottom uk-text-center">
|
||||
<h3 class="uk-margin-remove portal-color">
|
||||
<a class="uk-link-reset" href="https://explore.openaire.eu/search/find/projects" target="_blank">
|
||||
<span class="uk-text-bold number">{{fundersSize.number|number}}</span>{{fundersSize.size}}
|
||||
</a>
|
||||
</h3>
|
||||
<div class="uk-margin-small uk-text-large uk-text-uppercase">Funders</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div *ngIf="loading && stakeholders.length === 0" class="uk-container uk-container-large uk-margin-large-bottom">
|
||||
<errorMessages [status]="[status]" [type]="'stakeholders'"></errorMessages>
|
||||
</div>
|
||||
<div *ngIf="!loading && stakeholders && stakeholders.length > 0"
|
||||
class="uk-section uk-section-large uk-margin-right uk-margin-left uk-margin-large-top stakeholder-section">
|
||||
<div class="uk-container" uk-filter="target: .stakeholders">
|
||||
<ul class="uk-subnav uk-subnav-pill">
|
||||
<li class="uk-active" uk-filter-control><a (click)="type = null">All</a></li>
|
||||
<li uk-filter-control="[data-type='funder']"><a (click)="type = 'funder'">Funders</a></li>
|
||||
<li uk-filter-control="[data-type='ri']"><a (click)="type = 'ri'">Research Initiatives</a></li>
|
||||
<li uk-filter-control="[data-type='organization']"><a (click)="type = 'organization'">Institutions</a></li>
|
||||
</ul>
|
||||
<div class="stakeholders uk-margin-large-top uk-child-width-1-1 uk-child-width-1-2@s uk-child-width-1-3@m uk-grid uk-flex-top uk-flex-wrap-top"
|
||||
uk-grid="masonry: true" uk-height-match="target: .uk-card; row: false;">
|
||||
<div *ngFor="let stakeholder of stakeholders" [attr.data-type]="stakeholder.type">
|
||||
<a *ngIf="directLink && hasPermission(stakeholder)" [href]="getStakeholderPageUrl(stakeholder)" target="_blank">
|
||||
<ng-container *ngTemplateOutlet="stakeholderCard; context: {stakeholder: stakeholder}"></ng-container>
|
||||
</a>
|
||||
<a *ngIf="!directLink && hasPermission(stakeholder)" (click)="confirmModalOpen(stakeholder)">
|
||||
<ng-container *ngTemplateOutlet="stakeholderCard; context: {stakeholder: stakeholder}"></ng-container>
|
||||
</a>
|
||||
<ng-container *ngIf="!hasPermission(stakeholder)">
|
||||
<ng-container *ngTemplateOutlet="stakeholderCard; context: {stakeholder: stakeholder}"></ng-container>
|
||||
</ng-container>
|
||||
</div>
|
||||
<div *ngIf="stakeholdersNumber === 0" [attr.data-type]="type"
|
||||
class="uk-text-center uk-text-large uk-width-1-1 uk-margin-large-top uk-padding-large">
|
||||
Nothing here yet.
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div style="background: linear-gradient(0deg, #FFFFFF 0%, #EFF3F8 0%, #FAFAFA 100%);">
|
||||
<div class="uk-section uk-container uk-text-center uk-margin-large-bottom">
|
||||
<div class="uk-padding-small">
|
||||
<h3>Contact us to help you.</h3>
|
||||
<div class="uk-text-muted uk-margin-medium">
|
||||
Are you looking for more? Get in touch with our team and let us help you.
|
||||
</div>
|
||||
<a class="uk-button portal-button" routerLink="/contact-us">CONTACT US</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="uk-section-muted"
|
||||
uk-scrollspy="{"target":"[uk-scrollspy-class]","cls":"uk-animation-fade","delay":false}">
|
||||
<div class="uk-container uk-container-large">
|
||||
<other-portals [properties]="properties" portal="monitor"></other-portals>
|
||||
</div>
|
||||
</div>
|
||||
<modal-alert #AlertModal (alertOutput)="goToPage($event)">
|
||||
<div class="uk-text-left">
|
||||
You will be navigated to a new tab. Are you sure that you want to proceed?
|
||||
</div>
|
||||
</modal-alert>
|
||||
<ng-template #stakeholderCard let-stakeholder="stakeholder">
|
||||
<div class="uk-card uk-card-default uk-text-center uk-position-relative" [class.disabled]="!hasPermission(stakeholder)">
|
||||
<div *ngIf="stakeholder.visibility && stakeholder.visibility !== 'PUBLIC'"
|
||||
class="uk-position-top-right uk-margin-top uk-margin-right uk-flex uk-flex-middle">
|
||||
<icon [name]="visibilityIcon.get(stakeholder.visibility)"></icon>
|
||||
<span class="space uk-text-small uk-text-capitalize">{{stakeholder.visibility.toLowerCase()}}</span>
|
||||
</div>
|
||||
<img *ngIf="stakeholder.logoUrl" class="uk-margin-auto" [src]="stakeholder | logoUrl">
|
||||
<div class="uk-text-light uk-margin-medium-top">{{stakeholder.name}}</div>
|
||||
</div>
|
||||
</ng-template> -->
|
||||
|
|
|
@ -3,7 +3,6 @@ import {ActivatedRoute, Router} from '@angular/router';
|
|||
import {Meta, Title} from '@angular/platform-browser';
|
||||
import {EnvProperties} from '../openaireLibrary/utils/properties/env-properties';
|
||||
import {PiwikService} from '../openaireLibrary/utils/piwik/piwik.service';
|
||||
import {StringUtils} from '../openaireLibrary/utils/string-utils.class';
|
||||
|
||||
import {ErrorCodes} from '../openaireLibrary/utils/properties/errorCodes';
|
||||
import {ErrorMessagesComponent} from '../openaireLibrary/utils/errorMessages.component';
|
||||
|
@ -14,8 +13,8 @@ import {NumberUtils} from "../openaireLibrary/utils/number-utils.class";
|
|||
import {SearchResearchResultsService} from "../openaireLibrary/services/searchResearchResults.service";
|
||||
import {StakeholderService} from "../openaireLibrary/monitor/services/stakeholder.service";
|
||||
import {LocalStorageService} from "../openaireLibrary/services/localStorage.service";
|
||||
import {Stakeholder, Visibility} from "../openaireLibrary/monitor/entities/stakeholder";
|
||||
import {Session, User} from "../openaireLibrary/login/utils/helper.class";
|
||||
import {Stakeholder, StakeholderInfo} from "../openaireLibrary/monitor/entities/stakeholder";
|
||||
import {User} from "../openaireLibrary/login/utils/helper.class";
|
||||
import {UserManagementService} from "../openaireLibrary/services/user-management.service";
|
||||
import {properties} from "../../environments/environment";
|
||||
import {Subscriber} from "rxjs";
|
||||
|
@ -28,7 +27,7 @@ import {Subscriber} from "rxjs";
|
|||
export class HomeComponent {
|
||||
public pageTitle = "OpenAIRE | Monitor";
|
||||
public description = "OpenAIRE - Monitor, A new era of monitoring research. Open data. Open methodologies. Work together with us to view, understand and visualize research statistics and indicators.";
|
||||
public stakeholders: Stakeholder[] = [];
|
||||
public stakeholders: StakeholderInfo[] = [];
|
||||
public selected: Stakeholder = null;
|
||||
public pageContents = null;
|
||||
public divContents = null;
|
||||
|
@ -48,11 +47,6 @@ export class HomeComponent {
|
|||
private errorMessages: ErrorMessagesComponent;
|
||||
private subscriptions = [];
|
||||
private user: User;
|
||||
visibilityIcon: Map<Visibility, string> = new Map<Visibility, string> ([
|
||||
["PUBLIC", 'earth'],
|
||||
["PRIVATE", 'lock'],
|
||||
["RESTRICTED", 'group']
|
||||
]);
|
||||
|
||||
constructor(
|
||||
private route: ActivatedRoute,
|
||||
|
@ -83,12 +77,12 @@ export class HomeComponent {
|
|||
this.subscriptions.push(this._piwikService.trackView(this.properties, "OpenAIRE Monitor", this.properties.piwikSiteId).subscribe());
|
||||
}
|
||||
this.getNumbers();
|
||||
this.getStakeholders();
|
||||
this.subscriptions.push(this.localStorageService.get().subscribe(value => {
|
||||
this.directLink = value;
|
||||
}));
|
||||
this.subscriptions.push(this.userManagementService.getUserInfo().subscribe(user => {
|
||||
this.user = user;
|
||||
this.getStakeholders();
|
||||
}));
|
||||
}
|
||||
|
||||
|
@ -181,30 +175,9 @@ export class HomeComponent {
|
|||
if (!stakeholders || stakeholders.length == 0) {
|
||||
this.status = this.errorCodes.NONE;
|
||||
} else {
|
||||
// compare function for alphabetical order based on the 'name' property
|
||||
function compare (a, b) {
|
||||
if(a.name < b.name) {
|
||||
return -1;
|
||||
}
|
||||
if(a.name > b.name) {
|
||||
return 1;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
let publicStakeholders = [];
|
||||
let restrictedStakeholders = [];
|
||||
stakeholders.forEach(stakeholder => {
|
||||
if(stakeholder.visibility == "PUBLIC") {
|
||||
publicStakeholders.push(stakeholder);
|
||||
} else {
|
||||
restrictedStakeholders.push(stakeholder);
|
||||
}
|
||||
});
|
||||
// actual sorting of the arrays
|
||||
publicStakeholders.sort(compare);
|
||||
restrictedStakeholders.sort(compare);
|
||||
// joining the two arrays again
|
||||
this.stakeholders = publicStakeholders.concat(restrictedStakeholders);
|
||||
this.stakeholders = StakeholderInfo.toStakeholderInfo(stakeholders, this.user);
|
||||
this.sort(this.stakeholders);
|
||||
this.stakeholders = this.publicStakeholders.concat(this.privateStakeholders);
|
||||
}
|
||||
this.loading = false;
|
||||
},
|
||||
|
@ -215,16 +188,35 @@ export class HomeComponent {
|
|||
));
|
||||
}
|
||||
|
||||
public sliderize(stakeholders: Stakeholder[]): Stakeholder[][] {
|
||||
private sort(results: StakeholderInfo[]) {
|
||||
results.sort((left, right): number => {
|
||||
if (left.name > right.name) {
|
||||
return 1;
|
||||
} else if (left.name < right.name) {
|
||||
return -1;
|
||||
} else {
|
||||
return 0;
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
public slider(stakeholders: StakeholderInfo[], size: number = 6): Stakeholder[][] {
|
||||
let slider: Stakeholder[][] = [];
|
||||
let size = 6;
|
||||
for(let i = 0; i < (stakeholders.length/size); i++) {
|
||||
slider.push(stakeholders.slice(i*size, ((i+1)*size)));
|
||||
}
|
||||
return slider;
|
||||
}
|
||||
|
||||
get funders(): Stakeholder[] {
|
||||
get publicStakeholders(): StakeholderInfo[] {
|
||||
return this.stakeholders.filter(stakeholder => stakeholder.visibility === "PUBLIC");
|
||||
}
|
||||
|
||||
get privateStakeholders(): StakeholderInfo[] {
|
||||
return this.stakeholders.filter(stakeholder => stakeholder.visibility !== "PUBLIC");
|
||||
}
|
||||
|
||||
get funders(): StakeholderInfo[] {
|
||||
if(this.stakeholders) {
|
||||
return this.stakeholders.filter(stakeholder => stakeholder.type === "funder");
|
||||
} else {
|
||||
|
@ -232,7 +224,7 @@ export class HomeComponent {
|
|||
}
|
||||
}
|
||||
|
||||
get researchInitiatives(): Stakeholder[] {
|
||||
get researchInitiatives(): StakeholderInfo[] {
|
||||
if(this.stakeholders) {
|
||||
return this.stakeholders.filter(stakeholder => stakeholder.type === "ri");
|
||||
} else {
|
||||
|
@ -240,7 +232,7 @@ export class HomeComponent {
|
|||
}
|
||||
}
|
||||
|
||||
get researchInstitutions(): Stakeholder[] {
|
||||
get organizations(): StakeholderInfo[] {
|
||||
if(this.stakeholders) {
|
||||
return this.stakeholders.filter(stakeholder => stakeholder.type === "organization");
|
||||
} else {
|
||||
|
@ -248,43 +240,6 @@ export class HomeComponent {
|
|||
}
|
||||
}
|
||||
|
||||
private isManager(stakeholder: Stakeholder) {
|
||||
return Session.isPortalAdministrator(this.user) || Session.isMonitorCurator(this.user) || Session.isManager(stakeholder.type, stakeholder.alias, this.user);
|
||||
}
|
||||
|
||||
private isMember(stakeholder: Stakeholder) {
|
||||
return Session.isMember(stakeholder.type, stakeholder.alias, this.user);
|
||||
}
|
||||
|
||||
public confirmModalOpen(result: Stakeholder) {
|
||||
this.selected = result;
|
||||
this.modal.cancelButton = true;
|
||||
this.modal.okButton = true;
|
||||
this.modal.alertTitle = 'You are going to visit ' + result.name + ' Monitor Dashboard';
|
||||
this.modal.alertMessage = false;
|
||||
this.modal.okButtonLeft = false;
|
||||
this.modal.okButtonText = 'Yes';
|
||||
this.modal.cancelButtonText = 'No';
|
||||
this.modal.choice = true;
|
||||
this.modal.open();
|
||||
}
|
||||
|
||||
public getStakeholderPageUrl(stakeholder: Stakeholder) {
|
||||
return this.properties.domain + this.properties.baseLink + '/dashboard/' + stakeholder.alias;
|
||||
}
|
||||
|
||||
public goToPage(data: any) {
|
||||
if (data.value == true) {
|
||||
let url = this.getStakeholderPageUrl(this.selected);
|
||||
this.localStorageService.setCommunityDirectLink(data.choice);
|
||||
window.open(url, '_blank');
|
||||
}
|
||||
}
|
||||
|
||||
public quote(param: string): string {
|
||||
return StringUtils.quote(param);
|
||||
}
|
||||
|
||||
ngOnDestroy() {
|
||||
this.subscriptions.forEach(subscription => {
|
||||
if (subscription instanceof Subscriber) {
|
||||
|
@ -293,14 +248,9 @@ export class HomeComponent {
|
|||
});
|
||||
}
|
||||
|
||||
hasPermission(stakeholder: Stakeholder) {
|
||||
return stakeholder.visibility === "PUBLIC" || this.isManager(stakeholder) || this.isMember(stakeholder);
|
||||
}
|
||||
|
||||
private handleError(message: string, error): number {
|
||||
let code = "";
|
||||
if (!error.status) {
|
||||
error = error.json();
|
||||
code = error.code;
|
||||
} else {
|
||||
code = error.status;
|
||||
|
|
|
@ -25,13 +25,14 @@ import {LogoUrlPipeModule} from "../openaireLibrary/utils/pipes/logoUrlPipe.modu
|
|||
import {SectionScrollModule} from '../openaireLibrary/utils/section-scroll/section-scroll.module';
|
||||
import {TabsModule} from '../openaireLibrary/utils/tabs/tabs.module';
|
||||
import {LoadingModule} from "../openaireLibrary/utils/loading/loading.module";
|
||||
import {BrowseStakeholderModule} from "../browse-stakeholder/browse-stakeholder.module";
|
||||
|
||||
@NgModule({
|
||||
imports: [
|
||||
CommonModule, FormsModule, RouterModule, ErrorMessagesModule, OtherPortalsModule,
|
||||
HelperModule, Schema2jsonldModule, SEOServiceModule, HomeRoutingModule, SearchResearchResultsServiceModule,
|
||||
RefineFieldResultsServiceModule, AlertModalModule, IconsModule, UrlPrefixModule, LogoUrlPipeModule, SectionScrollModule,
|
||||
TabsModule, LoadingModule
|
||||
TabsModule, LoadingModule, BrowseStakeholderModule
|
||||
],
|
||||
declarations: [
|
||||
HomeComponent
|
||||
|
|
|
@ -100,107 +100,9 @@
|
|||
</div>
|
||||
</div>
|
||||
<div class="uk-section uk-container uk-container-large">
|
||||
<div class="uk-h6 uk-text-primary">Inclusion, transparency, quality, state of the art technology.</div>
|
||||
<div class="uk-h6 uk-text-primary uk-margin-remove">Inclusion, transparency, quality, state of the art technology.</div>
|
||||
<h2 class="uk-h1 uk-margin-remove-top uk-margin-medium-bottom">Simplify research <br> tracking & monitoring.</h2>
|
||||
<div class="uk-padding-large">
|
||||
<how></how>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Old about page -->
|
||||
<!-- <div class="uk-section uk-container uk-container-large">
|
||||
<div class="uk-padding-small">
|
||||
<div class="uk-flex uk-flex-center">
|
||||
<div class="uk-text-center uk-width-2-5@m uk-width-2-3@s">
|
||||
<h1 class="uk-h2">Learn the process</h1>
|
||||
<h6 class="uk-text-muted uk-margin-remove">
|
||||
Use the Monitor Dashboard to view your research results, open science…
|
||||
</h6>
|
||||
</div>
|
||||
</div>
|
||||
<div class="process uk-margin-large-top">
|
||||
<div class="uk-flex uk-flex-wrap uk-child-width-1-3@s">
|
||||
<div class="zero">
|
||||
<div class="uk-text-center">
|
||||
<img width="90" src="../../assets/monitor-assets/about/process/0.png">
|
||||
</div>
|
||||
<h6>0. Starting from the OpenAIRE RESEARCH GRAPH</h6>
|
||||
<div class="uk-text-small uk-text-muted">
|
||||
<a class="uk-link" href="https://graph.openaire.eu" target="_blank">OpenAIRE Research Graph</a> aggregates
|
||||
a collection of research data properties for funders, organizations,
|
||||
researchers, research communities and publishers to interlink information by using a semantic graph
|
||||
database approach.
|
||||
</div>
|
||||
</div>
|
||||
<div class="first">
|
||||
<div class="uk-text-center">
|
||||
<img width="110" src="../../assets/monitor-assets/about/process/1.png">
|
||||
</div>
|
||||
<h6>1. Provide us some information</h6>
|
||||
<div class="uk-text-small uk-text-muted">
|
||||
You give us some simple (meta)data related to your organization function: e.g., funding database,
|
||||
repositories, related projects, registry of people… All under confidential agreements.
|
||||
</div>
|
||||
</div>
|
||||
<div class="second">
|
||||
<div class="uk-text-center">
|
||||
<img width="100" src="../../assets/monitor-assets/about/process/2.png">
|
||||
</div>
|
||||
<h6>2. We get the ball rolling</h6>
|
||||
<div class="uk-text-small uk-text-muted">
|
||||
We ingest your data in our system and start the work: we clean and normalize your data, we identify and
|
||||
extract related information, we infer links. We refine until we are happy of the results and present to
|
||||
you.
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="uk-flex uk-flex-wrap uk-child-width-1-3@s">
|
||||
<div class="third uk-flex-last@s">
|
||||
<div class="uk-text-center">
|
||||
<img width="105" src="../../assets/monitor-assets/about/process/3.png">
|
||||
</div>
|
||||
<h6>3. You validate</h6>
|
||||
<div class="uk-text-small uk-text-muted">
|
||||
After the first iteration you examine our results to ensure you are satisfied with what you see. As
|
||||
numbers are important, we advise you to take your time and tell us of any deviations. We correct, you
|
||||
check, you approve.
|
||||
</div>
|
||||
</div>
|
||||
<div class="fourth">
|
||||
<div class="uk-text-center">
|
||||
<img width="135" src="../../assets/monitor-assets/about/process/4.png">
|
||||
</div>
|
||||
<h6>4. You set up your portal</h6>
|
||||
<div class="uk-text-small uk-text-muted">
|
||||
Using our admin panel you set up your portal. You decide what metrics are of interest to you (full
|
||||
documentation available). You decide what you want to publish, what to keep private, what to share with
|
||||
colleagues.
|
||||
</div>
|
||||
</div>
|
||||
<div class="fifth uk-flex-first@s">
|
||||
<div class="uk-text-center">
|
||||
<img width="105" src="../../assets/monitor-assets/about/process/5.png">
|
||||
</div>
|
||||
<h6>5. You track, monitor, report</h6>
|
||||
<div class="uk-text-small uk-text-muted">
|
||||
Now your views are updated every two weeks, as new content and new providers join OpenAIRE. You are
|
||||
notified about new metrics and indicators as we keep on enriching the OpenAIRE Research Graph and you may
|
||||
add them as they come along.
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="uk-section uk-container uk-container-large">
|
||||
<div class="uk-padding-small">
|
||||
<div class="uk-text-center">
|
||||
<h2>See how it works</h2>
|
||||
<h6 class="uk-text-muted uk-margin-remove">
|
||||
Simplify research tracking & monitoring
|
||||
</h6>
|
||||
</div>
|
||||
<div class="uk-margin-large-top">
|
||||
<how></how>
|
||||
</div>
|
||||
</div>
|
||||
</div> -->
|
||||
|
|
|
@ -16,30 +16,41 @@
|
|||
<div *ngIf="manager.length > 0" [class.uk-margin-xlarge-bottom]="member.length > 0">
|
||||
<h1 class="uk-h1">You are managing</h1>
|
||||
<div class="uk-margin-large-top">
|
||||
<div class="uk-grid-match uk-grid-medium uk-child-width-1-4@xl uk-child-width-1-3@m uk-child-width-1-1 uk-flex-center uk-text-center" uk-grid>
|
||||
<div *ngFor="let stakeholder of manager.slice(0, 4); let i = index">
|
||||
<div class="uk-card uk-card-default uk-card-hover">
|
||||
{{stakeholder.name}}
|
||||
<div class="uk-visible@xl">
|
||||
<div class="uk-grid-match uk-grid-medium uk-child-width-1-4 uk-flex-center" uk-grid>
|
||||
<div *ngFor="let stakeholder of manager.slice(0, 4); let i = index">
|
||||
<div class="uk-card uk-card-default uk-card-hover">
|
||||
<browse-stakeholder [stakeholder]="stakeholder"></browse-stakeholder>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div *ngIf="manager.length > 4" class="uk-text-center uk-margin-medium-top">
|
||||
<a class="uk-visible@xl uk-margin-large-top uk-display-inline-block uk-text-uppercase uk-button-text"
|
||||
routerLinkActive="router-link-active" routerLink="/browse"
|
||||
[queryParams]="{role: quote('manager')}">
|
||||
<span class="uk-flex uk-flex-middle">
|
||||
<span>View All ({{manager.length}})</span>
|
||||
</span>
|
||||
</a>
|
||||
</div>
|
||||
<div *ngIf="manager.length > 3" class="uk-text-center uk-margin-medium-top">
|
||||
<a class="uk-hidden@xl uk-display-inline-block uk-text-uppercase uk-button-text"
|
||||
routerLinkActive="router-link-active" routerLink="/browse"
|
||||
[queryParams]="{role: quote('manager')}">
|
||||
<div *ngIf="manager.length > 4" class="uk-text-center uk-margin-large-top">
|
||||
<a class="uk-display-inline-block uk-text-uppercase uk-button-text"
|
||||
routerLinkActive="router-link-active" routerLink="/browse"
|
||||
[queryParams]="{role: quote('manager')}">
|
||||
<span class="uk-flex uk-flex-middle">
|
||||
<span>View All ({{manager.length}})</span>
|
||||
</span>
|
||||
</a>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="uk-hidden@xl">
|
||||
<div class="uk-grid-match uk-grid-medium uk-child-width-1-3@m uk-child-width-1-1 uk-flex-center" uk-grid>
|
||||
<div *ngFor="let stakeholder of manager.slice(0, 3); let i = index">
|
||||
<div class="uk-card uk-card-default uk-card-hover">
|
||||
<browse-stakeholder [stakeholder]="stakeholder"></browse-stakeholder>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div *ngIf="manager.length > 3" class="uk-text-center uk-margin-large-top">
|
||||
<a class="uk-hidden@xl uk-display-inline-block uk-text-uppercase uk-button-text"
|
||||
routerLinkActive="router-link-active" routerLink="/browse"
|
||||
[queryParams]="{role: quote('manager')}">
|
||||
<span class="uk-flex uk-flex-middle">
|
||||
<span>View All ({{manager.length}})</span>
|
||||
</span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -47,14 +58,14 @@
|
|||
<h1 class="uk-h1">You are member of</h1>
|
||||
<div class="uk-margin-large-top">
|
||||
<div class="uk-visible@xl">
|
||||
<div class="uk-grid-match uk-grid-medium uk-child-width-1-4 uk-flex-center uk-text-center" uk-grid>
|
||||
<div class="uk-grid-match uk-grid-medium uk-child-width-1-4 uk-flex-center" uk-grid>
|
||||
<div *ngFor="let stakeholder of member.slice(0, 4); let i = index">
|
||||
<div class="uk-card uk-card-default uk-card-hover">
|
||||
{{stakeholder.name}}
|
||||
<browse-stakeholder [stakeholder]="stakeholder"></browse-stakeholder>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div *ngIf="member.length > 4" class="uk-text-center uk-margin-medium-top">
|
||||
<div *ngIf="member.length > 4" class="uk-text-center uk-margin-large-top">
|
||||
<a class="uk-display-inline-block uk-text-uppercase uk-button-text"
|
||||
routerLinkActive="router-link-active" routerLink="/browse"
|
||||
[queryParams]="{role: quote('member')}">
|
||||
|
@ -65,14 +76,14 @@
|
|||
</div>
|
||||
</div>
|
||||
<div class="uk-hidden@xl">
|
||||
<div class="uk-grid-match uk-grid-medium uk-child-width-1-3@m uk-child-width-1-1 uk-flex-center uk-text-center" uk-grid>
|
||||
<div class="uk-grid-match uk-grid-medium uk-child-width-1-3@m uk-child-width-1-1 uk-flex-center" uk-grid>
|
||||
<div *ngFor="let stakeholder of member.slice(0, 3); let i = index">
|
||||
<div class="uk-card uk-card-default uk-card-hover">
|
||||
{{stakeholder.name}}
|
||||
<browse-stakeholder [stakeholder]="stakeholder"></browse-stakeholder>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div *ngIf="member.length > 3" class="uk-text-center uk-margin-medium-top">
|
||||
<div *ngIf="member.length > 3" class="uk-text-center uk-margin-large-top">
|
||||
<a class="uk-display-inline-block uk-text-uppercase uk-button-text"
|
||||
routerLinkActive="router-link-active" routerLink="/browse"
|
||||
[queryParams]="{role: quote('member')}">
|
||||
|
|
|
@ -117,18 +117,12 @@ export class MyStakeholdersComponent {
|
|||
|
||||
private sort(results: StakeholderInfo[]) {
|
||||
results.sort((left, right): number => {
|
||||
if (!right.updateDate || left.updateDate > right.updateDate) {
|
||||
return -1;
|
||||
} else if (!left.updateDate || left.updateDate < right.updateDate) {
|
||||
if (left.name > right.name) {
|
||||
return 1;
|
||||
} else if (left.name < right.name) {
|
||||
return -1;
|
||||
} else {
|
||||
if (left.name > right.name) {
|
||||
return 1;
|
||||
} else if (left.name < right.name) {
|
||||
return -1;
|
||||
} else {
|
||||
return 0;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
})
|
||||
}
|
||||
|
|
|
@ -16,12 +16,13 @@ import {BreadcrumbsModule} from "../openaireLibrary/utils/breadcrumbs/breadcrumb
|
|||
import {MyStakeholdersRoutingModule} from "./my-stakeholders-routing.module";
|
||||
import {MyStakeholdersComponent} from "./my-stakeholders.component";
|
||||
import {LoadingModule} from "../openaireLibrary/utils/loading/loading.module";
|
||||
import {BrowseStakeholderModule} from "../browse-stakeholder/browse-stakeholder.module";
|
||||
|
||||
@NgModule({
|
||||
imports: [
|
||||
CommonModule, FormsModule, RouterModule, HelperModule,
|
||||
ManageModule, ErrorMessagesModule, Schema2jsonldModule, SEOServiceModule,
|
||||
MyStakeholdersRoutingModule, BreadcrumbsModule, LoadingModule
|
||||
MyStakeholdersRoutingModule, BreadcrumbsModule, LoadingModule, BrowseStakeholderModule
|
||||
],
|
||||
declarations: [
|
||||
MyStakeholdersComponent
|
||||
|
|
|
@ -1 +1 @@
|
|||
Subproject commit f15b8ef8fcdae5053c1c385a5f3126a2a7b327f7
|
||||
Subproject commit 5a69cb210178c77ef078eb3d5e35e527570e722e
|
|
@ -1 +1 @@
|
|||
Subproject commit 1723114f30208b0e85d5c580665af801fe9e6ef1
|
||||
Subproject commit 9224f3da593049aaa18bce81ff1e2d7d7597c22c
|
|
@ -1,6 +0,0 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="95.647" height="60.692" viewBox="0 0 95.647 60.692">
|
||||
<g id="Group_905" data-name="Group 905" transform="translate(70.298 97.482) rotate(-161)">
|
||||
<path id="Path_2339" data-name="Path 2339" d="M87.648,29.439C24.781,46.54,24.677-5.5,39.79.481,53.326,5.835,44.623,25.816,0,17.558" transform="translate(-0.02 39.459)" fill="none" stroke="#212121" stroke-width="1" stroke-dasharray="7"/>
|
||||
<path id="Path_2366" data-name="Path 2366" d="M0,0,2.814,1.387l-.607,3.29" transform="translate(-3.724 59.204) rotate(-150)" fill="none" stroke="#212121" stroke-width="1"/>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 625 B |
|
@ -1,6 +0,0 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="96.457" height="61.415" viewBox="0 0 96.457 61.415">
|
||||
<g id="Group_906" data-name="Group 906" transform="translate(59.107 54.14) rotate(-152)">
|
||||
<path id="Path_2339" data-name="Path 2339" d="M67.968,21.473c-54.526,13.788-31.41-33.246-25.4-10.629C47.607,28.611.938-12.841-23.762,21.873" transform="translate(1.017 0)" fill="none" stroke="#212121" stroke-width="1" stroke-dasharray="6"/>
|
||||
<path id="Path_55797" data-name="Path 55797" d="M0,0,3.3,1.628,2.591,5.49" transform="matrix(-0.921, 0.391, -0.391, -0.921, -22.719, 28.548)" fill="none" stroke="#212121" stroke-width="1"/>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 645 B |
|
@ -1,11 +0,0 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="103.827" height="153.958" viewBox="0 0 103.827 153.958">
|
||||
<g id="Group_2401" data-name="Group 2401" transform="translate(-1318.198 -779.424) rotate(-20)">
|
||||
<g id="Group_1141" data-name="Group 1141" transform="matrix(-0.174, 0.985, -0.985, -0.174, 1046.902, 1211.049)">
|
||||
<path id="Path_2339" data-name="Path 2339" d="M135.26,80.668C60.034-45.855,6.029,11.188,0,23.336" transform="translate(0 0)" fill="none" stroke="#212121" stroke-width="1" stroke-dasharray="7"/>
|
||||
</g>
|
||||
<g id="Group_1142" data-name="Group 1142" transform="translate(936.789 1330.947) rotate(-43)">
|
||||
<line id="Line_345" data-name="Line 345" x1="1.778" y1="4.377" transform="translate(0.089 1.532)" fill="none" stroke="#212121" stroke-width="1"/>
|
||||
<line id="Line_346" data-name="Line 346" x2="2.189" y2="3.556" transform="translate(0 2.189) rotate(-90)" fill="none" stroke="#212121" stroke-width="1"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 963 B |
|
@ -1,9 +0,0 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="117.496" height="64.012" viewBox="0 0 117.496 64.012">
|
||||
<g id="Group_1143" data-name="Group 1143" transform="translate(55.846 -4.676) rotate(-19)">
|
||||
<path id="Path_2339" data-name="Path 2339" d="M33.748,7.2C7.979,32.136-55.782,25.421-38.011,8.591-20.191-7.271-28.973,53.122-80.2,26.067" transform="translate(13.972 16.105)" fill="none" stroke="#212121" stroke-width="1" stroke-dasharray="7"/>
|
||||
<g id="Group_1144" data-name="Group 1144" transform="translate(-69.001 39.672)">
|
||||
<line id="Line_345" data-name="Line 345" x1="2.651" y1="5.302" transform="translate(0.132 1.855)" fill="none" stroke="#212121" stroke-width="1"/>
|
||||
<line id="Line_346" data-name="Line 346" x2="2.651" y2="5.302" transform="translate(0 2.651) rotate(-90)" fill="none" stroke="#212121" stroke-width="1"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 864 B |
|
@ -1,11 +0,0 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="107.525" height="69.445" viewBox="0 0 107.525 69.445">
|
||||
<g id="Group_11721" data-name="Group 11721" transform="translate(112.848 -39.172) rotate(56)">
|
||||
<g id="Group_1141" data-name="Group 1141" transform="matrix(-0.174, 0.985, -0.985, -0.174, 53.579, 43.214)">
|
||||
<path id="Path_2339" data-name="Path 2339" d="M96.963,31.663C43.036-18,4.322,4.391,0,9.159" transform="translate(0 0)" fill="none" stroke="#212121" stroke-width="1" stroke-dasharray="7"/>
|
||||
</g>
|
||||
<g id="Group_1142" data-name="Group 1142" transform="translate(-0.484 133.795) rotate(-43)">
|
||||
<line id="Line_345" data-name="Line 345" x1="1.663" y1="4.095" transform="translate(0.083 1.433)" fill="none" stroke="#212121" stroke-width="1"/>
|
||||
<line id="Line_346" data-name="Line 346" x2="2.048" y2="3.327" transform="translate(0 2.048) rotate(-90)" fill="none" stroke="#212121" stroke-width="1"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 947 B |
Before Width: | Height: | Size: 21 KiB |
Before Width: | Height: | Size: 55 KiB |
Before Width: | Height: | Size: 58 KiB |
Before Width: | Height: | Size: 56 KiB |
Before Width: | Height: | Size: 34 KiB |
Before Width: | Height: | Size: 63 KiB |
Before Width: | Height: | Size: 65 KiB |
|
@ -1,14 +0,0 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="891.972" height="404" viewBox="0 0 891.972 404">
|
||||
<g id="Group_11723" data-name="Group 11723" transform="translate(-250 -759)">
|
||||
<g id="Group_3098" data-name="Group 3098" transform="translate(-80 574.953)">
|
||||
<path id="Path_16420" data-name="Path 16420" d="M338.05,210.66l-18.6,6.887-19.11,7.078-33.015,12.223-9.235,3.424-19.136,7.084" transform="translate(855.417 86.511)" fill="none" stroke="#09091e" stroke-miterlimit="10" stroke-width="3"/>
|
||||
<path id="Path_17201" data-name="Path 17201" d="M131.762,0,107.036,22.093,81.626,44.8l-43.9,39.214L25.446,95,0,117.726" transform="translate(1057.45 316.813) rotate(-20)" fill="none" stroke="#09091e" stroke-miterlimit="10" stroke-width="1"/>
|
||||
<path id="Path_17202" data-name="Path 17202" d="M110.125,0,89.459,18.465,68.221,37.444,31.53,70.218,21.267,79.4,0,98.393" transform="translate(1122.86 315.774) rotate(50)" fill="none" stroke="#09091e" stroke-miterlimit="10" stroke-width="1"/>
|
||||
</g>
|
||||
<circle id="Ellipse_360" data-name="Ellipse 360" cx="124" cy="124" r="124" transform="translate(250 759)" fill="#8bcc00" opacity="0.5"/>
|
||||
<g id="Ellipse_372" data-name="Ellipse 372" transform="translate(906 984)" fill="none" stroke="#4687e6" stroke-width="1">
|
||||
<circle cx="89.5" cy="89.5" r="89.5" stroke="none"/>
|
||||
<circle cx="89.5" cy="89.5" r="89" fill="none"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 288 KiB |
Before Width: | Height: | Size: 448 KiB |
|
@ -1,6 +0,0 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="1367" height="393.812" viewBox="0 0 1367 393.812">
|
||||
<g id="Group_11724" data-name="Group 11724" transform="translate(1 -2386)">
|
||||
<path id="Path_2342" data-name="Path 2342" d="M1366-68.381S1070.67-131.445,608.9-142.3C354.509-148.279-.867-68.381-.867-68.381V190.035s538.452,102.97,836.881,41.69c286.66-60.522,529.986,0,529.986,0Z" transform="translate(-0.133 2528.619)" fill="#eff3f8"/>
|
||||
<path id="Path_2356" data-name="Path 2356" d="M-.867,176.956s295.142,63.063,756.615,73.918c254.234,5.98,609.385-73.918,609.385-73.918V-81.46s-538.111-102.97-836.35-41.69c-286.478,60.522-529.65,0-529.65,0Z" transform="translate(0.867 2528.619)" fill="#eff3f8" opacity="0.499"/>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 731 B |
Before Width: | Height: | Size: 177 KiB |
|
@ -1,7 +1,7 @@
|
|||
:root {
|
||||
/*buttons*/
|
||||
--button-primary-background: transparent;
|
||||
--button-primary-background-image: linear-gradient(110deg, var(--monitor-gradient-start) 0%, var(--monitor-gradient-end) 100%);
|
||||
--button-primary-background-image: linear-gradient(110deg, var(--monitor-light-color) 0%, var(--monitor-dark-color) 100%);
|
||||
--button-secondary-background: var(--secondary-color);
|
||||
--button-secondary-background-image: none;
|
||||
|
||||
|
@ -12,8 +12,11 @@
|
|||
|
||||
/*fonts*/
|
||||
--font-primary-color: var(--monitor-color);
|
||||
--font-gradient-color: linear-gradient(110deg, var(--monitor-gradient-start) 0%, var(--monitor-gradient-end) 100%);
|
||||
/*--secondary-background: var(--secondary-color);*/
|
||||
--font-gradient-color: linear-gradient(110deg, var(--monitor-light-color) 0%, var(--monitor-dark-color) 100%);
|
||||
|
||||
/*slider*/
|
||||
--slider-dot-background: var(--monitor-light-color);
|
||||
--slider-dot-active-background: var(--monitor-dark-color);
|
||||
}
|
||||
|
||||
/*:root {*/
|
||||
|
|
|
@ -1 +1 @@
|
|||
Subproject commit 9f0b25ae591095b9b9a31aa4cba7c98e3d012899
|
||||
Subproject commit eb0b04cb96b9ab92387d61cdafae21256a6da762
|