Compare commits
44 Commits
production
...
master
|
@ -1,6 +1,6 @@
|
|||
# Monitor
|
||||
|
||||
This project was generated with [Angular CLI](https://github.com/angular/angular-cli) version 7.3.10 and has been updated to 11.2.14.
|
||||
This project was generated with [Angular CLI](https://github.com/angular/angular-cli) version 7.3.10 and has been updated to 16.2.4.
|
||||
|
||||
## Install packages
|
||||
|
||||
|
|
13
angular.json
13
angular.json
|
@ -210,13 +210,16 @@
|
|||
"main": "server.ts",
|
||||
"tsConfig": "src/tsconfig.server.json",
|
||||
"sourceMap": true,
|
||||
"optimization": false
|
||||
"optimization": false,
|
||||
"buildOptimizer": false
|
||||
},
|
||||
"configurations": {
|
||||
"development": {
|
||||
"outputHashing": "media",
|
||||
"sourceMap": false,
|
||||
"optimization": true
|
||||
"optimization": true,
|
||||
"vendorChunk": true,
|
||||
"buildOptimizer": true
|
||||
},
|
||||
"beta": {
|
||||
"outputHashing": "media",
|
||||
|
@ -227,7 +230,8 @@
|
|||
}
|
||||
],
|
||||
"sourceMap": false,
|
||||
"optimization": true
|
||||
"optimization": true,
|
||||
"buildOptimizer": true
|
||||
},
|
||||
"production": {
|
||||
"outputHashing": "media",
|
||||
|
@ -238,7 +242,8 @@
|
|||
}
|
||||
],
|
||||
"sourceMap": false,
|
||||
"optimization": true
|
||||
"optimization": true,
|
||||
"buildOptimizer": true
|
||||
}
|
||||
},
|
||||
"defaultConfiguration": ""
|
||||
|
|
48
package.json
48
package.json
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "monitor",
|
||||
"version": "0.0.0",
|
||||
"version": "1.0.0",
|
||||
"scripts": {
|
||||
"ng": "ng",
|
||||
"start": " ng serve --port 4500 --disable-host-check --host 0.0.0.0",
|
||||
|
@ -21,41 +21,41 @@
|
|||
},
|
||||
"private": true,
|
||||
"dependencies": {
|
||||
"@angular/animations": "^14.2.3",
|
||||
"@angular/cdk": "^14.2.2",
|
||||
"@angular/common": "^14.2.3",
|
||||
"@angular/compiler": "^14.2.3",
|
||||
"@angular/core": "^14.2.3",
|
||||
"@angular/forms": "^14.2.3",
|
||||
"@angular/localize": "^14.2.3",
|
||||
"@angular/material": "^14.2.2",
|
||||
"@angular/platform-browser": "^14.2.3",
|
||||
"@angular/platform-browser-dynamic": "^14.2.3",
|
||||
"@angular/platform-server": "^14.2.3",
|
||||
"@angular/router": "^14.2.3",
|
||||
"@nguniversal/express-engine": "^14.2.0",
|
||||
"@angular/animations": "^16.1.8",
|
||||
"@angular/cdk": "^16.1.7",
|
||||
"@angular/common": "^16.1.8",
|
||||
"@angular/compiler": "^16.1.8",
|
||||
"@angular/core": "^16.1.8",
|
||||
"@angular/forms": "^16.1.8",
|
||||
"@angular/localize": "^16.1.8",
|
||||
"@angular/material": "^16.1.7",
|
||||
"@angular/platform-browser": "^16.1.8",
|
||||
"@angular/platform-browser-dynamic": "^16.1.8",
|
||||
"@angular/platform-server": "^16.1.8",
|
||||
"@angular/router": "^16.1.8",
|
||||
"@nguniversal/express-engine": "^16.1.1",
|
||||
"clipboard": "^1.5.16",
|
||||
"core-js": "^2.5.4",
|
||||
"express": "^4.15.2",
|
||||
"jquery": "^3.4.1",
|
||||
"ng-recaptcha": "^10.0.0",
|
||||
"ng-recaptcha": "^12.0.2",
|
||||
"rxjs": "^6.5.1",
|
||||
"ts-md5": "^1.2.0",
|
||||
"tslib": "^2.0.0",
|
||||
"uikit": "3.12.2",
|
||||
"zone.js": "~0.11.4"
|
||||
"uikit": "3.16.24",
|
||||
"zone.js": "~0.13.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@angular-devkit/build-angular": "^14.2.3",
|
||||
"@angular/cli": "^14.2.3",
|
||||
"@angular/compiler-cli": "^14.2.3",
|
||||
"@angular/language-service": "^14.2.3",
|
||||
"@nguniversal/builders": "^14.2.0",
|
||||
"@angular-devkit/build-angular": "^16.1.7",
|
||||
"@angular/cli": "^16.1.7",
|
||||
"@angular/compiler-cli": "^16.1.8",
|
||||
"@angular/language-service": "^16.1.8",
|
||||
"@nguniversal/builders": "^16.1.1",
|
||||
"@types/compression": "^1.7.0",
|
||||
"@types/express": "^4.17.0",
|
||||
"@types/jasmine": "~3.6.0",
|
||||
"@types/jasminewd2": "~2.0.3",
|
||||
"@types/node": "^12.11.1",
|
||||
"@types/node": "^16.18.50",
|
||||
"codelyzer": "^6.0.0",
|
||||
"jasmine-core": "~3.8.0",
|
||||
"jasmine-spec-reporter": "~5.0.0",
|
||||
|
@ -66,6 +66,6 @@
|
|||
"karma-jasmine-html-reporter": "^1.6.0",
|
||||
"protractor": "~7.0.0",
|
||||
"ts-node": "~7.0.0",
|
||||
"typescript": "~4.6.4"
|
||||
"typescript": "~4.9.5"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -11,7 +11,7 @@ import {properties} from "../../environments/environment";
|
|||
import {StakeholderEntities} from "../openaireLibrary/monitor/entities/stakeholder";
|
||||
|
||||
@Component({
|
||||
selector: 'how-it-works',
|
||||
selector: 'about',
|
||||
template: `
|
||||
<div class="uk-visible@m">
|
||||
<div class="uk-position-relative">
|
||||
|
@ -101,7 +101,7 @@ import {StakeholderEntities} from "../openaireLibrary/monitor/entities/stakehold
|
|||
<div class="uk-card-body uk-margin-large-bottom">
|
||||
<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
|
||||
href="https://graph.openaire.eu" target="_blank" class="text-graph">OpenAIRE Research Graph</a>.
|
||||
href="https://graph.openaire.eu" target="_blank" class="text-graph">OpenAIRE Graph</a>.
|
||||
</p>
|
||||
<p>We infer links to research results: publications, datasets, software, etc.</p>
|
||||
</div>
|
||||
|
@ -186,7 +186,7 @@ import {StakeholderEntities} from "../openaireLibrary/monitor/entities/stakehold
|
|||
<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
|
||||
to specify which research products of the <a href="https://graph.openaire.eu" target="_blank"
|
||||
class="text-graph">OpenAIRE Research Graph</a> are
|
||||
class="text-graph">OpenAIRE Graph</a> are
|
||||
relevant for you.</p>
|
||||
<p>If needed, we develop a customized full-text mining algorithm to identify your publications.</p>
|
||||
</div>
|
||||
|
@ -268,9 +268,8 @@ import {StakeholderEntities} from "../openaireLibrary/monitor/entities/stakehold
|
|||
<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">
|
||||
<span class="uk-text-primary">Step 1b</span>
|
||||
<p class="uk-text-large uk-margin-xsmall-top">Starting from the <a href="https://graph.openaire.eu"
|
||||
target="_blank" class="text-graph">OpenAIRE
|
||||
Research Graph</a> we check for existing data for your institution.</p>
|
||||
<p class="uk-text-large uk-margin-xsmall-top">Starting from the
|
||||
<a href="https://graph.openaire.eu" target="_blank" class="text-graph">OpenAIRE Graph</a> we check for existing data for your institution.</p>
|
||||
<p>We infer links to research results: publications, datasets, software, etc.</p>
|
||||
</div>
|
||||
<img class="uk-width-xsmall uk-position-bottom-right" src="assets/monitor-assets/about/icon2.svg">
|
||||
|
@ -351,7 +350,7 @@ import {StakeholderEntities} from "../openaireLibrary/monitor/entities/stakehold
|
|||
<div class="uk-margin-large-top">
|
||||
<span class="uk-text-primary">Step 1b</span>
|
||||
<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 Research Graph</a>.
|
||||
href="https://graph.openaire.eu" target="_blank" class="text-graph">OpenAIRE Graph</a>.
|
||||
</h5>
|
||||
<p>We infer links to research results: publications, datasets, software, etc.</p>
|
||||
</div>
|
||||
|
@ -433,7 +432,7 @@ import {StakeholderEntities} from "../openaireLibrary/monitor/entities/stakehold
|
|||
<span class="uk-text-primary">Step 1b</span>
|
||||
<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"
|
||||
class="text-graph">OpenAIRE Research Graph</a> are
|
||||
class="text-graph">OpenAIRE Graph</a> are
|
||||
relevant for you.</h5>
|
||||
<p>If needed, we develop a customized full-text mining algorithm to identify your publications.</p>
|
||||
</div>
|
||||
|
@ -590,15 +589,13 @@ import {StakeholderEntities} from "../openaireLibrary/monitor/entities/stakehold
|
|||
}
|
||||
`]
|
||||
})
|
||||
export class HowItWorksComponent {
|
||||
|
||||
export class AboutComponent {
|
||||
public url: string = null;
|
||||
public pageTitle: string = "OpenAIRE - Monitor | How it works";
|
||||
public description: string = "OpenAIRE - Monitor | How it works";
|
||||
public breadcrumbs: Breadcrumb[] = [{name: 'home', route: '/'}, {name: 'About - How it works'}];
|
||||
public pageTitle: string = "OpenAIRE - Monitor | About";
|
||||
public description: string = "OpenAIRE - Monitor | About - How it works";
|
||||
public breadcrumbs: Breadcrumb[] = [{name: 'home', route: '/'}, {name: 'About'}];
|
||||
public properties: EnvProperties = properties;
|
||||
public sections: string[] = [StakeholderEntities.FUNDERS, StakeholderEntities.RIS, StakeholderEntities.ORGANIZATIONS];
|
||||
public activeSection: string = StakeholderEntities.FUNDERS;
|
||||
public offset: number;
|
||||
public stakeholderEntities = StakeholderEntities;
|
||||
public shouldSticky: boolean = true;
|
||||
|
@ -615,9 +612,7 @@ export class HowItWorksComponent {
|
|||
}
|
||||
|
||||
ngOnInit() {
|
||||
if (this.properties.enablePiwikTrack && (typeof document !== 'undefined')) {
|
||||
this.subscriptions.push(this._piwikService.trackView(this.properties, this.pageTitle, this.properties.piwikSiteId).subscribe());
|
||||
}
|
||||
this.subscriptions.push(this._piwikService.trackView(this.properties, this.pageTitle).subscribe());
|
||||
this.url = this.properties.domain + this.properties.baseLink + this._router.url;
|
||||
this.seoService.createLinkForCanonicalURL(this.url);
|
||||
this.updateUrl(this.url);
|
|
@ -2,8 +2,7 @@ import {CommonModule} from "@angular/common";
|
|||
import {NgModule} from "@angular/core";
|
||||
import {RouterModule} from "@angular/router";
|
||||
import {PreviousRouteRecorder} from "../openaireLibrary/utils/piwik/previousRouteRecorder.guard";
|
||||
import {HowItWorksComponent} from "./how-it-works.component";
|
||||
import {FaqsComponent} from "./faqs.component";
|
||||
import {AboutComponent} from "./about.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";
|
||||
|
@ -11,25 +10,23 @@ import {HelperModule} from "../openaireLibrary/utils/helper/helper.module";
|
|||
import {YouWeComponent} from "./you-we.component";
|
||||
|
||||
@NgModule({
|
||||
declarations: [HowItWorksComponent, FaqsComponent, YouWeComponent],
|
||||
declarations: [AboutComponent, YouWeComponent],
|
||||
imports: [CommonModule, RouterModule.forChild([
|
||||
{
|
||||
path: '',
|
||||
redirectTo: 'how-it-works',
|
||||
canDeactivate: [PreviousRouteRecorder],
|
||||
pathMatch: 'full'
|
||||
},
|
||||
{
|
||||
path: 'how-it-works',
|
||||
component: HowItWorksComponent,
|
||||
component: AboutComponent,
|
||||
data: {extraOffset: 50}
|
||||
},
|
||||
{
|
||||
path: 'faqs',
|
||||
component: FaqsComponent
|
||||
path: 'how-it-works',
|
||||
redirectTo: '/about'
|
||||
},
|
||||
{
|
||||
path: 'faqs',
|
||||
redirectTo: '/support'
|
||||
}
|
||||
]), BreadcrumbsModule, SliderTabsModule, HelperModule],
|
||||
exports: [HowItWorksComponent, FaqsComponent],
|
||||
exports: [AboutComponent],
|
||||
providers: [PreviousRouteRecorder, PiwikService]
|
||||
})
|
||||
export class AboutModule {}
|
||||
|
|
|
@ -1,25 +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-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>
|
|
@ -20,8 +20,8 @@ declare var UIkit;
|
|||
class="uk-text-primary">{{type}}?</span></h2>
|
||||
</div>
|
||||
<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.bottom]="'#' + id"
|
||||
[attr.top]="'100vh -' + height + 'px'" [attr.offset]="offset">
|
||||
uk-sticky="animation: uk-animation-slide-bottom" [attr.end]="'#' + id"
|
||||
[attr.start]="'100vh -' + height + 'px'" [attr.offset]="offset">
|
||||
<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-text-center uk-first-column">
|
||||
|
|
|
@ -3,12 +3,17 @@ import {RouterModule, Routes} from '@angular/router';
|
|||
import {OpenaireErrorPageComponent} from './error/errorPage.component';
|
||||
|
||||
const routes: Routes = [
|
||||
{path: '', loadChildren: () => import('./home/home.module').then(m => m.HomeModule)},
|
||||
{path: '', loadChildren: () => import('./home/home.module').then(m => m.HomeModule), data: {hasStickyHeaderOnMobile: true}},
|
||||
{path: 'about/learn-how', redirectTo: 'about', pathMatch: 'full'},
|
||||
{
|
||||
path: 'about',
|
||||
loadChildren: () => import('./about/about.module').then(m => m.AboutModule)
|
||||
},
|
||||
{
|
||||
path: 'support',
|
||||
loadChildren: () => import('./support/support.module').then(m => m.SupportModule),
|
||||
data: {hasStickyHeaderOnMobile: true}
|
||||
},
|
||||
{
|
||||
path: 'methodology',
|
||||
loadChildren: () => import('./openaireLibrary/monitor/methodology/methodology.module').then(m => m.MethodologyModule)
|
||||
|
@ -23,7 +28,8 @@ const routes: Routes = [
|
|||
},
|
||||
{
|
||||
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',
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import {Component, ElementRef, ViewChild} from '@angular/core';
|
||||
import {ChangeDetectorRef, Component, ElementRef, ViewChild} from '@angular/core';
|
||||
import {ActivatedRoute, NavigationEnd, Router} from '@angular/router';
|
||||
|
||||
import {EnvProperties} from './openaireLibrary/utils/properties/env-properties';
|
||||
|
@ -21,17 +21,19 @@ import {QuickContactComponent} from "./openaireLibrary/sharedComponents/quick-co
|
|||
import {AlertModal} from "./openaireLibrary/utils/modal/alert";
|
||||
import {StakeholderEntities} from './openaireLibrary/monitor/entities/stakeholder';
|
||||
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";
|
||||
|
||||
@Component({
|
||||
selector: 'app-root',
|
||||
template: `
|
||||
<div>
|
||||
<div id="modal-container"></div>
|
||||
<navbar *ngIf="properties && showMenu && header" portal="monitor" [header]="header" [onlyTop]="false"
|
||||
<navbar *ngIf="properties && showMenu && header" #navbar portal="monitor" [header]="header" [onlyTop]="false"
|
||||
[userMenuItems]=userMenuItems [menuItems]=menuItems [user]="user"
|
||||
[showMenu]=showMenu [properties]="properties">
|
||||
<div *ngIf="showGetStarted" extra-s class="uk-margin-large-top uk-margin-left">
|
||||
<a class="uk-button uk-button-primary uk-text-uppercase" routerLink="/get-started">Get Started</a>
|
||||
<a class="uk-button uk-button-primary uk-text-uppercase" routerLink="/get-started" (click)="navbar.closeCanvas()">Get Started</a>
|
||||
</div>
|
||||
<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>
|
||||
|
@ -60,7 +62,8 @@ import {ResourcesService} from "./openaireLibrary/monitor/services/resources.ser
|
|||
</cookie-law>
|
||||
<bottom #bottom *ngIf="properties && showMenu" id="bottom" [grantAdvance]="false"
|
||||
[properties]="properties"></bottom>
|
||||
<quick-contact #quickContact *ngIf="showQuickContact && contactForm" (sendEmitter)="send($event)"
|
||||
<quick-contact #quickContact *ngIf="bottomNotIntersecting && displayQuickContact && showQuickContact && contactForm"
|
||||
(sendEmitter)="send($event)"
|
||||
[contactForm]="contactForm" [sending]="sending" [images]="images" [contact]="'Help'"
|
||||
[organizationTypes]="organizationTypes"
|
||||
class="uk-visible@m"></quick-contact>
|
||||
|
@ -80,6 +83,8 @@ export class AppComponent {
|
|||
logoPath: string = 'assets/common-assets/logo-services/monitor/';
|
||||
/* Contact */
|
||||
public showQuickContact: boolean;
|
||||
public bottomNotIntersecting: boolean;
|
||||
public displayQuickContact: boolean; // intersecting with specific section in home page
|
||||
public showGetStarted: boolean = true;
|
||||
public contactForm: UntypedFormGroup;
|
||||
public organizationTypes: string[] = [
|
||||
|
@ -97,19 +102,17 @@ export class AppComponent {
|
|||
public stakeholderEntities = StakeholderEntities;
|
||||
|
||||
constructor(private route: ActivatedRoute, private propertiesService: EnvironmentSpecificService,
|
||||
private configurationService: ConfigurationService,
|
||||
private router: Router, private stakeholderService: StakeholderService, private smoothScroll: SmoothScroll,
|
||||
private userManagementService: UserManagementService,
|
||||
private quickContactService: QuickContactService,
|
||||
private layoutService: LayoutService,
|
||||
private fb: UntypedFormBuilder,
|
||||
private emailService: EmailService,
|
||||
private resourcesService: ResourcesService) {
|
||||
private resourcesService: ResourcesService,
|
||||
private cdr: ChangeDetectorRef) {
|
||||
this.subscriptions.push(router.events.forEach((event) => {
|
||||
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';
|
||||
}
|
||||
|
||||
|
@ -117,6 +120,7 @@ export class AppComponent {
|
|||
}
|
||||
|
||||
ngOnInit() {
|
||||
this.configurationService.initPortal(this.properties, "monitor");
|
||||
this.userManagementService.fixRedirectURL = properties.afterLoginRedirectLink;
|
||||
this.subscriptions.push(this.userManagementService.getUserInfo().subscribe(user => {
|
||||
this.user = user;
|
||||
|
@ -134,8 +138,17 @@ export class AppComponent {
|
|||
this.buildMenu();
|
||||
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.showQuickContact = display;
|
||||
if(this.displayQuickContact !== display) {
|
||||
this.displayQuickContact = display;
|
||||
this.cdr.detectChanges();
|
||||
}
|
||||
}));
|
||||
}
|
||||
|
||||
|
@ -145,25 +158,26 @@ export class AppComponent {
|
|||
rootMargin: '0px',
|
||||
threshold: 0.1
|
||||
};
|
||||
let intersectionObserver = new IntersectionObserver(entries => {
|
||||
entries.forEach(entry => {
|
||||
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);
|
||||
|
||||
let intersectionObserver = new IntersectionObserver(entries => {
|
||||
entries.forEach(entry => {
|
||||
// if (entry.isIntersecting && this.showQuickContact) {
|
||||
if(this.bottomNotIntersecting !== (!entry.isIntersecting)) {
|
||||
this.bottomNotIntersecting = !entry.isIntersecting;
|
||||
this.cdr.detectChanges();
|
||||
}
|
||||
});
|
||||
}, options);
|
||||
intersectionObserver.observe(this.bottom.nativeElement);
|
||||
this.subscriptions.push(intersectionObserver);
|
||||
}, options);
|
||||
intersectionObserver.observe(this.bottom.nativeElement);
|
||||
this.subscriptions.push(intersectionObserver);
|
||||
}
|
||||
|
||||
public ngOnDestroy() {
|
||||
this.subscriptions.forEach(value => {
|
||||
if (value instanceof Subscriber) {
|
||||
value.unsubscribe();
|
||||
} else if (typeof IntersectionObserver !== "undefined" && value instanceof IntersectionObserver) {
|
||||
value.disconnect();
|
||||
}
|
||||
});
|
||||
this.userManagementService.clearSubscriptions();
|
||||
|
@ -180,12 +194,8 @@ export class AppComponent {
|
|||
new MenuItem("stakeholders", "Browse " + this.stakeholderEntities.STAKEHOLDERS, "", "/browse", false, [], null, {})
|
||||
);
|
||||
this.resourcesService.setResources(this.menuItems);
|
||||
let about = new MenuItem("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.menuItems.push(new MenuItem("support", "Support", "", "/support", false, [], null, {}));
|
||||
this.menuItems.push(new MenuItem("about", "About", "", "/about", false, [], null, {}));
|
||||
this.bottomMenuItems = [
|
||||
new MenuItem("", "About", "https://beta.openaire.eu/project-factsheets", "", false, [], [], {}),
|
||||
new MenuItem("", "News - Events", "https://beta.openaire.eu/news-events", "", false, [], [], {}),
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
import {NgModule} from '@angular/core';
|
||||
import {APP_ID, NgModule} from '@angular/core';
|
||||
import {FormsModule} from '@angular/forms';
|
||||
import {CommonModule} from '@angular/common';
|
||||
import {HTTP_INTERCEPTORS, HttpClientModule} from "@angular/common/http";
|
||||
import {BrowserModule, BrowserTransferStateModule} from '@angular/platform-browser';
|
||||
import {BrowserModule} from '@angular/platform-browser';
|
||||
import {BrowserAnimationsModule} from '@angular/platform-browser/animations';
|
||||
import {AppComponent} from './app.component';
|
||||
import {OpenaireErrorPageComponent} from './error/errorPage.component';
|
||||
|
@ -34,8 +34,7 @@ import {isDevelopmentGuard} from './openaireLibrary/error/isDevelopmentGuard.gua
|
|||
QuickContactModule,
|
||||
BottomModule,
|
||||
CookieLawModule,
|
||||
BrowserTransferStateModule,
|
||||
BrowserModule.withServerTransition({appId: 'monitor'}),
|
||||
BrowserModule,
|
||||
AppRoutingModule,
|
||||
Schema2jsonldModule,
|
||||
AlertModalModule
|
||||
|
@ -44,6 +43,7 @@ import {isDevelopmentGuard} from './openaireLibrary/error/isDevelopmentGuard.gua
|
|||
exports: [AppComponent],
|
||||
providers: [
|
||||
isDevelopmentGuard,
|
||||
{provide: APP_ID, useValue: 'monitor'},
|
||||
{
|
||||
provide: HTTP_INTERCEPTORS,
|
||||
useClass: HttpInterceptorService,
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
import { NgModule } from '@angular/core';
|
||||
import {ServerModule, ServerTransferStateModule} from '@angular/platform-server';
|
||||
import {ServerModule} from '@angular/platform-server';
|
||||
|
||||
import { AppModule } from './app.module';
|
||||
import { AppComponent } from './app.component';
|
||||
|
@ -7,8 +7,7 @@ import { AppComponent } from './app.component';
|
|||
@NgModule({
|
||||
imports: [
|
||||
AppModule,
|
||||
ServerModule,
|
||||
ServerTransferStateModule
|
||||
ServerModule
|
||||
],
|
||||
bootstrap: [AppComponent],
|
||||
})
|
||||
|
|
|
@ -57,9 +57,7 @@ export class ContactComponent implements OnInit {
|
|||
}
|
||||
|
||||
ngOnInit() {
|
||||
if (this.properties.enablePiwikTrack && (typeof document !== 'undefined')) {
|
||||
this.subscriptions.push(this._piwikService.trackView(this.properties, this.pageTitle, this.properties.piwikSiteId).subscribe());
|
||||
}
|
||||
this.subscriptions.push(this._piwikService.trackView(this.properties, this.pageTitle).subscribe());
|
||||
this.url = this.properties.domain + this.properties.baseLink + this._router.url;
|
||||
this.seoService.createLinkForCanonicalURL(this.url);
|
||||
this.updateUrl(this.url);
|
||||
|
|
|
@ -62,7 +62,7 @@
|
|||
</div>
|
||||
</div>
|
||||
<div class="uk-width-expand uk-flex uk-flex-center">
|
||||
<img src="assets/common-assets/monitor-assets/how/steps.svg" loading="lazy">
|
||||
<img src="assets/monitor-assets/get-started/steps.svg" loading="lazy">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -114,7 +114,7 @@
|
|||
<span>Learn More</span>
|
||||
</span>
|
||||
</a>
|
||||
<img src="assets/common-assets/monitor-assets/how/steps.svg" loading="lazy">
|
||||
<img src="assets/monitor-assets/get-started/steps.svg" loading="lazy">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -60,9 +60,7 @@ export class GetStartedComponent implements OnInit {
|
|||
}
|
||||
|
||||
ngOnInit() {
|
||||
if (this.properties.enablePiwikTrack && (typeof document !== 'undefined')) {
|
||||
this.subscriptions.push(this._piwikService.trackView(this.properties, this.pageTitle, this.properties.piwikSiteId).subscribe());
|
||||
}
|
||||
this.subscriptions.push(this._piwikService.trackView(this.properties, this.pageTitle).subscribe());
|
||||
this.url = this.properties.domain + this.properties.baseLink + this._router.url;
|
||||
this.seoService.createLinkForCanonicalURL(this.url);
|
||||
this.updateUrl(this.url);
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -6,12 +6,19 @@
|
|||
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) {
|
||||
.monitor-dark-logo-background {
|
||||
background-image: url("~src/assets/monitor-assets/home/monitor-dark-logo.svg");
|
||||
.tablet-section {
|
||||
background-image:url("~src/assets/monitor-assets/home/monitor-dark-logo.svg"), linear-gradient(180deg, @global-inverse-color 0%, @global-muted-background 100%);
|
||||
background-repeat: no-repeat;
|
||||
background-position: left 95%;
|
||||
background-size: 65%;
|
||||
background-position: -5% 95%, top;
|
||||
background-size: 60%, cover;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -66,19 +66,15 @@ export class HomeComponent implements OnInit, OnDestroy, AfterViewInit, IDeactiv
|
|||
public softwareSize: any = null;
|
||||
public otherSize: any = null;
|
||||
public fundersSize: any = null;
|
||||
public showQuickContact: boolean = true;
|
||||
@ViewChild('AlertModal') modal;
|
||||
private errorMessages: ErrorMessagesComponent;
|
||||
private subscriptions = [];
|
||||
private mutationObserver: MutationObserver;
|
||||
private user: User;
|
||||
@ViewChildren('scrolling_element') elements: QueryList<ElementRef>;
|
||||
@ViewChild('contact') contact: ElementRef;
|
||||
isMobile: boolean = false;
|
||||
isServer: boolean;
|
||||
|
||||
constructor(
|
||||
private route: ActivatedRoute,
|
||||
private _router: Router,
|
||||
private _meta: Meta,
|
||||
private _title: Title,
|
||||
|
@ -102,15 +98,14 @@ export class HomeComponent implements OnInit, OnDestroy, AfterViewInit, IDeactiv
|
|||
this.errorMessages = new ErrorMessagesComponent();
|
||||
this.status = this.errorCodes.LOADING;
|
||||
this.isServer = isPlatformServer(this.platform);
|
||||
this.quickContactService.setDisplay(false);
|
||||
}
|
||||
|
||||
public ngOnInit() {
|
||||
let url = this.properties.domain + this.properties.baseLink + this._router.url;
|
||||
this.seoService.createLinkForCanonicalURL(url, false);
|
||||
this._meta.updateTag({content: url}, "property='og:url'");
|
||||
if (this.properties.enablePiwikTrack && (typeof document !== 'undefined')) {
|
||||
this.subscriptions.push(this._piwikService.trackView(this.properties, "OpenAIRE Monitor", this.properties.piwikSiteId).subscribe());
|
||||
}
|
||||
this.subscriptions.push(this._piwikService.trackView(this.properties, "OpenAIRE Monitor").subscribe());
|
||||
this.getNumbers();
|
||||
this.subscriptions.push(this.localStorageService.get().subscribe(value => {
|
||||
this.directLink = value;
|
||||
|
@ -131,6 +126,7 @@ export class HomeComponent implements OnInit, OnDestroy, AfterViewInit, IDeactiv
|
|||
}
|
||||
|
||||
ngOnDestroy() {
|
||||
this.quickContactService.setDisplay(true);
|
||||
this.clear();
|
||||
}
|
||||
|
||||
|
@ -161,38 +157,12 @@ export class HomeComponent implements OnInit, OnDestroy, AfterViewInit, IDeactiv
|
|||
};
|
||||
let intersectionObserver = new IntersectionObserver(entries => {
|
||||
entries.forEach(entry => {
|
||||
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);
|
||||
}
|
||||
this.quickContactService.setDisplay(!entry.isIntersecting);
|
||||
});
|
||||
}, options);
|
||||
if(this.contact) {
|
||||
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);
|
||||
}
|
||||
|
||||
|
@ -209,7 +179,7 @@ export class HomeComponent implements OnInit, OnDestroy, AfterViewInit, IDeactiv
|
|||
}
|
||||
|
||||
getNumbers() {
|
||||
this.subscriptions.push(this._refineFieldResultsService.getRefineFieldsResultsByEntityName(["funder"], "project", this.properties).subscribe(
|
||||
this.subscriptions.push(this._refineFieldResultsService.getAllRefineFieldResultsByFieldName("funder", "project", this.properties).subscribe(
|
||||
data => {
|
||||
if (data[1].length > 0 && data[1][0].filterId == "funder" && data[1][0].values) {
|
||||
this.fundersSize = NumberUtils.roundNumber(data[1][0].values.length);
|
||||
|
|
|
@ -64,9 +64,7 @@ export class MyStakeholdersComponent {
|
|||
var url = this.properties.domain + this.properties.baseLink + this._router.url;
|
||||
this.seoService.createLinkForCanonicalURL(url, false);
|
||||
this._meta.updateTag({content: url}, "property='og:url'");
|
||||
if (this.properties.enablePiwikTrack && (typeof document !== 'undefined')) {
|
||||
this.subscriptions.push(this._piwikService.trackView(this.properties, "OpenAIRE Connect", this.properties.piwikSiteId).subscribe());
|
||||
}
|
||||
this.subscriptions.push(this._piwikService.trackView(this.properties, "OpenAIRE Connect").subscribe());
|
||||
this.subscriptions.push(this.userManagementService.getUserInfo().subscribe(user => {
|
||||
this.user = user;
|
||||
if (this.user) {
|
||||
|
|
|
@ -1 +1 @@
|
|||
Subproject commit 1d5bfc498c81214fcc9fb208d407a1e950e23f7d
|
||||
Subproject commit 1a7624eed148c35659891198c403580dd48e3619
|
|
@ -22,7 +22,7 @@ import {LayoutService} from "../openaireLibrary/dashboard/sharedComponents/sideb
|
|||
selector: 'search-stakeholders',
|
||||
template: `
|
||||
<new-search-page pageTitle="OpenAIRE-Monitor | Browse {{this.stakeholderEntities.STAKEHOLDERS}}"
|
||||
[hasPrefix]=false [piwikSiteId]="piwikSiteId"
|
||||
[hasPrefix]=false
|
||||
[formPlaceholderText]="'Search ' + (!isMobile?'OpenAIRE Monitor ':'') + this.stakeholderEntities.STAKEHOLDERS"
|
||||
[type]="(results.length > 1) ? this.stakeholderEntities.STAKEHOLDERS:this.stakeholderEntities.STAKEHOLDER"
|
||||
entityType="stakeholder"
|
||||
|
@ -39,7 +39,6 @@ import {LayoutService} from "../openaireLibrary/dashboard/sharedComponents/sideb
|
|||
`
|
||||
})
|
||||
export class SearchStakeholdersComponent {
|
||||
public piwikSiteId = null;
|
||||
private errorCodes: ErrorCodes;
|
||||
private errorMessages: ErrorMessagesComponent;
|
||||
public results: StakeholderInfo[] = [];
|
||||
|
@ -85,7 +84,6 @@ export class SearchStakeholdersComponent {
|
|||
}
|
||||
|
||||
public ngOnInit() {
|
||||
this.piwikSiteId = this.properties.piwikSiteId;
|
||||
this.baseUrl = this.properties.searchLinkToStakeholders;
|
||||
this.subscriptions.push(this.route.queryParams.subscribe(params => {
|
||||
this.searchPage.resultsPerPage = 10;
|
||||
|
|
|
@ -0,0 +1,41 @@
|
|||
<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>
|
|
@ -0,0 +1,44 @@
|
|||
@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;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -10,17 +10,18 @@ import {Subscriber} from "rxjs";
|
|||
import {Breadcrumb} from '../openaireLibrary/utils/breadcrumbs/breadcrumbs.component';
|
||||
|
||||
@Component({
|
||||
selector: 'faqs',
|
||||
templateUrl: 'faqs.component.html'
|
||||
selector: 'support',
|
||||
templateUrl: 'support.component.html',
|
||||
styleUrls: ['support.component.less']
|
||||
})
|
||||
export class FaqsComponent {
|
||||
export class SupportComponent {
|
||||
public pageContents = null;
|
||||
public divContents = null;
|
||||
|
||||
public url: string = null;
|
||||
public pageTitle: string = "OpenAIRE - Monitor | FAQs";
|
||||
public description: string = "OpenAIRE - Monitor | FAQs";
|
||||
public breadcrumbs: Breadcrumb[] = [{name: 'home', route: '/'}, {name: 'FAQs'}];
|
||||
public pageTitle: string = "OpenAIRE - Monitor | Support";
|
||||
public description: string = "OpenAIRE - Monitor | Support";
|
||||
public breadcrumbs: Breadcrumb[] = [{name: 'home', route: '/'}, {name: 'Support'}];
|
||||
public properties: EnvProperties = properties;
|
||||
subscriptions = [];
|
||||
|
||||
|
@ -35,9 +36,7 @@ export class FaqsComponent {
|
|||
}
|
||||
|
||||
public ngOnInit() {
|
||||
if (this.properties.enablePiwikTrack && (typeof document !== 'undefined')) {
|
||||
this.subscriptions.push(this._piwikService.trackView(this.properties, this.pageTitle, this.properties.piwikSiteId).subscribe());
|
||||
}
|
||||
this.subscriptions.push(this._piwikService.trackView(this.properties, this.pageTitle).subscribe());
|
||||
this.url = this.properties.domain + this.properties.baseLink + this._router.url;
|
||||
this.seoService.createLinkForCanonicalURL(this.url);
|
||||
this.updateUrl(this.url);
|
|
@ -0,0 +1,22 @@
|
|||
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 ca209a54baaa2d9e0004613a68088fdcf4bee43a
|
||||
Subproject commit e77e591bbb8264895adb9934210844e70f01e219
|
|
@ -0,0 +1,159 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="418.875" height="364.357" viewBox="0 0 418.875 364.357">
|
||||
<defs>
|
||||
<filter id="dark" x="228.772" y="231.79" width="132.567" height="132.567" filterUnits="userSpaceOnUse">
|
||||
<feOffset dx="15" dy="15" input="SourceAlpha"/>
|
||||
<feGaussianBlur stdDeviation="12.5" result="blur"/>
|
||||
<feFlood flood-opacity="0.102"/>
|
||||
<feComposite operator="in" in2="blur"/>
|
||||
<feComposite in="SourceGraphic"/>
|
||||
</filter>
|
||||
<filter id="light" x="198.772" y="201.79" width="132.567" height="132.567" filterUnits="userSpaceOnUse">
|
||||
<feOffset dx="-15" dy="-15" input="SourceAlpha"/>
|
||||
<feGaussianBlur stdDeviation="12.5" result="blur-2"/>
|
||||
<feFlood flood-color="#fff"/>
|
||||
<feComposite operator="in" in2="blur-2"/>
|
||||
<feComposite in="SourceGraphic"/>
|
||||
</filter>
|
||||
<filter id="dark-2" x="65.992" y="30" width="132.567" height="132.567" filterUnits="userSpaceOnUse">
|
||||
<feOffset dx="15" dy="15" input="SourceAlpha"/>
|
||||
<feGaussianBlur stdDeviation="12.5" result="blur-3"/>
|
||||
<feFlood flood-opacity="0.102"/>
|
||||
<feComposite operator="in" in2="blur-3"/>
|
||||
<feComposite in="SourceGraphic"/>
|
||||
</filter>
|
||||
<filter id="light-2" x="35.992" y="0" width="132.567" height="132.567" filterUnits="userSpaceOnUse">
|
||||
<feOffset dx="-15" dy="-15" input="SourceAlpha"/>
|
||||
<feGaussianBlur stdDeviation="12.5" result="blur-4"/>
|
||||
<feFlood flood-color="#fff"/>
|
||||
<feComposite operator="in" in2="blur-4"/>
|
||||
<feComposite in="SourceGraphic"/>
|
||||
</filter>
|
||||
<filter id="dark-3" x="30" y="185.9" width="132.567" height="132.567" filterUnits="userSpaceOnUse">
|
||||
<feOffset dx="15" dy="15" input="SourceAlpha"/>
|
||||
<feGaussianBlur stdDeviation="12.5" result="blur-5"/>
|
||||
<feFlood flood-opacity="0.102"/>
|
||||
<feComposite operator="in" in2="blur-5"/>
|
||||
<feComposite in="SourceGraphic"/>
|
||||
</filter>
|
||||
<filter id="light-3" x="0" y="155.9" width="132.567" height="132.567" filterUnits="userSpaceOnUse">
|
||||
<feOffset dx="-15" dy="-15" input="SourceAlpha"/>
|
||||
<feGaussianBlur stdDeviation="12.5" result="blur-6"/>
|
||||
<feFlood flood-color="#fff"/>
|
||||
<feComposite operator="in" in2="blur-6"/>
|
||||
<feComposite in="SourceGraphic"/>
|
||||
</filter>
|
||||
<filter id="dark-4" x="165.979" y="45.9" width="132.567" height="132.567" filterUnits="userSpaceOnUse">
|
||||
<feOffset dx="15" dy="15" input="SourceAlpha"/>
|
||||
<feGaussianBlur stdDeviation="12.5" result="blur-7"/>
|
||||
<feFlood flood-opacity="0.102"/>
|
||||
<feComposite operator="in" in2="blur-7"/>
|
||||
<feComposite in="SourceGraphic"/>
|
||||
</filter>
|
||||
<filter id="light-4" x="135.979" y="15.9" width="132.567" height="132.567" filterUnits="userSpaceOnUse">
|
||||
<feOffset dx="-15" dy="-15" input="SourceAlpha"/>
|
||||
<feGaussianBlur stdDeviation="12.5" result="blur-8"/>
|
||||
<feFlood flood-color="#fff"/>
|
||||
<feComposite operator="in" in2="blur-8"/>
|
||||
<feComposite in="SourceGraphic"/>
|
||||
</filter>
|
||||
<filter id="dark-5" x="264.764" y="75.891" width="132.567" height="132.567" filterUnits="userSpaceOnUse">
|
||||
<feOffset dx="15" dy="15" input="SourceAlpha"/>
|
||||
<feGaussianBlur stdDeviation="12.5" result="blur-9"/>
|
||||
<feFlood flood-opacity="0.102"/>
|
||||
<feComposite operator="in" in2="blur-9"/>
|
||||
<feComposite in="SourceGraphic"/>
|
||||
</filter>
|
||||
<filter id="light-5" x="234.764" y="45.891" width="132.567" height="132.567" filterUnits="userSpaceOnUse">
|
||||
<feOffset dx="-15" dy="-15" input="SourceAlpha"/>
|
||||
<feGaussianBlur stdDeviation="12.5" result="blur-10"/>
|
||||
<feFlood flood-color="#fff"/>
|
||||
<feComposite operator="in" in2="blur-10"/>
|
||||
<feComposite in="SourceGraphic"/>
|
||||
</filter>
|
||||
<filter id="dark-6" x="128.412" y="208.621" width="132.567" height="132.567" filterUnits="userSpaceOnUse">
|
||||
<feOffset dx="15" dy="15" input="SourceAlpha"/>
|
||||
<feGaussianBlur stdDeviation="12.5" result="blur-11"/>
|
||||
<feFlood flood-opacity="0.102"/>
|
||||
<feComposite operator="in" in2="blur-11"/>
|
||||
<feComposite in="SourceGraphic"/>
|
||||
</filter>
|
||||
<filter id="light-6" x="98.412" y="178.621" width="132.567" height="132.567" filterUnits="userSpaceOnUse">
|
||||
<feOffset dx="-15" dy="-15" input="SourceAlpha"/>
|
||||
<feGaussianBlur stdDeviation="12.5" result="blur-12"/>
|
||||
<feFlood flood-color="#fff"/>
|
||||
<feComposite operator="in" in2="blur-12"/>
|
||||
<feComposite in="SourceGraphic"/>
|
||||
</filter>
|
||||
</defs>
|
||||
<g id="Group_13415" data-name="Group 13415" transform="translate(-799.043 -94.379)">
|
||||
<g id="Group_12983" data-name="Group 12983" transform="translate(86.549 -222.191) rotate(13)">
|
||||
<path id="Path_104359" data-name="Path 104359" d="M-18163.937-17731.363s95.709-17.684,176.221-17.684,199.334,3.746,180.857,26.24-236.955,67.047-236.955,67.047-182.137,44.2-120.123,64.879,357.078,0,357.078,0" transform="translate(19010.223 17943)" fill="none" stroke="#dedede" stroke-width="1"/>
|
||||
<g id="Group_12980" data-name="Group 12980" transform="translate(931.002 -818)">
|
||||
<g id="Group_12847" data-name="Group 12847" transform="translate(147 1155)">
|
||||
<g transform="matrix(0.97, -0.22, 0.22, 0.97, -312.56, -188.82)" filter="url(#dark)">
|
||||
<rect id="dark-7" data-name="dark" width="48" height="48" rx="24" transform="translate(262.07 254.29) rotate(13)" fill="#f9f9f9"/>
|
||||
</g>
|
||||
<g transform="matrix(0.97, -0.22, 0.22, 0.97, -312.56, -188.82)" filter="url(#light)">
|
||||
<rect id="light-7" data-name="light" width="48" height="48" rx="24" transform="translate(262.07 254.29) rotate(13)" fill="#f9f9f9"/>
|
||||
</g>
|
||||
<rect id="neutral" width="48" height="48" rx="24" transform="translate(-0.001 -0.001)" fill="#f9f9f9"/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
<g id="Group_12979" data-name="Group 12979" transform="translate(1014.92 -1011.586) rotate(13)">
|
||||
<g id="Group_12847-2" data-name="Group 12847" transform="translate(147 1155)">
|
||||
<g transform="matrix(0.97, -0.22, 0.22, 0.97, -108.56, -28.82)" filter="url(#dark-2)">
|
||||
<rect id="dark-8" data-name="dark" width="48" height="48" rx="24" transform="translate(99.29 52.5) rotate(13)" fill="#f9f9f9"/>
|
||||
</g>
|
||||
<g transform="matrix(0.97, -0.22, 0.22, 0.97, -108.56, -28.82)" filter="url(#light-2)">
|
||||
<rect id="light-8" data-name="light" width="48" height="48" rx="24" transform="translate(99.29 52.5) rotate(13)" fill="#f9f9f9"/>
|
||||
</g>
|
||||
<rect id="neutral-2" data-name="neutral" width="48" height="48" rx="24" transform="translate(-0.001 -0.001)" fill="#f9f9f9"/>
|
||||
</g>
|
||||
</g>
|
||||
<g id="Group_12982" data-name="Group 12982" transform="translate(978.928 -855.686) rotate(13)">
|
||||
<g id="Group_12847-3" data-name="Group 12847" transform="translate(147 1155)">
|
||||
<g transform="matrix(0.97, -0.22, 0.22, 0.97, -108.56, -188.82)" filter="url(#dark-3)">
|
||||
<rect id="dark-9" data-name="dark" width="48" height="48" rx="24" transform="translate(63.3 208.4) rotate(13)" fill="#f9f9f9"/>
|
||||
</g>
|
||||
<g transform="matrix(0.97, -0.22, 0.22, 0.97, -108.56, -188.82)" filter="url(#light-3)">
|
||||
<rect id="light-9" data-name="light" width="48" height="48" rx="24" transform="translate(63.3 208.4) rotate(13)" fill="#f9f9f9"/>
|
||||
</g>
|
||||
<rect id="neutral-3" data-name="neutral" width="48" height="48" rx="24" transform="translate(-0.001 -0.001)" fill="#f9f9f9"/>
|
||||
</g>
|
||||
</g>
|
||||
<g id="Group_12977" data-name="Group 12977" transform="translate(1114.906 -995.686) rotate(13)">
|
||||
<g id="Group_12847-4" data-name="Group 12847" transform="translate(147 1155)">
|
||||
<g transform="matrix(0.97, -0.22, 0.22, 0.97, -209.56, -21.82)" filter="url(#dark-4)">
|
||||
<rect id="dark-10" data-name="dark" width="48" height="48" rx="24" transform="translate(199.28 68.4) rotate(13)" fill="#f9f9f9"/>
|
||||
</g>
|
||||
<g transform="matrix(0.97, -0.22, 0.22, 0.97, -209.56, -21.82)" filter="url(#light-4)">
|
||||
<rect id="light-10" data-name="light" width="48" height="48" rx="24" transform="translate(199.28 68.4) rotate(13)" fill="#f9f9f9"/>
|
||||
</g>
|
||||
<rect id="neutral-4" data-name="neutral" width="48" height="48" rx="24" transform="translate(-0.001 -0.001)" fill="#f9f9f9"/>
|
||||
</g>
|
||||
</g>
|
||||
<g id="Group_12978" data-name="Group 12978" transform="translate(1213.691 -965.695) rotate(13)">
|
||||
<g id="Group_12847-5" data-name="Group 12847" transform="translate(147 1155)">
|
||||
<g transform="matrix(0.97, -0.22, 0.22, 0.97, -312.56, -28.82)" filter="url(#dark-5)">
|
||||
<rect id="dark-11" data-name="dark" width="48" height="48" rx="24" transform="translate(298.06 98.39) rotate(13)" fill="#f9f9f9"/>
|
||||
</g>
|
||||
<g transform="matrix(0.97, -0.22, 0.22, 0.97, -312.56, -28.82)" filter="url(#light-5)">
|
||||
<rect id="light-11" data-name="light" width="48" height="48" rx="24" transform="translate(298.06 98.39) rotate(13)" fill="#f9f9f9"/>
|
||||
</g>
|
||||
<rect id="neutral-5" data-name="neutral" width="48" height="48" rx="24" transform="translate(-0.001 -0.001)" fill="#f9f9f9"/>
|
||||
</g>
|
||||
</g>
|
||||
<g id="Group_12981" data-name="Group 12981" transform="translate(1077.34 -832.965) rotate(13)">
|
||||
<g id="Group_12847-6" data-name="Group 12847" transform="translate(147 1155)">
|
||||
<g transform="matrix(0.97, -0.22, 0.22, 0.97, -209.56, -188.82)" filter="url(#dark-6)">
|
||||
<rect id="dark-12" data-name="dark" width="48" height="48" rx="24" transform="translate(161.71 231.12) rotate(13)" fill="#f9f9f9"/>
|
||||
</g>
|
||||
<g transform="matrix(0.97, -0.22, 0.22, 0.97, -209.56, -188.82)" filter="url(#light-6)">
|
||||
<rect id="light-12" data-name="light" width="48" height="48" rx="24" transform="translate(161.71 231.12) rotate(13)" fill="#f9f9f9"/>
|
||||
</g>
|
||||
<rect id="neutral-6" data-name="neutral" width="48" height="48" rx="24" transform="translate(-0.001 -0.001)" fill="#f9f9f9"/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 11 KiB |
|
@ -1 +1 @@
|
|||
Subproject commit aa1e6c9df390a4ba0919b5f8591374f7eec75089
|
||||
Subproject commit 5b2ec5ad3c5d43fcd69f82ddfa3a841a0d34ba0c
|
|
@ -5,7 +5,6 @@ export let properties: EnvProperties = {
|
|||
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/",
|
||||
|
@ -28,11 +27,6 @@ export let properties: EnvProperties = {
|
|||
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/",
|
||||
|
|
|
@ -5,7 +5,6 @@ export let properties: EnvProperties = {
|
|||
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: "",
|
||||
|
@ -28,11 +27,6 @@ export let properties: EnvProperties = {
|
|||
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/",
|
||||
|
|
|
@ -5,7 +5,6 @@ export let properties: EnvProperties = {
|
|||
enablePiwikTrack: false,
|
||||
useCache: false,
|
||||
showContent: true,
|
||||
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/",
|
||||
|
@ -28,11 +27,6 @@ export let properties: EnvProperties = {
|
|||
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/",
|
||||
|
|
|
@ -12,4 +12,4 @@ if (properties.environment !== "development") {
|
|||
}
|
||||
|
||||
export {AppServerModule} from './app/app.server.module';
|
||||
export {renderModule} from '@angular/platform-server';
|
||||
|
||||
|
|
|
@ -7,8 +7,6 @@ import {
|
|||
platformBrowserDynamicTesting
|
||||
} from '@angular/platform-browser-dynamic/testing';
|
||||
|
||||
declare const require: any;
|
||||
|
||||
// First, initialize the Angular testing environment.
|
||||
getTestBed().initTestEnvironment(
|
||||
BrowserDynamicTestingModule,
|
||||
|
@ -16,7 +14,3 @@ getTestBed().initTestEnvironment(
|
|||
teardown: { destroyAfterEach: false }
|
||||
}
|
||||
);
|
||||
// Then we find all the tests.
|
||||
const context = require.context('./', true, /\.spec\.ts$/);
|
||||
// And load the modules.
|
||||
context.keys().map(context);
|
||||
|
|
|
@ -2,7 +2,6 @@
|
|||
"extends": "./tsconfig.app.json",
|
||||
"compilerOptions": {
|
||||
"outDir": "../out-tsc/app-server",
|
||||
"target": "es2016",
|
||||
"types": [
|
||||
"node"
|
||||
]
|
||||
|
|
|
@ -10,13 +10,14 @@
|
|||
"moduleResolution": "node",
|
||||
"experimentalDecorators": true,
|
||||
"importHelpers": true,
|
||||
"target": "es2020",
|
||||
"target": "ES2022",
|
||||
"typeRoots": [
|
||||
"node_modules/@types"
|
||||
],
|
||||
"lib": [
|
||||
"es2018",
|
||||
"dom"
|
||||
]
|
||||
],
|
||||
"useDefineForClassFields": false
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue