Compare commits
No commits in common. "master" and "production-release-april-2023" have entirely different histories.
master
...
production
|
@ -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 16.2.4.
|
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.
|
||||||
|
|
||||||
## Install packages
|
## Install packages
|
||||||
|
|
||||||
|
|
13
angular.json
13
angular.json
|
@ -210,16 +210,13 @@
|
||||||
"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",
|
||||||
|
@ -230,8 +227,7 @@
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"sourceMap": false,
|
"sourceMap": false,
|
||||||
"optimization": true,
|
"optimization": true
|
||||||
"buildOptimizer": true
|
|
||||||
},
|
},
|
||||||
"production": {
|
"production": {
|
||||||
"outputHashing": "media",
|
"outputHashing": "media",
|
||||||
|
@ -242,8 +238,7 @@
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"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": "1.0.4",
|
"version": "0.0.0",
|
||||||
"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": "^16.1.8",
|
"@angular/animations": "^14.2.3",
|
||||||
"@angular/cdk": "^16.1.7",
|
"@angular/cdk": "^14.2.2",
|
||||||
"@angular/common": "^16.1.8",
|
"@angular/common": "^14.2.3",
|
||||||
"@angular/compiler": "^16.1.8",
|
"@angular/compiler": "^14.2.3",
|
||||||
"@angular/core": "^16.1.8",
|
"@angular/core": "^14.2.3",
|
||||||
"@angular/forms": "^16.1.8",
|
"@angular/forms": "^14.2.3",
|
||||||
"@angular/localize": "^16.1.8",
|
"@angular/localize": "^14.2.3",
|
||||||
"@angular/material": "^16.1.7",
|
"@angular/material": "^14.2.2",
|
||||||
"@angular/platform-browser": "^16.1.8",
|
"@angular/platform-browser": "^14.2.3",
|
||||||
"@angular/platform-browser-dynamic": "^16.1.8",
|
"@angular/platform-browser-dynamic": "^14.2.3",
|
||||||
"@angular/platform-server": "^16.1.8",
|
"@angular/platform-server": "^14.2.3",
|
||||||
"@angular/router": "^16.1.8",
|
"@angular/router": "^14.2.3",
|
||||||
"@nguniversal/express-engine": "^16.1.1",
|
"@nguniversal/express-engine": "^14.2.0",
|
||||||
"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": "^12.0.2",
|
"ng-recaptcha": "^10.0.0",
|
||||||
"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.16.24",
|
"uikit": "3.12.2",
|
||||||
"zone.js": "~0.13.1"
|
"zone.js": "~0.11.4"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@angular-devkit/build-angular": "^16.1.7",
|
"@angular-devkit/build-angular": "^14.2.3",
|
||||||
"@angular/cli": "^16.1.7",
|
"@angular/cli": "^14.2.3",
|
||||||
"@angular/compiler-cli": "^16.1.8",
|
"@angular/compiler-cli": "^14.2.3",
|
||||||
"@angular/language-service": "^16.1.8",
|
"@angular/language-service": "^14.2.3",
|
||||||
"@nguniversal/builders": "^16.1.1",
|
"@nguniversal/builders": "^14.2.0",
|
||||||
"@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": "^16.18.50",
|
"@types/node": "^12.11.1",
|
||||||
"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.9.5"
|
"typescript": "~4.6.4"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,7 +2,8 @@ import {CommonModule} from "@angular/common";
|
||||||
import {NgModule} from "@angular/core";
|
import {NgModule} from "@angular/core";
|
||||||
import {RouterModule} from "@angular/router";
|
import {RouterModule} from "@angular/router";
|
||||||
import {PreviousRouteRecorder} from "../openaireLibrary/utils/piwik/previousRouteRecorder.guard";
|
import {PreviousRouteRecorder} from "../openaireLibrary/utils/piwik/previousRouteRecorder.guard";
|
||||||
import {AboutComponent} from "./about.component";
|
import {HowItWorksComponent} from "./how-it-works.component";
|
||||||
|
import {FaqsComponent} from "./faqs.component";
|
||||||
import {BreadcrumbsModule} from "../openaireLibrary/utils/breadcrumbs/breadcrumbs.module";
|
import {BreadcrumbsModule} from "../openaireLibrary/utils/breadcrumbs/breadcrumbs.module";
|
||||||
import {PiwikService} from "../openaireLibrary/utils/piwik/piwik.service";
|
import {PiwikService} from "../openaireLibrary/utils/piwik/piwik.service";
|
||||||
import {SliderTabsModule} from "../openaireLibrary/sharedComponents/tabs/slider-tabs.module";
|
import {SliderTabsModule} from "../openaireLibrary/sharedComponents/tabs/slider-tabs.module";
|
||||||
|
@ -10,23 +11,25 @@ import {HelperModule} from "../openaireLibrary/utils/helper/helper.module";
|
||||||
import {YouWeComponent} from "./you-we.component";
|
import {YouWeComponent} from "./you-we.component";
|
||||||
|
|
||||||
@NgModule({
|
@NgModule({
|
||||||
declarations: [AboutComponent, YouWeComponent],
|
declarations: [HowItWorksComponent, FaqsComponent, YouWeComponent],
|
||||||
imports: [CommonModule, RouterModule.forChild([
|
imports: [CommonModule, RouterModule.forChild([
|
||||||
{
|
{
|
||||||
path: '',
|
path: '',
|
||||||
component: AboutComponent,
|
redirectTo: 'how-it-works',
|
||||||
data: {extraOffset: 50}
|
canDeactivate: [PreviousRouteRecorder],
|
||||||
|
pathMatch: 'full'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: 'how-it-works',
|
path: 'how-it-works',
|
||||||
redirectTo: '/about'
|
component: HowItWorksComponent,
|
||||||
|
data: {extraOffset: 50}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: 'faqs',
|
path: 'faqs',
|
||||||
redirectTo: '/support'
|
component: FaqsComponent
|
||||||
}
|
},
|
||||||
]), BreadcrumbsModule, SliderTabsModule, HelperModule],
|
]), BreadcrumbsModule, SliderTabsModule, HelperModule],
|
||||||
exports: [AboutComponent],
|
exports: [HowItWorksComponent, FaqsComponent],
|
||||||
providers: [PreviousRouteRecorder, PiwikService]
|
providers: [PreviousRouteRecorder, PiwikService]
|
||||||
})
|
})
|
||||||
export class AboutModule {}
|
export class AboutModule {}
|
||||||
|
|
|
@ -0,0 +1,25 @@
|
||||||
|
<div class="uk-visible@m">
|
||||||
|
<div class="uk-background-muted">
|
||||||
|
<div class="uk-container uk-container-large uk-section uk-section-small">
|
||||||
|
<div class="uk-padding-small uk-padding-remove-horizontal">
|
||||||
|
<breadcrumbs [breadcrumbs]="breadcrumbs"></breadcrumbs>
|
||||||
|
</div>
|
||||||
|
<div class="uk-text-center" uk-scrollspy-class>
|
||||||
|
<h1 class="uk-margin-medium-top uk-margin-medium-bottom">Frequently Asked <br> Questions<span
|
||||||
|
class="uk-text-primary">.</span></h1>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<helper *ngIf="pageContents" [texts]="pageContents.top"></helper>
|
||||||
|
</div>
|
||||||
|
<div class="uk-hidden@m">
|
||||||
|
<div class="uk-background-muted">
|
||||||
|
<div class="uk-container uk-container-large">
|
||||||
|
<div class="uk-text-center" uk-scrollspy-class>
|
||||||
|
<h1 class="uk-margin-medium-top uk-margin-medium-bottom">Frequently Asked <br> Questions<span
|
||||||
|
class="uk-text-primary">.</span></h1>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<helper *ngIf="pageContents" [texts]="pageContents.top"></helper>
|
||||||
|
</div>
|
|
@ -10,18 +10,17 @@ import {Subscriber} from "rxjs";
|
||||||
import {Breadcrumb} from '../openaireLibrary/utils/breadcrumbs/breadcrumbs.component';
|
import {Breadcrumb} from '../openaireLibrary/utils/breadcrumbs/breadcrumbs.component';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'support',
|
selector: 'faqs',
|
||||||
templateUrl: 'support.component.html',
|
templateUrl: 'faqs.component.html'
|
||||||
styleUrls: ['support.component.less']
|
|
||||||
})
|
})
|
||||||
export class SupportComponent {
|
export class FaqsComponent {
|
||||||
public pageContents = null;
|
public pageContents = null;
|
||||||
public divContents = null;
|
public divContents = null;
|
||||||
|
|
||||||
public url: string = null;
|
public url: string = null;
|
||||||
public pageTitle: string = "OpenAIRE - Monitor | Support";
|
public pageTitle: string = "OpenAIRE - Monitor | FAQs";
|
||||||
public description: string = "OpenAIRE - Monitor | Support";
|
public description: string = "OpenAIRE - Monitor | FAQs";
|
||||||
public breadcrumbs: Breadcrumb[] = [{name: 'home', route: '/'}, {name: 'Support'}];
|
public breadcrumbs: Breadcrumb[] = [{name: 'home', route: '/'}, {name: 'FAQs'}];
|
||||||
public properties: EnvProperties = properties;
|
public properties: EnvProperties = properties;
|
||||||
subscriptions = [];
|
subscriptions = [];
|
||||||
|
|
||||||
|
@ -36,7 +35,9 @@ export class SupportComponent {
|
||||||
}
|
}
|
||||||
|
|
||||||
public ngOnInit() {
|
public ngOnInit() {
|
||||||
this.subscriptions.push(this._piwikService.trackView(this.properties, this.pageTitle).subscribe());
|
if (this.properties.enablePiwikTrack && (typeof document !== 'undefined')) {
|
||||||
|
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);
|
|
@ -9,10 +9,9 @@ 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: 'how-it-works',
|
||||||
template: `
|
template: `
|
||||||
<div class="uk-visible@m">
|
<div class="uk-visible@m">
|
||||||
<div class="uk-position-relative">
|
<div class="uk-position-relative">
|
||||||
|
@ -102,7 +101,7 @@ import {LayoutService} from "../openaireLibrary/dashboard/sharedComponents/sideb
|
||||||
<div class="uk-card-body uk-margin-large-bottom">
|
<div class="uk-card-body uk-margin-large-bottom">
|
||||||
<span class="uk-text-primary">Step 1b</span>
|
<span class="uk-text-primary">Step 1b</span>
|
||||||
<p class="uk-text-large uk-margin-xsmall-top">We ingest your project metadata and mine the <a
|
<p class="uk-text-large uk-margin-xsmall-top">We ingest your project metadata and mine the <a
|
||||||
href="https://graph.openaire.eu" target="_blank" class="text-graph">OpenAIRE Graph</a>.
|
href="https://graph.openaire.eu" target="_blank" class="text-graph">OpenAIRE Research Graph</a>.
|
||||||
</p>
|
</p>
|
||||||
<p>We infer links to research results: publications, datasets, software, etc.</p>
|
<p>We infer links to research results: publications, datasets, software, etc.</p>
|
||||||
</div>
|
</div>
|
||||||
|
@ -187,7 +186,7 @@ import {LayoutService} from "../openaireLibrary/dashboard/sharedComponents/sideb
|
||||||
<span class="uk-text-primary">Step 1b</span>
|
<span class="uk-text-primary">Step 1b</span>
|
||||||
<p class="uk-text-large uk-margin-xsmall-top">We set up an administration dashboard that you can use
|
<p class="uk-text-large uk-margin-xsmall-top">We set up an administration dashboard that you can use
|
||||||
to specify which research products of the <a href="https://graph.openaire.eu" target="_blank"
|
to specify which research products of the <a href="https://graph.openaire.eu" target="_blank"
|
||||||
class="text-graph">OpenAIRE Graph</a> are
|
class="text-graph">OpenAIRE Research Graph</a> are
|
||||||
relevant for you.</p>
|
relevant for you.</p>
|
||||||
<p>If needed, we develop a customized full-text mining algorithm to identify your publications.</p>
|
<p>If needed, we develop a customized full-text mining algorithm to identify your publications.</p>
|
||||||
</div>
|
</div>
|
||||||
|
@ -269,8 +268,9 @@ import {LayoutService} from "../openaireLibrary/dashboard/sharedComponents/sideb
|
||||||
<div class="uk-card uk-card-default uk-position-relative uk-overflow-hidden uk-margin-large-bottom">
|
<div class="uk-card uk-card-default uk-position-relative uk-overflow-hidden uk-margin-large-bottom">
|
||||||
<div class="uk-card-body uk-margin-large-bottom">
|
<div class="uk-card-body uk-margin-large-bottom">
|
||||||
<span class="uk-text-primary">Step 1b</span>
|
<span class="uk-text-primary">Step 1b</span>
|
||||||
<p class="uk-text-large uk-margin-xsmall-top">Starting from the
|
<p class="uk-text-large uk-margin-xsmall-top">Starting from the <a href="https://graph.openaire.eu"
|
||||||
<a href="https://graph.openaire.eu" target="_blank" class="text-graph">OpenAIRE Graph</a> we check for existing data for your institution.</p>
|
target="_blank" class="text-graph">OpenAIRE
|
||||||
|
Research Graph</a> we check for existing data for your institution.</p>
|
||||||
<p>We infer links to research results: publications, datasets, software, etc.</p>
|
<p>We infer links to research results: publications, datasets, software, etc.</p>
|
||||||
</div>
|
</div>
|
||||||
<img class="uk-width-xsmall uk-position-bottom-right" src="assets/monitor-assets/about/icon2.svg">
|
<img class="uk-width-xsmall uk-position-bottom-right" src="assets/monitor-assets/about/icon2.svg">
|
||||||
|
@ -351,7 +351,7 @@ import {LayoutService} from "../openaireLibrary/dashboard/sharedComponents/sideb
|
||||||
<div class="uk-margin-large-top">
|
<div class="uk-margin-large-top">
|
||||||
<span class="uk-text-primary">Step 1b</span>
|
<span class="uk-text-primary">Step 1b</span>
|
||||||
<h5 class="uk-margin-xsmall-top">We ingest your project metadata and mine the <a
|
<h5 class="uk-margin-xsmall-top">We ingest your project metadata and mine the <a
|
||||||
href="https://graph.openaire.eu" target="_blank" class="text-graph">OpenAIRE Graph</a>.
|
href="https://graph.openaire.eu" target="_blank" class="text-graph">OpenAIRE Research Graph</a>.
|
||||||
</h5>
|
</h5>
|
||||||
<p>We infer links to research results: publications, datasets, software, etc.</p>
|
<p>We infer links to research results: publications, datasets, software, etc.</p>
|
||||||
</div>
|
</div>
|
||||||
|
@ -433,7 +433,7 @@ import {LayoutService} from "../openaireLibrary/dashboard/sharedComponents/sideb
|
||||||
<span class="uk-text-primary">Step 1b</span>
|
<span class="uk-text-primary">Step 1b</span>
|
||||||
<h5 class="uk-margin-xsmall-top">We set up an administration dashboard that you can use
|
<h5 class="uk-margin-xsmall-top">We set up an administration dashboard that you can use
|
||||||
to specify which research products of the <a href="https://graph.openaire.eu" target="_blank"
|
to specify which research products of the <a href="https://graph.openaire.eu" target="_blank"
|
||||||
class="text-graph">OpenAIRE Graph</a> are
|
class="text-graph">OpenAIRE Research Graph</a> are
|
||||||
relevant for you.</h5>
|
relevant for you.</h5>
|
||||||
<p>If needed, we develop a customized full-text mining algorithm to identify your publications.</p>
|
<p>If needed, we develop a customized full-text mining algorithm to identify your publications.</p>
|
||||||
</div>
|
</div>
|
||||||
|
@ -584,15 +584,21 @@ import {LayoutService} from "../openaireLibrary/dashboard/sharedComponents/sideb
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
`,
|
`,
|
||||||
styleUrls: ['about.component.less']
|
styles: [`
|
||||||
|
.custom-translate-bottom-left {
|
||||||
|
transform: translate(-20%, 20%);
|
||||||
|
}
|
||||||
|
`]
|
||||||
})
|
})
|
||||||
export class AboutComponent {
|
export class HowItWorksComponent {
|
||||||
|
|
||||||
public url: string = null;
|
public url: string = null;
|
||||||
public pageTitle: string = "OpenAIRE - Monitor | About";
|
public pageTitle: string = "OpenAIRE - Monitor | How it works";
|
||||||
public description: string = "OpenAIRE - Monitor | About - How it works";
|
public description: string = "OpenAIRE - Monitor | How it works";
|
||||||
public breadcrumbs: Breadcrumb[] = [{name: 'home', route: '/'}, {name: 'About'}];
|
public breadcrumbs: Breadcrumb[] = [{name: 'home', route: '/'}, {name: 'About - How it works'}];
|
||||||
public properties: EnvProperties = properties;
|
public properties: EnvProperties = properties;
|
||||||
public sections: string[] = [StakeholderEntities.FUNDERS, StakeholderEntities.RIS, StakeholderEntities.ORGANIZATIONS];
|
public sections: string[] = [StakeholderEntities.FUNDERS, StakeholderEntities.RIS, StakeholderEntities.ORGANIZATIONS];
|
||||||
|
public activeSection: string = StakeholderEntities.FUNDERS;
|
||||||
public offset: number;
|
public offset: number;
|
||||||
public stakeholderEntities = StakeholderEntities;
|
public stakeholderEntities = StakeholderEntities;
|
||||||
public shouldSticky: boolean = true;
|
public shouldSticky: boolean = true;
|
||||||
|
@ -604,13 +610,14 @@ 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() {
|
||||||
this.subscriptions.push(this._piwikService.trackView(this.properties, this.pageTitle).subscribe());
|
if (this.properties.enablePiwikTrack && (typeof document !== 'undefined')) {
|
||||||
|
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);
|
||||||
|
@ -619,14 +626,10 @@ 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,6 +641,20 @@ 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
|
||||||
[ngClass]="titleClass">{{type}}?</span></h2>
|
class="uk-text-primary">{{type}}?</span></h2>
|
||||||
</div>
|
</div>
|
||||||
<div [id]="'sticky-' + id" #sticky class="uk-sticky uk-visible@l" [ngClass]="isSticky?backgroundClass:null"
|
<div [id]="'sticky-' + id" #sticky class="uk-background-default uk-blur-background uk-sticky uk-visible@l"
|
||||||
uk-sticky="animation: uk-animation-slide-bottom" [attr.end]="'#' + id"
|
uk-sticky="animation: uk-animation-slide-bottom" [attr.bottom]="'#' + id"
|
||||||
[attr.start]="'100vh -' + height + 'px'" [attr.offset]="offset">
|
[attr.top]="'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,10 +60,6 @@ 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,21 +3,12 @@ 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), data: {hasStickyHeaderOnMobile: true}},
|
{path: '', loadChildren: () => import('./home/home.module').then(m => m.HomeModule)},
|
||||||
{path: 'about/learn-how', redirectTo: 'about', pathMatch: 'full'},
|
{path: 'about/learn-how', redirectTo: 'about', pathMatch: 'full'},
|
||||||
{
|
{
|
||||||
path: 'about',
|
path: 'about',
|
||||||
loadChildren: () => import('./about/about.module').then(m => m.AboutModule)
|
loadChildren: () => import('./about/about.module').then(m => m.AboutModule)
|
||||||
},
|
},
|
||||||
{
|
|
||||||
path: 'subscriptions',
|
|
||||||
loadChildren: () => import('./subscriptions/subscriptions.module').then(m => m.SubscriptionsModule)
|
|
||||||
},
|
|
||||||
{
|
|
||||||
path: 'support',
|
|
||||||
loadChildren: () => import('./support/support.module').then(m => m.SupportModule),
|
|
||||||
data: {hasStickyHeaderOnMobile: true}
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
path: 'methodology',
|
path: 'methodology',
|
||||||
loadChildren: () => import('./openaireLibrary/monitor/methodology/methodology.module').then(m => m.MethodologyModule)
|
loadChildren: () => import('./openaireLibrary/monitor/methodology/methodology.module').then(m => m.MethodologyModule)
|
||||||
|
@ -32,8 +23,7 @@ const routes: Routes = [
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: 'contact-us',
|
path: 'contact-us',
|
||||||
loadChildren: () => import('./contact/contact.module').then(m => m.ContactModule),
|
loadChildren: () => import('./contact/contact.module').then(m => m.ContactModule)
|
||||||
data: {hasQuickContact: false}
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: 'get-started',
|
path: 'get-started',
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
import {ChangeDetectorRef, Component, ElementRef, ViewChild} from '@angular/core';
|
import {Component, ElementRef, ViewChild} from '@angular/core';
|
||||||
import {ActivatedRoute, NavigationEnd, Router} from '@angular/router';
|
import {ActivatedRoute, NavigationEnd, Router} from '@angular/router';
|
||||||
|
|
||||||
import {EnvProperties} from './openaireLibrary/utils/properties/env-properties';
|
import {EnvProperties} from './openaireLibrary/utils/properties/env-properties';
|
||||||
|
@ -21,23 +21,17 @@ import {QuickContactComponent} from "./openaireLibrary/sharedComponents/quick-co
|
||||||
import {AlertModal} from "./openaireLibrary/utils/modal/alert";
|
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 {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>
|
||||||
<div *ngIf="divContents && divContents['banner']" class="uk-tile uk-tile-default uk-padding uk-border-bottom">
|
<navbar *ngIf="properties && showMenu && header" portal="monitor" [header]="header" [onlyTop]="false"
|
||||||
<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" (click)="navbar.closeCanvas()">Get Started</a>
|
<a class="uk-button uk-button-primary uk-text-uppercase" routerLink="/get-started">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>
|
||||||
|
@ -66,8 +60,7 @@ import {HelperService} from "./openaireLibrary/utils/helper/helper.service";
|
||||||
</cookie-law>
|
</cookie-law>
|
||||||
<bottom #bottom *ngIf="properties && showMenu" id="bottom" [grantAdvance]="false"
|
<bottom #bottom *ngIf="properties && showMenu" id="bottom" [grantAdvance]="false"
|
||||||
[properties]="properties"></bottom>
|
[properties]="properties"></bottom>
|
||||||
<quick-contact #quickContact *ngIf="bottomNotIntersecting && displayQuickContact && showQuickContact && contactForm"
|
<quick-contact #quickContact *ngIf="showQuickContact && contactForm" (sendEmitter)="send($event)"
|
||||||
(sendEmitter)="send($event)"
|
|
||||||
[contactForm]="contactForm" [sending]="sending" [images]="images" [contact]="'Help'"
|
[contactForm]="contactForm" [sending]="sending" [images]="images" [contact]="'Help'"
|
||||||
[organizationTypes]="organizationTypes"
|
[organizationTypes]="organizationTypes"
|
||||||
class="uk-visible@m"></quick-contact>
|
class="uk-visible@m"></quick-contact>
|
||||||
|
@ -87,8 +80,6 @@ export class AppComponent {
|
||||||
logoPath: string = 'assets/common-assets/logo-services/monitor/';
|
logoPath: string = 'assets/common-assets/logo-services/monitor/';
|
||||||
/* Contact */
|
/* Contact */
|
||||||
public showQuickContact: boolean;
|
public showQuickContact: boolean;
|
||||||
public bottomNotIntersecting: boolean;
|
|
||||||
public displayQuickContact: boolean; // intersecting with specific section in home page
|
|
||||||
public showGetStarted: boolean = true;
|
public showGetStarted: boolean = true;
|
||||||
public contactForm: UntypedFormGroup;
|
public contactForm: UntypedFormGroup;
|
||||||
public organizationTypes: string[] = [
|
public organizationTypes: string[] = [
|
||||||
|
@ -104,28 +95,28 @@ 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 configurationService: ConfigurationService,
|
constructor(private route: ActivatedRoute, private propertiesService: EnvironmentSpecificService,
|
||||||
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,
|
||||||
private layoutService: LayoutService,
|
|
||||||
private fb: UntypedFormBuilder,
|
private fb: UntypedFormBuilder,
|
||||||
private emailService: EmailService,
|
private emailService: EmailService,
|
||||||
private resourcesService: ResourcesService,
|
private resourcesService: ResourcesService) {
|
||||||
private helper: HelperService,
|
this.subscriptions.push(router.events.forEach((event) => {
|
||||||
private cdr: ChangeDetectorRef) {
|
|
||||||
this.subscriptions.push(this.router.events.forEach((event) => {
|
|
||||||
if (event instanceof NavigationEnd) {
|
if (event instanceof NavigationEnd) {
|
||||||
|
if (event.url === '/contact-us') {
|
||||||
|
this.quickContactService.setDisplay(false);
|
||||||
|
} else if (event.url !== '/contact-us' && !this.showQuickContact) {
|
||||||
|
this.quickContactService.setDisplay(true);
|
||||||
|
}
|
||||||
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;
|
||||||
|
@ -143,17 +134,8 @@ export class AppComponent {
|
||||||
this.buildMenu();
|
this.buildMenu();
|
||||||
this.reset();
|
this.reset();
|
||||||
}));
|
}));
|
||||||
this.subscriptions.push(this.layoutService.hasQuickContact.subscribe(hasQuickContact => {
|
|
||||||
if(this.showQuickContact !== hasQuickContact) {
|
|
||||||
this.showQuickContact = hasQuickContact;
|
|
||||||
this.cdr.detectChanges();
|
|
||||||
}
|
|
||||||
}));
|
|
||||||
this.subscriptions.push(this.quickContactService.isDisplayed.subscribe(display => {
|
this.subscriptions.push(this.quickContactService.isDisplayed.subscribe(display => {
|
||||||
if(this.displayQuickContact !== display) {
|
this.showQuickContact = display;
|
||||||
this.displayQuickContact = display;
|
|
||||||
this.cdr.detectChanges();
|
|
||||||
}
|
|
||||||
}));
|
}));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -163,26 +145,25 @@ export class AppComponent {
|
||||||
rootMargin: '0px',
|
rootMargin: '0px',
|
||||||
threshold: 0.1
|
threshold: 0.1
|
||||||
};
|
};
|
||||||
|
let intersectionObserver = new IntersectionObserver(entries => {
|
||||||
let intersectionObserver = new IntersectionObserver(entries => {
|
entries.forEach(entry => {
|
||||||
entries.forEach(entry => {
|
if (entry.isIntersecting && this.showQuickContact) {
|
||||||
// if (entry.isIntersecting && this.showQuickContact) {
|
this.showQuickContact = false;
|
||||||
if(this.bottomNotIntersecting !== (!entry.isIntersecting)) {
|
this.quickContactService.setDisplay(this.showQuickContact);
|
||||||
this.bottomNotIntersecting = !entry.isIntersecting;
|
} else if (!entry.isIntersecting && !this.showQuickContact) {
|
||||||
this.cdr.detectChanges();
|
this.showQuickContact = true;
|
||||||
|
this.quickContactService.setDisplay(this.showQuickContact);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}, options);
|
}, options);
|
||||||
intersectionObserver.observe(this.bottom.nativeElement);
|
intersectionObserver.observe(this.bottom.nativeElement);
|
||||||
this.subscriptions.push(intersectionObserver);
|
this.subscriptions.push(intersectionObserver);
|
||||||
}
|
}
|
||||||
|
|
||||||
public ngOnDestroy() {
|
public ngOnDestroy() {
|
||||||
this.subscriptions.forEach(value => {
|
this.subscriptions.forEach(value => {
|
||||||
if (value instanceof Subscriber) {
|
if (value instanceof Subscriber) {
|
||||||
value.unsubscribe();
|
value.unsubscribe();
|
||||||
} else if (typeof IntersectionObserver !== "undefined" && value instanceof IntersectionObserver) {
|
|
||||||
value.disconnect();
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
this.userManagementService.clearSubscriptions();
|
this.userManagementService.clearSubscriptions();
|
||||||
|
@ -190,12 +171,6 @@ 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(
|
||||||
|
@ -205,17 +180,18 @@ export class AppComponent {
|
||||||
new MenuItem("stakeholders", "Browse " + this.stakeholderEntities.STAKEHOLDERS, "", "/browse", false, [], null, {})
|
new MenuItem("stakeholders", "Browse " + this.stakeholderEntities.STAKEHOLDERS, "", "/browse", false, [], null, {})
|
||||||
);
|
);
|
||||||
this.resourcesService.setResources(this.menuItems);
|
this.resourcesService.setResources(this.menuItems);
|
||||||
this.menuItems.push(new MenuItem("support", "Support", "", "/support", false, [], null, {}));
|
let about = new MenuItem("about", "About", "", "", false, [], null, {});
|
||||||
this.menuItems.push(new MenuItem("about", "About", "", "/about", false, [], null, {}));
|
about.items = [
|
||||||
|
new MenuItem("how-it-works", "How it works", "", "/about/how-it-works", false, [], null, {}),
|
||||||
|
new MenuItem("faqs", "FAQs", "", "/about/faqs", false, [], null, {})
|
||||||
|
]
|
||||||
|
this.menuItems.push(about);
|
||||||
this.bottomMenuItems = [
|
this.bottomMenuItems = [
|
||||||
new MenuItem("", "About", "https://beta.openaire.eu/project-factsheets", "", false, [], [], {}),
|
new MenuItem("", "About", "https://beta.openaire.eu/project-factsheets", "", false, [], [], {}),
|
||||||
new MenuItem("", "News - Events", "https://beta.openaire.eu/news-events", "", false, [], [], {}),
|
new MenuItem("", "News - Events", "https://beta.openaire.eu/news-events", "", false, [], [], {}),
|
||||||
new MenuItem("", "Blog", "https://blogs.openaire.eu/", "", false, [], [], {}),
|
new MenuItem("", "Blog", "https://blogs.openaire.eu/", "", false, [], [], {}),
|
||||||
new MenuItem("", "Contact us", "https://beta.openaire.eu/contact-us", "", false, [], [], {})
|
new MenuItem("", "Contact us", "https://beta.openaire.eu/contact-us", "", false, [], [], {})
|
||||||
];
|
];
|
||||||
this.menuItems.push(
|
|
||||||
new MenuItem("subscriptions", "Subscriptions", "", "/subscriptions", false, [], null, {}, null, null)
|
|
||||||
);
|
|
||||||
this.menuItems.push(
|
this.menuItems.push(
|
||||||
new MenuItem("contact-us", "Contact us", "", "/contact-us", false, [], null, {}, null, null, "uk-hidden@m")
|
new MenuItem("contact-us", "Contact us", "", "/contact-us", false, [], null, {}, null, null, "uk-hidden@m")
|
||||||
);
|
);
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
import {APP_ID, NgModule} from '@angular/core';
|
import {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} from '@angular/platform-browser';
|
import {BrowserModule, BrowserTransferStateModule} 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,7 +20,6 @@ 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({
|
||||||
|
|
||||||
|
@ -35,17 +34,16 @@ import {HelperModule} from "./openaireLibrary/utils/helper/helper.module";
|
||||||
QuickContactModule,
|
QuickContactModule,
|
||||||
BottomModule,
|
BottomModule,
|
||||||
CookieLawModule,
|
CookieLawModule,
|
||||||
BrowserModule,
|
BrowserTransferStateModule,
|
||||||
|
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} from '@angular/platform-server';
|
import {ServerModule, ServerTransferStateModule} 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,7 +7,8 @@ import { AppComponent } from './app.component';
|
||||||
@NgModule({
|
@NgModule({
|
||||||
imports: [
|
imports: [
|
||||||
AppModule,
|
AppModule,
|
||||||
ServerModule
|
ServerModule,
|
||||||
|
ServerTransferStateModule
|
||||||
],
|
],
|
||||||
bootstrap: [AppComponent],
|
bootstrap: [AppComponent],
|
||||||
})
|
})
|
||||||
|
|
|
@ -57,7 +57,9 @@ export class ContactComponent implements OnInit {
|
||||||
}
|
}
|
||||||
|
|
||||||
ngOnInit() {
|
ngOnInit() {
|
||||||
this.subscriptions.push(this._piwikService.trackView(this.properties, this.pageTitle).subscribe());
|
if (this.properties.enablePiwikTrack && (typeof document !== 'undefined')) {
|
||||||
|
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/monitor-assets/get-started/steps.svg" loading="lazy">
|
<img src="assets/common-assets/monitor-assets/how/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/monitor-assets/get-started/steps.svg" loading="lazy">
|
<img src="assets/common-assets/monitor-assets/how/steps.svg" loading="lazy">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -60,7 +60,9 @@ export class GetStartedComponent implements OnInit {
|
||||||
}
|
}
|
||||||
|
|
||||||
ngOnInit() {
|
ngOnInit() {
|
||||||
this.subscriptions.push(this._piwikService.trackView(this.properties, this.pageTitle).subscribe());
|
if (this.properties.enablePiwikTrack && (typeof document !== 'undefined')) {
|
||||||
|
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);
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -6,19 +6,12 @@
|
||||||
background-color: @global-inverse-color;
|
background-color: @global-inverse-color;
|
||||||
}
|
}
|
||||||
|
|
||||||
.tablet-section {
|
|
||||||
background-image:linear-gradient(180deg, @global-inverse-color 0%, @global-muted-background 100%);
|
|
||||||
background-repeat: no-repeat;
|
|
||||||
background-position: top;
|
|
||||||
background-size: cover;
|
|
||||||
}
|
|
||||||
|
|
||||||
@media only screen and (min-width: @breakpoint-medium) {
|
@media only screen and (min-width: @breakpoint-medium) {
|
||||||
.tablet-section {
|
.monitor-dark-logo-background {
|
||||||
background-image:url("~src/assets/monitor-assets/home/monitor-dark-logo.svg"), 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: -5% 95%, top;
|
background-position: left 95%;
|
||||||
background-size: 60%, cover;
|
background-size: 65%;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -24,12 +24,7 @@ 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 {
|
import {Stakeholder, StakeholderEntities, StakeholderInfo} from "../openaireLibrary/monitor/entities/stakeholder";
|
||||||
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";
|
||||||
|
@ -39,7 +34,6 @@ 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',
|
||||||
|
@ -50,7 +44,12 @@ 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: any;
|
public stakeholdersSlider: {
|
||||||
|
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;
|
||||||
|
@ -60,22 +59,26 @@ 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 stakeholderUtils: StakeholderUtils = new StakeholderUtils();
|
public stakeholderEntities = StakeholderEntities;
|
||||||
public directLink: boolean = true;
|
public directLink: boolean = true;
|
||||||
public publicationsSize: any = null;
|
public publicationsSize: any = null;
|
||||||
public datasetsSize: any = null;
|
public datasetsSize: any = null;
|
||||||
public softwareSize: any = null;
|
public softwareSize: any = null;
|
||||||
public otherSize: any = null;
|
public otherSize: any = null;
|
||||||
public fundersSize: any = null;
|
public fundersSize: any = null;
|
||||||
|
public showQuickContact: boolean = true;
|
||||||
|
@ViewChild('AlertModal') modal;
|
||||||
private errorMessages: ErrorMessagesComponent;
|
private errorMessages: ErrorMessagesComponent;
|
||||||
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,
|
||||||
|
@ -99,14 +102,15 @@ export class HomeComponent implements OnInit, OnDestroy, AfterViewInit, IDeactiv
|
||||||
this.errorMessages = new ErrorMessagesComponent();
|
this.errorMessages = new ErrorMessagesComponent();
|
||||||
this.status = this.errorCodes.LOADING;
|
this.status = this.errorCodes.LOADING;
|
||||||
this.isServer = isPlatformServer(this.platform);
|
this.isServer = isPlatformServer(this.platform);
|
||||||
this.quickContactService.setDisplay(false);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public ngOnInit() {
|
public ngOnInit() {
|
||||||
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'");
|
||||||
this.subscriptions.push(this._piwikService.trackView(this.properties, "OpenAIRE Monitor").subscribe());
|
if (this.properties.enablePiwikTrack && (typeof document !== 'undefined')) {
|
||||||
|
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;
|
||||||
|
@ -127,7 +131,6 @@ export class HomeComponent implements OnInit, OnDestroy, AfterViewInit, IDeactiv
|
||||||
}
|
}
|
||||||
|
|
||||||
ngOnDestroy() {
|
ngOnDestroy() {
|
||||||
this.quickContactService.setDisplay(true);
|
|
||||||
this.clear();
|
this.clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -158,12 +161,38 @@ export class HomeComponent implements OnInit, OnDestroy, AfterViewInit, IDeactiv
|
||||||
};
|
};
|
||||||
let intersectionObserver = new IntersectionObserver(entries => {
|
let intersectionObserver = new IntersectionObserver(entries => {
|
||||||
entries.forEach(entry => {
|
entries.forEach(entry => {
|
||||||
this.quickContactService.setDisplay(!entry.isIntersecting);
|
if (entry.isIntersecting && this.showQuickContact) {
|
||||||
|
this.showQuickContact = false;
|
||||||
|
this.quickContactService.setDisplay(this.showQuickContact);
|
||||||
|
} else if (!entry.isIntersecting && !this.showQuickContact) {
|
||||||
|
this.showQuickContact = true;
|
||||||
|
this.quickContactService.setDisplay(this.showQuickContact);
|
||||||
|
}
|
||||||
});
|
});
|
||||||
}, options);
|
}, options);
|
||||||
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);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -180,7 +209,7 @@ export class HomeComponent implements OnInit, OnDestroy, AfterViewInit, IDeactiv
|
||||||
}
|
}
|
||||||
|
|
||||||
getNumbers() {
|
getNumbers() {
|
||||||
this.subscriptions.push(this._refineFieldResultsService.getAllRefineFieldResultsByFieldName("funder", "project", this.properties).subscribe(
|
this.subscriptions.push(this._refineFieldResultsService.getRefineFieldsResultsByEntityName(["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);
|
||||||
|
@ -236,20 +265,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() {
|
||||||
this.loading = true;
|
this.loading = true;
|
||||||
this.status = this.errorCodes.LOADING;
|
this.status = this.errorCodes.LOADING;
|
||||||
this.subscriptions.push(this._stakeholderService.getStakeholders().subscribe(
|
this.subscriptions.push(this._stakeholderService.getStakeholders(this.properties.monitorServiceAPIURL).subscribe(
|
||||||
stakeholders => {
|
stakeholders => {
|
||||||
if (!stakeholders || stakeholders.length == 0) {
|
if (!stakeholders || stakeholders.length == 0) {
|
||||||
this.status = this.errorCodes.NONE;
|
this.status = this.errorCodes.NONE;
|
||||||
|
@ -258,11 +281,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 = {
|
||||||
all: this.stakeholderSlider(this.stakeholders)
|
stakeholders: this.stakeholderSlider(this.stakeholders),
|
||||||
}
|
funders: this.stakeholderSlider(this.funders),
|
||||||
this.types.forEach(type => {
|
ris: this.stakeholderSlider(this.ris),
|
||||||
this.stakeholdersSlider[type] = this.stakeholderSlider(this.getStakeholdersByType(type));
|
organizations: this.stakeholderSlider(this.organizations)
|
||||||
});
|
};
|
||||||
}
|
}
|
||||||
this.loading = false;
|
this.loading = false;
|
||||||
},
|
},
|
||||||
|
@ -301,8 +324,28 @@ export class HomeComponent implements OnInit, OnDestroy, AfterViewInit, IDeactiv
|
||||||
return this.stakeholders.filter(stakeholder => stakeholder.visibility !== "PUBLIC");
|
return this.stakeholders.filter(stakeholder => stakeholder.visibility !== "PUBLIC");
|
||||||
}
|
}
|
||||||
|
|
||||||
getStakeholdersByType(type: StakeholderType = null) {
|
get funders(): StakeholderInfo[] {
|
||||||
return this.stakeholders.filter(stakeholder => !type || stakeholder.type === type)
|
if (this.stakeholders) {
|
||||||
|
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,7 +64,9 @@ 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'");
|
||||||
this.subscriptions.push(this._piwikService.trackView(this.properties, "OpenAIRE Connect").subscribe());
|
if (this.properties.enablePiwikTrack && (typeof document !== 'undefined')) {
|
||||||
|
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) {
|
||||||
|
@ -101,9 +103,9 @@ export class MyStakeholdersComponent {
|
||||||
this.status = this.errorCodes.LOADING;
|
this.status = this.errorCodes.LOADING;
|
||||||
this.subscriberErrorMessage = "";
|
this.subscriberErrorMessage = "";
|
||||||
this.stakeholders = [];
|
this.stakeholders = [];
|
||||||
this.subscriptions.push(this.stakeholderService.getMyStakeholders().subscribe(
|
this.subscriptions.push(this.stakeholderService.getMyStakeholders(properties.monitorServiceAPIURL).subscribe(
|
||||||
stakeholders => {
|
stakeholders => {
|
||||||
this.stakeholders = StakeholderInfo.toStakeholderInfo(stakeholders.standalone.concat(stakeholders.umbrella), this.user);
|
this.stakeholders = StakeholderInfo.toStakeholderInfo(stakeholders, this.user);
|
||||||
this.sort(this.stakeholders);
|
this.sort(this.stakeholders);
|
||||||
this.loading = false;
|
this.loading = false;
|
||||||
},
|
},
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
Subproject commit 59cb69736c4efdbdffa790e8da7a0c31171737a6
|
Subproject commit 1d5bfc498c81214fcc9fb208d407a1e950e23f7d
|
|
@ -11,21 +11,20 @@ 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 {StakeholderInfo, StakeholderType} from "../openaireLibrary/monitor/entities/stakeholder";
|
import {StakeholderEntities, StakeholderInfo} 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 {{stakeholderUtils.entities.stakeholders}}"
|
<new-search-page pageTitle="OpenAIRE-Monitor | Browse {{this.stakeholderEntities.STAKEHOLDERS}}"
|
||||||
[hasPrefix]=false
|
[hasPrefix]=false [piwikSiteId]="piwikSiteId"
|
||||||
[formPlaceholderText]="'Search ' + (!isMobile?'OpenAIRE Monitor ':'') +stakeholderUtils.entities.stakeholders"
|
[formPlaceholderText]="'Search ' + (!isMobile?'OpenAIRE Monitor ':'') + this.stakeholderEntities.STAKEHOLDERS"
|
||||||
[type]="(results.length > 1) ? stakeholderUtils.entities.stakeholders:stakeholderUtils.entities.stakeholders"
|
[type]="(results.length > 1) ? this.stakeholderEntities.STAKEHOLDERS:this.stakeholderEntities.STAKEHOLDER"
|
||||||
entityType="stakeholder"
|
entityType="stakeholder"
|
||||||
[results]="results" [searchUtils]="searchUtils"
|
[results]="results" [searchUtils]="searchUtils"
|
||||||
[showResultCount]=true
|
[showResultCount]=true
|
||||||
|
@ -40,11 +39,11 @@ import {StakeholderUtils} from "../openaireLibrary/monitor-admin/utils/indicator
|
||||||
`
|
`
|
||||||
})
|
})
|
||||||
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();
|
||||||
|
@ -66,7 +65,8 @@ export class SearchStakeholdersComponent {
|
||||||
};
|
};
|
||||||
public keyword = "";
|
public keyword = "";
|
||||||
public searchLink;
|
public searchLink;
|
||||||
public breadcrumbs: Breadcrumb[] = [{name: 'home', route: '/'}, {name: 'Browse ' + this.stakeholderUtils.entities.stakeholders}];
|
public stakeholderEntities = StakeholderEntities;
|
||||||
|
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,6 +85,7 @@ 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;
|
||||||
|
@ -101,15 +102,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.initResults(queryParams);
|
this.initFunders(queryParams);
|
||||||
}));
|
}));
|
||||||
} else {
|
} else {
|
||||||
this.initResults(queryParams);
|
this.initFunders(queryParams);
|
||||||
}
|
}
|
||||||
}));
|
}));
|
||||||
this.layoutService.isMobile.subscribe(isMobile => {
|
this.layoutService.isMobile.subscribe(isMobile => {
|
||||||
|
@ -126,19 +127,28 @@ 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 initResults(params) {
|
private initFunders(params) {
|
||||||
if (this.totalResults) {
|
if (this.totalResults) {
|
||||||
this.totalResults = StakeholderInfo.toStakeholderInfo(this.totalResults, this.user);
|
this.parseResults(this.totalResults);
|
||||||
this._getResults(params);
|
this._getResults(params);
|
||||||
} else {
|
} else {
|
||||||
this.subscriptions.push(this._stakeholderService.getStakeholders().subscribe(
|
this.subscriptions.push(this._stakeholderService.getStakeholders(this.properties.monitorServiceAPIURL).subscribe(
|
||||||
data => {
|
data => {
|
||||||
this.totalResults = StakeholderInfo.toStakeholderInfo(data, this.user);
|
this.totalResults = [];
|
||||||
|
this.parseResults(data);
|
||||||
this._getResults(params);
|
this._getResults(params);
|
||||||
},
|
},
|
||||||
err => {
|
err => {
|
||||||
|
@ -422,8 +432,13 @@ export class SearchStakeholdersComponent {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
get types(): StakeholderType[] {
|
private isManager(stakeholder) {
|
||||||
return this.stakeholderUtils.types.map(option => option.value).filter(type => this.totalResults.findIndex(stakeholder => stakeholder.type === type) > -1);
|
return Session.isPortalAdministrator(this.user) || Session.isMonitorCurator(this.user)
|
||||||
|
|| 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);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -437,8 +452,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.types.map(type => this.stakeholderUtils.entities[type + 's']));
|
value_names.push([this.stakeholderEntities.FUNDERS, this.titleCasePipe.transform(this.stakeholderEntities.RIS), this.titleCasePipe.transform(this.stakeholderEntities.ORGANIZATIONS)]);
|
||||||
value_original_ids.push(this.types);
|
value_original_ids.push(["funder", "ri", "organization"]);
|
||||||
filter_names.push("Accessibility");
|
filter_names.push("Accessibility");
|
||||||
filter_ids.push("access");
|
filter_ids.push("access");
|
||||||
if (!this.user) {
|
if (!this.user) {
|
||||||
|
|
|
@ -1,82 +0,0 @@
|
||||||
import {Component} from "@angular/core";
|
|
||||||
import {Router} from '@angular/router';
|
|
||||||
import {Meta, Title} from '@angular/platform-browser';
|
|
||||||
import {PiwikService} from '../openaireLibrary/utils/piwik/piwik.service';
|
|
||||||
import {SEOService} from "../openaireLibrary/sharedComponents/SEO/SEO.service";
|
|
||||||
import {Subscriber} from "rxjs";
|
|
||||||
import {Breadcrumb} from "../openaireLibrary/utils/breadcrumbs/breadcrumbs.component";
|
|
||||||
import {EnvProperties} from "../openaireLibrary/utils/properties/env-properties";
|
|
||||||
import {properties} from "../../environments/environment";
|
|
||||||
import {BaseComponent} from "../openaireLibrary/sharedComponents/base/base.component";
|
|
||||||
import {HelperService} from "../openaireLibrary/utils/helper/helper.service";
|
|
||||||
|
|
||||||
@Component({
|
|
||||||
selector: 'subscriptions',
|
|
||||||
template: `
|
|
||||||
<div>
|
|
||||||
<div class="uk-position-relative">
|
|
||||||
<div class="uk-background-muted">
|
|
||||||
<div class="uk-container uk-container-large uk-section uk-section-small">
|
|
||||||
<div class="uk-padding-small uk-padding-remove-horizontal">
|
|
||||||
<breadcrumbs [breadcrumbs]="breadcrumbs"></breadcrumbs>
|
|
||||||
</div>
|
|
||||||
<div class="uk-flex uk-flex-column uk-flex-center uk-margin-bottom"
|
|
||||||
uk-scrollspy="target: [uk-scrollspy-class]; cls: uk-animation-fade; delay: 250">
|
|
||||||
<h1 class="uk-margin-medium-top" uk-scrollspy-class>Subscriptions<span
|
|
||||||
class="uk-text-primary">.</span></h1>
|
|
||||||
<div uk-scrollspy-class>
|
|
||||||
As demand for our services grows, along with the features included in each of them,
|
|
||||||
traditional sources of funding may not be sufficient. By introducing subscription fees, we
|
|
||||||
can ensure their long-term sustainability; by achieving financial stability we can
|
|
||||||
continue to invest in better resources, technology, and talent, thereby increasing our
|
|
||||||
capacity to deliver impactful programs and services to all interested parties.
|
|
||||||
Subscriptions support immediate operational needs, while at the same time enabling us to
|
|
||||||
scale our efforts and make a greater, more sustainable difference in the communities we
|
|
||||||
serve.
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<helper *ngIf="divContents" [texts]="divContents.plans"></helper>
|
|
||||||
</div>
|
|
||||||
`
|
|
||||||
})
|
|
||||||
export class SubscriptionsComponent extends BaseComponent {
|
|
||||||
public divContents = null;
|
|
||||||
|
|
||||||
public title: string = "OpenAIRE - Monitor | Subscriptions";
|
|
||||||
public description: string = "OpenAIRE - Monitor | Subscriptions";
|
|
||||||
public breadcrumbs: Breadcrumb[] = [{name: 'home', route: '/'}, {name: 'Subscriptions'}];
|
|
||||||
public properties: EnvProperties = properties;
|
|
||||||
subscriptions = [];
|
|
||||||
|
|
||||||
constructor(
|
|
||||||
protected _router: Router,
|
|
||||||
protected _meta: Meta,
|
|
||||||
protected _title: Title,
|
|
||||||
protected seoService: SEOService,
|
|
||||||
protected _piwikService: PiwikService,
|
|
||||||
private helper: HelperService) {
|
|
||||||
super();
|
|
||||||
}
|
|
||||||
|
|
||||||
ngOnInit() {
|
|
||||||
this.setMetadata();
|
|
||||||
this.getDivContents();
|
|
||||||
}
|
|
||||||
|
|
||||||
ngOnDestroy() {
|
|
||||||
this.subscriptions.forEach(subscription => {
|
|
||||||
if (subscription instanceof Subscriber) {
|
|
||||||
subscription.unsubscribe();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
private getDivContents() {
|
|
||||||
this.subscriptions.push(this.helper.getDivHelpContents(this.properties, 'monitor', this._router.url).subscribe(contents => {
|
|
||||||
this.divContents = contents;
|
|
||||||
}));
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,23 +0,0 @@
|
||||||
import {CommonModule} from "@angular/common";
|
|
||||||
import {NgModule} from "@angular/core";
|
|
||||||
import {RouterModule} from "@angular/router";
|
|
||||||
import {PreviousRouteRecorder} from "../openaireLibrary/utils/piwik/previousRouteRecorder.guard";
|
|
||||||
import {SubscriptionsComponent} from "./subscriptions.component";
|
|
||||||
import {BreadcrumbsModule} from "../openaireLibrary/utils/breadcrumbs/breadcrumbs.module";
|
|
||||||
import {PiwikService} from "../openaireLibrary/utils/piwik/piwik.service";
|
|
||||||
import {SliderTabsModule} from "../openaireLibrary/sharedComponents/tabs/slider-tabs.module";
|
|
||||||
import {HelperModule} from "../openaireLibrary/utils/helper/helper.module";
|
|
||||||
import {IconsModule} from "../openaireLibrary/utils/icons/icons.module";
|
|
||||||
|
|
||||||
@NgModule({
|
|
||||||
declarations: [SubscriptionsComponent],
|
|
||||||
imports: [CommonModule, RouterModule.forChild([
|
|
||||||
{
|
|
||||||
path: '',
|
|
||||||
component: SubscriptionsComponent
|
|
||||||
}
|
|
||||||
]), BreadcrumbsModule, SliderTabsModule, HelperModule, IconsModule],
|
|
||||||
exports: [SubscriptionsComponent],
|
|
||||||
providers: [PreviousRouteRecorder, PiwikService]
|
|
||||||
})
|
|
||||||
export class SubscriptionsModule {}
|
|
|
@ -1,41 +0,0 @@
|
||||||
<div class="uk-visible@m">
|
|
||||||
<div class="uk-background-muted">
|
|
||||||
<div class="uk-container uk-container-large uk-section uk-section-small">
|
|
||||||
<div class="uk-padding-small uk-padding-remove-horizontal">
|
|
||||||
<breadcrumbs [breadcrumbs]="breadcrumbs"></breadcrumbs>
|
|
||||||
</div>
|
|
||||||
<div class="uk-flex uk-flex-middle" uk-scrollspy-class>
|
|
||||||
<div class="uk-width-1-2 uk-margin-medium-bottom">
|
|
||||||
<h1 class="uk-margin-medium-top">How can we help you?</h1>
|
|
||||||
<div class="uk-margin-medium-bottom">Monitor expert support team is ready and excited to help.</div>
|
|
||||||
<a routerLink="/contact-us" class="uk-button uk-button-primary">Contact Us</a>
|
|
||||||
</div>
|
|
||||||
<div class="uk-position-relative uk-width-1-2 uk-visible@l contact-us">
|
|
||||||
<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 three" src="../../assets/monitor-assets/curators/3.jpg">
|
|
||||||
<img class="uk-box-shadow-large four" src="../../assets/monitor-assets/curators/4.jpg">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="uk-margin-large-top">
|
|
||||||
<h3 class="uk-text-center">Frequently Asked Questions</h3>
|
|
||||||
</div>
|
|
||||||
<helper *ngIf="pageContents" [texts]="pageContents.top"></helper>
|
|
||||||
</div>
|
|
||||||
<div class="uk-hidden@m">
|
|
||||||
<div class="uk-background-muted">
|
|
||||||
<div class="uk-section-small uk-container uk-container-large">
|
|
||||||
<div class="uk-text-center" uk-scrollspy-class>
|
|
||||||
<h1 class="uk-margin-top">How can we help you?</h1>
|
|
||||||
<div class="uk-margin-medium-bottom">Monitor expert support team is ready and excited to help.</div>
|
|
||||||
<a routerLink="/contact-us" class="uk-button uk-button-small uk-button-primary">Contact Us</a>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="uk-margin-medium-top">
|
|
||||||
<h3 class="uk-text-center">Frequently Asked Questions</h3>
|
|
||||||
</div>
|
|
||||||
<helper *ngIf="pageContents" [texts]="pageContents.top"></helper>
|
|
||||||
</div>
|
|
|
@ -1,44 +0,0 @@
|
||||||
@import (reference) "~../../assets/openaire-theme/less/_import-variables";
|
|
||||||
|
|
||||||
@faqs-curator-image-size: 136px;
|
|
||||||
@faqs-contact-us-height: 450px;
|
|
||||||
|
|
||||||
.contact-us {
|
|
||||||
height: @faqs-contact-us-height;
|
|
||||||
|
|
||||||
img {
|
|
||||||
position: absolute;
|
|
||||||
width: @faqs-curator-image-size;
|
|
||||||
height: @faqs-curator-image-size;
|
|
||||||
object-fit: cover;
|
|
||||||
border-radius: 18px;
|
|
||||||
|
|
||||||
|
|
||||||
&.one {
|
|
||||||
top: @global-medium-gutter;
|
|
||||||
right: @global-medium-gutter + (@faqs-curator-image-size/2);
|
|
||||||
transform: rotate(10deg);
|
|
||||||
}
|
|
||||||
|
|
||||||
&.two {
|
|
||||||
bottom: @global-medium-gutter;
|
|
||||||
right: @global-medium-gutter + (@faqs-curator-image-size);
|
|
||||||
transform: rotate(-10deg);
|
|
||||||
object-position: top;
|
|
||||||
}
|
|
||||||
|
|
||||||
&.three {
|
|
||||||
top: 0;
|
|
||||||
left: @global-medium-gutter + (@faqs-curator-image-size);
|
|
||||||
transform: rotate(-10deg);
|
|
||||||
object-position: -60px;
|
|
||||||
}
|
|
||||||
|
|
||||||
&.four {
|
|
||||||
bottom: 2*@global-medium-gutter;
|
|
||||||
left: 2*@global-medium-gutter;
|
|
||||||
transform: rotate(-10deg);
|
|
||||||
object-position: 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,22 +0,0 @@
|
||||||
import {CommonModule} from "@angular/common";
|
|
||||||
import {NgModule} from "@angular/core";
|
|
||||||
import {RouterModule} from "@angular/router";
|
|
||||||
import {PreviousRouteRecorder} from "../openaireLibrary/utils/piwik/previousRouteRecorder.guard";
|
|
||||||
import {SupportComponent} from "./support.component";
|
|
||||||
import {BreadcrumbsModule} from "../openaireLibrary/utils/breadcrumbs/breadcrumbs.module";
|
|
||||||
import {PiwikService} from "../openaireLibrary/utils/piwik/piwik.service";
|
|
||||||
import {HelperModule} from "../openaireLibrary/utils/helper/helper.module";
|
|
||||||
|
|
||||||
@NgModule({
|
|
||||||
declarations: [SupportComponent],
|
|
||||||
imports: [CommonModule, RouterModule.forChild([
|
|
||||||
{
|
|
||||||
path: '',
|
|
||||||
component: SupportComponent,
|
|
||||||
data: {extraOffset: 50}
|
|
||||||
}
|
|
||||||
]), BreadcrumbsModule, HelperModule],
|
|
||||||
exports: [SupportComponent],
|
|
||||||
providers: [PreviousRouteRecorder, PiwikService]
|
|
||||||
})
|
|
||||||
export class SupportModule {}
|
|
|
@ -1 +1 @@
|
||||||
Subproject commit a4d8923b82a59ac1cc41e9c0574f1d64a61c0c1b
|
Subproject commit ca209a54baaa2d9e0004613a68088fdcf4bee43a
|
|
@ -1,159 +0,0 @@
|
||||||
<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>
|
|
Before Width: | Height: | Size: 11 KiB |
|
@ -1 +1 @@
|
||||||
Subproject commit 55765bf0829910661a55337e0e7ca7b1262b7298
|
Subproject commit aa1e6c9df390a4ba0919b5f8591374f7eec75089
|
|
@ -1,16 +1,97 @@
|
||||||
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";
|
|
||||||
|
|
||||||
let props: EnvProperties = {
|
|
||||||
environment: "beta",
|
|
||||||
enablePiwikTrack: true,
|
|
||||||
adminToolsAPIURL: "https://beta.services.openaire.eu/uoa-monitor-service/",
|
|
||||||
adminToolsPortalType: "monitor",
|
|
||||||
adminToolsCommunity: "monitor",
|
|
||||||
domain : "https://beta.monitor.openaire.eu",
|
|
||||||
afterLoginRedirectLink: '/my-dashboards',
|
|
||||||
};
|
|
||||||
|
|
||||||
export let properties: EnvProperties = {
|
export let properties: EnvProperties = {
|
||||||
...common, ...commonBeta, ...props
|
environment: "beta",
|
||||||
}
|
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/",
|
||||||
|
adminToolsCommunity: "monitor",
|
||||||
|
adminToolsPortalType: "monitor",
|
||||||
|
datasourcesAPI: "https://beta.services.openaire.eu/openaire/ds/search/",
|
||||||
|
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",
|
||||||
|
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"
|
||||||
|
};
|
||||||
|
|
|
@ -1,16 +1,97 @@
|
||||||
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";
|
|
||||||
|
|
||||||
let props: EnvProperties = {
|
export let properties: 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,18 +1,97 @@
|
||||||
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";
|
|
||||||
|
|
||||||
let props: EnvProperties = {
|
export let properties: EnvProperties = {
|
||||||
environment: "development",
|
environment: "development",
|
||||||
enablePiwikTrack: false,
|
enablePiwikTrack: false,
|
||||||
useCache: false,
|
useCache: false,
|
||||||
showContent: true,
|
showContent: true,
|
||||||
adminToolsAPIURL: "http://mpagasas.di.uoa.gr:19380/uoa-monitor-service/",
|
framesAPIURL: "https://beta.openaire.eu/stats3/",
|
||||||
|
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",
|
||||||
domain : "http://mpagasas.di.uoa.gr:4000",
|
datasourcesAPI: "https://beta.services.openaire.eu/openaire/ds/search/",
|
||||||
|
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,6 +7,8 @@ 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,
|
||||||
|
@ -14,3 +16,7 @@ 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,6 +2,7 @@
|
||||||
"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,14 +10,13 @@
|
||||||
"moduleResolution": "node",
|
"moduleResolution": "node",
|
||||||
"experimentalDecorators": true,
|
"experimentalDecorators": true,
|
||||||
"importHelpers": true,
|
"importHelpers": true,
|
||||||
"target": "ES2022",
|
"target": "es2020",
|
||||||
"typeRoots": [
|
"typeRoots": [
|
||||||
"node_modules/@types"
|
"node_modules/@types"
|
||||||
],
|
],
|
||||||
"lib": [
|
"lib": [
|
||||||
"es2018",
|
"es2018",
|
||||||
"dom"
|
"dom"
|
||||||
],
|
]
|
||||||
"useDefineForClassFields": false
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue