Update to Angular-16 #4

Merged
konstantina.galouni merged 34 commits from angular-16 into develop 2023-10-30 20:55:50 +01:00
26 changed files with 359 additions and 374 deletions

View File

@ -1,6 +1,6 @@
# Explore # Explore
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.1.7.
## Install packages ## Install packages

View File

@ -274,13 +274,16 @@
"main": "server.ts", "main": "server.ts",
"tsConfig": "src/tsconfig.server.json", "tsConfig": "src/tsconfig.server.json",
"sourceMap": true, "sourceMap": true,
"optimization": false "optimization": false,
"buildOptimizer": false
}, },
"configurations": { "configurations": {
"development": { "development": {
"outputHashing": "media", "outputHashing": "media",
"sourceMap": false, "sourceMap": false,
"optimization": true "optimization": true,
"vendorChunk": true,
"buildOptimizer": true
}, },
"test": { "test": {
"outputHashing": "media", "outputHashing": "media",
@ -291,7 +294,8 @@
} }
], ],
"sourceMap": false, "sourceMap": false,
"optimization": true "optimization": true,
"buildOptimizer": true
}, },
"beta": { "beta": {
"outputHashing": "media", "outputHashing": "media",
@ -302,7 +306,8 @@
} }
], ],
"sourceMap": false, "sourceMap": false,
"optimization": true "optimization": true,
"buildOptimizer": true
}, },
"production": { "production": {
"outputHashing": "media", "outputHashing": "media",
@ -313,7 +318,8 @@
} }
], ],
"sourceMap": false, "sourceMap": false,
"optimization": true "optimization": true,
"buildOptimizer": true
} }
}, },
"defaultConfiguration": "" "defaultConfiguration": ""

View File

@ -23,42 +23,42 @@
}, },
"private": true, "private": true,
"dependencies": { "dependencies": {
"@angular/animations": "^14.2.3", "@angular/animations": "^16.1.7",
"@angular/cdk": "^14.2.2", "@angular/cdk": "^16.1.6",
"@angular/common": "^14.2.3", "@angular/common": "^16.1.7",
"@angular/compiler": "^14.2.3", "@angular/compiler": "^16.1.7",
"@angular/core": "^14.2.3", "@angular/core": "^16.1.7",
"@angular/forms": "^14.2.3", "@angular/forms": "^16.1.7",
"@angular/localize": "^14.2.3", "@angular/localize": "^16.1.7",
"@angular/material": "^14.2.2", "@angular/material": "^16.1.6",
"@angular/platform-browser": "^14.2.3", "@angular/platform-browser": "^16.1.7",
"@angular/platform-browser-dynamic": "^14.2.3", "@angular/platform-browser-dynamic": "^16.1.7",
"@angular/platform-server": "^14.2.3", "@angular/platform-server": "^16.1.7",
"@angular/router": "^14.2.3", "@angular/router": "^16.1.7",
"@nguniversal/express-engine": "^14.2.0", "@nguniversal/express-engine": "^16.1.1",
"clipboard": "^1.5.16", "clipboard": "^1.5.16",
"core-js": "^2.5.4", "core-js": "^2.5.4",
"express": "^4.15.2", "express": "^4.15.2",
"jquery": "^3.4.1", "jquery": "^3.4.1",
"ng-recaptcha": "^10.0.0", "ng-recaptcha": "^12.0.2",
"prom-client": "^11.3.0", "prom-client": "^11.3.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.13.10", "uikit": "3.16.14",
"zone.js": "~0.11.4" "zone.js": "~0.13.1"
}, },
"devDependencies": { "devDependencies": {
"@angular-devkit/build-angular": "^14.2.3", "@angular-devkit/build-angular": "^16.1.6",
"@angular/cli": "^14.2.3", "@angular/cli": "^16.1.6",
"@angular/compiler-cli": "^14.2.3", "@angular/compiler-cli": "^16.1.7",
"@angular/language-service": "^14.2.3", "@angular/language-service": "^16.1.7",
"@nguniversal/builders": "^14.2.0", "@nguniversal/builders": "^16.1.1",
"@types/compression": "^1.7.0", "@types/compression": "^1.7.0",
"@types/express": "^4.17.0", "@types/express": "^4.17.0",
"@types/jasmine": "~3.6.0", "@types/jasmine": "~3.6.0",
"@types/jasminewd2": "~2.0.3", "@types/jasminewd2": "~2.0.3",
"@types/node": "^12.11.1", "@types/node": "^16.18.50",
"codelyzer": "^6.0.0", "codelyzer": "^6.0.0",
"jasmine-core": "~3.8.0", "jasmine-core": "~3.8.0",
"jasmine-spec-reporter": "~5.0.0", "jasmine-spec-reporter": "~5.0.0",
@ -69,6 +69,6 @@
"karma-jasmine-html-reporter": "^1.6.0", "karma-jasmine-html-reporter": "^1.6.0",
"protractor": "~7.0.0", "protractor": "~7.0.0",
"ts-node": "~7.0.0", "ts-node": "~7.0.0",
"typescript": "~4.6.4" "typescript": "~4.9.5"
} }
} }

View File

@ -5,7 +5,7 @@ import {PageURLResolverComponent} from "./openaireLibrary/utils/pageURLResolver.
const routes: Routes = [ const routes: Routes = [
// Other Pages // Other Pages
{path: '', loadChildren: () => import('./home/home.module').then(m => m.HomeModule)}, {path: '', loadChildren: () => import('./home/home.module').then(m => m.HomeModule), data: {hasStickyHeaderOnMobile: true}},
{path: 'home', redirectTo: '', pathMatch: 'full'}, {path: 'home', redirectTo: '', pathMatch: 'full'},
{path: 'mail-preferences', loadChildren: () => import('./userEmailPreferences/mailPrefs.module').then(m => m.LibMailPrefsModule)}, {path: 'mail-preferences', loadChildren: () => import('./userEmailPreferences/mailPrefs.module').then(m => m.LibMailPrefsModule)},
{path: 'sdgs', loadChildren: () => import('./sdg/sdg.module').then(m => m.LibSdgModule)}, {path: 'sdgs', loadChildren: () => import('./sdg/sdg.module').then(m => m.LibSdgModule)},

View File

@ -1,6 +1,6 @@
import {NgModule} from '@angular/core'; import {APP_ID, NgModule} from '@angular/core';
import {SharedModule} from './openaireLibrary/shared/shared.module'; import {SharedModule} from './openaireLibrary/shared/shared.module';
import {BrowserModule, BrowserTransferStateModule} from '@angular/platform-browser'; import {BrowserModule} from '@angular/platform-browser';
import {BrowserAnimationsModule} from '@angular/platform-browser/animations'; import {BrowserAnimationsModule} from '@angular/platform-browser/animations';
import {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';
@ -28,9 +28,8 @@ import {AlertModalModule} from './openaireLibrary/utils/modal/alertModal.module'
ErrorModule, ErrorModule,
NavigationBarModule, BottomModule, NavigationBarModule, BottomModule,
CookieLawModule, CookieLawModule,
BrowserModule.withServerTransition({ appId: 'explore' }), BrowserModule,
AppRoutingModule, AppRoutingModule,
BrowserTransferStateModule,
BrowserAnimationsModule, PageURLResolverModule, BrowserAnimationsModule, PageURLResolverModule,
Schema2jsonldModule, Schema2jsonldModule,
QuickContactModule, QuickContactModule,
@ -39,6 +38,7 @@ import {AlertModalModule} from './openaireLibrary/utils/modal/alertModal.module'
declarations: [AppComponent, OpenaireErrorPageComponent], declarations: [AppComponent, OpenaireErrorPageComponent],
exports: [AppComponent], exports: [AppComponent],
providers: [ providers: [
{provide: APP_ID, useValue: 'explore'},
{ {
provide: HTTP_INTERCEPTORS, provide: HTTP_INTERCEPTORS,
useClass: CacheInterceptorService, useClass: CacheInterceptorService,

View File

@ -1,5 +1,5 @@
import { NgModule } from '@angular/core'; import { NgModule } from '@angular/core';
import {ServerModule, ServerTransferStateModule} from '@angular/platform-server'; import {ServerModule} from '@angular/platform-server';
import { AppModule } from './app.module'; import { AppModule } from './app.module';
import { AppComponent } from './app.component'; import { AppComponent } from './app.component';
@ -7,8 +7,7 @@ import { AppComponent } from './app.component';
@NgModule({ @NgModule({
imports: [ imports: [
AppModule, AppModule,
ServerModule, ServerModule
ServerTransferStateModule
], ],
bootstrap: [AppComponent], bootstrap: [AppComponent],
}) })

View File

@ -188,7 +188,12 @@ export class FundersComponent implements OnInit {
let queriedFunders4 = data[3]; let queriedFunders4 = data[3];
queriedFunders4.forEach(queriedFunder => { queriedFunders4.forEach(queriedFunder => {
let id = queriedFunder.index_id + '||' + queriedFunder.index_name + '||' + queriedFunder.index_shortName; let id = queriedFunder.index_id + '||' + queriedFunder.index_name + '||' + queriedFunder.index_shortName;
if(this.fundersMap.has(id)) { if(this.fundersMap.has(id) && (
!this.fundersMap.get(id).monitorDashboardStatus
||
(this.fundersMap.get(id).monitorDashboardStatus == "RESTRICTED" && queriedFunder.visibility == "PUBLIC")
||
(this.fundersMap.get(id).monitorDashboardStatus == "PRIVATE" && (queriedFunder.visibility == "RESTRICTED" || queriedFunder.visibility == "PUBLIC")))) {
this.fundersMap.get(id).alias = queriedFunder.alias; this.fundersMap.get(id).alias = queriedFunder.alias;
this.fundersMap.get(id).monitorDashboard = queriedFunder.alias; this.fundersMap.get(id).monitorDashboard = queriedFunder.alias;
this.fundersMap.get(id).monitorDashboardStatus = queriedFunder.visibility; this.fundersMap.get(id).monitorDashboardStatus = queriedFunder.visibility;

View File

@ -8,7 +8,8 @@
<div> <div>
<div class="uk-section uk-padding-remove-bottom uk-overflow-hidden"> <div class="uk-section uk-padding-remove-bottom uk-overflow-hidden">
<div class="uk-container uk-container-large" uk-scrollspy="target: [uk-scrollspy-class]; cls: uk-animation-slide-bottom-medium; delay: 200"> <div class="uk-container uk-container-large"
uk-scrollspy="target: [uk-scrollspy-class]; cls: uk-animation-slide-bottom-medium; delay: 200">
<div class="uk-grid uk-flex-middle" uk-grid> <div class="uk-grid uk-flex-middle" uk-grid>
<div class="uk-width-3-5@m uk-margin-large-bottom"> <div class="uk-width-3-5@m uk-margin-large-bottom">
<h1 class="uk-h2 uk-width-1-2@m" uk-scrollspy-class> <h1 class="uk-h2 uk-width-1-2@m" uk-scrollspy-class>
@ -28,7 +29,8 @@
[onChangeNavigate]="false" class="uk-width-2-5"></entities-selection> --> [onChangeNavigate]="false" class="uk-width-2-5"></entities-selection> -->
<!-- <div class="uk-width-expand" input #input placeholder="Search in Explore" [searchable]="true" [hint]="'What are you looking for?'" [(value)]="keyword"></div>--> <!-- <div class="uk-width-expand" input #input placeholder="Search in Explore" [searchable]="true" [hint]="'What are you looking for?'" [(value)]="keyword"></div>-->
<!-- </advanced-search-input>--> <!-- </advanced-search-input>-->
<div search-input [(value)]="keyword" [placeholder]="'Search'+(portalName ? (' in '+portalName) : '')" (searchEmitter)="goTo()" <div search-input [(value)]="keyword"
[placeholder]="'Search'+(portalName ? (' in '+portalName) : '')" (searchEmitter)="goTo()"
[searchInputClass]="'inner background'"></div> [searchInputClass]="'inner background'"></div>
<!-- <div *ngIf="selectedEntity === 'result' && input.focused" (click)="$event.stopPropagation();advanced.focusNext(input, $event)" class="uk-dropdown uk-display-block uk-margin-small-top uk-width-auto"> <!-- <div *ngIf="selectedEntity === 'result' && input.focused" (click)="$event.stopPropagation();advanced.focusNext(input, $event)" class="uk-dropdown uk-display-block uk-margin-small-top uk-width-auto">
@ -46,7 +48,8 @@
routerLinkActive="router-link-active" routerLink="/sdgs"> routerLinkActive="router-link-active" routerLink="/sdgs">
<span class="uk-flex uk-flex-middle"> <span class="uk-flex uk-flex-middle">
<img src="assets/common-assets/sdg/sdg-dot-img.svg" alt="SDGs logo" loading="lazy"> <img src="assets/common-assets/sdg/sdg-dot-img.svg" alt="SDGs logo" loading="lazy">
<span class="uk-margin-small-left">Sustainable Development Goals (SDG<span class="uk-text-lowercase">s</span>)</span> <span class="uk-margin-small-left">Sustainable Development Goals (SDG<span
class="uk-text-lowercase">s</span>)</span>
</span> </span>
</a> </a>
<a class="uk-display-inline-block uk-text-uppercase uk-button uk-button-text" <a class="uk-display-inline-block uk-text-uppercase uk-button uk-button-text"
@ -132,110 +135,74 @@
</ul> </ul>
</div> </div>
<a class="uk-position-center-left-out" uk-slider-item="previous"><span uk-icon="icon: chevron-left; ratio: 2"></span></a> <a class="uk-position-center-left-out" uk-slider-item="previous"><span
<a class="uk-position-center-right-out" uk-slider-item="next"><span uk-icon="icon: chevron-right; ratio: 2"></span></a> uk-icon="icon: chevron-left; ratio: 2"></span></a>
<a class="uk-position-center-right-out" uk-slider-item="next"><span
uk-icon="icon: chevron-right; ratio: 2"></span></a>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
<div class="uk-section uk-section-secondary explore-dark-logo-background">
<ng-template #scrolling_text let-position_class="position_class"> <div class="uk-container uk-container-large uk-margin-large-bottom">
<div #scrolling_element [class]="position_class" uk-parallax="target: #js-sticky-parallax-images-all; start: 15%; end: 100% + 100vh - 200vh; opacity: 0,1 20%,1 99%,0"> <div class="uk-width-1-1 uk-margin-medium-bottom">
<h3 class="uk-h2"> <h2 class="uk-h1 uk-margin-large-top">Share your research<span class="uk-text-primary">.</span></h2>
<span class="uk-text-primary">Deposit</span> your research<span class="uk-text-primary">.</span> </div>
</h3> <slider-container [total]="2" [period]="8000" [infinite]="true" [navigation]="'progress'">
<p class="uk-text-large uk-width-3-4@m"> <slider-column type="slider">
<slider-item type="static">
<img class="uk-position-center uk-position-z-index" src="assets/explore-assets/home/tablet.png"
alt="ipad" loading="lazy">
</slider-item>
<slider-item type="slide" [start]="0">
<img src="assets/explore-assets/home/1.png" alt="ipad" loading="lazy">
</slider-item>
<slider-item type="slide" [start]="0.5">
<img src="assets/explore-assets/home/2.png" alt="ipad" loading="lazy">
</slider-item>
<slider-item type="slide" [start]="1">
<img src="assets/explore-assets/home/3.png" alt="ipad" loading="lazy">
</slider-item>
<slider-item type="slide" [start]="1.5">
<img src="assets/explore-assets/home/4.png" alt="ipad" loading="lazy">
</slider-item>
</slider-column>
<slider-column type="nav" class="slider-nav">
<slider-nav-item [start]="0">
<h6>
<i class="uk-text-primary">Deposit</i> your research<span class="uk-text-primary">.</span>
</h6>
<div class="uk-margin-bottom">
Whether its publications, data or software, Whether its publications, data or software,
select an <a href="" target="_blank">OpenAIRE compatible repository</a> and select an OpenAIRE compatible repository and
share using community standards. Alternatively share using community standards. Alternatively
use Zenodo, a catch-all repository hosted by CERN. use Zenodo, a catch-all repository hosted by CERN.
All results will be indexed, discoverable and accessible All results will be indexed, discoverable and accessible
via EXPLORE. via EXPLORE.
</p>
<div class="uk-margin-medium-top">
<a class="uk-button uk-button-primary uk-text-uppercase" routerLink="/participate/deposit/learn-how">Start Deposit</a>
</div> </div>
<div class="uk-margin-top">
<a class="uk-button uk-button-text uk-text-primary" routerLink="/participate/deposit/learn-how">Start
Deposit</a>
</div> </div>
<div #scrolling_element [class]="position_class" uk-parallax="target: #js-sticky-parallax-images-all; start: 200vh; end: 100% + 100vh - 300vh; opacity: 0,1 20%" style="padding-top: 4vh;"> </slider-nav-item>
<h3 class="uk-h2"> <slider-nav-item [start]="1">
<span class="uk-text-primary">Link</span> your work<span class="uk-text-primary">.</span> <h6>
</h3> <i class="uk-text-primary">Link</i> your work<span class="uk-text-primary">.</span>
<p class="uk-text-large uk-width-3-4@m"> </h6>
<div class="uk-margin-bottom">
Connect all your research. If you can't find your research Connect all your research. If you can't find your research
results in OpenAIRE, don't worry! Use our Link service, results in OpenAIRE, don't worry! Use our Link service,
that reaches out to many external sources via APIs, and that reaches out to many external sources via APIs, and
claim them to your Grant or ORCID. Use the service to provide claim them to your Grant or ORCID. Use the service to provide
meaningful links between publications-datasets-software. meaningful links between publications-datasets-software.
</p>
<div class="uk-margin-medium-top">
<a class="uk-button uk-button-primary uk-text-uppercase" routerLink="/participate/claim">Start Linking</a>
</div>
</div>
</ng-template>
<div class="uk-section uk-section-secondary">
<div class="uk-container uk-container-large">
<div class="uk-width-1-1">
<h2 class="uk-h1 uk-margin-large-top">Share your research<span class="uk-text-primary">.</span></h2>
</div>
<div id="js-sticky-parallax-images-all" style="min-height: 400vh">
<div class="uk-visible@m uk-height-viewport explore-dark-logo-background uk-sticky" uk-sticky="bottom: #js-sticky-parallax-images-all; target-offset: true">
<div class="uk-grid" uk-grid style="height: 100vh;">
<div class="uk-width-expand uk-first-column uk-position-relative uk-height-1-1">
<div class="explore-dark-logo-background">
<div uk-parallax="target: #js-sticky-parallax-images-all;">
<img class="uk-position-center uk-position-z-index" src="assets/explore-assets/home/tablet.png" alt="ipad" loading="lazy"
style="width: 100%;">
<img class="uk-position-center" src="assets/explore-assets/home/1.png" alt="ipad" loading="lazy"
uk-parallax="target: #js-sticky-parallax-images-all; start: 100vh; end: 100% + 100vh - 160vh; opacity: 1,1 99%,0; easing:0"
style="width: 100%;">
<img class="uk-position-center" src="assets/explore-assets/home/2.png" alt="ipad" loading="lazy"
uk-parallax="target: #js-sticky-parallax-images-all; start: 150vh; end: 100% + 100vh - 210vh; opacity: 0,1 20%,1 99%,0; easing:0"
style="width: 100%;">
<img class="uk-position-center" src="assets/explore-assets/home/3.png" alt="ipad" loading="lazy"
uk-parallax="target: #js-sticky-parallax-images-all; start: 200vh; end: 100% + 100vh - 260vh; opacity: 0,1 20%,1 99%,0; easing:0"
style="width: 100%;">
<img class="uk-position-center" src="assets/explore-assets/home/4.png" alt="ipad" loading="lazy"
uk-parallax="target: #js-sticky-parallax-images-all; start: 250vh; end: 100% + 100vh - 310vh; opacity: 0,1 20%,1; easing:0"
style="width: 100%;">
</div>
</div>
</div>
<div class="uk-inline uk-width-expand uk-height-1-1 uk-margin-large-left">
<div>
<div uk-parallax="target: #js-sticky-parallax-images-all; y: 55vh, 40vh;">
<ng-container *ngTemplateOutlet="scrolling_text; context: {position_class: 'uk-position-center-left'}"></ng-container>
</div>
</div>
</div>
</div>
</div>
<div class="uk-hidden@m uk-height-viewport explore-dark-logo-background" uk-sticky="bottom: #js-sticky-parallax-images-all">
<div class="uk-flex uk-flex-column">
<div class="explore-dark-logo-background uk-inline uk-width-1-1" style="height: 40vh;">
<img class="uk-position-center uk-position-z-index" src="assets/explore-assets/home/tablet.png" alt="ipad" loading="lazy"
uk-parallax="target: #js-sticky-parallax-images-all;" style="width: 70%;">
<img class="uk-position-center" src="assets/explore-assets/home/1.png" alt="ipad" loading="lazy"
uk-parallax="target: #js-sticky-parallax-images-all; start: 100vh; end: 100% + 100vh - 160vh; opacity: 1,1 99%,0; easing:0"
style="width: 70%;">
<img class="uk-position-center" src="assets/explore-assets/home/2.png" alt="ipad" loading="lazy"
uk-parallax="target: #js-sticky-parallax-images-all; start: 150vh; end: 100% + 100vh - 210vh; opacity: 0,1 20%,1 99%,0; easing:0"
style="width: 70%;">
<img class="uk-position-center" src="assets/explore-assets/home/3.png" alt="ipad" loading="lazy"
uk-parallax="target: #js-sticky-parallax-images-all; start: 200vh; end: 100% + 100vh - 260vh; opacity: 0,1 20%,1 99%,0; easing:0"
style="width: 70%;">
<img class="uk-position-center" src="assets/explore-assets/home/4.png" alt="ipad" loading="lazy"
uk-parallax="target: #js-sticky-parallax-images-all; start: 250vh; end: 100% + 100vh - 310vh; opacity: 0,1 20%,1; easing:0"
style="width: 70%;">
</div>
<div class="uk-inline uk-width-expand">
<ng-container *ngTemplateOutlet="scrolling_text; context: {position_class: 'uk-position-top-center'}"></ng-container>
</div>
</div>
</div> </div>
<div class="uk-margin-top">
<a class="uk-button uk-button-text uk-text-primary" routerLink="/participate/claim">Start Linking</a>
</div> </div>
</slider-nav-item>
</slider-column>
</slider-container>
</div> </div>
</div> </div>
@ -260,7 +227,8 @@
<div style="max-width: 550px;"> <div style="max-width: 550px;">
<h2>Linked Open Research.</h2> <h2>Linked Open Research.</h2>
<div class=""> <div class="">
EXPLORE is built on the <a href="https://graph.openaire.eu/" target="_blank" class="graph">OpenAIRE Graph</a>, one of the largest EXPLORE is built on the <a href="https://graph.openaire.eu/" target="_blank"
class="graph">OpenAIRE Graph</a>, one of the largest
open scholarly record collections worldwide. Conceived as a public and open scholarly record collections worldwide. Conceived as a public and
transparent good, populated out of data sources trusted by scientists, the transparent good, populated out of data sources trusted by scientists, the
OpenAIRE Graph brings discovery, monitoring, and assessment of science OpenAIRE Graph brings discovery, monitoring, and assessment of science
@ -269,7 +237,8 @@
</div> </div>
</div> </div>
<div></div> <div></div>
<img class="uk-visible@m uk-height-1-1 uk-position-top-right" src="assets/common-assets/common/graph-nodes.svg" alt="ipad" loading="lazy"> <img class="uk-visible@m uk-height-1-1 uk-position-top-right"
src="assets/common-assets/common/graph-nodes.svg" alt="ipad" loading="lazy">
</div> </div>
</div> </div>
</div> </div>
@ -278,13 +247,19 @@
<div class="uk-container"> <div class="uk-container">
<div class="uk-width-1-2@m uk-margin-auto uk-margin-small-top uk-text-center" style="max-width: 600px;"> <div class="uk-width-1-2@m uk-margin-auto uk-margin-small-top uk-text-center" style="max-width: 600px;">
<div> <div>
Within a constantly emerging scholarly communication environment, the OpenAIRE Graph is a moving target, continuously integrating new sources, new types or research objects, and embedding access measures. We therefore welcome the community to work with us to improve all its aspects: its <span class="uk-text-bold">coverage</span> (geographic and thematic), <span class="uk-text-bold">quality</span> (disambiguation and semantics) and <span class="uk-text-bold">access</span> (APIs). Within a constantly emerging scholarly communication environment, the OpenAIRE Graph is a moving
target, continuously integrating new sources, new types or research objects, and embedding
access measures. We therefore welcome the community to work with us to improve all its aspects:
its <span class="uk-text-bold">coverage</span> (geographic and thematic), <span
class="uk-text-bold">quality</span> (disambiguation and semantics) and <span
class="uk-text-bold">access</span> (APIs).
</div> </div>
<div class="uk-margin-top"> <div class="uk-margin-top">
Find information about the OpenAIRE Graph, how to test it and contribute to improving it. Find information about the OpenAIRE Graph, how to test it and contribute to improving it.
</div> </div>
<div class="uk-margin-top"> <div class="uk-margin-top">
<a href="https://www.openaire.eu/blogs/the-openaire-research-graph" target="_blank" class="uk-display-inline-block uk-text-uppercase uk-button uk-button-text"> <a href="https://www.openaire.eu/blogs/the-openaire-research-graph" target="_blank"
class="uk-display-inline-block uk-text-uppercase uk-button uk-button-text">
Learn more. Contribute Learn more. Contribute
</a> </a>
</div> </div>
@ -302,17 +277,20 @@
you may you may
</h2> </h2>
<div class="uk-container"> <div class="uk-container">
<div class="uk-grid uk-child-width-1-2@l uk-child-width-1-1 uk-grid-large" uk-grid uk-height-match=".link-title"> <div class="uk-grid uk-child-width-1-2@l uk-child-width-1-1 uk-grid-large" uk-grid
uk-height-match=".link-title">
<div> <div>
<div class="uk-padding-small uk-padding-remove-horizontal custom-link"> <div class="uk-padding-small uk-padding-remove-horizontal custom-link">
<a href="https://provide.openaire.eu/home" target="_blank" class="uk-button uk-button-text uk-text-left uk-text-large"> <a href="https://provide.openaire.eu/home" target="_blank"
class="uk-button uk-button-text uk-text-left uk-text-large">
<span class="link-title">have your repository, Journal or CRIS system indexed in EXPLORE and take advantage of services for enriching metadata and counting usage?</span> <span class="link-title">have your repository, Journal or CRIS system indexed in EXPLORE and take advantage of services for enriching metadata and counting usage?</span>
</a> </a>
</div> </div>
</div> </div>
<div> <div>
<div class="uk-padding-small uk-padding-remove-horizontal custom-link"> <div class="uk-padding-small uk-padding-remove-horizontal custom-link">
<a href="https://canada.explore.openaire.eu/" target="_blank" class="uk-button uk-button-text uk-text-left uk-text-large"> <a href="https://canada.explore.openaire.eu/" target="_blank"
class="uk-button uk-button-text uk-text-left uk-text-large">
<span class="link-title">use EXPLORE as an application platform as a service (aPaaS) and set up a national portal for Open Science, such as Canada.EXPLORE?</span> <span class="link-title">use EXPLORE as an application platform as a service (aPaaS) and set up a national portal for Open Science, such as Canada.EXPLORE?</span>
</a> </a>
</div> </div>

View File

@ -38,14 +38,21 @@
color: @global-secondary-background; color: @global-secondary-background;
} }
} }
} }
@media only screen and (min-width: @breakpoint-medium) { .slider-image {
min-width: 550px;
}
@media only screen and (min-width: @breakpoint-large) {
.explore-dark-logo-background { .explore-dark-logo-background {
background-image: url("~src/assets/explore-assets/home/explore-dark-logo.svg"); background-image: url("~src/assets/explore-assets/home/explore-dark-logo.svg");
background-repeat: no-repeat; background-repeat: no-repeat;
background-position: left 95%; background-position: -5% 102%;
background-size: 65%; background-size: 35%;
}
.slider-nav {
max-width: 650px;
} }
} }

View File

@ -28,6 +28,7 @@ import {NumbersModule} from "../openaireLibrary/sharedComponents/numbers/numbers
import {AdvancedSearchInputModule} from "../openaireLibrary/sharedComponents/advanced-search-input/advanced-search-input.module"; import {AdvancedSearchInputModule} from "../openaireLibrary/sharedComponents/advanced-search-input/advanced-search-input.module";
import {InputModule} from "../openaireLibrary/sharedComponents/input/input.module"; import {InputModule} from "../openaireLibrary/sharedComponents/input/input.module";
import {SearchInputModule} from "../openaireLibrary/sharedComponents/search-input/search-input.module"; import {SearchInputModule} from "../openaireLibrary/sharedComponents/search-input/search-input.module";
import {SliderUtilsModule} from "../openaireLibrary/sharedComponents/slider-utils/slider-utils.module";
@NgModule({ @NgModule({
imports: [ imports: [
@ -38,7 +39,7 @@ import {SearchInputModule} from "../openaireLibrary/sharedComponents/search-inpu
PiwikServiceModule, PiwikServiceModule,
HomeRoutingModule, HomeRoutingModule,
HelperModule, HelperModule,
SEOServiceModule, OtherPortalsModule, EntitiesSelectionModule, QuickSelectionsModule, IconsModule, NumbersModule, AdvancedSearchInputModule, InputModule, SearchInputModule SEOServiceModule, OtherPortalsModule, EntitiesSelectionModule, QuickSelectionsModule, IconsModule, NumbersModule, AdvancedSearchInputModule, InputModule, SearchInputModule, SliderUtilsModule
], ],
declarations: [ declarations: [
HomeComponent HomeComponent

@ -1 +1 @@
Subproject commit fce848008aa7edf91be10a3a241d940abec0076a Subproject commit 5184ffad194e23864411f989f9403cd984afb4a3

@ -1 +1 @@
Subproject commit d18e0a7e43e5ab74649481ecbf352ba49893c66f Subproject commit d1b2d5e585722751792d12645d17f820cd6a7860

View File

@ -2,7 +2,6 @@
/* Button */ /* Button */
@button-primary-background: @explore-color; @button-primary-background: @explore-color;
@inverse-button-primary-background: @explore-color;
@button-secondary-border: @explore-color; @button-secondary-border: @explore-color;
@button-secondary-color: @explore-color; @button-secondary-color: @explore-color;
@button-secondary-hover-background: @global-secondary-background; @button-secondary-hover-background: @global-secondary-background;

@ -1 +1 @@
Subproject commit 2df4b377a3e89b7dd26a011a2e1e1f07fdcedf2a Subproject commit 2dadcf85926bc0f11fff22ed94dc197ddd8587c6

View File

@ -1,6 +1,5 @@
import {EnvProperties} from "../app/openaireLibrary/utils/properties/env-properties"; import {EnvProperties} from "../app/openaireLibrary/utils/properties/env-properties";
import {common} from "../app/openaireLibrary/utils/properties/environments/environment.all"; import {common, commonBeta} from "../app/openaireLibrary/utils/properties/environments/environment";
import {commonBeta} from "../app/openaireLibrary/utils/properties/environments/environment.beta";
let props: EnvProperties = { let props: EnvProperties = {
environment: "beta", environment: "beta",
@ -16,7 +15,7 @@ let props: EnvProperties = {
statisticsFrameNewAPIURL: "https://beta.services.openaire.eu/stats-tool/", statisticsFrameNewAPIURL: "https://beta.services.openaire.eu/stats-tool/",
bipFrameAPIURL: "https://bip.imsi.athenarc.gr/api/impact-chart?id=", bipFrameAPIURL: "https://bip.imsi.athenarc.gr/api/impact-chart?id=",
useNewStatistisTool: true, useNewStatistisTool: true,
claimsAPIURL: "https://beta.services.openaire.eu/claims/rest/claimsService/", claimsAPIURL: "https://beta.services.openaire.eu/claims-new/rest/claimsService/",
searchAPIURLLAst: "https://beta.services.openaire.eu/search/v2/api/", searchAPIURLLAst: "https://beta.services.openaire.eu/search/v2/api/",
searchResourcesAPIURL: "https://beta.services.openaire.eu/search/v2/api/resources", searchResourcesAPIURL: "https://beta.services.openaire.eu/search/v2/api/resources",
openCitationsAPIURL: "https://services.openaire.eu/opencitations/getCitations?id=", openCitationsAPIURL: "https://services.openaire.eu/opencitations/getCitations?id=",

View File

@ -1,6 +1,5 @@
import {EnvProperties} from "../app/openaireLibrary/utils/properties/env-properties"; import {EnvProperties} from "../app/openaireLibrary/utils/properties/env-properties";
import {common} from "../app/openaireLibrary/utils/properties/environments/environment.all"; import {common, commonProd} from "../app/openaireLibrary/utils/properties/environments/environment";
import {commonProd} from "../app/openaireLibrary/utils/properties/environments/environment.prod";
let props: EnvProperties = { let props: EnvProperties = {
environment: "production", environment: "production",
@ -16,7 +15,7 @@ import {commonProd} from "../app/openaireLibrary/utils/properties/environments/e
statisticsFrameNewAPIURL: "https://services.openaire.eu/stats-tool/", statisticsFrameNewAPIURL: "https://services.openaire.eu/stats-tool/",
bipFrameAPIURL: "https://bip.imsi.athenarc.gr/api/impact-chart?id=", bipFrameAPIURL: "https://bip.imsi.athenarc.gr/api/impact-chart?id=",
useNewStatistisTool: true, useNewStatistisTool: true,
claimsAPIURL: "https://services.openaire.eu/claims/rest/claimsService/", claimsAPIURL: "https://beta.services.openaire.eu/claims-new/rest/claimsService/",
searchAPIURLLAst: "https://services.openaire.eu/search/v2/api/", searchAPIURLLAst: "https://services.openaire.eu/search/v2/api/",
searchResourcesAPIURL: "https://services.openaire.eu/search/v2/api/resources", searchResourcesAPIURL: "https://services.openaire.eu/search/v2/api/resources",
openCitationsAPIURL: "https://services.openaire.eu/opencitations/getCitations?id=", openCitationsAPIURL: "https://services.openaire.eu/opencitations/getCitations?id=",

View File

@ -1,6 +1,5 @@
import {EnvProperties} from "../app/openaireLibrary/utils/properties/env-properties"; import {EnvProperties} from "../app/openaireLibrary/utils/properties/env-properties";
import {common} from "../app/openaireLibrary/utils/properties/environments/environment.all"; import {common, commonTest} from "../app/openaireLibrary/utils/properties/environments/environment";
import {commonTest} from "../app/openaireLibrary/utils/properties/environments/environment.test";
let props: EnvProperties = { let props: EnvProperties = {
// export let properties: EnvProperties = { // export let properties: EnvProperties = {

View File

@ -4,8 +4,7 @@
// The list of which env maps to which file can be found in `.angular-cli.json`. // The list of which env maps to which file can be found in `.angular-cli.json`.
import {EnvProperties} from "../app/openaireLibrary/utils/properties/env-properties"; import {EnvProperties} from "../app/openaireLibrary/utils/properties/env-properties";
import {common} from "../app/openaireLibrary/utils/properties/environments/environment.all"; import {common, commonDev} from "../app/openaireLibrary/utils/properties/environments/environment";
import {commonDev} from "../app/openaireLibrary/utils/properties/environments/environment";
let props: EnvProperties = { let props: EnvProperties = {
environment: "development", environment: "development",

View File

@ -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';

View File

@ -7,8 +7,6 @@ import {
platformBrowserDynamicTesting platformBrowserDynamicTesting
} from '@angular/platform-browser-dynamic/testing'; } from '@angular/platform-browser-dynamic/testing';
declare const require: any;
// First, initialize the Angular testing environment. // First, initialize the Angular testing environment.
getTestBed().initTestEnvironment( getTestBed().initTestEnvironment(
BrowserDynamicTestingModule, BrowserDynamicTestingModule,
@ -16,7 +14,3 @@ getTestBed().initTestEnvironment(
teardown: { destroyAfterEach: false } teardown: { destroyAfterEach: false }
} }
); );
// Then we find all the tests.
const context = require.context('./', true, /\.spec\.ts$/);
// And load the modules.
context.keys().map(context);

View File

@ -2,7 +2,6 @@
"extends": "./tsconfig.app.json", "extends": "./tsconfig.app.json",
"compilerOptions": { "compilerOptions": {
"outDir": "../out-tsc/app-server", "outDir": "../out-tsc/app-server",
"target": "es2016",
"types": [ "types": [
"node" "node"
] ]

View File

@ -10,14 +10,15 @@
"moduleResolution": "node", "moduleResolution": "node",
"experimentalDecorators": true, "experimentalDecorators": true,
"importHelpers": true, "importHelpers": true,
"target": "es2020", "target": "ES2022",
"typeRoots": [ "typeRoots": [
"node_modules/@types" "node_modules/@types"
], ],
"lib": [ "lib": [
"es2018", "es2018",
"dom" "dom"
] ],
"useDefineForClassFields": false
}, },
// "angularCompilerOptions": { // "angularCompilerOptions": {
// "strictTemplates": true // "strictTemplates": true

View File

@ -11,14 +11,14 @@
}, },
"dependencies": { "dependencies": {
"cors": "^2.8.5", "cors": "^2.8.5",
"express": "^4.15.2", "express": "^4.18.2",
"memory-cache": "^0.2.0", "memory-cache": "^0.2.0",
"prom-client": "^11.3.0", "prom-client": "^11.3.0",
"properties-reader": "^2.2.0", "properties-reader": "^2.2.0",
"superagent": "^5.0.5" "superagent": "^5.0.5"
}, },
"engines": { "engines": {
"node": ">=16.3.0" "node": ">=16.14.0"
}, },
"author": "Argiro Kokogiannaki <argirok@di.uoa.gr>", "author": "Argiro Kokogiannaki <argirok@di.uoa.gr>",
"license": "NKUA" "license": "NKUA"

View File

@ -260,7 +260,7 @@ function parseAllUrls(response: any, allUrls: any, resultsType: string, subject:
} else { } else {
let resultLandingComponent = new ResultLandingComponent(null, null, null, let resultLandingComponent = new ResultLandingComponent(null, null, null,
null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null); null, null, null, null, null, null, null, null);
if(!resultLandingComponent.checkIfAllowed(resultLandingInfo)) { if(!resultLandingComponent.checkIfAllowed(resultLandingInfo)) {
noIndexedUrls++; noIndexedUrls++;

View File

@ -10,12 +10,12 @@
"superagent": "^5.0.5" "superagent": "^5.0.5"
}, },
"devDependencies": { "devDependencies": {
"@types/node": "^8.0.30", "@types/node": "^16.18.39",
"ts-node": "^10.4.0", "ts-node": "^10.9.1",
"typescript": "^3.2.4" "typescript": "^4.9.5"
}, },
"engines": { "engines": {
"node": "16.3.0" "node": ">=16.14.0"
}, },
"author": "Konstantina Galouni <kgalouni@di.uoa.gr>", "author": "Konstantina Galouni <kgalouni@di.uoa.gr>",
"license": "NKUA" "license": "NKUA"

View File

@ -13,14 +13,14 @@
"author": "", "author": "",
"license": "ISC", "license": "ISC",
"dependencies": { "dependencies": {
"body-parser": "^1.15.2", "body-parser": "^1.20.2",
"cookie-parser": "^1.4.4", "cookie-parser": "^1.4.6",
"cors": "^2.8.4", "cors": "^2.8.5",
"express": "^4.15.2", "express": "^4.18.2",
"multer": "1.4.5-lts.1", "multer": "^1.4.5-lts.1",
"properties-reader": "^2.2.0" "properties-reader": "^2.2.0"
}, },
"engines": { "engines": {
"node": ">=16.3.0" "node": ">=16.14.0"
} }
} }