Compare commits
42 Commits
production
...
master
|
@ -1,6 +1,6 @@
|
||||||
# Monitor
|
# Monitor
|
||||||
|
|
||||||
This project was generated with [Angular CLI](https://github.com/angular/angular-cli) version 7.3.10 and has been updated to 11.2.14.
|
This project was generated with [Angular CLI](https://github.com/angular/angular-cli) version 7.3.10 and has been updated to 16.2.4.
|
||||||
|
|
||||||
## Install packages
|
## Install packages
|
||||||
|
|
||||||
|
|
13
angular.json
13
angular.json
|
@ -210,13 +210,16 @@
|
||||||
"main": "server.ts",
|
"main": "server.ts",
|
||||||
"tsConfig": "src/tsconfig.server.json",
|
"tsConfig": "src/tsconfig.server.json",
|
||||||
"sourceMap": true,
|
"sourceMap": true,
|
||||||
"optimization": false
|
"optimization": false,
|
||||||
|
"buildOptimizer": false
|
||||||
},
|
},
|
||||||
"configurations": {
|
"configurations": {
|
||||||
"development": {
|
"development": {
|
||||||
"outputHashing": "media",
|
"outputHashing": "media",
|
||||||
"sourceMap": false,
|
"sourceMap": false,
|
||||||
"optimization": true
|
"optimization": true,
|
||||||
|
"vendorChunk": true,
|
||||||
|
"buildOptimizer": true
|
||||||
},
|
},
|
||||||
"beta": {
|
"beta": {
|
||||||
"outputHashing": "media",
|
"outputHashing": "media",
|
||||||
|
@ -227,7 +230,8 @@
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"sourceMap": false,
|
"sourceMap": false,
|
||||||
"optimization": true
|
"optimization": true,
|
||||||
|
"buildOptimizer": true
|
||||||
},
|
},
|
||||||
"production": {
|
"production": {
|
||||||
"outputHashing": "media",
|
"outputHashing": "media",
|
||||||
|
@ -238,7 +242,8 @@
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"sourceMap": false,
|
"sourceMap": false,
|
||||||
"optimization": true
|
"optimization": true,
|
||||||
|
"buildOptimizer": true
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"defaultConfiguration": ""
|
"defaultConfiguration": ""
|
||||||
|
|
48
package.json
48
package.json
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "monitor",
|
"name": "monitor",
|
||||||
"version": "0.0.0",
|
"version": "1.0.3",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"ng": "ng",
|
"ng": "ng",
|
||||||
"start": " ng serve --port 4500 --disable-host-check --host 0.0.0.0",
|
"start": " ng serve --port 4500 --disable-host-check --host 0.0.0.0",
|
||||||
|
@ -21,41 +21,41 @@
|
||||||
},
|
},
|
||||||
"private": true,
|
"private": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@angular/animations": "^14.2.3",
|
"@angular/animations": "^16.1.8",
|
||||||
"@angular/cdk": "^14.2.2",
|
"@angular/cdk": "^16.1.7",
|
||||||
"@angular/common": "^14.2.3",
|
"@angular/common": "^16.1.8",
|
||||||
"@angular/compiler": "^14.2.3",
|
"@angular/compiler": "^16.1.8",
|
||||||
"@angular/core": "^14.2.3",
|
"@angular/core": "^16.1.8",
|
||||||
"@angular/forms": "^14.2.3",
|
"@angular/forms": "^16.1.8",
|
||||||
"@angular/localize": "^14.2.3",
|
"@angular/localize": "^16.1.8",
|
||||||
"@angular/material": "^14.2.2",
|
"@angular/material": "^16.1.7",
|
||||||
"@angular/platform-browser": "^14.2.3",
|
"@angular/platform-browser": "^16.1.8",
|
||||||
"@angular/platform-browser-dynamic": "^14.2.3",
|
"@angular/platform-browser-dynamic": "^16.1.8",
|
||||||
"@angular/platform-server": "^14.2.3",
|
"@angular/platform-server": "^16.1.8",
|
||||||
"@angular/router": "^14.2.3",
|
"@angular/router": "^16.1.8",
|
||||||
"@nguniversal/express-engine": "^14.2.0",
|
"@nguniversal/express-engine": "^16.1.1",
|
||||||
"clipboard": "^1.5.16",
|
"clipboard": "^1.5.16",
|
||||||
"core-js": "^2.5.4",
|
"core-js": "^2.5.4",
|
||||||
"express": "^4.15.2",
|
"express": "^4.15.2",
|
||||||
"jquery": "^3.4.1",
|
"jquery": "^3.4.1",
|
||||||
"ng-recaptcha": "^10.0.0",
|
"ng-recaptcha": "^12.0.2",
|
||||||
"rxjs": "^6.5.1",
|
"rxjs": "^6.5.1",
|
||||||
"ts-md5": "^1.2.0",
|
"ts-md5": "^1.2.0",
|
||||||
"tslib": "^2.0.0",
|
"tslib": "^2.0.0",
|
||||||
"uikit": "3.13.10",
|
"uikit": "3.16.24",
|
||||||
"zone.js": "~0.11.4"
|
"zone.js": "~0.13.1"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@angular-devkit/build-angular": "^14.2.3",
|
"@angular-devkit/build-angular": "^16.1.7",
|
||||||
"@angular/cli": "^14.2.3",
|
"@angular/cli": "^16.1.7",
|
||||||
"@angular/compiler-cli": "^14.2.3",
|
"@angular/compiler-cli": "^16.1.8",
|
||||||
"@angular/language-service": "^14.2.3",
|
"@angular/language-service": "^16.1.8",
|
||||||
"@nguniversal/builders": "^14.2.0",
|
"@nguniversal/builders": "^16.1.1",
|
||||||
"@types/compression": "^1.7.0",
|
"@types/compression": "^1.7.0",
|
||||||
"@types/express": "^4.17.0",
|
"@types/express": "^4.17.0",
|
||||||
"@types/jasmine": "~3.6.0",
|
"@types/jasmine": "~3.6.0",
|
||||||
"@types/jasminewd2": "~2.0.3",
|
"@types/jasminewd2": "~2.0.3",
|
||||||
"@types/node": "^12.11.1",
|
"@types/node": "^16.18.50",
|
||||||
"codelyzer": "^6.0.0",
|
"codelyzer": "^6.0.0",
|
||||||
"jasmine-core": "~3.8.0",
|
"jasmine-core": "~3.8.0",
|
||||||
"jasmine-spec-reporter": "~5.0.0",
|
"jasmine-spec-reporter": "~5.0.0",
|
||||||
|
@ -66,6 +66,6 @@
|
||||||
"karma-jasmine-html-reporter": "^1.6.0",
|
"karma-jasmine-html-reporter": "^1.6.0",
|
||||||
"protractor": "~7.0.0",
|
"protractor": "~7.0.0",
|
||||||
"ts-node": "~7.0.0",
|
"ts-node": "~7.0.0",
|
||||||
"typescript": "~4.6.4"
|
"typescript": "~4.9.5"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,6 +9,7 @@ import {Breadcrumb} from "../openaireLibrary/utils/breadcrumbs/breadcrumbs.compo
|
||||||
import {EnvProperties} from "../openaireLibrary/utils/properties/env-properties";
|
import {EnvProperties} from "../openaireLibrary/utils/properties/env-properties";
|
||||||
import {properties} from "../../environments/environment";
|
import {properties} from "../../environments/environment";
|
||||||
import {StakeholderEntities} from "../openaireLibrary/monitor/entities/stakeholder";
|
import {StakeholderEntities} from "../openaireLibrary/monitor/entities/stakeholder";
|
||||||
|
import {LayoutService} from "../openaireLibrary/dashboard/sharedComponents/sidebar/layout.service";
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'about',
|
selector: 'about',
|
||||||
|
@ -583,11 +584,7 @@ import {StakeholderEntities} from "../openaireLibrary/monitor/entities/stakehold
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
`,
|
`,
|
||||||
styles: [`
|
styleUrls: ['about.component.less']
|
||||||
.custom-translate-bottom-left {
|
|
||||||
transform: translate(-20%, 20%);
|
|
||||||
}
|
|
||||||
`]
|
|
||||||
})
|
})
|
||||||
export class AboutComponent {
|
export class AboutComponent {
|
||||||
public url: string = null;
|
public url: string = null;
|
||||||
|
@ -607,14 +604,13 @@ export class AboutComponent {
|
||||||
private _title: Title,
|
private _title: Title,
|
||||||
private seoService: SEOService,
|
private seoService: SEOService,
|
||||||
private _piwikService: PiwikService,
|
private _piwikService: PiwikService,
|
||||||
|
private layoutService: LayoutService,
|
||||||
private helper: HelperService,
|
private helper: HelperService,
|
||||||
private cdr: ChangeDetectorRef) {
|
private cdr: ChangeDetectorRef) {
|
||||||
}
|
}
|
||||||
|
|
||||||
ngOnInit() {
|
ngOnInit() {
|
||||||
if (this.properties.enablePiwikTrack && (typeof document !== 'undefined')) {
|
this.subscriptions.push(this._piwikService.trackView(this.properties, this.pageTitle).subscribe());
|
||||||
this.subscriptions.push(this._piwikService.trackView(this.properties, this.pageTitle, this.properties.piwikSiteId).subscribe());
|
|
||||||
}
|
|
||||||
this.url = this.properties.domain + this.properties.baseLink + this._router.url;
|
this.url = this.properties.domain + this.properties.baseLink + this._router.url;
|
||||||
this.seoService.createLinkForCanonicalURL(this.url);
|
this.seoService.createLinkForCanonicalURL(this.url);
|
||||||
this.updateUrl(this.url);
|
this.updateUrl(this.url);
|
||||||
|
@ -623,10 +619,14 @@ export class AboutComponent {
|
||||||
}
|
}
|
||||||
|
|
||||||
ngAfterViewInit() {
|
ngAfterViewInit() {
|
||||||
|
this.subscriptions.push(this.layoutService.isBottomIntersecting.subscribe(isBottomIntersecting => {
|
||||||
|
this.shouldSticky = !isBottomIntersecting;
|
||||||
|
this.cdr.detectChanges();
|
||||||
|
}));
|
||||||
if (typeof document !== 'undefined') {
|
if (typeof document !== 'undefined') {
|
||||||
this.offset = Number.parseInt(getComputedStyle(document.documentElement).getPropertyValue('--header-height'));
|
this.offset = Number.parseInt(getComputedStyle(document.documentElement).getPropertyValue('--header-height'));
|
||||||
this.cdr.detectChanges();
|
this.cdr.detectChanges();
|
||||||
this.observeBottom();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -638,20 +638,6 @@ export class AboutComponent {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
private observeBottom() {
|
|
||||||
let bottom = document.getElementById('bottom');
|
|
||||||
if (bottom) {
|
|
||||||
let bottomObs = new IntersectionObserver(entries => {
|
|
||||||
entries.forEach(entry => {
|
|
||||||
this.shouldSticky = !entry.isIntersecting;
|
|
||||||
this.cdr.detectChanges();
|
|
||||||
})
|
|
||||||
});
|
|
||||||
this.subscriptions.push(bottomObs);
|
|
||||||
bottomObs.observe(bottom);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private updateDescription(description: string) {
|
private updateDescription(description: string) {
|
||||||
this._meta.updateTag({content: description}, "name='description'");
|
this._meta.updateTag({content: description}, "name='description'");
|
||||||
this._meta.updateTag({content: description}, "property='og:description'");
|
this._meta.updateTag({content: description}, "property='og:description'");
|
||||||
|
|
|
@ -17,11 +17,11 @@ declare var UIkit;
|
||||||
<div>
|
<div>
|
||||||
<div class="uk-container">
|
<div class="uk-container">
|
||||||
<h2 class="uk-text-center uk-margin-large-top uk-margin-large-bottom">Are you a <span
|
<h2 class="uk-text-center uk-margin-large-top uk-margin-large-bottom">Are you a <span
|
||||||
class="uk-text-primary">{{type}}?</span></h2>
|
[ngClass]="titleClass">{{type}}?</span></h2>
|
||||||
</div>
|
</div>
|
||||||
<div [id]="'sticky-' + id" #sticky class="uk-background-default uk-blur-background uk-sticky uk-visible@l"
|
<div [id]="'sticky-' + id" #sticky class="uk-sticky uk-visible@l" [ngClass]="isSticky?backgroundClass:null"
|
||||||
uk-sticky="animation: uk-animation-slide-bottom" [attr.bottom]="'#' + id"
|
uk-sticky="animation: uk-animation-slide-bottom" [attr.end]="'#' + id"
|
||||||
[attr.top]="'100vh -' + height + 'px'" [attr.offset]="offset">
|
[attr.start]="'100vh -' + height + 'px'" [attr.offset]="offset">
|
||||||
<div class="uk-container">
|
<div class="uk-container">
|
||||||
<div class="uk-grid uk-grid-large uk-child-width-1-2@l" [class.uk-grid-divider]="!isSticky">
|
<div class="uk-grid uk-grid-large uk-child-width-1-2@l" [class.uk-grid-divider]="!isSticky">
|
||||||
<div class="uk-text-center uk-first-column">
|
<div class="uk-text-center uk-first-column">
|
||||||
|
@ -60,6 +60,10 @@ export class YouWeComponent implements AfterViewInit, AfterContentChecked, OnDes
|
||||||
public type: StakeholderEntities.FUNDER | StakeholderEntities.RI | StakeholderEntities.ORGANIZATION = StakeholderEntities.FUNDER;
|
public type: StakeholderEntities.FUNDER | StakeholderEntities.RI | StakeholderEntities.ORGANIZATION = StakeholderEntities.FUNDER;
|
||||||
@Input()
|
@Input()
|
||||||
public id;
|
public id;
|
||||||
|
@Input()
|
||||||
|
titleClass: string = "uk-text-primary";
|
||||||
|
@Input()
|
||||||
|
backgroundClass: string = "uk-background-default uk-blur-background";
|
||||||
@ViewChild('sticky') sticky: ElementRef;
|
@ViewChild('sticky') sticky: ElementRef;
|
||||||
public isSticky: boolean = false;
|
public isSticky: boolean = false;
|
||||||
public offset: number
|
public offset: number
|
||||||
|
|
|
@ -3,7 +3,7 @@ import {RouterModule, Routes} from '@angular/router';
|
||||||
import {OpenaireErrorPageComponent} from './error/errorPage.component';
|
import {OpenaireErrorPageComponent} from './error/errorPage.component';
|
||||||
|
|
||||||
const routes: Routes = [
|
const routes: Routes = [
|
||||||
{path: '', loadChildren: () => import('./home/home.module').then(m => m.HomeModule)},
|
{path: '', loadChildren: () => import('./home/home.module').then(m => m.HomeModule), data: {hasStickyHeaderOnMobile: true}},
|
||||||
{path: 'about/learn-how', redirectTo: 'about', pathMatch: 'full'},
|
{path: 'about/learn-how', redirectTo: 'about', pathMatch: 'full'},
|
||||||
{
|
{
|
||||||
path: 'about',
|
path: 'about',
|
||||||
|
@ -11,7 +11,8 @@ const routes: Routes = [
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: 'support',
|
path: 'support',
|
||||||
loadChildren: () => import('./support/support.module').then(m => m.SupportModule)
|
loadChildren: () => import('./support/support.module').then(m => m.SupportModule),
|
||||||
|
data: {hasStickyHeaderOnMobile: true}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: 'methodology',
|
path: 'methodology',
|
||||||
|
|
|
@ -22,17 +22,22 @@ import {AlertModal} from "./openaireLibrary/utils/modal/alert";
|
||||||
import {StakeholderEntities} from './openaireLibrary/monitor/entities/stakeholder';
|
import {StakeholderEntities} from './openaireLibrary/monitor/entities/stakeholder';
|
||||||
import {ResourcesService} from "./openaireLibrary/monitor/services/resources.service";
|
import {ResourcesService} from "./openaireLibrary/monitor/services/resources.service";
|
||||||
import {LayoutService} from "./openaireLibrary/dashboard/sharedComponents/sidebar/layout.service";
|
import {LayoutService} from "./openaireLibrary/dashboard/sharedComponents/sidebar/layout.service";
|
||||||
|
import {ConfigurationService} from "./openaireLibrary/utils/configuration/configuration.service";
|
||||||
|
import {HelperService} from "./openaireLibrary/utils/helper/helper.service";
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'app-root',
|
selector: 'app-root',
|
||||||
template: `
|
template: `
|
||||||
<div>
|
<div>
|
||||||
<div id="modal-container"></div>
|
<div id="modal-container"></div>
|
||||||
<navbar *ngIf="properties && showMenu && header" portal="monitor" [header]="header" [onlyTop]="false"
|
<div *ngIf="divContents && divContents['banner']" class="uk-tile uk-tile-default uk-padding uk-border-bottom">
|
||||||
|
<helper [texts]="divContents['banner']"></helper>
|
||||||
|
</div>
|
||||||
|
<navbar *ngIf="properties && showMenu && header" #navbar portal="monitor" [header]="header" [onlyTop]="false"
|
||||||
[userMenuItems]=userMenuItems [menuItems]=menuItems [user]="user"
|
[userMenuItems]=userMenuItems [menuItems]=menuItems [user]="user"
|
||||||
[showMenu]=showMenu [properties]="properties">
|
[showMenu]=showMenu [properties]="properties">
|
||||||
<div *ngIf="showGetStarted" extra-s class="uk-margin-large-top uk-margin-left">
|
<div *ngIf="showGetStarted" extra-s class="uk-margin-large-top uk-margin-left">
|
||||||
<a class="uk-button uk-button-primary uk-text-uppercase" routerLink="/get-started">Get Started</a>
|
<a class="uk-button uk-button-primary uk-text-uppercase" routerLink="/get-started" (click)="navbar.closeCanvas()">Get Started</a>
|
||||||
</div>
|
</div>
|
||||||
<a *ngIf="showGetStarted" extra-m class="uk-button uk-button-small uk-button-primary uk-text-uppercase uk-margin-left" routerLink="/get-started">Get Started</a>
|
<a *ngIf="showGetStarted" extra-m class="uk-button uk-button-small uk-button-primary uk-text-uppercase uk-margin-left" routerLink="/get-started">Get Started</a>
|
||||||
</navbar>
|
</navbar>
|
||||||
|
@ -99,8 +104,9 @@ export class AppComponent {
|
||||||
@ViewChild('bottom', {read: ElementRef}) bottom: ElementRef;
|
@ViewChild('bottom', {read: ElementRef}) bottom: ElementRef;
|
||||||
private subscriptions: any[] = [];
|
private subscriptions: any[] = [];
|
||||||
public stakeholderEntities = StakeholderEntities;
|
public stakeholderEntities = StakeholderEntities;
|
||||||
|
divContents: any;
|
||||||
|
|
||||||
constructor(private route: ActivatedRoute, private propertiesService: EnvironmentSpecificService,
|
constructor(private configurationService: ConfigurationService,
|
||||||
private router: Router, private stakeholderService: StakeholderService, private smoothScroll: SmoothScroll,
|
private router: Router, private stakeholderService: StakeholderService, private smoothScroll: SmoothScroll,
|
||||||
private userManagementService: UserManagementService,
|
private userManagementService: UserManagementService,
|
||||||
private quickContactService: QuickContactService,
|
private quickContactService: QuickContactService,
|
||||||
|
@ -108,16 +114,18 @@ export class AppComponent {
|
||||||
private fb: UntypedFormBuilder,
|
private fb: UntypedFormBuilder,
|
||||||
private emailService: EmailService,
|
private emailService: EmailService,
|
||||||
private resourcesService: ResourcesService,
|
private resourcesService: ResourcesService,
|
||||||
|
private helper: HelperService,
|
||||||
private cdr: ChangeDetectorRef) {
|
private cdr: ChangeDetectorRef) {
|
||||||
this.subscriptions.push(router.events.forEach((event) => {
|
this.subscriptions.push(this.router.events.forEach((event) => {
|
||||||
if (event instanceof NavigationEnd) {
|
if (event instanceof NavigationEnd) {
|
||||||
this.showGetStarted = event.url !== '/get-started';
|
this.showGetStarted = event.url !== '/get-started';
|
||||||
}
|
}
|
||||||
|
|
||||||
}));
|
}));
|
||||||
}
|
}
|
||||||
|
|
||||||
ngOnInit() {
|
ngOnInit() {
|
||||||
|
this.configurationService.initPortal(this.properties, "monitor");
|
||||||
|
this.getDivContents();
|
||||||
this.userManagementService.fixRedirectURL = properties.afterLoginRedirectLink;
|
this.userManagementService.fixRedirectURL = properties.afterLoginRedirectLink;
|
||||||
this.subscriptions.push(this.userManagementService.getUserInfo().subscribe(user => {
|
this.subscriptions.push(this.userManagementService.getUserInfo().subscribe(user => {
|
||||||
this.user = user;
|
this.user = user;
|
||||||
|
@ -182,6 +190,12 @@ export class AppComponent {
|
||||||
this.smoothScroll.clearSubscriptions();
|
this.smoothScroll.clearSubscriptions();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private getDivContents() {
|
||||||
|
this.subscriptions.push(this.helper.getDivHelpContents(this.properties, 'monitor', '/').subscribe(contents => {
|
||||||
|
this.divContents = contents;
|
||||||
|
}));
|
||||||
|
}
|
||||||
|
|
||||||
public buildMenu() {
|
public buildMenu() {
|
||||||
this.menuItems = [];
|
this.menuItems = [];
|
||||||
this.menuItems.push(
|
this.menuItems.push(
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
import {NgModule} from '@angular/core';
|
import {APP_ID, NgModule} from '@angular/core';
|
||||||
import {FormsModule} from '@angular/forms';
|
import {FormsModule} from '@angular/forms';
|
||||||
import {CommonModule} from '@angular/common';
|
import {CommonModule} from '@angular/common';
|
||||||
import {HTTP_INTERCEPTORS, HttpClientModule} from "@angular/common/http";
|
import {HTTP_INTERCEPTORS, HttpClientModule} from "@angular/common/http";
|
||||||
import {BrowserModule, BrowserTransferStateModule} from '@angular/platform-browser';
|
import {BrowserModule} from '@angular/platform-browser';
|
||||||
import {BrowserAnimationsModule} from '@angular/platform-browser/animations';
|
import {BrowserAnimationsModule} from '@angular/platform-browser/animations';
|
||||||
import {AppComponent} from './app.component';
|
import {AppComponent} from './app.component';
|
||||||
import {OpenaireErrorPageComponent} from './error/errorPage.component';
|
import {OpenaireErrorPageComponent} from './error/errorPage.component';
|
||||||
|
@ -20,6 +20,7 @@ import {ErrorInterceptorService} from "./openaireLibrary/error-interceptor.servi
|
||||||
import {SharedModule} from "./openaireLibrary/shared/shared.module";
|
import {SharedModule} from "./openaireLibrary/shared/shared.module";
|
||||||
import {AlertModalModule} from "./openaireLibrary/utils/modal/alertModal.module";
|
import {AlertModalModule} from "./openaireLibrary/utils/modal/alertModal.module";
|
||||||
import {isDevelopmentGuard} from './openaireLibrary/error/isDevelopmentGuard.guard';
|
import {isDevelopmentGuard} from './openaireLibrary/error/isDevelopmentGuard.guard';
|
||||||
|
import {HelperModule} from "./openaireLibrary/utils/helper/helper.module";
|
||||||
|
|
||||||
@NgModule({
|
@NgModule({
|
||||||
|
|
||||||
|
@ -34,16 +35,17 @@ import {isDevelopmentGuard} from './openaireLibrary/error/isDevelopmentGuard.gua
|
||||||
QuickContactModule,
|
QuickContactModule,
|
||||||
BottomModule,
|
BottomModule,
|
||||||
CookieLawModule,
|
CookieLawModule,
|
||||||
BrowserTransferStateModule,
|
BrowserModule,
|
||||||
BrowserModule.withServerTransition({appId: 'monitor'}),
|
|
||||||
AppRoutingModule,
|
AppRoutingModule,
|
||||||
Schema2jsonldModule,
|
Schema2jsonldModule,
|
||||||
AlertModalModule
|
AlertModalModule,
|
||||||
|
HelperModule
|
||||||
],
|
],
|
||||||
declarations: [AppComponent, OpenaireErrorPageComponent],
|
declarations: [AppComponent, OpenaireErrorPageComponent],
|
||||||
exports: [AppComponent],
|
exports: [AppComponent],
|
||||||
providers: [
|
providers: [
|
||||||
isDevelopmentGuard,
|
isDevelopmentGuard,
|
||||||
|
{provide: APP_ID, useValue: 'monitor'},
|
||||||
{
|
{
|
||||||
provide: HTTP_INTERCEPTORS,
|
provide: HTTP_INTERCEPTORS,
|
||||||
useClass: HttpInterceptorService,
|
useClass: HttpInterceptorService,
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
import { NgModule } from '@angular/core';
|
import { NgModule } from '@angular/core';
|
||||||
import {ServerModule, ServerTransferStateModule} from '@angular/platform-server';
|
import {ServerModule} from '@angular/platform-server';
|
||||||
|
|
||||||
import { AppModule } from './app.module';
|
import { AppModule } from './app.module';
|
||||||
import { AppComponent } from './app.component';
|
import { AppComponent } from './app.component';
|
||||||
|
@ -7,8 +7,7 @@ import { AppComponent } from './app.component';
|
||||||
@NgModule({
|
@NgModule({
|
||||||
imports: [
|
imports: [
|
||||||
AppModule,
|
AppModule,
|
||||||
ServerModule,
|
ServerModule
|
||||||
ServerTransferStateModule
|
|
||||||
],
|
],
|
||||||
bootstrap: [AppComponent],
|
bootstrap: [AppComponent],
|
||||||
})
|
})
|
||||||
|
|
|
@ -57,9 +57,7 @@ export class ContactComponent implements OnInit {
|
||||||
}
|
}
|
||||||
|
|
||||||
ngOnInit() {
|
ngOnInit() {
|
||||||
if (this.properties.enablePiwikTrack && (typeof document !== 'undefined')) {
|
this.subscriptions.push(this._piwikService.trackView(this.properties, this.pageTitle).subscribe());
|
||||||
this.subscriptions.push(this._piwikService.trackView(this.properties, this.pageTitle, this.properties.piwikSiteId).subscribe());
|
|
||||||
}
|
|
||||||
this.url = this.properties.domain + this.properties.baseLink + this._router.url;
|
this.url = this.properties.domain + this.properties.baseLink + this._router.url;
|
||||||
this.seoService.createLinkForCanonicalURL(this.url);
|
this.seoService.createLinkForCanonicalURL(this.url);
|
||||||
this.updateUrl(this.url);
|
this.updateUrl(this.url);
|
||||||
|
|
|
@ -62,7 +62,7 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="uk-width-expand uk-flex uk-flex-center">
|
<div class="uk-width-expand uk-flex uk-flex-center">
|
||||||
<img src="assets/common-assets/monitor-assets/how/steps.svg" loading="lazy">
|
<img src="assets/monitor-assets/get-started/steps.svg" loading="lazy">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -114,7 +114,7 @@
|
||||||
<span>Learn More</span>
|
<span>Learn More</span>
|
||||||
</span>
|
</span>
|
||||||
</a>
|
</a>
|
||||||
<img src="assets/common-assets/monitor-assets/how/steps.svg" loading="lazy">
|
<img src="assets/monitor-assets/get-started/steps.svg" loading="lazy">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -60,9 +60,7 @@ export class GetStartedComponent implements OnInit {
|
||||||
}
|
}
|
||||||
|
|
||||||
ngOnInit() {
|
ngOnInit() {
|
||||||
if (this.properties.enablePiwikTrack && (typeof document !== 'undefined')) {
|
this.subscriptions.push(this._piwikService.trackView(this.properties, this.pageTitle).subscribe());
|
||||||
this.subscriptions.push(this._piwikService.trackView(this.properties, this.pageTitle, this.properties.piwikSiteId).subscribe());
|
|
||||||
}
|
|
||||||
this.url = this.properties.domain + this.properties.baseLink + this._router.url;
|
this.url = this.properties.domain + this.properties.baseLink + this._router.url;
|
||||||
this.seoService.createLinkForCanonicalURL(this.url);
|
this.seoService.createLinkForCanonicalURL(this.url);
|
||||||
this.updateUrl(this.url);
|
this.updateUrl(this.url);
|
||||||
|
|
|
@ -1,30 +1,35 @@
|
||||||
<ng-template #scrolling_text let-position_class="position_class" let-id="id">
|
<ng-template #tablet_text>
|
||||||
<div #scrolling_element [class]="position_class" [attr.uk-parallax]="'target: #' + id + '; start: 0vh; end: 100% + 100vh - 150vh; opacity: 0,1 20%,1 99%,0'">
|
<div>
|
||||||
<h3 class="uk-h2 uk-text-primary">
|
<h6 class="uk-margin-xsmall-bottom">
|
||||||
Monitor, discover and understand.
|
Monitor, discover and understand.
|
||||||
</h3>
|
</h6>
|
||||||
<p class="uk-text-large">Track your organization’s research output in a comprehensive manner. Identify research pathways across key dimensions with granular and timely indicators.</p>
|
<div>Track your organization’s research output in a comprehensive manner. Identify research pathways across key
|
||||||
|
dimensions with granular and timely indicators.</div>
|
||||||
</div>
|
</div>
|
||||||
<div #scrolling_element [class]="position_class" [attr.uk-parallax]="'target: #' + id + '; start: 150vh; end: 100% + 100vh - 200vh; opacity: 0,1 20%,1 99%,0'">
|
<div>
|
||||||
<h3 class="uk-h2">
|
<h6 class="uk-margin-xsmall-bottom">
|
||||||
<span class="uk-text-primary">Enhance</span> open science uptake<span class="uk-text-primary">.</span>
|
<span class="uk-text-primary">Enhance</span> open science uptake<span class="uk-text-primary">.</span>
|
||||||
</h3>
|
</h6>
|
||||||
<p class="uk-text-large">Work with the Open Science expert community for open and transparent metrics. Discover Open Science costs and trends for your organization. See how you fare in the European Open Science Cloud.</p>
|
<div>Work with the Open Science expert community for open and transparent metrics. Discover Open Science costs and
|
||||||
|
trends for your organization. See how you fare in the European Open Science Cloud.</div>
|
||||||
</div>
|
</div>
|
||||||
<div #scrolling_element [class]="position_class" [attr.uk-parallax]="'target: #' + id + '; start: 200vh; end: 100% + 100vh - 250vh; opacity: 0,1 20%,1'">
|
<div>
|
||||||
<h3 class="uk-h2">
|
<h6 class="uk-margin-xsmall-bottom">
|
||||||
Turn data into <span class="uk-text-primary">actionable insights.</span>
|
Turn data into <span class="uk-text-primary">actionable insights.</span>
|
||||||
</h3>
|
</h6>
|
||||||
<p class="uk-text-large">See what works and what not, reveal hidden potential. Measure research impact, discover trends, connections and collaborations to improve and optimize your future actions.</p>
|
<div>See what works and what not, reveal hidden potential. Measure research impact, discover trends, connections
|
||||||
|
and collaborations to improve and optimize your future actions.</div>
|
||||||
</div>
|
</div>
|
||||||
</ng-template>
|
</ng-template>
|
||||||
<div *ngIf="!isMobile" class="uk-visible@m">
|
<div *ngIf="!isMobile" class="uk-visible@m">
|
||||||
<div class="uk-section uk-padding-remove-bottom uk-overflow-hidden home-background">
|
<div class="uk-section uk-padding-remove-bottom uk-overflow-hidden home-background">
|
||||||
<div class="uk-container uk-container-large" uk-scrollspy="target: [uk-scrollspy-class]; cls: uk-animation-slide-bottom-medium; delay: 200">
|
<div class="uk-container uk-container-large"
|
||||||
|
uk-scrollspy="target: [uk-scrollspy-class]; cls: uk-animation-slide-bottom-medium; delay: 200">
|
||||||
<div class="uk-grid uk-flex-middle" uk-grid>
|
<div class="uk-grid uk-flex-middle" uk-grid>
|
||||||
<div class="uk-width-3-5@l uk-margin-large-bottom">
|
<div class="uk-width-3-5@l uk-margin-large-bottom">
|
||||||
<h1 class="uk-heading-large" uk-scrollspy-class>
|
<h1 class="uk-heading-large" uk-scrollspy-class>
|
||||||
A new era of <span class="uk-text-primary">monitoring</span> research<span class="uk-text-primary">.</span>
|
A new era of <span class="uk-text-primary">monitoring</span> research<span
|
||||||
|
class="uk-text-primary">.</span>
|
||||||
</h1>
|
</h1>
|
||||||
<div class="uk-text-large uk-margin-medium-top" uk-scrollspy-class>
|
<div class="uk-text-large uk-margin-medium-top" uk-scrollspy-class>
|
||||||
<div>Discover, track and understand trends and impact</div>
|
<div>Discover, track and understand trends and impact</div>
|
||||||
|
@ -32,7 +37,8 @@
|
||||||
<div>Make informed decisions.</div>
|
<div>Make informed decisions.</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="uk-margin-medium-top" uk-scrollspy-class>
|
<div class="uk-margin-medium-top" uk-scrollspy-class>
|
||||||
<a class="uk-button uk-button-primary uk-text-uppercase" routerLink="/get-started">Get Started</a>
|
<a class="uk-button uk-button-primary uk-text-uppercase" routerLink="/get-started">Get
|
||||||
|
Started</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="uk-width-expand" uk-scrollspy-class>
|
<div class="uk-width-expand" uk-scrollspy-class>
|
||||||
|
@ -44,31 +50,20 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="uk-section uk-section-secondary">
|
<div class="uk-section tablet-section">
|
||||||
<div class="uk-container uk-container-large">
|
<div class="uk-container">
|
||||||
<div class="uk-width-1-1">
|
<div class="uk-text-center">
|
||||||
<span class="uk-h6 uk-text-primary">Funders. Research Institutions. Research Initiatives.</span>
|
<span class="uk-h6 uk-text-primary">Funders. Research Institutions. Research Initiatives.</span>
|
||||||
<h2 class="uk-h1 uk-margin-remove-top uk-width-3-5@l">Simplify research monitoring & evaluation<span class="uk-text-primary">.</span></h2>
|
<h2 class="uk-h1 uk-margin-remove-top">Simplify research<br> monitoring & evaluation<span
|
||||||
|
class="uk-text-primary">.</span></h2>
|
||||||
</div>
|
</div>
|
||||||
<div id="scrolling-section" style="min-height: 300vh">
|
<div class="uk-grid uk-child-width-1-2 uk-flex uk-flex-middle uk-margin-medium-top" uk-grid>
|
||||||
<div class="uk-height-viewport monitor-dark-logo-background uk-sticky" uk-sticky="bottom: #scrolling-section; target-offset: true">
|
|
||||||
<div class="uk-grid" style="height: 100vh;" uk-grid>
|
|
||||||
<div class="uk-width-expand uk-first-column uk-position-relative uk-height-1-1">
|
|
||||||
<div class="monitor-dark-logo-background">
|
|
||||||
<div uk-parallax="target: #scrolling-section;">
|
|
||||||
<img class="uk-position-center" src="assets/monitor-assets/home/ipad.png" alt="ipad" loading="lazy"
|
|
||||||
uk-parallax="target: #scrolling-section; start: 100vh; opacity: 1; easing:0"
|
|
||||||
style="height: 75vh;">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="uk-inline uk-width-expand uk-height-1-1">
|
|
||||||
<div>
|
<div>
|
||||||
<div uk-parallax="target: #scrolling-section; y: 55vh, 45vh;">
|
<img src="assets/monitor-assets/home/ipad.png" alt="ipad" loading="lazy">
|
||||||
<ng-container *ngTemplateOutlet="scrolling_text; context: {position_class: 'uk-position-center-left', id: 'scrolling-section'}"></ng-container>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
|
<div class="uk-margin-medium-bottom">
|
||||||
|
<div class="uk-grid uk-child-width-1-1" uk-grid>
|
||||||
|
<ng-container *ngTemplateOutlet="tablet_text"></ng-container>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -77,10 +72,10 @@
|
||||||
<div class="uk-background-norepeat graph-background">
|
<div class="uk-background-norepeat graph-background">
|
||||||
<div class="uk-section uk-section-large uk-container uk-container-large uk-margin-large-top uk-margin-large-bottom uk-overflow-hidden">
|
<div class="uk-section uk-section-large uk-container uk-container-large uk-margin-large-top uk-margin-large-bottom uk-overflow-hidden">
|
||||||
<div class="uk-flex uk-flex-column uk-flex-middle">
|
<div class="uk-flex uk-flex-column uk-flex-middle">
|
||||||
<h2 class="uk-h1 uk-width-1-2@m uk-text-center" uk-parallax="scale: 1.7, 1.3, 1,1">
|
<h2 class="uk-h1 uk-width-1-2@m uk-text-center">
|
||||||
Tap into the OpenAIRE Graph<span class="uk-text-primary">.</span>
|
Tap into the OpenAIRE Graph<span class="uk-text-primary">.</span>
|
||||||
</h2>
|
</h2>
|
||||||
<div class="uk-width-1-2@m uk-text-center uk-margin-top" uk-parallax="y: 80, 40, 0, 0">
|
<div class="uk-width-1-2@m uk-text-center uk-margin-top">
|
||||||
The OpenAIRE Graph is one of the largest open scholarly record collections
|
The OpenAIRE Graph is one of the largest open scholarly record collections
|
||||||
worldwide, key in fostering Open Science and establishing its practices in the daily
|
worldwide, key in fostering Open Science and establishing its practices in the daily
|
||||||
research activities. Conceived as a public and transparent good, populated out of data
|
research activities. Conceived as a public and transparent good, populated out of data
|
||||||
|
@ -88,8 +83,9 @@
|
||||||
assessment of science back in the hands of the scientific community.
|
assessment of science back in the hands of the scientific community.
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="uk-flex uk-flex-center uk-margin-top uk-margin-medium-bottom" uk-parallax="y: 80, 40, 0, 0">
|
<div class="uk-flex uk-flex-center uk-margin-top uk-margin-medium-bottom">
|
||||||
<div class="uk-width-1-1 uk-flex-center uk-grid" uk-grid uk-height-match="target: .targetName;" uk-scrollspy="target: [uk-scrollspy-class]; cls: uk-animation-fade; repeat: true">
|
<div class="uk-width-1-1 uk-flex-center uk-grid" uk-grid uk-height-match="target: .targetName;"
|
||||||
|
uk-scrollspy="target: [uk-scrollspy-class]; cls: uk-animation-fade; repeat: true">
|
||||||
<ng-template #numberCard let-numberSize="numberSize" let-name="name" let-url="url">
|
<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"
|
<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" uk-scrollspy-class>
|
[href]="url" target="_blank" uk-scrollspy-class>
|
||||||
|
@ -122,7 +118,7 @@
|
||||||
</ng-container>
|
</ng-container>
|
||||||
</div>
|
</div>
|
||||||
<div *ngIf="fundersSize">
|
<div *ngIf="fundersSize">
|
||||||
<ng-container *ngTemplateOutlet="numberCard; context: {numberSize: fundersSize, name: stakeholderEntities.FUNDERS,
|
<ng-container *ngTemplateOutlet="numberCard; context: {numberSize: fundersSize, name: stakeholderUtils.entities.funders,
|
||||||
url: 'https://explore.openaire.eu/search/find/projects'}">
|
url: 'https://explore.openaire.eu/search/find/projects'}">
|
||||||
</ng-container>
|
</ng-container>
|
||||||
</div>
|
</div>
|
||||||
|
@ -133,7 +129,8 @@
|
||||||
<div class="uk-section uk-container uk-container-large uk-margin-large-bottom">
|
<div class="uk-section uk-container uk-container-large uk-margin-large-bottom">
|
||||||
<div class="uk-grid uk-grid-xlarge" uk-grid>
|
<div class="uk-grid uk-grid-xlarge" uk-grid>
|
||||||
<div class="uk-width-1-3@m uk-width-1-1 uk-text-left@m uk-text-center">
|
<div class="uk-width-1-3@m uk-width-1-1 uk-text-left@m uk-text-center">
|
||||||
<h3 class="uk-margin-small-top">Openness. Usability. Replicability. <span class="uk-text-primary">Trust</span><span class="uk-margin-right">.</span></h3>
|
<h3 class="uk-margin-small-top">Openness. Usability. Replicability. <span
|
||||||
|
class="uk-text-primary">Trust</span><span class="uk-margin-right">.</span></h3>
|
||||||
<div class="uk-text-large uk-margin-bottom">Learn and work with a thriving community behind you.</div>
|
<div class="uk-text-large uk-margin-bottom">Learn and work with a thriving community behind you.</div>
|
||||||
<a class="uk-display-inline-block uk-text-uppercase uk-button uk-button-text"
|
<a class="uk-display-inline-block uk-text-uppercase uk-button uk-button-text"
|
||||||
routerLinkActive="router-link-active" routerLink="/about/learn-how">
|
routerLinkActive="router-link-active" routerLink="/about/learn-how">
|
||||||
|
@ -142,7 +139,8 @@
|
||||||
</span>
|
</span>
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
<div class="uk-width-expand uk-margin-large-left" uk-scrollspy="target: [uk-scrollspy-class]; cls: uk-animation-fade; delay: 250">
|
<div class="uk-width-expand uk-margin-large-left"
|
||||||
|
uk-scrollspy="target: [uk-scrollspy-class]; cls: uk-animation-fade; delay: 250">
|
||||||
<div class="uk-grid uk-child-width-1-2@s uk-child-width-1-1 uk-grid-large" uk-grid>
|
<div class="uk-grid uk-child-width-1-2@s uk-child-width-1-1 uk-grid-large" uk-grid>
|
||||||
<div uk-scrollspy-class>
|
<div uk-scrollspy-class>
|
||||||
<div class="uk-icon-bg-shadow uk-margin-bottom">
|
<div class="uk-icon-bg-shadow uk-margin-bottom">
|
||||||
|
@ -151,7 +149,10 @@
|
||||||
</div>
|
</div>
|
||||||
<h5 class="uk-margin-remove-top">Comprehensive outlook</h5>
|
<h5 class="uk-margin-remove-top">Comprehensive outlook</h5>
|
||||||
<div>
|
<div>
|
||||||
Monitor is built on the <a href="https://graph.openaire.eu/" class="text-graph" target="_blank">OpenAIRE Graph</a>. A global linked research graph, a shared data resource from open initiatives around the world. Our indicators cover a wide range of themes from input to impact.
|
Monitor is built on the <a href="https://graph.openaire.eu/" class="text-graph"
|
||||||
|
target="_blank">OpenAIRE Graph</a>. A global linked research
|
||||||
|
graph, a shared data resource from open initiatives around the world. Our indicators cover a
|
||||||
|
wide range of themes from input to impact.
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div uk-scrollspy-class>
|
<div uk-scrollspy-class>
|
||||||
|
@ -161,7 +162,10 @@
|
||||||
</div>
|
</div>
|
||||||
<h5 class="uk-margin-remove-top">Showcasing, monitoring, analysis</h5>
|
<h5 class="uk-margin-remove-top">Showcasing, monitoring, analysis</h5>
|
||||||
<div>
|
<div>
|
||||||
Customize your dashboard by choosing from a variety of pre-defined metrics and select which ones to show publicly, which to invited team members, and which are still work in progress (private).</div>
|
Customize your dashboard by choosing from a variety of pre-defined metrics and select which
|
||||||
|
ones to show publicly, which to invited team members, and which are still work in progress
|
||||||
|
(private).
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div uk-scrollspy-class>
|
<div uk-scrollspy-class>
|
||||||
<div class="uk-icon-bg-shadow uk-margin-bottom">
|
<div class="uk-icon-bg-shadow uk-margin-bottom">
|
||||||
|
@ -170,7 +174,8 @@
|
||||||
</div>
|
</div>
|
||||||
<h5 class="uk-margin-remove-top">Transparent methodology</h5>
|
<h5 class="uk-margin-remove-top">Transparent methodology</h5>
|
||||||
<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.
|
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>
|
||||||
<div uk-scrollspy-class>
|
<div uk-scrollspy-class>
|
||||||
|
@ -180,7 +185,8 @@
|
||||||
</div>
|
</div>
|
||||||
<h5 class="uk-margin-remove-top">Minimum effort to join</h5>
|
<h5 class="uk-margin-remove-top">Minimum effort to join</h5>
|
||||||
<div>
|
<div>
|
||||||
You only share some information with us to include in our backend aggregating and data mining, and we deliver a view of your world.
|
You only share some information with us to include in our backend aggregating and data
|
||||||
|
mining, and we deliver a view of your world.
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div uk-scrollspy-class>
|
<div uk-scrollspy-class>
|
||||||
|
@ -190,7 +196,9 @@
|
||||||
</div>
|
</div>
|
||||||
<h5 class="uk-margin-remove-top">Tailor-made monitoring, responsive to your needs</h5>
|
<h5 class="uk-margin-remove-top">Tailor-made monitoring, responsive to your needs</h5>
|
||||||
<div>
|
<div>
|
||||||
Our experts work with you on demand in one-on-one sessions to provide additional indicators and curate your data.</div>
|
Our experts work with you on demand in one-on-one sessions to provide additional indicators
|
||||||
|
and curate your data.
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -198,9 +206,10 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="uk-section uk-container uk-container-large uk-margin-large-bottom">
|
<div class="uk-section uk-container uk-container-large uk-margin-large-bottom">
|
||||||
<div class="uk-width-1-2@m uk-margin-bottom">
|
<div class="uk-width-1-2@m uk-margin-bottom">
|
||||||
<h2 class="uk-heading-xlarge">{{stakeholderEntities.STAKEHOLDERS}} in action<span class="uk-text-primary">.</span></h2>
|
<h2 class="uk-heading-xlarge">{{stakeholderUtils.entities.stakeholders}} in action<span class="uk-text-primary">.</span></h2>
|
||||||
<div class="uk-text-large">
|
<div class="uk-text-large">
|
||||||
View existing {{stakeholderEntities.STAKEHOLDERS | lowercase}} from collaborating organizations. Get a preview on how they work and how our service can be customized to serve you.
|
View existing {{stakeholderUtils.entities.stakeholders | lowercase}} from collaborating organizations. Get a
|
||||||
|
preview on how they work and how our service can be customized to serve you.
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<a class="uk-display-inline-block uk-text-uppercase uk-button uk-button-text"
|
<a class="uk-display-inline-block uk-text-uppercase uk-button uk-button-text"
|
||||||
|
@ -217,23 +226,17 @@
|
||||||
<div>
|
<div>
|
||||||
<slider-tabs position="horizontal">
|
<slider-tabs position="horizontal">
|
||||||
<slider-tab [tabId]="'all'" tabTitle="All"></slider-tab>
|
<slider-tab [tabId]="'all'" tabTitle="All"></slider-tab>
|
||||||
<slider-tab [tabId]="stakeholderEntities.FUNDERS" tabTitle="{{stakeholderEntities.FUNDERS | titlecase}}"></slider-tab>
|
<slider-tab *ngFor="let type of types" [tabId]="type" tabTitle="{{getTitle(type) | titlecase}}"></slider-tab>
|
||||||
<slider-tab [tabId]="stakeholderEntities.RIS" tabTitle="{{stakeholderEntities.RIS | titlecase}}"></slider-tab>
|
|
||||||
<slider-tab [tabId]="stakeholderEntities.ORGANIZATIONS" tabTitle="{{stakeholderEntities.ORGANIZATIONS | titlecase}}"></slider-tab>
|
|
||||||
</slider-tabs>
|
</slider-tabs>
|
||||||
</div>
|
</div>
|
||||||
<ul class="uk-switcher">
|
<ul *ngIf="stakeholdersSlider" class="uk-switcher">
|
||||||
<li>
|
<li>
|
||||||
<ng-container *ngTemplateOutlet="sliderTemplate; context: {slides: stakeholdersSlider.stakeholders}"></ng-container>
|
<ng-container
|
||||||
|
*ngTemplateOutlet="sliderTemplate; context: {slides: stakeholdersSlider['all']}"></ng-container>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li *ngFor="let type of types">
|
||||||
<ng-container *ngTemplateOutlet="sliderTemplate; context: {slides: stakeholdersSlider.funders}"></ng-container>
|
<ng-container
|
||||||
</li>
|
*ngTemplateOutlet="sliderTemplate; context: {slides: stakeholdersSlider[type]}"></ng-container>
|
||||||
<li>
|
|
||||||
<ng-container *ngTemplateOutlet="sliderTemplate; context: {slides:stakeholdersSlider.ris}"></ng-container>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<ng-container *ngTemplateOutlet="sliderTemplate; context: {slides: stakeholdersSlider.organizations}"></ng-container>
|
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
|
@ -244,7 +247,8 @@
|
||||||
<!-- Margin right -->
|
<!-- Margin right -->
|
||||||
<li *ngFor="let slide of slides; let i=index" class="uk-width-1-1">
|
<li *ngFor="let slide of slides; let i=index" class="uk-width-1-1">
|
||||||
<div class="uk-padding-small">
|
<div class="uk-padding-small">
|
||||||
<div uk-grid class="uk-grid uk-child-width-1-3@l uk-child-width-1-2@m" uk-scrollspy="target: [uk-scrollspy-class]; cls: uk-animation-fade; repeat: true">
|
<div uk-grid class="uk-grid uk-child-width-1-3@l uk-child-width-1-2@m"
|
||||||
|
uk-scrollspy="target: [uk-scrollspy-class]; cls: uk-animation-fade; repeat: true">
|
||||||
<ng-container *ngIf="i === 0">
|
<ng-container *ngIf="i === 0">
|
||||||
<div *ngFor="let stakeholder of slide" uk-scrollspy-class>
|
<div *ngFor="let stakeholder of slide" uk-scrollspy-class>
|
||||||
<browse-stakeholder [stakeholder]="stakeholder"></browse-stakeholder>
|
<browse-stakeholder [stakeholder]="stakeholder"></browse-stakeholder>
|
||||||
|
@ -264,14 +268,16 @@
|
||||||
</ng-template>
|
</ng-template>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div #contact class="uk-section uk-container uk-container-large uk-margin-large-bottom uk-flex uk-flex-center uk-position-relative contact-us">
|
<div #contact
|
||||||
|
class="uk-section uk-container uk-container-large uk-margin-large-bottom uk-flex uk-flex-center uk-position-relative contact-us">
|
||||||
<img class="uk-box-shadow-large one" src="assets/monitor-assets/curators/1.jpg">
|
<img class="uk-box-shadow-large one" src="assets/monitor-assets/curators/1.jpg">
|
||||||
<img class="uk-box-shadow-large two" src="assets/monitor-assets/curators/2.jpg">
|
<img class="uk-box-shadow-large two" src="assets/monitor-assets/curators/2.jpg">
|
||||||
<img class="uk-box-shadow-large three" src="assets/monitor-assets/curators/3.jpg">
|
<img class="uk-box-shadow-large three" src="assets/monitor-assets/curators/3.jpg">
|
||||||
<img class="uk-box-shadow-large four" src="assets/monitor-assets/curators/4.jpg">
|
<img class="uk-box-shadow-large four" src="assets/monitor-assets/curators/4.jpg">
|
||||||
<div class="uk-text-center uk-width-2-3@l uk-width-1-2">
|
<div class="uk-text-center uk-width-2-3@l uk-width-1-2">
|
||||||
<h3>
|
<h3>
|
||||||
Need more information or a demo? Get in touch and let us show you in practice how you can apply OpenAIRE Monitor to your needs<span class="uk-text-primary">.</span>
|
Need more information or a demo? Get in touch and let us show you in practice how you can apply OpenAIRE
|
||||||
|
Monitor to your needs<span class="uk-text-primary">.</span>
|
||||||
</h3>
|
</h3>
|
||||||
<a class="uk-button uk-button-primary uk-text-uppercase uk-margin-medium-top uk-margin-medium-bottom"
|
<a class="uk-button uk-button-primary uk-text-uppercase uk-margin-medium-top uk-margin-medium-bottom"
|
||||||
routerLink="/contact-us">Contact us</a>
|
routerLink="/contact-us">Contact us</a>
|
||||||
|
@ -280,10 +286,12 @@
|
||||||
</div>
|
</div>
|
||||||
<div *ngIf="isMobile || isServer" class="uk-hidden@m">
|
<div *ngIf="isMobile || isServer" class="uk-hidden@m">
|
||||||
<div class="uk-section uk-padding-remove-bottom uk-overflow-hidden home-background">
|
<div class="uk-section uk-padding-remove-bottom uk-overflow-hidden home-background">
|
||||||
<div class="uk-container uk-container-large" uk-scrollspy="target: [uk-scrollspy-class]; cls: uk-animation-slide-bottom-medium; delay: 200">
|
<div class="uk-container uk-container-large"
|
||||||
|
uk-scrollspy="target: [uk-scrollspy-class]; cls: uk-animation-slide-bottom-medium; delay: 200">
|
||||||
<div class="uk-margin-large-bottom" style="max-width: 500px;">
|
<div class="uk-margin-large-bottom" style="max-width: 500px;">
|
||||||
<h1 class="uk-heading-small" uk-scrollspy-class>
|
<h1 class="uk-heading-small" uk-scrollspy-class>
|
||||||
A new era of <span class="uk-text-primary">monitoring</span> research<span class="uk-text-primary">.</span>
|
A new era of <span class="uk-text-primary">monitoring</span> research<span
|
||||||
|
class="uk-text-primary">.</span>
|
||||||
</h1>
|
</h1>
|
||||||
<div class="uk-text-large uk-margin-medium-top" uk-scrollspy-class>
|
<div class="uk-text-large uk-margin-medium-top" uk-scrollspy-class>
|
||||||
<div>Discover, track and understand trends and impact pathways for your organization.</div>
|
<div>Discover, track and understand trends and impact pathways for your organization.</div>
|
||||||
|
@ -292,52 +300,33 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="uk-container uk-padding-remove-right uk-height-medium uk-position-relative">
|
<div class="uk-container uk-padding-remove-right uk-height-medium uk-position-relative">
|
||||||
<img class="uk-position-absolute" style="width: 250px; right: -10%; bottom:-35%; padding: 1px;" src="assets/monitor-assets/home/monitor.jpg" uk-parallax="y: 200">
|
<img class="uk-position-absolute" style="width: 250px; right: -10%; bottom:-35%; padding: 1px;"
|
||||||
<img class="uk-position-absolute" style="width: 250px; right: -10%; bottom:-35%;" src="assets/monitor-assets/home/mask.svg">
|
src="assets/monitor-assets/home/monitor.jpg">
|
||||||
|
<img class="uk-position-absolute" style="width: 250px; right: -10%; bottom:-35%;"
|
||||||
|
src="assets/monitor-assets/home/mask.svg">
|
||||||
<div>
|
<div>
|
||||||
<a class="uk-button uk-button-primary uk-text-uppercase uk-position-relative" routerLink="/get-started">Get Started</a>
|
<a class="uk-button uk-button-primary uk-text-uppercase uk-position-relative" routerLink="/get-started">Get
|
||||||
|
Started</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="uk-section uk-section-large uk-section-secondary">
|
<div class="uk-section uk-section-small tablet-section">
|
||||||
<div class="uk-container uk-container-large">
|
<div class="uk-container">
|
||||||
<div>
|
<div>
|
||||||
<span class="uk-text-large uk-text-primary">Funders. Research Institutions. Research Initiatives.</span>
|
<span class="uk-text-large uk-text-primary">Funders. Research Institutions. Research Initiatives.</span>
|
||||||
<h2 class="uk-h1 uk-margin-remove-top">Simplify research monitoring & evaluation<span class="uk-text-primary">.</span></h2>
|
<h2 class="uk-h1 uk-margin-remove-top">Simplify research<br> monitoring & evaluation<span
|
||||||
|
class="uk-text-primary">.</span></h2>
|
||||||
</div>
|
</div>
|
||||||
<div id="scrolling-section-tablet" class="uk-visible@s" style="min-height: 300vh">
|
<div class="uk-grid uk-child-width-1-1 uk-child-width-1-2@s uk-flex uk-flex-middle uk-margin-medium-top" uk-grid>
|
||||||
<div class="uk-sticky uk-height-viewport" uk-sticky="bottom: #scrolling-section-tablet; target-offset: true">
|
<div class="uk-visible@s">
|
||||||
<div class="uk-grid uk-grid-small" style="height: 100vh;" uk-grid>
|
<img src="assets/monitor-assets/home/ipad.png" alt="ipad" loading="lazy">
|
||||||
<div class="uk-width-expand uk-first-column uk-position-relative uk-height-1-1">
|
|
||||||
<div>
|
|
||||||
<div uk-parallax="target: #scrolling-section-tablet;">
|
|
||||||
<img class="uk-position-center" src="assets/monitor-assets/home/ipad-tablet.png" alt="ipad" loading="lazy"
|
|
||||||
uk-parallax="target: #scrolling-section-tablet; start: 100vh; opacity: 1; easing:0"
|
|
||||||
style="height: 45vh;">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="uk-inline uk-width-expand uk-height-1-1">
|
|
||||||
<div>
|
|
||||||
<div uk-parallax="target: #scrolling-section-tablet; y: 55vh, 45vh;">
|
|
||||||
<ng-container *ngTemplateOutlet="scrolling_text; context: {position_class: 'uk-position-center-left', id: 'scrolling-section-tablet'}"></ng-container>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div id="scrolling-section-mobile" class="uk-hidden@s" style="min-height: 300vh">
|
|
||||||
<div class="uk-sticky" uk-sticky="bottom: #scrolling-section-mobile">
|
|
||||||
<div>
|
|
||||||
<div style="height: 100vh;">
|
|
||||||
<div class="uk-text-center uk-padding" style="height: 45vh;" uk-parallax="target: #scrolling-section-mobile; start: 100vh; opacity: 1; easing:0">
|
|
||||||
<img class="uk-height-1-1" src="assets/monitor-assets/home/ipad-mobile.png" alt="ipad" loading="lazy">
|
|
||||||
</div>
|
|
||||||
<div class="uk-position-relative" style="height: 55vh;">
|
|
||||||
<ng-container *ngTemplateOutlet="scrolling_text; context: {position_class: 'uk-position-center', id: 'scrolling-section-mobile'}"></ng-container>
|
|
||||||
</div>
|
</div>
|
||||||
|
<div class="uk-hidden@s uk-margin-medium-left">
|
||||||
|
<img src="assets/monitor-assets/home/ipad.png" alt="ipad" loading="lazy">
|
||||||
</div>
|
</div>
|
||||||
|
<div class="uk-margin-medium-bottom">
|
||||||
|
<div class="uk-grid uk-child-width-1-1" uk-grid>
|
||||||
|
<ng-container *ngTemplateOutlet="tablet_text"></ng-container>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -363,10 +352,13 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="uk-container uk-container-large uk-position-relative uk-overflow-hidden">
|
<div class="uk-container uk-container-large uk-position-relative uk-overflow-hidden">
|
||||||
<img class="uk-position-absolute" src="assets/monitor-assets/home/graph.svg" alt="OpenAIRE Graph" loading="lazy"
|
<img class="uk-position-absolute" src="assets/monitor-assets/home/graph.svg" alt="OpenAIRE Graph"
|
||||||
|
loading="lazy"
|
||||||
style="width: 200px; top: 35%; right: -170px; transform: rotate(-100deg);">
|
style="width: 200px; top: 35%; right: -170px; transform: rotate(-100deg);">
|
||||||
<div class="uk-flex uk-flex-center uk-margin-medium-top uk-margin-medium-bottom">
|
<div class="uk-flex uk-flex-center uk-margin-medium-top uk-margin-medium-bottom">
|
||||||
<div class="uk-width-1-1 uk-flex-center uk-grid uk-child-width-1-2" uk-grid uk-height-match="target: .targetName;" uk-scrollspy="target: [uk-scrollspy-class]; cls: uk-animation-fade; repeat: true">
|
<div class="uk-width-1-1 uk-flex-center uk-grid uk-child-width-1-2" uk-grid
|
||||||
|
uk-height-match="target: .targetName;"
|
||||||
|
uk-scrollspy="target: [uk-scrollspy-class]; cls: uk-animation-fade; repeat: true">
|
||||||
<ng-template #numberCardMobile let-numberSize="numberSize" let-name="name" let-url="url">
|
<ng-template #numberCardMobile let-numberSize="numberSize" let-name="name" let-url="url">
|
||||||
<a class="uk-position-relative uk-display-block uk-link-reset"
|
<a class="uk-position-relative uk-display-block uk-link-reset"
|
||||||
[href]="url" target="_blank" uk-scrollspy-class>
|
[href]="url" target="_blank" uk-scrollspy-class>
|
||||||
|
@ -399,7 +391,7 @@
|
||||||
</ng-container>
|
</ng-container>
|
||||||
</div>
|
</div>
|
||||||
<div *ngIf="fundersSize">
|
<div *ngIf="fundersSize">
|
||||||
<ng-container *ngTemplateOutlet="numberCardMobile; context: {numberSize: fundersSize, name: stakeholderEntities.FUNDERS,
|
<ng-container *ngTemplateOutlet="numberCardMobile; context: {numberSize: fundersSize, name: stakeholderUtils.entities.funders,
|
||||||
url: 'https://explore.openaire.eu/search/find/projects'}">
|
url: 'https://explore.openaire.eu/search/find/projects'}">
|
||||||
</ng-container>
|
</ng-container>
|
||||||
</div>
|
</div>
|
||||||
|
@ -414,7 +406,9 @@
|
||||||
<h3 class="uk-heading-small uk-margin-remove">Usability.</h3>
|
<h3 class="uk-heading-small uk-margin-remove">Usability.</h3>
|
||||||
<h3 class="uk-heading-small uk-margin-remove">Replicability.</h3>
|
<h3 class="uk-heading-small uk-margin-remove">Replicability.</h3>
|
||||||
<h3 class="uk-heading-small uk-text-primary uk-margin-remove">Trust.</h3>
|
<h3 class="uk-heading-small uk-text-primary uk-margin-remove">Trust.</h3>
|
||||||
<div class="uk-text-large uk-margin-medium-top uk-margin-medium-bottom">Learn and work with a thriving community behind you.</div>
|
<div class="uk-text-large uk-margin-medium-top uk-margin-medium-bottom">Learn and work with a thriving
|
||||||
|
community behind you.
|
||||||
|
</div>
|
||||||
<a class="uk-display-inline-block uk-text-uppercase uk-button uk-button-text"
|
<a class="uk-display-inline-block uk-text-uppercase uk-button uk-button-text"
|
||||||
routerLinkActive="router-link-active" routerLink="/about/learn-how">
|
routerLinkActive="router-link-active" routerLink="/about/learn-how">
|
||||||
<span class="uk-flex uk-flex-middle">
|
<span class="uk-flex uk-flex-middle">
|
||||||
|
@ -422,7 +416,8 @@
|
||||||
</span>
|
</span>
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
<div class="uk-margin-xlarge-top" uk-scrollspy="target: [uk-scrollspy-class]; cls: uk-animation-fade; delay: 250">
|
<div class="uk-margin-xlarge-top"
|
||||||
|
uk-scrollspy="target: [uk-scrollspy-class]; cls: uk-animation-fade; delay: 250">
|
||||||
<div class="">
|
<div class="">
|
||||||
<div uk-scrollspy-class>
|
<div uk-scrollspy-class>
|
||||||
<div class="uk-icon-bg-shadow uk-margin-auto">
|
<div class="uk-icon-bg-shadow uk-margin-auto">
|
||||||
|
@ -431,7 +426,10 @@
|
||||||
</div>
|
</div>
|
||||||
<h5 class="uk-margin-top">Comprehensive outlook</h5>
|
<h5 class="uk-margin-top">Comprehensive outlook</h5>
|
||||||
<div>
|
<div>
|
||||||
Monitor is built on the <a href="https://graph.openaire.eu/" class="text-graph" target="_blank">OpenAIRE Graph</a>. A global linked research graph, a shared data resource from open initiatives around the world. Our indicators cover a wide range of themes from input to impact.
|
Monitor is built on the <a href="https://graph.openaire.eu/" class="text-graph"
|
||||||
|
target="_blank">OpenAIRE Graph</a>. A global linked research
|
||||||
|
graph, a shared data resource from open initiatives around the world. Our indicators cover a
|
||||||
|
wide range of themes from input to impact.
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="uk-margin-large-top" uk-scrollspy-class>
|
<div class="uk-margin-large-top" uk-scrollspy-class>
|
||||||
|
@ -441,7 +439,10 @@
|
||||||
</div>
|
</div>
|
||||||
<h5 class="uk-margin-top">Showcasing, monitoring, analysis</h5>
|
<h5 class="uk-margin-top">Showcasing, monitoring, analysis</h5>
|
||||||
<div>
|
<div>
|
||||||
Customize your dashboard by choosing from a variety of pre-defined metrics and select which ones to show publicly, which to invited team members, and which are still work in progress (private).</div>
|
Customize your dashboard by choosing from a variety of pre-defined metrics and select which
|
||||||
|
ones to show publicly, which to invited team members, and which are still work in progress
|
||||||
|
(private).
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="uk-margin-large-top" uk-scrollspy-class>
|
<div class="uk-margin-large-top" uk-scrollspy-class>
|
||||||
<div class="uk-icon-bg-shadow uk-margin-auto">
|
<div class="uk-icon-bg-shadow uk-margin-auto">
|
||||||
|
@ -450,7 +451,8 @@
|
||||||
</div>
|
</div>
|
||||||
<h5 class="uk-margin-top">Transparent methodology</h5>
|
<h5 class="uk-margin-top">Transparent methodology</h5>
|
||||||
<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.
|
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>
|
||||||
<div class="uk-margin-large-top" uk-scrollspy-class>
|
<div class="uk-margin-large-top" uk-scrollspy-class>
|
||||||
|
@ -460,7 +462,8 @@
|
||||||
</div>
|
</div>
|
||||||
<h5 class="uk-margin-top">Minimum effort to join</h5>
|
<h5 class="uk-margin-top">Minimum effort to join</h5>
|
||||||
<div>
|
<div>
|
||||||
You only share some information with us to include in our backend aggregating and data mining, and we deliver a view of your world.
|
You only share some information with us to include in our backend aggregating and data
|
||||||
|
mining, and we deliver a view of your world.
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="uk-margin-large-top" uk-scrollspy-class>
|
<div class="uk-margin-large-top" uk-scrollspy-class>
|
||||||
|
@ -470,7 +473,9 @@
|
||||||
</div>
|
</div>
|
||||||
<h5 class="uk-margin-top">Tailor-made monitoring, responsive to your needs</h5>
|
<h5 class="uk-margin-top">Tailor-made monitoring, responsive to your needs</h5>
|
||||||
<div>
|
<div>
|
||||||
Our experts work with you on demand in one-on-one sessions to provide additional indicators and curate your data.</div>
|
Our experts work with you on demand in one-on-one sessions to provide additional indicators
|
||||||
|
and curate your data.
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -478,9 +483,11 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="uk-section uk-section-large uk-padding-remove-bottom uk-container uk-container-large">
|
<div class="uk-section uk-section-large uk-padding-remove-bottom uk-container uk-container-large">
|
||||||
<div class="uk-margin-bottom">
|
<div class="uk-margin-bottom">
|
||||||
<h2 class="uk-heading-xlarge">{{stakeholderEntities.STAKEHOLDERS}} in action<span class="uk-text-primary">.</span></h2>
|
<h2 class="uk-heading-xlarge">{{stakeholderUtils.entities.stakeholders}} in action<span
|
||||||
|
class="uk-text-primary">.</span></h2>
|
||||||
<div class="uk-text-large">
|
<div class="uk-text-large">
|
||||||
View existing {{stakeholderEntities.STAKEHOLDERS | lowercase}} from collaborating organizations. Get a preview on how they work and how our service can be customized to serve you.
|
View existing {{stakeholderUtils.entities.stakeholders | lowercase}} from collaborating organizations. Get a
|
||||||
|
preview on how they work and how our service can be customized to serve you.
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<a class="uk-display-inline-block uk-text-uppercase uk-button uk-button-text"
|
<a class="uk-display-inline-block uk-text-uppercase uk-button uk-button-text"
|
||||||
|
@ -498,44 +505,31 @@
|
||||||
<div class="uk-padding-small uk-padding-remove-right">
|
<div class="uk-padding-small uk-padding-remove-right">
|
||||||
<slider-tabs position="horizontal">
|
<slider-tabs position="horizontal">
|
||||||
<slider-tab [tabId]="'all'" tabTitle="All"></slider-tab>
|
<slider-tab [tabId]="'all'" tabTitle="All"></slider-tab>
|
||||||
<slider-tab [tabId]="stakeholderEntities.FUNDERS" tabTitle="{{stakeholderEntities.FUNDERS | titlecase}}"></slider-tab>
|
<slider-tab *ngFor="let type of types" [tabId]="type"
|
||||||
<slider-tab [tabId]="stakeholderEntities.RIS" tabTitle="{{stakeholderEntities.RIS | titlecase}}"></slider-tab>
|
tabTitle="{{getTitle(type) | titlecase}}"></slider-tab>
|
||||||
<slider-tab [tabId]="stakeholderEntities.ORGANIZATIONS" tabTitle="{{stakeholderEntities.ORGANIZATIONS | titlecase}}"></slider-tab>
|
|
||||||
</slider-tabs>
|
</slider-tabs>
|
||||||
</div>
|
</div>
|
||||||
<ul class="uk-switcher uk-margin-top uk-overflow-hidden">
|
<ul class="uk-switcher uk-margin-top uk-overflow-hidden">
|
||||||
<li [id]="'all'" class="uk-overflow-auto">
|
<li [id]="'all'" class="uk-overflow-auto">
|
||||||
<div class="uk-padding-small uk-padding-remove-right" uk-height-match="target: .uk-card; row: false">
|
<div class="uk-padding-small uk-padding-remove-right"
|
||||||
<div class="uk-grid uk-grid-small uk-flex-nowrap" uk-scrollspy="target: [uk-scrollspy-class]; cls: uk-animation-fade; repeat: true">
|
uk-height-match="target: .uk-card; row: false">
|
||||||
<div *ngFor="let stakeholder of stakeholders" class="uk-width-4-5 uk-width-2-5@s uk-flex-none" uk-scrollspy-class>
|
<div class="uk-grid uk-grid-small uk-flex-nowrap"
|
||||||
|
uk-scrollspy="target: [uk-scrollspy-class]; cls: uk-animation-fade; repeat: true">
|
||||||
|
<div *ngFor="let stakeholder of stakeholders"
|
||||||
|
class="uk-width-4-5 uk-width-2-5@s uk-flex-none" uk-scrollspy-class>
|
||||||
<browse-stakeholder [stakeholder]="stakeholder"></browse-stakeholder>
|
<browse-stakeholder [stakeholder]="stakeholder"></browse-stakeholder>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</li>
|
</li>
|
||||||
<li [id]="stakeholderEntities.FUNDERS" class="uk-overflow-auto">
|
<li *ngFor="let type of types" [id]="type" class="uk-overflow-auto">
|
||||||
<div class="uk-padding-small uk-padding-remove-right" uk-height-match="target: .uk-card; row: false">
|
<div class="uk-padding-small uk-padding-remove-right"
|
||||||
<div class="uk-flex uk-grid uk-grid-small uk-flex-nowrap" uk-scrollspy="target: [uk-scrollspy-class]; cls: uk-animation-fade; repeat: true">
|
uk-height-match="target: .uk-card; row: false">
|
||||||
<div *ngFor="let funder of funders" class="uk-width-4-5 uk-width-2-5@s uk-flex-none" uk-scrollspy-class>
|
<div class="uk-grid uk-grid-small uk-flex-nowrap"
|
||||||
<browse-stakeholder [stakeholder]="funder"></browse-stakeholder>
|
uk-scrollspy="target: [uk-scrollspy-class]; cls: uk-animation-fade; repeat: true">
|
||||||
</div>
|
<div *ngFor="let stakeholder of getStakeholdersByType(type)"
|
||||||
</div>
|
class="uk-width-4-5 uk-width-2-5@s uk-flex-none" uk-scrollspy-class>
|
||||||
</div>
|
<browse-stakeholder [stakeholder]="stakeholder"></browse-stakeholder>
|
||||||
</li>
|
|
||||||
<li [id]="stakeholderEntities.RIS" class="uk-overflow-auto">
|
|
||||||
<div class="uk-padding-small uk-padding-remove-right" uk-height-match="target: .uk-card; row: false">
|
|
||||||
<div class="uk-flex uk-grid uk-grid-small uk-flex-nowrap" uk-scrollspy="target: [uk-scrollspy-class]; cls: uk-animation-fade; repeat: true">
|
|
||||||
<div *ngFor="let ri of ris" class="uk-width-4-5 uk-width-2-5@s uk-flex-none" uk-scrollspy-class>
|
|
||||||
<browse-stakeholder [stakeholder]="ri"></browse-stakeholder>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</li>
|
|
||||||
<li [id]="stakeholderEntities.ORGANIZATIONS" class="uk-overflow-auto">
|
|
||||||
<div class="uk-padding-small uk-padding-remove-right" uk-height-match="target: .uk-card; row: false">
|
|
||||||
<div class="uk-flex uk-grid uk-grid-small uk-flex-nowrap" uk-scrollspy="target: [uk-scrollspy-class]; cls: uk-animation-fade; repeat: true">
|
|
||||||
<div *ngFor="let organization of organizations" class="uk-width-4-5 uk-width-2-5@s uk-flex-none" uk-scrollspy-class>
|
|
||||||
<browse-stakeholder [stakeholder]="organization"></browse-stakeholder>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -549,7 +543,8 @@
|
||||||
Need more information or a demo?
|
Need more information or a demo?
|
||||||
</h2>
|
</h2>
|
||||||
<div class="uk-text-large">
|
<div class="uk-text-large">
|
||||||
Get in touch and let us show you in practice how you can apply OpenAIRE Monitor to your needs<span class="uk-text-primary">.</span>
|
Get in touch and let us show you in practice how you can apply OpenAIRE Monitor to your needs<span
|
||||||
|
class="uk-text-primary">.</span>
|
||||||
</div>
|
</div>
|
||||||
<a class="uk-button uk-button-primary uk-text-uppercase uk-margin-medium-top uk-margin-medium-bottom"
|
<a class="uk-button uk-button-primary uk-text-uppercase uk-margin-medium-top uk-margin-medium-bottom"
|
||||||
routerLink="/contact-us">Contact us</a>
|
routerLink="/contact-us">Contact us</a>
|
||||||
|
|
|
@ -6,12 +6,19 @@
|
||||||
background-color: @global-inverse-color;
|
background-color: @global-inverse-color;
|
||||||
}
|
}
|
||||||
|
|
||||||
@media only screen and (min-width: @breakpoint-medium) {
|
.tablet-section {
|
||||||
.monitor-dark-logo-background {
|
background-image:linear-gradient(180deg, @global-inverse-color 0%, @global-muted-background 100%);
|
||||||
background-image: url("~src/assets/monitor-assets/home/monitor-dark-logo.svg");
|
|
||||||
background-repeat: no-repeat;
|
background-repeat: no-repeat;
|
||||||
background-position: left 95%;
|
background-position: top;
|
||||||
background-size: 65%;
|
background-size: cover;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media only screen and (min-width: @breakpoint-medium) {
|
||||||
|
.tablet-section {
|
||||||
|
background-image:url("~src/assets/monitor-assets/home/monitor-dark-logo.svg"), linear-gradient(180deg, @global-inverse-color 0%, @global-muted-background 100%);
|
||||||
|
background-repeat: no-repeat;
|
||||||
|
background-position: -5% 95%, top;
|
||||||
|
background-size: 60%, cover;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -24,7 +24,12 @@ import {NumberUtils} from "../openaireLibrary/utils/number-utils.class";
|
||||||
import {SearchResearchResultsService} from "../openaireLibrary/services/searchResearchResults.service";
|
import {SearchResearchResultsService} from "../openaireLibrary/services/searchResearchResults.service";
|
||||||
import {StakeholderService} from "../openaireLibrary/monitor/services/stakeholder.service";
|
import {StakeholderService} from "../openaireLibrary/monitor/services/stakeholder.service";
|
||||||
import {LocalStorageService} from "../openaireLibrary/services/localStorage.service";
|
import {LocalStorageService} from "../openaireLibrary/services/localStorage.service";
|
||||||
import {Stakeholder, StakeholderEntities, StakeholderInfo} from "../openaireLibrary/monitor/entities/stakeholder";
|
import {
|
||||||
|
Stakeholder,
|
||||||
|
StakeholderEntities,
|
||||||
|
StakeholderInfo,
|
||||||
|
StakeholderType
|
||||||
|
} from "../openaireLibrary/monitor/entities/stakeholder";
|
||||||
import {User} from "../openaireLibrary/login/utils/helper.class";
|
import {User} from "../openaireLibrary/login/utils/helper.class";
|
||||||
import {UserManagementService} from "../openaireLibrary/services/user-management.service";
|
import {UserManagementService} from "../openaireLibrary/services/user-management.service";
|
||||||
import {properties} from "../../environments/environment";
|
import {properties} from "../../environments/environment";
|
||||||
|
@ -34,6 +39,7 @@ import {IDeactivateComponent} from "../openaireLibrary/utils/can-exit.guard";
|
||||||
import {OpenaireEntities} from "../openaireLibrary/utils/properties/searchFields";
|
import {OpenaireEntities} from "../openaireLibrary/utils/properties/searchFields";
|
||||||
import {isPlatformServer} from '@angular/common';
|
import {isPlatformServer} from '@angular/common';
|
||||||
import {LayoutService} from '../openaireLibrary/dashboard/sharedComponents/sidebar/layout.service';
|
import {LayoutService} from '../openaireLibrary/dashboard/sharedComponents/sidebar/layout.service';
|
||||||
|
import {StakeholderUtils} from "../openaireLibrary/monitor-admin/utils/indicator-utils";
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'home',
|
selector: 'home',
|
||||||
|
@ -44,12 +50,7 @@ export class HomeComponent implements OnInit, OnDestroy, AfterViewInit, IDeactiv
|
||||||
public pageTitle = "OpenAIRE | Monitor";
|
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 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: StakeholderInfo[] = [];
|
public stakeholders: StakeholderInfo[] = [];
|
||||||
public stakeholdersSlider: {
|
public stakeholdersSlider: any;
|
||||||
stakeholders: StakeholderInfo[][];
|
|
||||||
funders: StakeholderInfo[][];
|
|
||||||
ris: StakeholderInfo[][];
|
|
||||||
organizations: StakeholderInfo[][];
|
|
||||||
};
|
|
||||||
public selected: Stakeholder = null;
|
public selected: Stakeholder = null;
|
||||||
public pageContents = null;
|
public pageContents = null;
|
||||||
public divContents = null;
|
public divContents = null;
|
||||||
|
@ -59,7 +60,7 @@ export class HomeComponent implements OnInit, OnDestroy, AfterViewInit, IDeactiv
|
||||||
public errorCodes: ErrorCodes;
|
public errorCodes: ErrorCodes;
|
||||||
public properties: EnvProperties = properties;
|
public properties: EnvProperties = properties;
|
||||||
public openaireEntities = OpenaireEntities;
|
public openaireEntities = OpenaireEntities;
|
||||||
public stakeholderEntities = StakeholderEntities;
|
public stakeholderUtils: StakeholderUtils = new StakeholderUtils();
|
||||||
public directLink: boolean = true;
|
public directLink: boolean = true;
|
||||||
public publicationsSize: any = null;
|
public publicationsSize: any = null;
|
||||||
public datasetsSize: any = null;
|
public datasetsSize: any = null;
|
||||||
|
@ -70,13 +71,11 @@ export class HomeComponent implements OnInit, OnDestroy, AfterViewInit, IDeactiv
|
||||||
private subscriptions = [];
|
private subscriptions = [];
|
||||||
private mutationObserver: MutationObserver;
|
private mutationObserver: MutationObserver;
|
||||||
private user: User;
|
private user: User;
|
||||||
@ViewChildren('scrolling_element') elements: QueryList<ElementRef>;
|
|
||||||
@ViewChild('contact') contact: ElementRef;
|
@ViewChild('contact') contact: ElementRef;
|
||||||
isMobile: boolean = false;
|
isMobile: boolean = false;
|
||||||
isServer: boolean;
|
isServer: boolean;
|
||||||
|
|
||||||
constructor(
|
constructor(
|
||||||
private route: ActivatedRoute,
|
|
||||||
private _router: Router,
|
private _router: Router,
|
||||||
private _meta: Meta,
|
private _meta: Meta,
|
||||||
private _title: Title,
|
private _title: Title,
|
||||||
|
@ -107,9 +106,7 @@ export class HomeComponent implements OnInit, OnDestroy, AfterViewInit, IDeactiv
|
||||||
let url = this.properties.domain + this.properties.baseLink + this._router.url;
|
let url = this.properties.domain + this.properties.baseLink + this._router.url;
|
||||||
this.seoService.createLinkForCanonicalURL(url, false);
|
this.seoService.createLinkForCanonicalURL(url, false);
|
||||||
this._meta.updateTag({content: url}, "property='og:url'");
|
this._meta.updateTag({content: url}, "property='og:url'");
|
||||||
if (this.properties.enablePiwikTrack && (typeof document !== 'undefined')) {
|
this.subscriptions.push(this._piwikService.trackView(this.properties, "OpenAIRE Monitor").subscribe());
|
||||||
this.subscriptions.push(this._piwikService.trackView(this.properties, "OpenAIRE Monitor", this.properties.piwikSiteId).subscribe());
|
|
||||||
}
|
|
||||||
this.getNumbers();
|
this.getNumbers();
|
||||||
this.subscriptions.push(this.localStorageService.get().subscribe(value => {
|
this.subscriptions.push(this.localStorageService.get().subscribe(value => {
|
||||||
this.directLink = value;
|
this.directLink = value;
|
||||||
|
@ -167,26 +164,6 @@ export class HomeComponent implements OnInit, OnDestroy, AfterViewInit, IDeactiv
|
||||||
if(this.contact) {
|
if(this.contact) {
|
||||||
intersectionObserver.observe(this.contact.nativeElement);
|
intersectionObserver.observe(this.contact.nativeElement);
|
||||||
}
|
}
|
||||||
this.mutationObserver = new MutationObserver(entries => {
|
|
||||||
entries.forEach(entry => {
|
|
||||||
if (entry.attributeName === 'style') {
|
|
||||||
let opacities: number[] = this.elements.map(element => +element.nativeElement.style.opacity);
|
|
||||||
let active: number = opacities.indexOf(Math.max(...opacities));
|
|
||||||
this.elements.forEach((element, index) => {
|
|
||||||
if (index === active) {
|
|
||||||
element.nativeElement.classList.remove('uk-disabled');
|
|
||||||
} else {
|
|
||||||
element.nativeElement.classList.add('uk-disabled');
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
|
||||||
})
|
|
||||||
});
|
|
||||||
this.elements.changes.subscribe(() => {
|
|
||||||
this.elements.forEach(element => {
|
|
||||||
this.mutationObserver.observe(element.nativeElement, {attributes: true});
|
|
||||||
});
|
|
||||||
});
|
|
||||||
this.subscriptions.push(intersectionObserver);
|
this.subscriptions.push(intersectionObserver);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -203,7 +180,7 @@ export class HomeComponent implements OnInit, OnDestroy, AfterViewInit, IDeactiv
|
||||||
}
|
}
|
||||||
|
|
||||||
getNumbers() {
|
getNumbers() {
|
||||||
this.subscriptions.push(this._refineFieldResultsService.getRefineFieldsResultsByEntityName(["funder"], "project", this.properties).subscribe(
|
this.subscriptions.push(this._refineFieldResultsService.getAllRefineFieldResultsByFieldName("funder", "project", this.properties).subscribe(
|
||||||
data => {
|
data => {
|
||||||
if (data[1].length > 0 && data[1][0].filterId == "funder" && data[1][0].values) {
|
if (data[1].length > 0 && data[1][0].filterId == "funder" && data[1][0].values) {
|
||||||
this.fundersSize = NumberUtils.roundNumber(data[1][0].values.length);
|
this.fundersSize = NumberUtils.roundNumber(data[1][0].values.length);
|
||||||
|
@ -259,8 +236,14 @@ export class HomeComponent implements OnInit, OnDestroy, AfterViewInit, IDeactiv
|
||||||
this.handleError("Error getting number of software data", err);
|
this.handleError("Error getting number of software data", err);
|
||||||
}
|
}
|
||||||
));
|
));
|
||||||
|
}
|
||||||
|
|
||||||
|
get types(): StakeholderType[] {
|
||||||
|
return this.stakeholderUtils.types.map(option => option.value).filter(type => this.stakeholders.findIndex(stakeholder => stakeholder.type === type) > -1);
|
||||||
|
}
|
||||||
|
|
||||||
|
getTitle(type: string) {
|
||||||
|
return this.stakeholderUtils.entities[type + 's'] ? this.stakeholderUtils.entities[type + 's'] : type;
|
||||||
}
|
}
|
||||||
|
|
||||||
public getStakeholders() {
|
public getStakeholders() {
|
||||||
|
@ -275,11 +258,11 @@ export class HomeComponent implements OnInit, OnDestroy, AfterViewInit, IDeactiv
|
||||||
this.sort(this.stakeholders);
|
this.sort(this.stakeholders);
|
||||||
this.stakeholders = this.publicStakeholders.concat(this.privateStakeholders);
|
this.stakeholders = this.publicStakeholders.concat(this.privateStakeholders);
|
||||||
this.stakeholdersSlider = {
|
this.stakeholdersSlider = {
|
||||||
stakeholders: this.stakeholderSlider(this.stakeholders),
|
all: this.stakeholderSlider(this.stakeholders)
|
||||||
funders: this.stakeholderSlider(this.funders),
|
}
|
||||||
ris: this.stakeholderSlider(this.ris),
|
this.types.forEach(type => {
|
||||||
organizations: this.stakeholderSlider(this.organizations)
|
this.stakeholdersSlider[type] = this.stakeholderSlider(this.getStakeholdersByType(type));
|
||||||
};
|
});
|
||||||
}
|
}
|
||||||
this.loading = false;
|
this.loading = false;
|
||||||
},
|
},
|
||||||
|
@ -318,28 +301,8 @@ export class HomeComponent implements OnInit, OnDestroy, AfterViewInit, IDeactiv
|
||||||
return this.stakeholders.filter(stakeholder => stakeholder.visibility !== "PUBLIC");
|
return this.stakeholders.filter(stakeholder => stakeholder.visibility !== "PUBLIC");
|
||||||
}
|
}
|
||||||
|
|
||||||
get funders(): StakeholderInfo[] {
|
getStakeholdersByType(type: StakeholderType = null) {
|
||||||
if (this.stakeholders) {
|
return this.stakeholders.filter(stakeholder => !type || stakeholder.type === type)
|
||||||
return this.stakeholders.filter(stakeholder => stakeholder.type === "funder");
|
|
||||||
} else {
|
|
||||||
return [];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
get ris(): StakeholderInfo[] {
|
|
||||||
if (this.stakeholders) {
|
|
||||||
return this.stakeholders.filter(stakeholder => stakeholder.type === "ri");
|
|
||||||
} else {
|
|
||||||
return [];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
get organizations(): StakeholderInfo[] {
|
|
||||||
if (this.stakeholders) {
|
|
||||||
return this.stakeholders.filter(stakeholder => stakeholder.type === "organization");
|
|
||||||
} else {
|
|
||||||
return [];
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private handleError(message: string, error): number {
|
private handleError(message: string, error): number {
|
||||||
|
|
|
@ -64,9 +64,7 @@ export class MyStakeholdersComponent {
|
||||||
var url = this.properties.domain + this.properties.baseLink + this._router.url;
|
var url = this.properties.domain + this.properties.baseLink + this._router.url;
|
||||||
this.seoService.createLinkForCanonicalURL(url, false);
|
this.seoService.createLinkForCanonicalURL(url, false);
|
||||||
this._meta.updateTag({content: url}, "property='og:url'");
|
this._meta.updateTag({content: url}, "property='og:url'");
|
||||||
if (this.properties.enablePiwikTrack && (typeof document !== 'undefined')) {
|
this.subscriptions.push(this._piwikService.trackView(this.properties, "OpenAIRE Connect").subscribe());
|
||||||
this.subscriptions.push(this._piwikService.trackView(this.properties, "OpenAIRE Connect", this.properties.piwikSiteId).subscribe());
|
|
||||||
}
|
|
||||||
this.subscriptions.push(this.userManagementService.getUserInfo().subscribe(user => {
|
this.subscriptions.push(this.userManagementService.getUserInfo().subscribe(user => {
|
||||||
this.user = user;
|
this.user = user;
|
||||||
if (this.user) {
|
if (this.user) {
|
||||||
|
@ -105,7 +103,7 @@ export class MyStakeholdersComponent {
|
||||||
this.stakeholders = [];
|
this.stakeholders = [];
|
||||||
this.subscriptions.push(this.stakeholderService.getMyStakeholders(properties.monitorServiceAPIURL).subscribe(
|
this.subscriptions.push(this.stakeholderService.getMyStakeholders(properties.monitorServiceAPIURL).subscribe(
|
||||||
stakeholders => {
|
stakeholders => {
|
||||||
this.stakeholders = StakeholderInfo.toStakeholderInfo(stakeholders, this.user);
|
this.stakeholders = StakeholderInfo.toStakeholderInfo(stakeholders.standalone.concat(stakeholders.umbrella), this.user);
|
||||||
this.sort(this.stakeholders);
|
this.sort(this.stakeholders);
|
||||||
this.loading = false;
|
this.loading = false;
|
||||||
},
|
},
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
Subproject commit 1785da3c45eab2438f014f6e5149c1e995bd7bff
|
Subproject commit 9b1e662f4b64d4f4c6eb7a4d82657a0fe3ea8391
|
|
@ -11,20 +11,21 @@ import {StringUtils} from "../openaireLibrary/utils/string-utils.class";
|
||||||
import {UserManagementService} from "../openaireLibrary/services/user-management.service";
|
import {UserManagementService} from "../openaireLibrary/services/user-management.service";
|
||||||
import {StakeholderService} from "../openaireLibrary/monitor/services/stakeholder.service";
|
import {StakeholderService} from "../openaireLibrary/monitor/services/stakeholder.service";
|
||||||
import {NewSearchPageComponent, SearchForm} from "../openaireLibrary/searchPages/searchUtils/newSearchPage.component";
|
import {NewSearchPageComponent, SearchForm} from "../openaireLibrary/searchPages/searchUtils/newSearchPage.component";
|
||||||
import {StakeholderEntities, StakeholderInfo} from "../openaireLibrary/monitor/entities/stakeholder";
|
import {StakeholderInfo, StakeholderType} from "../openaireLibrary/monitor/entities/stakeholder";
|
||||||
import {properties} from "../../environments/environment";
|
import {properties} from "../../environments/environment";
|
||||||
import {Subscriber} from "rxjs";
|
import {Subscriber} from "rxjs";
|
||||||
import {Breadcrumb} from "../openaireLibrary/utils/breadcrumbs/breadcrumbs.component";
|
import {Breadcrumb} from "../openaireLibrary/utils/breadcrumbs/breadcrumbs.component";
|
||||||
import {TitleCasePipe} from "@angular/common";
|
import {TitleCasePipe} from "@angular/common";
|
||||||
import {LayoutService} from "../openaireLibrary/dashboard/sharedComponents/sidebar/layout.service";
|
import {LayoutService} from "../openaireLibrary/dashboard/sharedComponents/sidebar/layout.service";
|
||||||
|
import {StakeholderUtils} from "../openaireLibrary/monitor-admin/utils/indicator-utils";
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'search-stakeholders',
|
selector: 'search-stakeholders',
|
||||||
template: `
|
template: `
|
||||||
<new-search-page pageTitle="OpenAIRE-Monitor | Browse {{this.stakeholderEntities.STAKEHOLDERS}}"
|
<new-search-page pageTitle="OpenAIRE-Monitor | Browse {{stakeholderUtils.entities.stakeholders}}"
|
||||||
[hasPrefix]=false [piwikSiteId]="piwikSiteId"
|
[hasPrefix]=false
|
||||||
[formPlaceholderText]="'Search ' + (!isMobile?'OpenAIRE Monitor ':'') + this.stakeholderEntities.STAKEHOLDERS"
|
[formPlaceholderText]="'Search ' + (!isMobile?'OpenAIRE Monitor ':'') +stakeholderUtils.entities.stakeholders"
|
||||||
[type]="(results.length > 1) ? this.stakeholderEntities.STAKEHOLDERS:this.stakeholderEntities.STAKEHOLDER"
|
[type]="(results.length > 1) ? stakeholderUtils.entities.stakeholders:stakeholderUtils.entities.stakeholders"
|
||||||
entityType="stakeholder"
|
entityType="stakeholder"
|
||||||
[results]="results" [searchUtils]="searchUtils"
|
[results]="results" [searchUtils]="searchUtils"
|
||||||
[showResultCount]=true
|
[showResultCount]=true
|
||||||
|
@ -39,11 +40,11 @@ import {LayoutService} from "../openaireLibrary/dashboard/sharedComponents/sideb
|
||||||
`
|
`
|
||||||
})
|
})
|
||||||
export class SearchStakeholdersComponent {
|
export class SearchStakeholdersComponent {
|
||||||
public piwikSiteId = null;
|
|
||||||
private errorCodes: ErrorCodes;
|
private errorCodes: ErrorCodes;
|
||||||
private errorMessages: ErrorMessagesComponent;
|
private errorMessages: ErrorMessagesComponent;
|
||||||
public results: StakeholderInfo[] = [];
|
public results: StakeholderInfo[] = [];
|
||||||
public totalResults: StakeholderInfo[];
|
public totalResults: StakeholderInfo[];
|
||||||
|
public stakeholderUtils: StakeholderUtils = new StakeholderUtils();
|
||||||
public subscriptions = [];
|
public subscriptions = [];
|
||||||
public filters = [];
|
public filters = [];
|
||||||
public searchFields: SearchFields = new SearchFields();
|
public searchFields: SearchFields = new SearchFields();
|
||||||
|
@ -65,8 +66,7 @@ export class SearchStakeholdersComponent {
|
||||||
};
|
};
|
||||||
public keyword = "";
|
public keyword = "";
|
||||||
public searchLink;
|
public searchLink;
|
||||||
public stakeholderEntities = StakeholderEntities;
|
public breadcrumbs: Breadcrumb[] = [{name: 'home', route: '/'}, {name: 'Browse ' + this.stakeholderUtils.entities.stakeholders}];
|
||||||
public breadcrumbs: Breadcrumb[] = [{name: 'home', route: '/'}, {name: 'Browse ' + this.stakeholderEntities.STAKEHOLDERS}];
|
|
||||||
public searchForm: SearchForm = {class: 'uk-background-muted', dark: false};
|
public searchForm: SearchForm = {class: 'uk-background-muted', dark: false};
|
||||||
public isMobile: boolean = false;
|
public isMobile: boolean = false;
|
||||||
properties: EnvProperties = properties;
|
properties: EnvProperties = properties;
|
||||||
|
@ -85,7 +85,6 @@ export class SearchStakeholdersComponent {
|
||||||
}
|
}
|
||||||
|
|
||||||
public ngOnInit() {
|
public ngOnInit() {
|
||||||
this.piwikSiteId = this.properties.piwikSiteId;
|
|
||||||
this.baseUrl = this.properties.searchLinkToStakeholders;
|
this.baseUrl = this.properties.searchLinkToStakeholders;
|
||||||
this.subscriptions.push(this.route.queryParams.subscribe(params => {
|
this.subscriptions.push(this.route.queryParams.subscribe(params => {
|
||||||
this.searchPage.resultsPerPage = 10;
|
this.searchPage.resultsPerPage = 10;
|
||||||
|
@ -102,15 +101,15 @@ export class SearchStakeholdersComponent {
|
||||||
this.searchPage.refineFields = this.refineFields;
|
this.searchPage.refineFields = this.refineFields;
|
||||||
this.searchLink = this.properties.searchLinkToStakeholders;
|
this.searchLink = this.properties.searchLinkToStakeholders;
|
||||||
this.selectedFields = [];
|
this.selectedFields = [];
|
||||||
this.searchPage.prepareSearchPage(this.fieldIds, this.selectedFields, this.refineFields, [], this.fieldIdsMap, null, params, "stakeholder", null);
|
this.searchPage.prepareSearchPage(this.fieldIds, this.selectedFields, this.refineFields, [], [], this.fieldIdsMap, null, params, "stakeholder", null);
|
||||||
let queryParams = params;
|
let queryParams = params;
|
||||||
if (typeof document !== 'undefined') {
|
if (typeof document !== 'undefined') {
|
||||||
this.subscriptions.push(this.userManagementService.getUserInfo().subscribe(user => {
|
this.subscriptions.push(this.userManagementService.getUserInfo().subscribe(user => {
|
||||||
this.user = user;
|
this.user = user;
|
||||||
this.initFunders(queryParams);
|
this.initResults(queryParams);
|
||||||
}));
|
}));
|
||||||
} else {
|
} else {
|
||||||
this.initFunders(queryParams);
|
this.initResults(queryParams);
|
||||||
}
|
}
|
||||||
}));
|
}));
|
||||||
this.layoutService.isMobile.subscribe(isMobile => {
|
this.layoutService.isMobile.subscribe(isMobile => {
|
||||||
|
@ -127,28 +126,19 @@ export class SearchStakeholdersComponent {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
private parseResults(data: any) {
|
|
||||||
for (let i = 0; i < data.length; i++) {
|
|
||||||
this.totalResults[i] = data[i];
|
|
||||||
this.totalResults[i].isManager = this.isManager(data[i]);
|
|
||||||
this.totalResults[i].isMember = this.isMember(data[i]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Initialize stakeholders from Communities APIs
|
* Initialize stakeholders from Communities APIs
|
||||||
*
|
*
|
||||||
* @param params
|
* @param params
|
||||||
*/
|
*/
|
||||||
private initFunders(params) {
|
private initResults(params) {
|
||||||
if (this.totalResults) {
|
if (this.totalResults) {
|
||||||
this.parseResults(this.totalResults);
|
this.totalResults = StakeholderInfo.toStakeholderInfo(this.totalResults, this.user);
|
||||||
this._getResults(params);
|
this._getResults(params);
|
||||||
} else {
|
} else {
|
||||||
this.subscriptions.push(this._stakeholderService.getStakeholders(this.properties.monitorServiceAPIURL).subscribe(
|
this.subscriptions.push(this._stakeholderService.getStakeholders(this.properties.monitorServiceAPIURL).subscribe(
|
||||||
data => {
|
data => {
|
||||||
this.totalResults = [];
|
this.totalResults = StakeholderInfo.toStakeholderInfo(data, this.user);
|
||||||
this.parseResults(data);
|
|
||||||
this._getResults(params);
|
this._getResults(params);
|
||||||
},
|
},
|
||||||
err => {
|
err => {
|
||||||
|
@ -432,13 +422,8 @@ export class SearchStakeholdersComponent {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private isManager(stakeholder) {
|
get types(): StakeholderType[] {
|
||||||
return Session.isPortalAdministrator(this.user) || Session.isMonitorCurator(this.user)
|
return this.stakeholderUtils.types.map(option => option.value).filter(type => this.totalResults.findIndex(stakeholder => stakeholder.type === type) > -1);
|
||||||
|| Session.isCommunityCurator(this.user) || Session.isManager(stakeholder.type, stakeholder.alias, this.user);
|
|
||||||
}
|
|
||||||
|
|
||||||
private isMember(stakeholder) {
|
|
||||||
return this.isManager(stakeholder) || Session.isSubscribedTo(stakeholder.type, stakeholder.alias, this.user);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -452,8 +437,8 @@ export class SearchStakeholdersComponent {
|
||||||
let value_original_ids = [];
|
let value_original_ids = [];
|
||||||
filter_names.push("Type");
|
filter_names.push("Type");
|
||||||
filter_ids.push("type");
|
filter_ids.push("type");
|
||||||
value_names.push([this.stakeholderEntities.FUNDERS, this.titleCasePipe.transform(this.stakeholderEntities.RIS), this.titleCasePipe.transform(this.stakeholderEntities.ORGANIZATIONS)]);
|
value_names.push(this.types.map(type => this.stakeholderUtils.entities[type + 's']));
|
||||||
value_original_ids.push(["funder", "ri", "organization"]);
|
value_original_ids.push(this.types);
|
||||||
filter_names.push("Accessibility");
|
filter_names.push("Accessibility");
|
||||||
filter_ids.push("access");
|
filter_ids.push("access");
|
||||||
if (!this.user) {
|
if (!this.user) {
|
||||||
|
|
|
@ -36,9 +36,7 @@ export class SupportComponent {
|
||||||
}
|
}
|
||||||
|
|
||||||
public ngOnInit() {
|
public ngOnInit() {
|
||||||
if (this.properties.enablePiwikTrack && (typeof document !== 'undefined')) {
|
this.subscriptions.push(this._piwikService.trackView(this.properties, this.pageTitle).subscribe());
|
||||||
this.subscriptions.push(this._piwikService.trackView(this.properties, this.pageTitle, this.properties.piwikSiteId).subscribe());
|
|
||||||
}
|
|
||||||
this.url = this.properties.domain + this.properties.baseLink + this._router.url;
|
this.url = this.properties.domain + this.properties.baseLink + this._router.url;
|
||||||
this.seoService.createLinkForCanonicalURL(this.url);
|
this.seoService.createLinkForCanonicalURL(this.url);
|
||||||
this.updateUrl(this.url);
|
this.updateUrl(this.url);
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
Subproject commit 6677e29434f3569555975c9506150548fc17e958
|
Subproject commit 014adfe4588975e499c72b284ce7368fc2cb5d14
|
|
@ -0,0 +1,159 @@
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="418.875" height="364.357" viewBox="0 0 418.875 364.357">
|
||||||
|
<defs>
|
||||||
|
<filter id="dark" x="228.772" y="231.79" width="132.567" height="132.567" filterUnits="userSpaceOnUse">
|
||||||
|
<feOffset dx="15" dy="15" input="SourceAlpha"/>
|
||||||
|
<feGaussianBlur stdDeviation="12.5" result="blur"/>
|
||||||
|
<feFlood flood-opacity="0.102"/>
|
||||||
|
<feComposite operator="in" in2="blur"/>
|
||||||
|
<feComposite in="SourceGraphic"/>
|
||||||
|
</filter>
|
||||||
|
<filter id="light" x="198.772" y="201.79" width="132.567" height="132.567" filterUnits="userSpaceOnUse">
|
||||||
|
<feOffset dx="-15" dy="-15" input="SourceAlpha"/>
|
||||||
|
<feGaussianBlur stdDeviation="12.5" result="blur-2"/>
|
||||||
|
<feFlood flood-color="#fff"/>
|
||||||
|
<feComposite operator="in" in2="blur-2"/>
|
||||||
|
<feComposite in="SourceGraphic"/>
|
||||||
|
</filter>
|
||||||
|
<filter id="dark-2" x="65.992" y="30" width="132.567" height="132.567" filterUnits="userSpaceOnUse">
|
||||||
|
<feOffset dx="15" dy="15" input="SourceAlpha"/>
|
||||||
|
<feGaussianBlur stdDeviation="12.5" result="blur-3"/>
|
||||||
|
<feFlood flood-opacity="0.102"/>
|
||||||
|
<feComposite operator="in" in2="blur-3"/>
|
||||||
|
<feComposite in="SourceGraphic"/>
|
||||||
|
</filter>
|
||||||
|
<filter id="light-2" x="35.992" y="0" width="132.567" height="132.567" filterUnits="userSpaceOnUse">
|
||||||
|
<feOffset dx="-15" dy="-15" input="SourceAlpha"/>
|
||||||
|
<feGaussianBlur stdDeviation="12.5" result="blur-4"/>
|
||||||
|
<feFlood flood-color="#fff"/>
|
||||||
|
<feComposite operator="in" in2="blur-4"/>
|
||||||
|
<feComposite in="SourceGraphic"/>
|
||||||
|
</filter>
|
||||||
|
<filter id="dark-3" x="30" y="185.9" width="132.567" height="132.567" filterUnits="userSpaceOnUse">
|
||||||
|
<feOffset dx="15" dy="15" input="SourceAlpha"/>
|
||||||
|
<feGaussianBlur stdDeviation="12.5" result="blur-5"/>
|
||||||
|
<feFlood flood-opacity="0.102"/>
|
||||||
|
<feComposite operator="in" in2="blur-5"/>
|
||||||
|
<feComposite in="SourceGraphic"/>
|
||||||
|
</filter>
|
||||||
|
<filter id="light-3" x="0" y="155.9" width="132.567" height="132.567" filterUnits="userSpaceOnUse">
|
||||||
|
<feOffset dx="-15" dy="-15" input="SourceAlpha"/>
|
||||||
|
<feGaussianBlur stdDeviation="12.5" result="blur-6"/>
|
||||||
|
<feFlood flood-color="#fff"/>
|
||||||
|
<feComposite operator="in" in2="blur-6"/>
|
||||||
|
<feComposite in="SourceGraphic"/>
|
||||||
|
</filter>
|
||||||
|
<filter id="dark-4" x="165.979" y="45.9" width="132.567" height="132.567" filterUnits="userSpaceOnUse">
|
||||||
|
<feOffset dx="15" dy="15" input="SourceAlpha"/>
|
||||||
|
<feGaussianBlur stdDeviation="12.5" result="blur-7"/>
|
||||||
|
<feFlood flood-opacity="0.102"/>
|
||||||
|
<feComposite operator="in" in2="blur-7"/>
|
||||||
|
<feComposite in="SourceGraphic"/>
|
||||||
|
</filter>
|
||||||
|
<filter id="light-4" x="135.979" y="15.9" width="132.567" height="132.567" filterUnits="userSpaceOnUse">
|
||||||
|
<feOffset dx="-15" dy="-15" input="SourceAlpha"/>
|
||||||
|
<feGaussianBlur stdDeviation="12.5" result="blur-8"/>
|
||||||
|
<feFlood flood-color="#fff"/>
|
||||||
|
<feComposite operator="in" in2="blur-8"/>
|
||||||
|
<feComposite in="SourceGraphic"/>
|
||||||
|
</filter>
|
||||||
|
<filter id="dark-5" x="264.764" y="75.891" width="132.567" height="132.567" filterUnits="userSpaceOnUse">
|
||||||
|
<feOffset dx="15" dy="15" input="SourceAlpha"/>
|
||||||
|
<feGaussianBlur stdDeviation="12.5" result="blur-9"/>
|
||||||
|
<feFlood flood-opacity="0.102"/>
|
||||||
|
<feComposite operator="in" in2="blur-9"/>
|
||||||
|
<feComposite in="SourceGraphic"/>
|
||||||
|
</filter>
|
||||||
|
<filter id="light-5" x="234.764" y="45.891" width="132.567" height="132.567" filterUnits="userSpaceOnUse">
|
||||||
|
<feOffset dx="-15" dy="-15" input="SourceAlpha"/>
|
||||||
|
<feGaussianBlur stdDeviation="12.5" result="blur-10"/>
|
||||||
|
<feFlood flood-color="#fff"/>
|
||||||
|
<feComposite operator="in" in2="blur-10"/>
|
||||||
|
<feComposite in="SourceGraphic"/>
|
||||||
|
</filter>
|
||||||
|
<filter id="dark-6" x="128.412" y="208.621" width="132.567" height="132.567" filterUnits="userSpaceOnUse">
|
||||||
|
<feOffset dx="15" dy="15" input="SourceAlpha"/>
|
||||||
|
<feGaussianBlur stdDeviation="12.5" result="blur-11"/>
|
||||||
|
<feFlood flood-opacity="0.102"/>
|
||||||
|
<feComposite operator="in" in2="blur-11"/>
|
||||||
|
<feComposite in="SourceGraphic"/>
|
||||||
|
</filter>
|
||||||
|
<filter id="light-6" x="98.412" y="178.621" width="132.567" height="132.567" filterUnits="userSpaceOnUse">
|
||||||
|
<feOffset dx="-15" dy="-15" input="SourceAlpha"/>
|
||||||
|
<feGaussianBlur stdDeviation="12.5" result="blur-12"/>
|
||||||
|
<feFlood flood-color="#fff"/>
|
||||||
|
<feComposite operator="in" in2="blur-12"/>
|
||||||
|
<feComposite in="SourceGraphic"/>
|
||||||
|
</filter>
|
||||||
|
</defs>
|
||||||
|
<g id="Group_13415" data-name="Group 13415" transform="translate(-799.043 -94.379)">
|
||||||
|
<g id="Group_12983" data-name="Group 12983" transform="translate(86.549 -222.191) rotate(13)">
|
||||||
|
<path id="Path_104359" data-name="Path 104359" d="M-18163.937-17731.363s95.709-17.684,176.221-17.684,199.334,3.746,180.857,26.24-236.955,67.047-236.955,67.047-182.137,44.2-120.123,64.879,357.078,0,357.078,0" transform="translate(19010.223 17943)" fill="none" stroke="#dedede" stroke-width="1"/>
|
||||||
|
<g id="Group_12980" data-name="Group 12980" transform="translate(931.002 -818)">
|
||||||
|
<g id="Group_12847" data-name="Group 12847" transform="translate(147 1155)">
|
||||||
|
<g transform="matrix(0.97, -0.22, 0.22, 0.97, -312.56, -188.82)" filter="url(#dark)">
|
||||||
|
<rect id="dark-7" data-name="dark" width="48" height="48" rx="24" transform="translate(262.07 254.29) rotate(13)" fill="#f9f9f9"/>
|
||||||
|
</g>
|
||||||
|
<g transform="matrix(0.97, -0.22, 0.22, 0.97, -312.56, -188.82)" filter="url(#light)">
|
||||||
|
<rect id="light-7" data-name="light" width="48" height="48" rx="24" transform="translate(262.07 254.29) rotate(13)" fill="#f9f9f9"/>
|
||||||
|
</g>
|
||||||
|
<rect id="neutral" width="48" height="48" rx="24" transform="translate(-0.001 -0.001)" fill="#f9f9f9"/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g id="Group_12979" data-name="Group 12979" transform="translate(1014.92 -1011.586) rotate(13)">
|
||||||
|
<g id="Group_12847-2" data-name="Group 12847" transform="translate(147 1155)">
|
||||||
|
<g transform="matrix(0.97, -0.22, 0.22, 0.97, -108.56, -28.82)" filter="url(#dark-2)">
|
||||||
|
<rect id="dark-8" data-name="dark" width="48" height="48" rx="24" transform="translate(99.29 52.5) rotate(13)" fill="#f9f9f9"/>
|
||||||
|
</g>
|
||||||
|
<g transform="matrix(0.97, -0.22, 0.22, 0.97, -108.56, -28.82)" filter="url(#light-2)">
|
||||||
|
<rect id="light-8" data-name="light" width="48" height="48" rx="24" transform="translate(99.29 52.5) rotate(13)" fill="#f9f9f9"/>
|
||||||
|
</g>
|
||||||
|
<rect id="neutral-2" data-name="neutral" width="48" height="48" rx="24" transform="translate(-0.001 -0.001)" fill="#f9f9f9"/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g id="Group_12982" data-name="Group 12982" transform="translate(978.928 -855.686) rotate(13)">
|
||||||
|
<g id="Group_12847-3" data-name="Group 12847" transform="translate(147 1155)">
|
||||||
|
<g transform="matrix(0.97, -0.22, 0.22, 0.97, -108.56, -188.82)" filter="url(#dark-3)">
|
||||||
|
<rect id="dark-9" data-name="dark" width="48" height="48" rx="24" transform="translate(63.3 208.4) rotate(13)" fill="#f9f9f9"/>
|
||||||
|
</g>
|
||||||
|
<g transform="matrix(0.97, -0.22, 0.22, 0.97, -108.56, -188.82)" filter="url(#light-3)">
|
||||||
|
<rect id="light-9" data-name="light" width="48" height="48" rx="24" transform="translate(63.3 208.4) rotate(13)" fill="#f9f9f9"/>
|
||||||
|
</g>
|
||||||
|
<rect id="neutral-3" data-name="neutral" width="48" height="48" rx="24" transform="translate(-0.001 -0.001)" fill="#f9f9f9"/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g id="Group_12977" data-name="Group 12977" transform="translate(1114.906 -995.686) rotate(13)">
|
||||||
|
<g id="Group_12847-4" data-name="Group 12847" transform="translate(147 1155)">
|
||||||
|
<g transform="matrix(0.97, -0.22, 0.22, 0.97, -209.56, -21.82)" filter="url(#dark-4)">
|
||||||
|
<rect id="dark-10" data-name="dark" width="48" height="48" rx="24" transform="translate(199.28 68.4) rotate(13)" fill="#f9f9f9"/>
|
||||||
|
</g>
|
||||||
|
<g transform="matrix(0.97, -0.22, 0.22, 0.97, -209.56, -21.82)" filter="url(#light-4)">
|
||||||
|
<rect id="light-10" data-name="light" width="48" height="48" rx="24" transform="translate(199.28 68.4) rotate(13)" fill="#f9f9f9"/>
|
||||||
|
</g>
|
||||||
|
<rect id="neutral-4" data-name="neutral" width="48" height="48" rx="24" transform="translate(-0.001 -0.001)" fill="#f9f9f9"/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g id="Group_12978" data-name="Group 12978" transform="translate(1213.691 -965.695) rotate(13)">
|
||||||
|
<g id="Group_12847-5" data-name="Group 12847" transform="translate(147 1155)">
|
||||||
|
<g transform="matrix(0.97, -0.22, 0.22, 0.97, -312.56, -28.82)" filter="url(#dark-5)">
|
||||||
|
<rect id="dark-11" data-name="dark" width="48" height="48" rx="24" transform="translate(298.06 98.39) rotate(13)" fill="#f9f9f9"/>
|
||||||
|
</g>
|
||||||
|
<g transform="matrix(0.97, -0.22, 0.22, 0.97, -312.56, -28.82)" filter="url(#light-5)">
|
||||||
|
<rect id="light-11" data-name="light" width="48" height="48" rx="24" transform="translate(298.06 98.39) rotate(13)" fill="#f9f9f9"/>
|
||||||
|
</g>
|
||||||
|
<rect id="neutral-5" data-name="neutral" width="48" height="48" rx="24" transform="translate(-0.001 -0.001)" fill="#f9f9f9"/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g id="Group_12981" data-name="Group 12981" transform="translate(1077.34 -832.965) rotate(13)">
|
||||||
|
<g id="Group_12847-6" data-name="Group 12847" transform="translate(147 1155)">
|
||||||
|
<g transform="matrix(0.97, -0.22, 0.22, 0.97, -209.56, -188.82)" filter="url(#dark-6)">
|
||||||
|
<rect id="dark-12" data-name="dark" width="48" height="48" rx="24" transform="translate(161.71 231.12) rotate(13)" fill="#f9f9f9"/>
|
||||||
|
</g>
|
||||||
|
<g transform="matrix(0.97, -0.22, 0.22, 0.97, -209.56, -188.82)" filter="url(#light-6)">
|
||||||
|
<rect id="light-12" data-name="light" width="48" height="48" rx="24" transform="translate(161.71 231.12) rotate(13)" fill="#f9f9f9"/>
|
||||||
|
</g>
|
||||||
|
<rect id="neutral-6" data-name="neutral" width="48" height="48" rx="24" transform="translate(-0.001 -0.001)" fill="#f9f9f9"/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 11 KiB |
|
@ -1 +1 @@
|
||||||
Subproject commit a0797a5ecca6649f625505a48033604e68bf4828
|
Subproject commit 55765bf0829910661a55337e0e7ca7b1262b7298
|
|
@ -1,97 +1,16 @@
|
||||||
import {EnvProperties} from "../app/openaireLibrary/utils/properties/env-properties";
|
import {EnvProperties} from "../app/openaireLibrary/utils/properties/env-properties";
|
||||||
|
import {common, commonBeta} from "../app/openaireLibrary/utils/properties/environments/environment";
|
||||||
|
|
||||||
export let properties: EnvProperties = {
|
let props: EnvProperties = {
|
||||||
environment: "beta",
|
environment: "beta",
|
||||||
enablePiwikTrack: true,
|
enablePiwikTrack: true,
|
||||||
useCache: true,
|
|
||||||
showContent: true,
|
|
||||||
framesAPIURL: "https://beta.openaire.eu/stats3/",
|
|
||||||
statisticsAPIURL: "https://beta.services.openaire.eu/stats-api/",
|
|
||||||
statisticsFrameAPIURL: "https://beta.openaire.eu/stats/",
|
|
||||||
statisticsFrameNewAPIURL: "https://stats.madgik.di.uoa.gr/stats-api/",
|
|
||||||
useNewStatistisTool: true,
|
|
||||||
claimsAPIURL: "https://beta.services.openaire.eu/claims/rest/claimsService/",
|
|
||||||
searchAPIURLLAst: "https://beta.services.openaire.eu/search/v2/api/",
|
|
||||||
searchResourcesAPIURL: "https://beta.services.openaire.eu/search/v2/api/resources",
|
|
||||||
openCitationsAPIURL: "https://services.openaire.eu/opencitations/getCitations?id=",
|
|
||||||
csvAPIURL: "https://beta.services.openaire.eu/search/v2/api/reports",
|
|
||||||
searchCrossrefAPIURL: "https://api.crossref.org/works",
|
|
||||||
searchDataciteAPIURL: "https://api.datacite.org/works",
|
|
||||||
searchOrcidURL: "https://pub.orcid.org/v2.1/",
|
|
||||||
orcidURL: "https://orcid.org/",
|
|
||||||
doiURL: "https://dx.doi.org/",
|
|
||||||
pmcURL: "http://europepmc.org/articles/",
|
|
||||||
pmidURL: "https://www.ncbi.nlm.nih.gov/pubmed/",
|
|
||||||
handleURL: "http://hdl.handle.net/",
|
|
||||||
cordisURL: "http://cordis.europa.eu/projects/",
|
|
||||||
openDoarURL: "http://v2.sherpa.ac.uk/id/repository/",
|
|
||||||
r3DataURL: "http://service.re3data.org/repository/",
|
|
||||||
zenodo: "https://zenodo.org/",
|
|
||||||
zenodoCommunities: "https://zenodo.org/api/communities/",
|
|
||||||
openAccess: "https://www.openaire.eu/support/faq#article-id-234",
|
|
||||||
openAccessRepo: "https://www.openaire.eu/support/faq#article-id-310",
|
|
||||||
fp7Guidlines: "https://www.openaire.eu/open-access-in-fp7-seventh-research-framework-programme",
|
|
||||||
h2020Guidlines: "https://www.openaire.eu/oa-publications/h2020/open-access-in-horizon-2020",
|
|
||||||
ercGuidlines: "http://erc.europa.eu/sites/default/files/document/file/ERC_Open_Access_Guidelines-revised_2014.pdf",
|
|
||||||
helpdesk: "https://www.openaire.eu/support/helpdesk",
|
|
||||||
utilsService: "https://demo.openaire.eu/utils-service",
|
|
||||||
vocabulariesAPI: "https://beta.services.openaire.eu/provision/mvc/vocabularies/",
|
|
||||||
piwikBaseUrl: "https://analytics.openaire.eu/piwik.php?idsite=",
|
|
||||||
piwikSiteId: "298",
|
|
||||||
registryUrl: 'https://beta.services.openaire.eu/uoa-user-management/api/registry/',
|
|
||||||
loginUrl: "https://beta.services.openaire.eu/login-service/openid_connect_login",
|
|
||||||
userInfoUrl: "https://beta.services.openaire.eu/login-service/userInfo",
|
|
||||||
logoutUrl: "https://beta.services.openaire.eu/login-service/openid_logout",
|
|
||||||
cookieDomain: ".openaire.eu",
|
|
||||||
feedbackmail: "feedback@openaire.eu",
|
|
||||||
cacheUrl: "https://demo.openaire.eu/cache/get?url=",
|
|
||||||
monitorServiceAPIURL: "https://beta.services.openaire.eu/uoa-monitor-service/",
|
|
||||||
adminToolsAPIURL: "https://beta.services.openaire.eu/uoa-monitor-service/",
|
adminToolsAPIURL: "https://beta.services.openaire.eu/uoa-monitor-service/",
|
||||||
adminToolsCommunity: "monitor",
|
|
||||||
adminToolsPortalType: "monitor",
|
adminToolsPortalType: "monitor",
|
||||||
datasourcesAPI: "https://beta.services.openaire.eu/openaire/ds/search/",
|
adminToolsCommunity: "monitor",
|
||||||
contextsAPI: "https://beta.services.openaire.eu/openaire/context",
|
|
||||||
communityAPI: "https://beta.services.openaire.eu/openaire/community/",
|
|
||||||
communitiesAPI: "https://beta.services.openaire.eu/openaire/community/communities",
|
|
||||||
csvLimit: 2000,
|
|
||||||
pagingLimit: 20,
|
|
||||||
resultsPerPage: 10,
|
|
||||||
baseLink : "",
|
|
||||||
domain : "https://beta.monitor.openaire.eu",
|
domain : "https://beta.monitor.openaire.eu",
|
||||||
afterLoginRedirectLink: '/my-dashboards',
|
afterLoginRedirectLink: '/my-dashboards',
|
||||||
searchLinkToResult: "/search/result?id=",
|
|
||||||
searchLinkToPublication: "/search/publication?articleId=",
|
|
||||||
searchLinkToProject: "/search/project?projectId=",
|
|
||||||
searchLinkToDataProvider: "/search/dataprovider?datasourceId=",
|
|
||||||
searchLinkToDataset: "/search/dataset?datasetId=",
|
|
||||||
searchLinkToSoftwareLanding: "/search/software?softwareId=",
|
|
||||||
searchLinkToOrganization: "/search/organization?organizationId=",
|
|
||||||
searchLinkToOrp: "/search/other?orpId=",
|
|
||||||
searchLinkToStakeholders: "/browse",
|
|
||||||
searchLinkToResults: "/search/find/research-outcomes",
|
|
||||||
searchLinkToDataProviders: "/search/find/dataproviders",
|
|
||||||
searchLinkToProjects: "/search/find/projects",
|
|
||||||
searchLinkToOrganizations: "/search/find/organizations",
|
|
||||||
searchLinkToCompatibleDataProviders: "/search/content-providers",
|
|
||||||
searchLinkToEntityRegistriesDataProviders: "/search/entity-registries",
|
|
||||||
searchLinkToJournals: "/search/journals",
|
|
||||||
searchLinkToAdvancedResults: "/search/advanced/research-outcomes",
|
|
||||||
searchLinkToAdvancedProjects: "/search/advanced/projects",
|
|
||||||
searchLinkToAdvancedDataProviders: "/search/advanced/dataproviders",
|
|
||||||
searchLinkToAdvancedOrganizations: "/search/advanced/organizations",
|
|
||||||
errorLink: '/error',
|
|
||||||
lastIndexInformationLink: "https://beta.openaire.eu/aggregation-and-content-provision-workflows",
|
|
||||||
showLastIndexInformationLink: true,
|
|
||||||
widgetLink: "https://beta.openaire.eu/index.php?option=com_openaire&view=widget&format=raw&projectId=",
|
|
||||||
claimsInformationLink: "https://beta.openaire.eu/linking",
|
|
||||||
depositLearnHowPage: "/participate/deposit/learn-how",
|
|
||||||
depositSearchPage: "/participate/deposit/search",
|
|
||||||
shareInZenodoPage: "/participate/deposit/zenodo",
|
|
||||||
reCaptchaSiteKey: "6LezhVIUAAAAAOb4nHDd87sckLhMXFDcHuKyS76P",
|
|
||||||
admins: ["feedback@openaire.eu"],
|
|
||||||
lastIndexUpdate: "2019-08-07",
|
|
||||||
indexInfoAPI: "https://beta.services.openaire.eu/openaire/info/",
|
|
||||||
altMetricsAPIURL: "https://api.altmetric.com/v1/doi/",
|
|
||||||
b2noteAPIURL: "http://b2note-dev.bsc.es/",
|
|
||||||
footerGrantText: "OpenAIRE has received funding from the European Union's Horizon 2020 research and innovation programme under grant agreements No. 777541 and 101017452"
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
export let properties: EnvProperties = {
|
||||||
|
...common, ...commonBeta, ...props
|
||||||
|
}
|
||||||
|
|
|
@ -1,97 +1,16 @@
|
||||||
import {EnvProperties} from "../app/openaireLibrary/utils/properties/env-properties";
|
import {EnvProperties} from "../app/openaireLibrary/utils/properties/env-properties";
|
||||||
|
import {common, commonProd} from "../app/openaireLibrary/utils/properties/environments/environment";
|
||||||
|
|
||||||
export let properties: EnvProperties = {
|
let props: EnvProperties = {
|
||||||
environment: "production",
|
environment: "production",
|
||||||
enablePiwikTrack: true,
|
enablePiwikTrack: true,
|
||||||
useCache: true,
|
|
||||||
showContent: true,
|
|
||||||
framesAPIURL: "https://www.openaire.eu/stats3/",
|
|
||||||
statisticsAPIURL: "https://services.openaire.eu/stats-api/",
|
|
||||||
statisticsFrameAPIURL: "https://www.openaire.eu/stats/",
|
|
||||||
statisticsFrameNewAPIURL: "",
|
|
||||||
useNewStatistisTool: false,
|
|
||||||
claimsAPIURL: "https://services.openaire.eu/claims/rest/claimsService/",
|
|
||||||
searchAPIURLLAst: "https://services.openaire.eu/search/v2/api/",
|
|
||||||
searchResourcesAPIURL: "https://services.openaire.eu/search/v2/api/resources",
|
|
||||||
openCitationsAPIURL: "https://services.openaire.eu/opencitations/getCitations?id=",
|
|
||||||
csvAPIURL: "https://services.openaire.eu/search/v2/api/reports",
|
|
||||||
searchCrossrefAPIURL: "https://api.crossref.org/works",
|
|
||||||
searchDataciteAPIURL: "https://api.datacite.org/works",
|
|
||||||
searchOrcidURL: "https://pub.orcid.org/v2.1/",
|
|
||||||
orcidURL: "https://orcid.org/",
|
|
||||||
doiURL: "https://dx.doi.org/",
|
|
||||||
pmcURL: "http://europepmc.org/articles/",
|
|
||||||
pmidURL: "https://www.ncbi.nlm.nih.gov/pubmed/",
|
|
||||||
handleURL: "http://hdl.handle.net/",
|
|
||||||
cordisURL: "http://cordis.europa.eu/projects/",
|
|
||||||
openDoarURL: "http://v2.sherpa.ac.uk/id/repository/",
|
|
||||||
r3DataURL: "http://service.re3data.org/repository/",
|
|
||||||
zenodo: "https://zenodo.org/",
|
|
||||||
zenodoCommunities: "https://zenodo.org/api/communities/",
|
|
||||||
openAccess: "https://www.openaire.eu/support/faq#article-id-234",
|
|
||||||
openAccessRepo: "https://www.openaire.eu/support/faq#article-id-310",
|
|
||||||
fp7Guidlines: "https://www.openaire.eu/open-access-in-fp7-seventh-research-framework-programme",
|
|
||||||
h2020Guidlines: "https://www.openaire.eu/oa-publications/h2020/open-access-in-horizon-2020",
|
|
||||||
ercGuidlines: "http://erc.europa.eu/sites/default/files/document/file/ERC_Open_Access_Guidelines-revised_2014.pdf",
|
|
||||||
helpdesk: "https://www.openaire.eu/support/helpdesk",
|
|
||||||
utilsService: "https://explore.openaire.eu/utils-service",
|
|
||||||
vocabulariesAPI: "https://services.openaire.eu/provision/mvc/vocabularies/",
|
|
||||||
piwikBaseUrl: "https://analytics.openaire.eu/piwik.php?idsite=",
|
|
||||||
piwikSiteId: "104",
|
|
||||||
registryUrl: 'https://services.openaire.eu/uoa-user-management/api/registry/',
|
|
||||||
loginUrl: "https://services.openaire.eu/login-service/openid_connect_login",
|
|
||||||
userInfoUrl: "https://services.openaire.eu/login-service/userInfo",
|
|
||||||
logoutUrl: "https://services.openaire.eu/login-service/openid_logout",
|
|
||||||
cookieDomain: ".openaire.eu",
|
|
||||||
feedbackmail: "feedback@openaire.eu",
|
|
||||||
cacheUrl: "https://explore.openaire.eu/cache/get?url=",
|
|
||||||
datasourcesAPI: "https://services.openaire.eu/openaire/ds/search/",
|
|
||||||
monitorServiceAPIURL: "https://services.openaire.eu/uoa-monitor-service",
|
|
||||||
adminToolsAPIURL: "https://services.openaire.eu/uoa-monitor-service/",
|
adminToolsAPIURL: "https://services.openaire.eu/uoa-monitor-service/",
|
||||||
adminToolsPortalType: "monitor",
|
adminToolsPortalType: "monitor",
|
||||||
adminToolsCommunity: "monitor",
|
adminToolsCommunity: "monitor",
|
||||||
contextsAPI: "https://services.openaire.eu/openaire/context",
|
|
||||||
communityAPI: "https://services.openaire.eu/openaire/community/",
|
|
||||||
communitiesAPI: "https://services.openaire.eu/openaire/community/communities",
|
|
||||||
csvLimit: 2000,
|
|
||||||
pagingLimit: 20,
|
|
||||||
resultsPerPage: 10,
|
|
||||||
baseLink : "",
|
|
||||||
domain : "https://monitor.openaire.eu",
|
domain : "https://monitor.openaire.eu",
|
||||||
afterLoginRedirectLink: '/my-dashboards',
|
afterLoginRedirectLink: '/my-dashboards',
|
||||||
searchLinkToResult: "/search/result?id=",
|
|
||||||
searchLinkToPublication: "/search/publication?articleId=",
|
|
||||||
searchLinkToProject: "/search/project?projectId=",
|
|
||||||
searchLinkToDataProvider: "/search/dataprovider?datasourceId=",
|
|
||||||
searchLinkToDataset: "/search/dataset?datasetId=",
|
|
||||||
searchLinkToSoftwareLanding: "/search/software?softwareId=",
|
|
||||||
searchLinkToOrp: "/search/other?orpId=",
|
|
||||||
searchLinkToOrganization: "/search/organization?organizationId=",
|
|
||||||
searchLinkToStakeholders: "/browse",
|
|
||||||
searchLinkToResults: "/search/find/research-outcomes",
|
|
||||||
searchLinkToDataProviders: "/search/find/dataproviders",
|
|
||||||
searchLinkToProjects: "/search/find/projects",
|
|
||||||
searchLinkToOrganizations: "/search/find/organizations",
|
|
||||||
searchLinkToCompatibleDataProviders: "/search/content-providers",
|
|
||||||
searchLinkToEntityRegistriesDataProviders: "/search/entity-registries",
|
|
||||||
searchLinkToJournals: "/search/journals",
|
|
||||||
searchLinkToAdvancedResults: "/search/advanced/research-outcomes",
|
|
||||||
searchLinkToAdvancedProjects: "/search/advanced/projects",
|
|
||||||
searchLinkToAdvancedDataProviders: "/search/advanced/dataproviders",
|
|
||||||
searchLinkToAdvancedOrganizations: "/search/advanced/organizations",
|
|
||||||
errorLink: '/error',
|
|
||||||
lastIndexInformationLink: "https://www.openaire.eu/aggregation-and-content-provision-workflows",
|
|
||||||
showLastIndexInformationLink: true,
|
|
||||||
widgetLink: "https://www.openaire.eu/index.php?option=com_openaire&view=widget&format=raw&projectId=",
|
|
||||||
claimsInformationLink: "https://www.openaire.eu/linking",
|
|
||||||
depositLearnHowPage: "/participate/deposit/learn-how",
|
|
||||||
depositSearchPage: "/participate/deposit/search",
|
|
||||||
shareInZenodoPage: "/participate/deposit/zenodo",
|
|
||||||
reCaptchaSiteKey: "6LezhVIUAAAAAOb4nHDd87sckLhMXFDcHuKyS76P",
|
|
||||||
admins: ["feedback@openaire.eu"],
|
|
||||||
lastIndexUpdate: "2019-07-24",
|
|
||||||
indexInfoAPI: "https://services.openaire.eu/openaire/info/",
|
|
||||||
altMetricsAPIURL: "https://api.altmetric.com/v1/doi/",
|
|
||||||
b2noteAPIURL: "http://b2note-dev.bsc.es/",
|
|
||||||
footerGrantText: "OpenAIRE has received funding from the European Union's Horizon 2020 research and innovation programme under grant agreements No. 777541 and 101017452"
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
export let properties: EnvProperties = {
|
||||||
|
...common, ...commonProd, ...props
|
||||||
|
}
|
||||||
|
|
|
@ -1,97 +1,18 @@
|
||||||
import {EnvProperties} from "../app/openaireLibrary/utils/properties/env-properties";
|
import {EnvProperties} from "../app/openaireLibrary/utils/properties/env-properties";
|
||||||
|
import {common, commonDev} from "../app/openaireLibrary/utils/properties/environments/environment";
|
||||||
|
|
||||||
export let properties: EnvProperties = {
|
let props: EnvProperties = {
|
||||||
environment: "development",
|
environment: "development",
|
||||||
enablePiwikTrack: false,
|
enablePiwikTrack: false,
|
||||||
useCache: false,
|
useCache: false,
|
||||||
showContent: true,
|
showContent: true,
|
||||||
framesAPIURL: "https://beta.openaire.eu/stats3/",
|
adminToolsAPIURL: "http://mpagasas.di.uoa.gr:19380/uoa-monitor-service/",
|
||||||
statisticsAPIURL: "https://beta.services.openaire.eu/stats-api/",
|
|
||||||
statisticsFrameAPIURL: "https://beta.openaire.eu/stats/",
|
|
||||||
statisticsFrameNewAPIURL: "http://88.197.53.71:8080/stats-api/",
|
|
||||||
useNewStatistisTool: false,
|
|
||||||
claimsAPIURL: "http://scoobydoo.di.uoa.gr:8080/dnet-claims-service-2.0.0-SNAPSHOT/rest/claimsService/",
|
|
||||||
searchAPIURLLAst: "https://beta.services.openaire.eu/search/v2/api/",
|
|
||||||
searchResourcesAPIURL: "https://beta.services.openaire.eu/search/v2/api/resources",
|
|
||||||
openCitationsAPIURL: "https://services.openaire.eu/opencitations/getCitations?id=",
|
|
||||||
csvAPIURL: "http://rudie.di.uoa.gr:8080/dnet-functionality-services-2.0.0-SNAPSHOT/rest/v2/reports",
|
|
||||||
searchCrossrefAPIURL: "https://api.crossref.org/works",
|
|
||||||
searchDataciteAPIURL: "https://api.datacite.org/works",
|
|
||||||
searchOrcidURL: "https://pub.orcid.org/v2.1/",
|
|
||||||
orcidURL: "https://orcid.org/",
|
|
||||||
doiURL: "https://dx.doi.org/",
|
|
||||||
pmcURL: "http://europepmc.org/articles/",
|
|
||||||
pmidURL: "https://www.ncbi.nlm.nih.gov/pubmed/",
|
|
||||||
handleURL: "http://hdl.handle.net/",
|
|
||||||
cordisURL: "http://cordis.europa.eu/projects/",
|
|
||||||
openDoarURL: "http://v2.sherpa.ac.uk/id/repository/",
|
|
||||||
r3DataURL: "http://service.re3data.org/repository/",
|
|
||||||
zenodo: "https://zenodo.org/",
|
|
||||||
zenodoCommunities: "https://zenodo.org/api/communities/",
|
|
||||||
openAccess: "https://www.openaire.eu/support/faq#article-id-234",
|
|
||||||
openAccessRepo: "https://www.openaire.eu/support/faq#article-id-310",
|
|
||||||
fp7Guidlines: "https://www.openaire.eu/open-access-in-fp7-seventh-research-framework-programme",
|
|
||||||
h2020Guidlines: "https://www.openaire.eu/oa-publications/h2020/open-access-in-horizon-2020",
|
|
||||||
ercGuidlines: "http://erc.europa.eu/sites/default/files/document/file/ERC_Open_Access_Guidelines-revised_2014.pdf",
|
|
||||||
helpdesk: "https://www.openaire.eu/support/helpdesk",
|
|
||||||
utilsService: "http://mpagasas.di.uoa.gr:8000",
|
|
||||||
vocabulariesAPI: "https://beta.services.openaire.eu/provision/mvc/vocabularies/",
|
|
||||||
piwikBaseUrl: "https://analytics.openaire.eu/piwik.php?idsite=",
|
|
||||||
piwikSiteId: "298",
|
|
||||||
registryUrl: 'http://mpagasas.di.uoa.gr:8080/dnet-openaire-users-1.0.0-SNAPSHOT/api/registry/',
|
|
||||||
loginUrl: "http://mpagasas.di.uoa.gr:19080/login-service/openid_connect_login",
|
|
||||||
userInfoUrl: "http://mpagasas.di.uoa.gr:19080/login-service/userInfo",
|
|
||||||
logoutUrl: "http://mpagasas.di.uoa.gr:19080/login-service/openid_logout",
|
|
||||||
cookieDomain: ".di.uoa.gr",
|
|
||||||
feedbackmail: "openaire.test@gmail.com",
|
|
||||||
cacheUrl: "http://scoobydoo.di.uoa.gr:3000/get?url=",
|
|
||||||
monitorServiceAPIURL: "http://duffy.di.uoa.gr:19380/uoa-monitor-service",
|
|
||||||
adminToolsAPIURL: "http://duffy.di.uoa.gr:19380/uoa-monitor-service/",
|
|
||||||
adminToolsPortalType: "monitor",
|
adminToolsPortalType: "monitor",
|
||||||
adminToolsCommunity: "monitor",
|
adminToolsCommunity: "monitor",
|
||||||
datasourcesAPI: "https://beta.services.openaire.eu/openaire/ds/search/",
|
domain : "http://mpagasas.di.uoa.gr:4000",
|
||||||
contextsAPI: "https://dev-openaire.d4science.org/openaire/context",
|
|
||||||
communityAPI: "https://dev-openaire.d4science.org/openaire/community/",
|
|
||||||
communitiesAPI: "https://dev-openaire.d4science.org/openaire/community/communities",
|
|
||||||
csvLimit: 2000,
|
|
||||||
pagingLimit: 20,
|
|
||||||
resultsPerPage: 10,
|
|
||||||
baseLink : "",
|
|
||||||
domain : "http://dl170.madgik.di.uoa.gr/monitor",
|
|
||||||
afterLoginRedirectLink: '/my-dashboards',
|
afterLoginRedirectLink: '/my-dashboards',
|
||||||
searchLinkToResult: "/search/result?id=",
|
|
||||||
searchLinkToPublication: "/search/publication?articleId=",
|
|
||||||
searchLinkToProject: "/search/project?projectId=",
|
|
||||||
searchLinkToDataProvider: "/search/dataprovider?datasourceId=",
|
|
||||||
searchLinkToDataset: "/search/dataset?datasetId=",
|
|
||||||
searchLinkToSoftwareLanding: "/search/software?softwareId=",
|
|
||||||
searchLinkToOrganization: "/search/organization?organizationId=",
|
|
||||||
searchLinkToOrp: "/search/other?orpId=",
|
|
||||||
searchLinkToStakeholders: "/browse",
|
|
||||||
searchLinkToResults: "/search/find/research-outcomes",
|
|
||||||
searchLinkToDataProviders: "/search/find/dataproviders",
|
|
||||||
searchLinkToProjects: "/search/find/projects",
|
|
||||||
searchLinkToOrganizations: "/search/find/organizations",
|
|
||||||
searchLinkToCompatibleDataProviders: "/search/content-providers",
|
|
||||||
searchLinkToEntityRegistriesDataProviders: "/search/entity-registries",
|
|
||||||
searchLinkToJournals: "/search/journals",
|
|
||||||
searchLinkToAdvancedResults: "/search/advanced/research-outcomes",
|
|
||||||
searchLinkToAdvancedProjects: "/search/advanced/projects",
|
|
||||||
searchLinkToAdvancedDataProviders: "/search/advanced/dataproviders",
|
|
||||||
searchLinkToAdvancedOrganizations: "/search/advanced/organizations",
|
|
||||||
errorLink: '/error',
|
|
||||||
lastIndexInformationLink: "https://beta.openaire.eu/aggregation-and-content-provision-workflows",
|
|
||||||
showLastIndexInformationLink: true,
|
|
||||||
widgetLink: "https://beta.openaire.eu/index.php?option=com_openaire&view=widget&format=raw&projectId=",
|
|
||||||
claimsInformationLink: "https://beta.openaire.eu/linking",
|
|
||||||
depositLearnHowPage: "/participate/deposit/learn-how",
|
|
||||||
depositSearchPage: "/participate/deposit/search",
|
|
||||||
shareInZenodoPage: "/participate/deposit/zenodo",
|
|
||||||
reCaptchaSiteKey: "6LcVtFIUAAAAAB2ac6xYivHxYXKoUvYRPi-6_rLu",
|
|
||||||
admins: ["kostis30fylloy@gmail.com"],
|
|
||||||
lastIndexUpdate: "2019-05-16",
|
|
||||||
indexInfoAPI: "https://beta.services.openaire.eu/openaire/info/",
|
|
||||||
altMetricsAPIURL: "https://api.altmetric.com/v1/doi/",
|
|
||||||
b2noteAPIURL: "http://b2note-dev.bsc.es/",
|
|
||||||
footerGrantText: "OpenAIRE has received funding from the European Union's Horizon 2020 research and innovation programme under grant agreements No. 777541 and 101017452"
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
export let properties: EnvProperties = {
|
||||||
|
...common, ...commonDev, ...props
|
||||||
|
}
|
||||||
|
|
|
@ -12,4 +12,4 @@ if (properties.environment !== "development") {
|
||||||
}
|
}
|
||||||
|
|
||||||
export {AppServerModule} from './app/app.server.module';
|
export {AppServerModule} from './app/app.server.module';
|
||||||
export {renderModule} from '@angular/platform-server';
|
|
||||||
|
|
|
@ -7,8 +7,6 @@ import {
|
||||||
platformBrowserDynamicTesting
|
platformBrowserDynamicTesting
|
||||||
} from '@angular/platform-browser-dynamic/testing';
|
} from '@angular/platform-browser-dynamic/testing';
|
||||||
|
|
||||||
declare const require: any;
|
|
||||||
|
|
||||||
// First, initialize the Angular testing environment.
|
// First, initialize the Angular testing environment.
|
||||||
getTestBed().initTestEnvironment(
|
getTestBed().initTestEnvironment(
|
||||||
BrowserDynamicTestingModule,
|
BrowserDynamicTestingModule,
|
||||||
|
@ -16,7 +14,3 @@ getTestBed().initTestEnvironment(
|
||||||
teardown: { destroyAfterEach: false }
|
teardown: { destroyAfterEach: false }
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
// Then we find all the tests.
|
|
||||||
const context = require.context('./', true, /\.spec\.ts$/);
|
|
||||||
// And load the modules.
|
|
||||||
context.keys().map(context);
|
|
||||||
|
|
|
@ -2,7 +2,6 @@
|
||||||
"extends": "./tsconfig.app.json",
|
"extends": "./tsconfig.app.json",
|
||||||
"compilerOptions": {
|
"compilerOptions": {
|
||||||
"outDir": "../out-tsc/app-server",
|
"outDir": "../out-tsc/app-server",
|
||||||
"target": "es2016",
|
|
||||||
"types": [
|
"types": [
|
||||||
"node"
|
"node"
|
||||||
]
|
]
|
||||||
|
|
|
@ -10,13 +10,14 @@
|
||||||
"moduleResolution": "node",
|
"moduleResolution": "node",
|
||||||
"experimentalDecorators": true,
|
"experimentalDecorators": true,
|
||||||
"importHelpers": true,
|
"importHelpers": true,
|
||||||
"target": "es2020",
|
"target": "ES2022",
|
||||||
"typeRoots": [
|
"typeRoots": [
|
||||||
"node_modules/@types"
|
"node_modules/@types"
|
||||||
],
|
],
|
||||||
"lib": [
|
"lib": [
|
||||||
"es2018",
|
"es2018",
|
||||||
"dom"
|
"dom"
|
||||||
]
|
],
|
||||||
|
"useDefineForClassFields": false
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue