Merge branch 'develop'

This commit is contained in:
argirok 2023-11-08 12:32:20 +02:00
commit 3599fc3742
29 changed files with 426 additions and 714 deletions

View File

@ -212,13 +212,16 @@
"main": "server.ts", "main": "server.ts",
"tsConfig": "src/tsconfig.server.json", "tsConfig": "src/tsconfig.server.json",
"sourceMap": true, "sourceMap": true,
"optimization": false "optimization": false,
"buildOptimizer": false
}, },
"configurations": { "configurations": {
"development": { "development": {
"outputHashing": "media", "outputHashing": "media",
"sourceMap": false, "sourceMap": false,
"optimization": true "optimization": true,
"vendorChunk": true,
"buildOptimizer": true
}, },
"beta": { "beta": {
"outputHashing": "media", "outputHashing": "media",
@ -229,7 +232,8 @@
} }
], ],
"sourceMap": false, "sourceMap": false,
"optimization": true "optimization": true,
"buildOptimizer": true
}, },
"production": { "production": {
"outputHashing": "media", "outputHashing": "media",
@ -240,7 +244,8 @@
} }
], ],
"sourceMap": false, "sourceMap": false,
"optimization": true "optimization": true,
"buildOptimizer": true
} }
}, },
"defaultConfiguration": "" "defaultConfiguration": ""

View File

@ -21,19 +21,19 @@
}, },
"private": true, "private": true,
"dependencies": { "dependencies": {
"@angular/animations": "^14.2.3", "@angular/animations": "^16.1.8",
"@angular/cdk": "^14.2.2", "@angular/cdk": "^16.1.7",
"@angular/common": "^14.2.3", "@angular/common": "^16.1.8",
"@angular/compiler": "^14.2.3", "@angular/compiler": "^16.1.8",
"@angular/core": "^14.2.3", "@angular/core": "^16.1.8",
"@angular/forms": "^14.2.3", "@angular/forms": "^16.1.8",
"@angular/localize": "^14.2.3", "@angular/localize": "^16.1.8",
"@angular/material": "^14.2.2", "@angular/material": "^16.1.7",
"@angular/platform-browser": "^14.2.3", "@angular/platform-browser": "^16.1.8",
"@angular/platform-browser-dynamic": "^14.2.3", "@angular/platform-browser-dynamic": "^16.1.8",
"@angular/platform-server": "^14.2.3", "@angular/platform-server": "^16.1.8",
"@angular/router": "^14.2.3", "@angular/router": "^16.1.8",
"@nguniversal/express-engine": "^14.2.0", "@nguniversal/express-engine": "^16.1.1",
"@node-minify/clean-css": "^6.2.0", "@node-minify/clean-css": "^6.2.0",
"@node-minify/core": "^6.2.0", "@node-minify/core": "^6.2.0",
"axios": "^0.27.2", "axios": "^0.27.2",
@ -41,25 +41,25 @@
"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",
"ng2-ckeditor": "1.3.7", "ng2-ckeditor": "1.3.7",
"rxjs": "^6.5.1", "rxjs": "^6.5.1",
"ts-md5": "^1.2.0", "ts-md5": "^1.2.0",
"tslib": "^2.0.0", "tslib": "^2.0.0",
"uikit": "3.13.10", "uikit": "3.16.24",
"zone.js": "~0.11.4" "zone.js": "~0.13.1"
}, },
"devDependencies": { "devDependencies": {
"@angular-devkit/build-angular": "^14.2.3", "@angular-devkit/build-angular": "^16.1.7",
"@angular/cli": "^14.2.3", "@angular/cli": "^16.1.7",
"@angular/compiler-cli": "^14.2.3", "@angular/compiler-cli": "^16.1.8",
"@angular/language-service": "^14.2.3", "@angular/language-service": "^16.1.8",
"@nguniversal/builders": "^14.2.0", "@nguniversal/builders": "^16.1.1",
"@types/compression": "^1.7.0", "@types/compression": "^1.7.0",
"@types/express": "^4.17.0", "@types/express": "^4.17.0",
"@types/jasmine": "~3.6.0", "@types/jasmine": "~3.6.0",
"@types/jasminewd2": "~2.0.3", "@types/jasminewd2": "~2.0.3",
"@types/node": "^12.11.1", "@types/node": "^16.18.50",
"@types/ckeditor": "^4.9.10", "@types/ckeditor": "^4.9.10",
"codelyzer": "^6.0.0", "codelyzer": "^6.0.0",
"jasmine-core": "~3.8.0", "jasmine-core": "~3.8.0",
@ -71,6 +71,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

@ -20,11 +20,12 @@ const routes: Routes = [
/** Other Pages */ /** Other Pages */
{ {
path: '', path: '',
loadChildren: () => import('./communitywrapper/communityWrapper.module').then(m => m.CommunityWrapperModule) loadChildren: () => import('./communitywrapper/communityWrapper.module').then(m => m.CommunityWrapperModule),
data: {hasStickyHeaderOnMobile: true}
}, },
{path: 'about', redirectTo: 'about/learn-how', pathMatch: 'full'}, {path: 'about', redirectTo: 'about/learn-how', pathMatch: 'full'},
{path: 'about/learn-how', loadChildren: () => import('./learn-how/learn-how.module').then(m => m.LearnHowModule)}, {path: 'about/learn-how', loadChildren: () => import('./learn-how/learn-how.module').then(m => m.LearnHowModule), data: {hasStickyHeaderOnMobile: true}},
{path: 'about/faq', loadChildren: () => import('./learn-how/faqs/faqs.module').then(m => m.FaqsModule)}, {path: 'about/faq', loadChildren: () => import('./learn-how/faqs/faqs.module').then(m => m.FaqsModule), data: {hasStickyHeaderOnMobile: true}},
{path: 'get-started', loadChildren: () => import('./get-started/get-started.module').then(m => m.GetStartedModule)}, {path: 'get-started', loadChildren: () => import('./get-started/get-started.module').then(m => m.GetStartedModule)},
{ {
path: 'contact-us', path: 'contact-us',

View File

@ -28,7 +28,7 @@ import {LoginErrorCodes} from "./openaireLibrary/login/utils/guardHelper.class";
import {Layout} from "./openaireLibrary/connect/community/CustomizationOptions"; import {Layout} from "./openaireLibrary/connect/community/CustomizationOptions";
import {CustomizationService} from "./openaireLibrary/services/customization.service"; import {CustomizationService} from "./openaireLibrary/services/customization.service";
import {SmoothScroll} from "./openaireLibrary/utils/smooth-scroll"; import {SmoothScroll} from "./openaireLibrary/utils/smooth-scroll";
import {makeStateKey, Meta, StateKey, TransferState} from "@angular/platform-browser"; import {makeStateKey, StateKey, TransferState} from "@angular/core";
import {CommunityInfo} from "./openaireLibrary/connect/community/communityInfo"; import {CommunityInfo} from "./openaireLibrary/connect/community/communityInfo";
import {SEOService} from "./openaireLibrary/sharedComponents/SEO/SEO.service"; import {SEOService} from "./openaireLibrary/sharedComponents/SEO/SEO.service";
import {UntypedFormBuilder, UntypedFormGroup, Validators} from "@angular/forms"; import {UntypedFormBuilder, UntypedFormGroup, Validators} from "@angular/forms";
@ -42,20 +42,19 @@ import {OpenaireEntities} from "./openaireLibrary/utils/properties/searchFields"
import {DOCUMENT, isPlatformServer} from "@angular/common"; import {DOCUMENT, isPlatformServer} from "@angular/common";
import {AdvancedAsyncSubject} from "./openaireLibrary/utils/AdvancedAsyncSubject"; import {AdvancedAsyncSubject} from "./openaireLibrary/utils/AdvancedAsyncSubject";
import {LayoutService} from "./openaireLibrary/dashboard/sharedComponents/sidebar/layout.service"; import {LayoutService} from "./openaireLibrary/dashboard/sharedComponents/sidebar/layout.service";
import {Meta} from "@angular/platform-browser";
@Component({ @Component({
selector: 'app-root', selector: 'app-root',
template: ` template: `
<div [class]="(community)?(community.communityId +'App communityApp'):'connectApp'"> <div [class]="(community)?(community.communityId +'App communityApp'):'connectApp'">
<div id="modal-container"></div> <div id="modal-container"></div>
<navbar *ngIf="properties && showMenu && !community && header" [portal]="properties.dashboard" [onlyTop]=false <navbar #navbar *ngIf="properties && showMenu && !community && header" [portal]="properties.dashboard" [onlyTop]=false
[userMenuItems]=userMenuItems [menuItems]=menuItems [user]="user" [header]="header" [userMenuItems]=userMenuItems [menuItems]=menuItems [user]="user" [header]="header"
[showMenu]=showMenu [properties]="properties" [showHomeMenuItem]="false" communityId="connect"> [showMenu]=showMenu [properties]="properties" [showHomeMenuItem]="false" communityId="connect">
<ul *ngIf="showGetStarted" extra-s class="uk-nav uk-nav-default uk-margin-small-top"> <div *ngIf="showGetStarted" extra-s class="uk-margin-large-top uk-margin-left">
<li routerLinkActive="uk-active"> <a class="uk-button uk-button-primary uk-text-uppercase" routerLink="/get-started" (click)="navbar.closeCanvas()">Get Started</a>
<a routerLink="/get-started">Get Started</a> </div>
</li>
</ul>
<a *ngIf="showGetStarted" extra-m <a *ngIf="showGetStarted" extra-m
class="uk-button uk-button-small uk-button-primary uk-text-uppercase uk-margin-left" class="uk-button uk-button-small uk-button-primary uk-text-uppercase uk-margin-left"
routerLink="/get-started">Get Started</a> routerLink="/get-started">Get Started</a>
@ -88,8 +87,8 @@ import {LayoutService} from "./openaireLibrary/dashboard/sharedComponents/sideba
</main> </main>
</div> </div>
<div id="joinAndInviteBtn" *ngIf="isClient && communityId && community"> <div id="joinAndInviteBtn" *ngIf="isClient && communityId && community">
<subscribe [communityId]="community.communityId"></subscribe> <subscribe *ngIf="community.isOpen()" [communityId]="community.communityId"></subscribe>
<invite *ngIf="isManager" [longView]="false"></invite> <invite *ngIf="isManager" [longView]="false" [communityId]="communityId" [isOpen]="community.isOpen()"></invite>
</div> </div>
<!--feedback *ngIf= "isClient && properties" portalName="Connect" [feedbackQuestionaire]=properties.feedbackQuestionaire></feedback--> <!--feedback *ngIf= "isClient && properties" portalName="Connect" [feedbackQuestionaire]=properties.feedbackQuestionaire></feedback-->
<cookie-law *ngIf="isClient" position="bottom"> <cookie-law *ngIf="isClient" position="bottom">

View File

@ -1,8 +1,8 @@
import {NgModule} from '@angular/core'; import {APP_ID, NgModule} from '@angular/core';
import {FormsModule} from '@angular/forms'; import {FormsModule} from '@angular/forms';
import {CommonModule} from '@angular/common'; import {CommonModule} from '@angular/common';
import {HTTP_INTERCEPTORS, HttpClientModule} from "@angular/common/http"; import {HTTP_INTERCEPTORS, HttpClientModule} from "@angular/common/http";
import {BrowserModule, BrowserTransferStateModule} from '@angular/platform-browser'; import {BrowserModule} from '@angular/platform-browser';
import {BrowserAnimationsModule} from '@angular/platform-browser/animations'; import {BrowserAnimationsModule} from '@angular/platform-browser/animations';
import {AppComponent} from './app.component'; import {AppComponent} from './app.component';
@ -41,9 +41,8 @@ import {CustomizationService} from "./openaireLibrary/services/customization.ser
BottomModule, BottomModule,
CookieLawModule, CookieLawModule,
SubscribeModule.forRoot(), InviteBasicModule, SubscribeModule.forRoot(), InviteBasicModule,
BrowserModule.withServerTransition({appId: 'serverApp'}), BrowserModule,
AppRoutingModule, AppRoutingModule,
BrowserTransferStateModule,
BrowserAnimationsModule, BrowserAnimationsModule,
PageURLResolverModule, Schema2jsonldModule, RoleVerificationModule, QuickContactModule, AlertModalModule PageURLResolverModule, Schema2jsonldModule, RoleVerificationModule, QuickContactModule, AlertModalModule
], ],
@ -51,6 +50,7 @@ import {CustomizationService} from "./openaireLibrary/services/customization.ser
exports: [AppComponent], exports: [AppComponent],
providers: [ providers: [
CommunitiesService, CustomizationService, IsCommunity, SubscribeService, CommunitiesService, CustomizationService, IsCommunity, SubscribeService,
{provide: APP_ID, useValue: 'serverApp'},
{ {
provide: HTTP_INTERCEPTORS, provide: HTTP_INTERCEPTORS,
useClass: HttpInterceptorService, useClass: HttpInterceptorService,

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';
@ -8,7 +8,6 @@ import { AppComponent } from './app.component';
imports: [ imports: [
AppModule, AppModule,
ServerModule, ServerModule,
ServerTransferStateModule
], ],
bootstrap: [AppComponent], bootstrap: [AppComponent],
}) })

View File

@ -1,302 +1,287 @@
<div> <div>
<div class="uk-overflow-hidden uk-tile-default"> <div class="uk-overflow-hidden uk-tile-default">
<div class="uk-section uk-padding-remove-bottom uk-background-norepeat hero-background"> <div class="uk-section uk-padding-remove-bottom uk-background-norepeat hero-background">
<div class="uk-container uk-container-large" uk-scrollspy="target: [uk-scrollspy-class]; cls: uk-animation-slide-bottom-medium; delay: 200"> <div class="uk-container uk-container-large"
<div class="uk-grid uk-flex-middle" uk-grid> uk-scrollspy="target: [uk-scrollspy-class]; cls: uk-animation-slide-bottom-medium; delay: 200">
<div class="uk-width-3-5 uk-margin-large-bottom"> <div class="uk-grid uk-flex-middle" uk-grid>
<h1 class="uk-heading-large" uk-scrollspy-class> <div class="uk-width-3-5 uk-margin-large-bottom">
Build a <span class="uk-text-primary">Gateway</span> <h1 class="uk-heading-large" uk-scrollspy-class>
for your Community<span class="uk-text-primary">.</span> Build a <span class="uk-text-primary">Gateway</span>
</h1> for your Community<span class="uk-text-primary">.</span>
<div class="uk-text-large uk-margin-medium-top" uk-scrollspy-class> </h1>
<div>Turn Open Science into Practice.</div> <div class="uk-text-large uk-margin-medium-top" uk-scrollspy-class>
<div>It takes your open and linked {{entities.RESULTS | lowercase}}.</div> <div>Turn Open Science into Practice.</div>
<div>A service customized to your needs.</div> <div>It takes your open and linked {{entities.RESULTS | lowercase}}.</div>
</div> <div>A service customized to your needs.</div>
<div class="uk-margin-medium-top" uk-scrollspy-class> </div>
<a class="uk-button uk-button-primary uk-text-uppercase" routerLink="/about/learn-how">Learn More</a> <div class="uk-margin-medium-top" uk-scrollspy-class>
</div> <a class="uk-button uk-button-primary uk-text-uppercase" routerLink="/about/learn-how">Learn
</div> More</a>
<div class="uk-width-expand uk-visible@m" uk-scrollspy-class> </div>
<div class="uk-position-relative"> </div>
<img style="padding: 1px" src="assets/connect-assets/home/connect-hero.jpg" uk-parallax="y: 300"> <div class="uk-width-expand uk-visible@m" uk-scrollspy-class>
<img class="uk-position-top-left" src="assets/connect-assets/home/connect-hero-mask.svg"> <div class="uk-position-relative">
</div> <img style="padding: 1px" src="assets/connect-assets/home/connect-hero.jpg"
</div> uk-parallax="y: 300">
</div> <img class="uk-position-top-left" src="assets/connect-assets/home/connect-hero-mask.svg">
</div> </div>
</div> </div>
</div> </div>
<ng-template #scrolling_text let-position_class="position_class">
<div #scrolling_element [class]="position_class" uk-parallax="target: #js-sticky-parallax-images-all; start: 15%; end: 100% + 100vh - 150vh; opacity: 0,1 20%,1 99%,0">
<h3 class="uk-h2">
<span class="uk-text-primary">Find a repository to deposit </span>
<span>your {{entities.RESULT | lowercase}}</span>
<span class="uk-text-primary">.</span>
</h3>
</div>
<div #scrolling_element [class]="position_class" uk-parallax="target: #js-sticky-parallax-images-all; start: 150vh; end: 100% + 100vh - 200vh; opacity: 0,1 20%,1 99%,0">
<h3 class="uk-h2">
<span class="uk-text-primary">Link your {{entities.RESULT | lowercase}} </span>
<span>with your community, funding, and other {{entities.RESULTS | lowercase}}</span>
<span class="uk-text-primary">.</span>
</h3>
</div>
<div #scrolling_element [class]="position_class" uk-parallax="target: #js-sticky-parallax-images-all; start: 200vh; end: 100% + 100vh - 250vh; opacity: 0,1 20%,1 99%,0">
<h3 class="uk-h2">
<span>View community's </span>
<span class="uk-text-primary">overview at a glance.</span>
</h3>
</div>
<div #scrolling_element [class]="position_class" uk-parallax="target: #js-sticky-parallax-images-all; start: 250vh; end: 100% + 100vh - 300vh; opacity: 0,1 20%,1">
<h3 class="uk-h2">
<span class="uk-text-primary">Search & browse </span>
<span>your community's {{entities.RESULTS | lowercase}}</span>
<span class="uk-text-primary">.</span>
</h3>
</div>
<!-- <div #scrolling_element [class]="position_class" uk-parallax="target: #js-sticky-parallax-images-all; start: 300vh; end: 100% + 100vh - 350vh; opacity: 0,1 20%,1">
<h3 class="uk-h2">
<span class="uk-text-primary">View statistics </span>
<span>for your community's {{entities.RESULTS | lowercase}}</span>
<span class="uk-text-primary">.</span>
</h3>
</div> -->
</ng-template>
<div class="uk-section uk-section-secondary">
<div class="uk-container uk-container-large">
<div class="uk-width-1-1">
<span class="uk-h6 uk-text-primary">Benefits.</span>
<h2 class="uk-h1 uk-margin-remove-top uk-width-1-2@m">
Find the best for your community<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 connect-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="connect-dark-logo-background">
<div uk-parallax="target: #js-sticky-parallax-images-all;">
<img class="uk-position-center uk-position-z-index" src="assets/connect-assets/home/tablet.png" alt="ipad" loading="lazy"
style="width: 100%;">
<img class="uk-position-center" src="assets/connect-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/connect-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/connect-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/connect-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 class="uk-width-3-4@l">
<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 connect-dark-logo-background" uk-sticky="bottom: #js-sticky-parallax-images-all">
<div class="uk-flex uk-flex-column uk-flex-middle">
<div class="connect-dark-logo-background uk-inline uk-width-1-1" style="height: 40vh;">
<img class="uk-position-center uk-position-z-index" src="assets/connect-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/connect-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/connect-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/connect-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/connect-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>
<div class="uk-inline uk-width-2-3">
<ng-container *ngTemplateOutlet="scrolling_text; context: {position_class: 'uk-position-top-center'}"></ng-container>
</div>
</div>
</div> </div>
</div> </div>
</div> <div #parent class="uk-section uk-section-secondary connect-dark-logo-background">
</div> <div class="uk-container uk-container-large uk-margin-large-bottom">
<div class="uk-width-1-1 uk-margin-medium-bottom">
<span class="uk-h6 uk-text-primary">Benefits.</span>
<h2 class="uk-margin-remove-top uk-width-1-2@m">
Find the best for your community<span class="uk-text-primary">.</span>
</h2>
</div>
<slider-container [total]="4" [navigation]="'progress'" [period]="6000" [infinite]="true" [parent]="parent">
<slider-column type="slider">
<slider-item type="static">
<img class="uk-position-center uk-position-z-index" src="assets/connect-assets/home/tablet.png"
alt="ipad" loading="lazy">
</slider-item>
<slider-item type="slide" [start]="0">
<img src="assets/connect-assets/home/1.png" alt="ipad" loading="lazy">
</slider-item>
<slider-item type="slide" [start]="1">
<img src="assets/connect-assets/home/2.png" alt="ipad" loading="lazy">
</slider-item>
<slider-item type="slide" [start]="2">
<img src="assets/connect-assets/home/3.png" alt="ipad" loading="lazy">
</slider-item>
<slider-item type="slide" [start]="3">
<img src="assets/connect-assets/home/4.png" alt="ipad" loading="lazy">
</slider-item>
</slider-column>
<slider-column type="nav" class="slider-nav">
<slider-nav-item [start]="0">
<h5 class="uk-margin-remove">
<i class="uk-text-primary">Find a repository </i>
<span>to deposit your {{entities.RESULT | lowercase}}</span>
<span class="uk-text-primary">.</span>
</h5>
</slider-nav-item>
<slider-nav-item [start]="1">
<h5 class="uk-margin-remove">
<i class="uk-text-primary">Link your {{entities.RESULT | lowercase}} </i>
<span>with your community, funding, and other {{entities.RESULTS | lowercase}}</span>
<span class="uk-text-primary">.</span>
</h5>
</slider-nav-item>
<slider-nav-item [start]="2">
<h5 class="uk-margin-remove">
<span>View community's </span>
<i class="uk-text-primary">overview at a glance.</i>
</h5>
</slider-nav-item>
<slider-nav-item [start]="3">
<h5 class="uk-margin-remove">
<i class="uk-text-primary">Search & browse </i>
<span>your community's {{entities.RESULTS | lowercase}}</span>
<span class="uk-text-primary">.</span>
</h5>
</slider-nav-item>
</slider-column>
</slider-container>
</div>
</div>
<div class="uk-section uk-section-large uk-container uk-container-large"> <div class="uk-section uk-section-large uk-container uk-container-large">
<div class="uk-margin-medium-top"> <div class="uk-margin-medium-top">
<h2 class="uk-h1"> <h2 class="uk-h1">
Our mission for an Open and FAIR science<span class="uk-text-primary">.</span> Our mission for an Open and FAIR science<span class="uk-text-primary">.</span>
</h2> </h2>
<div class="uk-margin-large-top"> <div class="uk-margin-large-top">
<div class="uk-child-width-1-3@m uk-child-width-1-1@s uk-grid-large uk-grid-match uk-grid" uk-grid="" <div class="uk-child-width-1-3@m uk-child-width-1-1@s uk-grid-large uk-grid-match uk-grid" uk-grid=""
uk-height-match=".target"> uk-height-match=".target">
<div class="uk-first-column"> <div class="uk-first-column">
<div class="uk-card uk-card-default uk-padding"> <div class="uk-card uk-card-default uk-padding">
<div class="uk-card-media-top uk-flex uk-flex-middle uk-flex-center <div class="uk-card-media-top uk-flex uk-flex-middle uk-flex-center
uk-padding-small uk-padding-remove-vertical uk-margin-top uk-margin-bottom"> uk-padding-small uk-padding-remove-vertical uk-margin-top uk-margin-bottom">
<div> <div>
<img src="assets/connect-assets/home/virtual.svg" alt="A Virtual Research Environment" style="height:60px; width:67px"/> <img src="assets/connect-assets/home/virtual.svg"
</div> alt="A Virtual Research Environment" style="height:60px; width:67px"/>
</div> </div>
<div class="uk-card-body uk-padding-remove uk-margin-small-bottom"> </div>
<div class="target uk-text-center"> <div class="uk-card-body uk-padding-remove uk-margin-small-bottom">
<h3 class="uk-6 uk-card-title uk-margin-small-bottom">A Virtual Research Environment</h3> <div class="target uk-text-center">
<div>An overlay platform making it easy to share, link, disseminate and monitor all your {{entities.PUBLICATIONS | lowercase}}, <h3 class="uk-6 uk-card-title uk-margin-small-bottom">A Virtual Research
{{entities.DATASETS | lowercase}}, {{entities.SOFTWARE | lowercase}}, methods. In one place. Environment</h3>
</div> <div>An overlay platform making it easy to share, link, disseminate and monitor all
</div> your {{entities.PUBLICATIONS | lowercase}},
<hr/> {{entities.DATASETS | lowercase}}, {{entities.SOFTWARE | lowercase}}, methods.
<div> In one place.
<ul class="uk-list uk-text-small"> </div>
<li class="uk-flex uk-flex-middle"> </div>
<icon class="uk-margin-small-right uk-text-primary" name="done" ratio="0.85" flex="true"></icon> <hr/>
Access to OpenAIRE research graph <div>
</li> <ul class="uk-list uk-text-small">
<li class="uk-flex uk-flex-middle"> <li class="uk-flex uk-flex-middle">
<icon class="uk-margin-small-right uk-text-primary" name="done" ratio="0.85" flex="true"></icon> <icon class="uk-margin-small-right uk-text-primary" name="done" ratio="0.85"
Moderated, front-end linking flex="true"></icon>
</li> Access to OpenAIRE research graph
<li class="uk-flex uk-flex-middle"> </li>
<icon class="uk-margin-small-right uk-text-primary" name="done" ratio="0.85" flex="true"></icon> <li class="uk-flex uk-flex-middle">
Cross-platform search <icon class="uk-margin-small-right uk-text-primary" name="done" ratio="0.85"
</li> flex="true"></icon>
</ul> Moderated, front-end linking
</div> </li>
</div> <li class="uk-flex uk-flex-middle">
</div> <icon class="uk-margin-small-right uk-text-primary" name="done" ratio="0.85"
</div> flex="true"></icon>
<div> Cross-platform search
<div class="uk-card uk-card-default uk-padding"> </li>
<div class="uk-card-media-top uk-flex uk-flex-middle uk-flex-center </ul>
</div>
</div>
</div>
</div>
<div>
<div class="uk-card uk-card-default uk-padding">
<div class="uk-card-media-top uk-flex uk-flex-middle uk-flex-center
uk-padding-small uk-padding-remove-vertical uk-margin-top uk-margin-bottom"> uk-padding-small uk-padding-remove-vertical uk-margin-top uk-margin-bottom">
<div> <div>
<img src="assets/connect-assets/home/open_science.svg" alt="Open science in action" style="height:60px; width:67px"/> <img src="assets/connect-assets/home/open_science.svg" alt="Open science in action"
</div> style="height:60px; width:67px"/>
</div> </div>
<div class="uk-card-body uk-padding-remove uk-margin-small-bottom"> </div>
<div class="target uk-text-center" style=""> <div class="uk-card-body uk-padding-remove uk-margin-small-bottom">
<h3 class="uk-h6 uk-card-title uk-margin-small-bottom">Open Science in action</h3> <div class="target uk-text-center" style="">
<div>A time-saving bundle of services for researchers to effortlessly practice open science. An integral <h3 class="uk-h6 uk-card-title uk-margin-small-bottom">Open Science in action</h3>
part of the&nbsp;European Open Science Cloud. <div>A time-saving bundle of services for researchers to effortlessly practice open
</div> science. An integral
</div> part of the&nbsp;European Open Science Cloud.
<hr> </div>
<div> </div>
<ul class="uk-list uk-text-small"> <hr>
<li class="uk-flex uk-flex-middle"> <div>
<icon class="uk-margin-small-right uk-text-primary" name="done" ratio="0.85" flex="true"></icon> <ul class="uk-list uk-text-small">
Use of OpenAIRE Guidelines <li class="uk-flex uk-flex-middle">
</li> <icon class="uk-margin-small-right uk-text-primary" name="done" ratio="0.85"
<li class="uk-flex uk-flex-middle"> flex="true"></icon>
<icon class="uk-margin-small-right uk-text-primary" name="done" ratio="0.85" flex="true"></icon> Use of OpenAIRE Guidelines
Publish and get DOIs with Zenodo </li>
</li> <li class="uk-flex uk-flex-middle">
<li class="uk-flex uk-flex-middle"> <icon class="uk-margin-small-right uk-text-primary" name="done" ratio="0.85"
<icon class="uk-margin-small-right uk-text-primary" name="done" ratio="0.85" flex="true"></icon> flex="true"></icon>
EOSC Single Sign-On Publish and get DOIs with Zenodo
</li> </li>
</ul> <li class="uk-flex uk-flex-middle">
</div> <icon class="uk-margin-small-right uk-text-primary" name="done" ratio="0.85"
</div> flex="true"></icon>
</div> EOSC Single Sign-On
</div> </li>
<div> </ul>
<div class="uk-card uk-card-default uk-padding"> </div>
<div class="uk-card-media-top uk-flex uk-flex-middle uk-flex-center </div>
</div>
</div>
<div>
<div class="uk-card uk-card-default uk-padding">
<div class="uk-card-media-top uk-flex uk-flex-middle uk-flex-center
uk-padding-small uk-padding-remove-vertical uk-margin-top uk-margin-bottom"> uk-padding-small uk-padding-remove-vertical uk-margin-top uk-margin-bottom">
<div> <div>
<img src="assets/connect-assets/home/customize.svg" alt="Customized to your needs" style="height:60px; width:67px"/> <img src="assets/connect-assets/home/customize.svg" alt="Customized to your needs"
</div> style="height:60px; width:67px"/>
</div> </div>
<div class="uk-card-body uk-padding-remove uk-margin-small-bottom"> </div>
<div class="target uk-text-center" style=""> <div class="uk-card-body uk-padding-remove uk-margin-small-bottom">
<h3 class="uk-h6 uk-card-title uk-margin-small-bottom">Customized to your needs</h3> <div class="target uk-text-center" style="">
<div>A Gateway with your own brand, rules for aggregation, text &amp; data mining, and presentation. Run <h3 class="uk-h6 uk-card-title uk-margin-small-bottom">Customized to your needs</h3>
by you via a simple, yet powerful backend administration tool. <div>A Gateway with your own brand, rules for aggregation, text &amp; data mining,
</div> and presentation. Run
</div> by you via a simple, yet powerful backend administration tool.
<hr> </div>
<div> </div>
<ul class="uk-list uk-text-small"> <hr>
<li class="uk-flex uk-flex-middle"> <div>
<icon class="uk-margin-small-right uk-text-primary" name="done" ratio="0.85" flex="true"></icon> <ul class="uk-list uk-text-small">
Access control <li class="uk-flex uk-flex-middle">
</li> <icon class="uk-margin-small-right uk-text-primary" name="done" ratio="0.85"
<!--<li class="uk-flex uk-flex-middle"> flex="true"></icon>
<icon class="uk-margin-small-right uk-text-primary" name="done" ratio="0.85" flex="true"></icon> Access control
Analytics: rich set of indicators </li>
</li>--> <!--<li class="uk-flex uk-flex-middle">
<li class="uk-flex uk-flex-middle"> <icon class="uk-margin-small-right uk-text-primary" name="done" ratio="0.85" flex="true"></icon>
<icon class="uk-margin-small-right uk-text-primary" name="done" ratio="0.85" flex="true"></icon> Analytics: rich set of indicators
Look &amp; feel to match your brand </li>-->
</li> <li class="uk-flex uk-flex-middle">
</ul> <icon class="uk-margin-small-right uk-text-primary" name="done" ratio="0.85"
</div> flex="true"></icon>
</div> Look &amp; feel to match your brand
</div> </li>
</div> </ul>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
</div>
</div>
</div>
</div>
<div *ngIf="researchCommunities.length === 0" class="uk-container uk-container-large uk-margin-large-bottom"> <div *ngIf="researchCommunities.length === 0" class="uk-container uk-container-large uk-margin-large-bottom">
<errorMessages [status]="[status]" [type]="'communities'"></errorMessages> <errorMessages [status]="[status]" [type]="'communities'"></errorMessages>
</div> </div>
<div *ngIf="!loading && researchCommunities.length > 0" class="uk-section uk-container uk-container-large"> <div *ngIf="!loading && researchCommunities.length > 0" class="uk-section uk-container uk-container-large">
<h2 class="uk-h1">Community Gateways already in action<span class="uk-text-primary">.</span></h2> <h2 class="uk-h1">Community Gateways already in action<span class="uk-text-primary">.</span></h2>
<div class="uk-margin-large-top uk-margin-large-bottom"> <div class="uk-margin-large-top uk-margin-large-bottom">
<div class="uk-visible@xl"> <div class="uk-visible@xl">
<div class="uk-grid-match uk-grid-medium uk-child-width-1-4 uk-flex-center uk-text-center" uk-grid> <div class="uk-grid-match uk-grid-medium uk-child-width-1-4 uk-flex-center uk-text-center" uk-grid>
<div *ngFor="let community of researchCommunities.slice(0, 4); let i = index"> <div *ngFor="let community of researchCommunities.slice(0, 4); let i = index">
<div class="uk-card uk-card-default uk-card-hover" [class.uk-disabled]="!hasPermission(community)"> <div class="uk-card uk-card-default uk-card-hover"
<browse-community [community]=community></browse-community> [class.uk-disabled]="!hasPermission(community)">
</div> <browse-community [community]=community></browse-community>
</div> </div>
</div> </div>
<div class="uk-text-center uk-margin-medium-top"> </div>
<a *ngIf="researchCommunities.length > 4" <div class="uk-text-center uk-margin-medium-top">
class="uk-display-inline-block uk-text-uppercase uk-button uk-button-text" <a *ngIf="researchCommunities.length > 4"
routerLinkActive="router-link-active" routerLink="/search/find/communities"> class="uk-display-inline-block uk-text-uppercase uk-button uk-button-text"
routerLinkActive="router-link-active" routerLink="/search/find/communities">
<span class="uk-flex uk-flex-middle"> <span class="uk-flex uk-flex-middle">
<span>View All</span> <span>View All</span>
</span> </span>
</a> </a>
</div> </div>
</div> </div>
<div class="uk-hidden@xl"> <div class="uk-hidden@xl">
<div class="uk-grid-match uk-grid-medium uk-child-width-1-3@m uk-child-width-1-1 uk-flex-center uk-text-center" uk-grid> <div class="uk-grid-match uk-grid-medium uk-child-width-1-3@m uk-child-width-1-1 uk-flex-center uk-text-center"
<div *ngFor="let community of researchCommunities.slice(0, 3); let i = index"> uk-grid>
<div class="uk-card uk-card-default uk-card-hover"> <div *ngFor="let community of researchCommunities.slice(0, 3); let i = index">
<browse-community [community]=community></browse-community> <div class="uk-card uk-card-default uk-card-hover"
</div> [class.uk-disabled]="!hasPermission(community)">
</div> <browse-community [community]=community></browse-community>
</div> </div>
<div class="uk-text-center uk-margin-medium-top"> </div>
<a *ngIf="researchCommunities.length > 3" </div>
class="uk-display-inline-block uk-text-uppercase uk-button uk-button-text" <div class="uk-text-center uk-margin-medium-top">
routerLinkActive="router-link-active" routerLink="/search/find/communities"> <a *ngIf="researchCommunities.length > 3"
class="uk-display-inline-block uk-text-uppercase uk-button uk-button-text"
routerLinkActive="router-link-active" routerLink="/search/find/communities">
<span class="uk-flex uk-flex-middle"> <span class="uk-flex uk-flex-middle">
<span>View All</span> <span>View All</span>
</span> </span>
</a> </a>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
<div #contact class="uk-section uk-container uk-container-large uk-margin-large-bottom uk-flex uk-flex-middle uk-flex-column"> <div #contact
<h2 class="uk-text-center uk-width-3-4@m"> class="uk-section uk-container uk-container-large uk-margin-large-bottom uk-flex uk-flex-middle uk-flex-column">
<div>Let us Help you Develop a Collaborative Science Gateway<span class="uk-text-primary">.</span></div> <h2 class="uk-text-center uk-width-3-4@m">
<div>It is fast<span class="uk-text-primary">.</span> It is reliable<span class="uk-text-primary">.</span></div> <div>Let us Help you Develop a Collaborative Science Gateway<span class="uk-text-primary">.</span></div>
</h2> <div>It is fast<span class="uk-text-primary">.</span> It is reliable<span class="uk-text-primary">.</span>
<a class="uk-button uk-button-primary uk-margin-medium-top uk-margin-medium-bottom" routerLink="/contact-us">Contact us</a> </div>
</div> </h2>
<a class="uk-button uk-button-primary uk-margin-medium-top uk-margin-medium-bottom" routerLink="/contact-us">Contact
us</a>
</div>
</div> </div>

View File

@ -7,7 +7,11 @@
.connect-dark-logo-background { .connect-dark-logo-background {
background-image: url("~src/assets/connect-assets/home/connect-dark-logo.svg"); background-image: url("~src/assets/connect-assets/home/connect-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

@ -14,19 +14,19 @@ import {ErrorMessagesModule} from '../openaireLibrary/utils/errorMessages.m
import {SearchFormModule} from '../openaireLibrary/searchPages/searchUtils/searchForm.module'; import {SearchFormModule} from '../openaireLibrary/searchPages/searchUtils/searchForm.module';
import {BrowseCommunityModule} from './browseCommunity/browse-community.module'; import {BrowseCommunityModule} from './browseCommunity/browse-community.module';
import {HelperModule} from "../openaireLibrary/utils/helper/helper.module"; import {HelperModule} from "../openaireLibrary/utils/helper/helper.module";
import {GifSliderModule} from "../openaireLibrary/utils/gif-slider/gif-slider.module";
import {OtherPortalsModule} from "../openaireLibrary/sharedComponents/other-portals/other-portals.module"; import {OtherPortalsModule} from "../openaireLibrary/sharedComponents/other-portals/other-portals.module";
import {SEOServiceModule} from "../openaireLibrary/sharedComponents/SEO/SEOService.module"; import {SEOServiceModule} from "../openaireLibrary/sharedComponents/SEO/SEOService.module";
import {IsRouteEnabled} from "../openaireLibrary/error/isRouteEnabled.guard"; import {IsRouteEnabled} from "../openaireLibrary/error/isRouteEnabled.guard";
import {SectionScrollModule} from "../openaireLibrary/utils/section-scroll/section-scroll.module"; import {SectionScrollModule} from "../openaireLibrary/utils/section-scroll/section-scroll.module";
import {IconsModule} from "../openaireLibrary/utils/icons/icons.module"; import {IconsModule} from "../openaireLibrary/utils/icons/icons.module";
import {SliderUtilsModule} from "../openaireLibrary/sharedComponents/slider-utils/slider-utils.module";
@NgModule({ @NgModule({
imports: [ imports: [
CommonModule, FormsModule, RouterModule, CommonModule, FormsModule, RouterModule,
ManageModule, ErrorMessagesModule, ManageModule, ErrorMessagesModule,
SearchFormModule, BrowseCommunityModule, GifSliderModule, OtherPortalsModule, SearchFormModule, BrowseCommunityModule, OtherPortalsModule,
HelperModule, SEOServiceModule, SectionScrollModule, IconsModule HelperModule, SEOServiceModule, SectionScrollModule, IconsModule, SliderUtilsModule
], ],
declarations: [ declarations: [
CommunitiesComponent CommunitiesComponent

View File

@ -737,9 +737,11 @@
*ngIf="activeTab == 'enermaps' && communityId == 'enermaps' && fetchFeaturedDatasets.searchUtils.totalResults > 0 && isEntityEnabled('dataset')"> *ngIf="activeTab == 'enermaps' && communityId == 'enermaps' && fetchFeaturedDatasets.searchUtils.totalResults > 0 && isEntityEnabled('dataset')">
<div class="uk-grid uk-margin-remove"> <div class="uk-grid uk-margin-remove">
<div class="uk-width-expand uk-padding uk-padding-remove-horizontal"> <div class="uk-width-expand uk-padding uk-padding-remove-horizontal">
<search-tab [fetch]="fetchFeaturedDatasets" [resultType]="'dataset'" <div class="uk-flex uk-flex-between uk-flex-middle uk-margin-bottom" >
[properties]="properties" customTitle="Featured Datasets" [currentPage]="page" <div class="uk-text-meta uk-text-large uk-text-uppercase">
[showEnermaps]="true"> <span>Featured Datasets</span>
</div>
</div>
<div class="uk-margin-top uk-margin-medium-bottom uk-text-meta"> <div class="uk-margin-top uk-margin-medium-bottom uk-text-meta">
<div>Here are listed some of the most important energy datasets as selected by energy experts.</div> <div>Here are listed some of the most important energy datasets as selected by energy experts.</div>
<div> <div>
@ -747,12 +749,16 @@
using only well-known datasets which you can trust. using only well-known datasets which you can trust.
</div> </div>
</div> </div>
<no-load-paging *ngIf="fetchFeaturedDatasets && fetchFeaturedDatasets.results.length > size" [type]="'Featured Datasets'" <no-load-paging *ngIf="fetchFeaturedDatasets && fetchFeaturedDatasets.searchUtils.totalResults > size" [type]="'Featured Datasets'"
(pageChange)="updatePage($event)" (pageChange)="updatePage($event)"
[page]="page" [pageSize]="size" [page]="fetchFeaturedDatasets.searchUtils.page" [pageSize]="size"
[totalResults]="fetchFeaturedDatasets.results.length" > [totalResults]="fetchFeaturedDatasets.searchUtils.totalResults" >
</no-load-paging> </no-load-paging>
</search-tab> <search-result [properties]="properties"
[results]="fetchFeaturedDatasets.results"
[status]="fetchFeaturedDatasets.searchUtils.status"
[type]="'dataset'" [showEnermaps]="true" >
</search-result>
</div> </div>
</div> </div>
</div> </div>

View File

@ -219,7 +219,7 @@ export class CommunityComponent {
this._title.setTitle(community.title); this._title.setTitle(community.title);
this.subs.push(this._piwikService.trackView(this.properties, community.title).subscribe()); this.subs.push(this._piwikService.trackView(this.properties, community.title).subscribe());
if (this.community.zenodoCommunity) { if (this.community.zenodoCommunity) {
this.subs.push(this._zenodoCommunitieService.getZenodoCommunityById(this.properties, this.properties.zenodoCommunities + this.community.zenodoCommunity).subscribe( this.subs.push(this._zenodoCommunitieService.getZenodoCommunityById(this.properties, this.community.zenodoCommunity).subscribe(
result => { result => {
this.masterZenodoCommunity = result; this.masterZenodoCommunity = result;
}, },
@ -386,7 +386,6 @@ export class CommunityComponent {
) )
) { ) {
this.fetchFeaturedDatasets.getAllResultsForCommunity("dataset", this.communityId, page, size, this.properties, "enermaps::selection"); this.fetchFeaturedDatasets.getAllResultsForCommunity("dataset", this.communityId, page, size, this.properties, "enermaps::selection");
// console.log(this.fetchFeaturedDatasets);
} }
this.reloadFeaturedDatasets = false; this.reloadFeaturedDatasets = false;
} }
@ -663,5 +662,7 @@ export class CommunityComponent {
public updatePage(event) { public updatePage(event) {
this.page = event.value; this.page = event.value;
this.fetchFeaturedDatasets.searchUtils.page = event.value;
this.fetchFeaturedDatasets.results = this.fetchFeaturedDatasets.allResults.slice((this.page - 1) * this.searchNumber, this.page * this.searchNumber) ;
} }
} }

View File

@ -24,7 +24,7 @@ export class FetchZenodoInformation {
}); });
} }
public getZenodoCommunityNameAndUrlById(masterZenodoCommunityId: string, properties:EnvProperties, zenodoInformation: ZenodoInformationClass){ public getZenodoCommunityNameAndUrlById(masterZenodoCommunityId: string, properties:EnvProperties, zenodoInformation: ZenodoInformationClass){
this.subscriptions.push(this._zenodoCommunitieService.getZenodoCommunityById(properties, properties.zenodoCommunities+masterZenodoCommunityId).subscribe( this.subscriptions.push(this._zenodoCommunitieService.getZenodoCommunityById(properties, masterZenodoCommunityId).subscribe(
result => { result => {
console.info("getZenodoCommunityNameAndUrlById", result); console.info("getZenodoCommunityNameAndUrlById", result);
var masterZenodoCommunity = result; var masterZenodoCommunity = result;

View File

@ -19,7 +19,7 @@
<div class="uk-width-auto" *ngIf="masterZenodoCommunity.logoUrl"> <div class="uk-width-auto" *ngIf="masterZenodoCommunity.logoUrl">
<a target="_blank" [href]="masterZenodoCommunity.link"> <a target="_blank" [href]="masterZenodoCommunity.link">
<img *ngIf="masterZenodoCommunity.logoUrl" <img *ngIf="masterZenodoCommunity.logoUrl"
src="{{masterZenodoCommunity.logoUrl}}" width="80" height="80" alt="{{masterZenodoCommunity.title}}"> src="{{masterZenodoCommunity.logoUrl}}" width="80" height="80" alt="">
</a> </a>
</div> </div>
<div class="uk-width-expand"> <div class="uk-width-expand">
@ -108,7 +108,7 @@
<div class="uk-width-auto" *ngIf="communities[this.communityIds[i]].logoUrl"> <div class="uk-width-auto" *ngIf="communities[this.communityIds[i]].logoUrl">
<a target="_blank" [href]="communities[this.communityIds[i]].link"> <a target="_blank" [href]="communities[this.communityIds[i]].link">
<img *ngIf="communities[this.communityIds[i]].logoUrl" <img *ngIf="communities[this.communityIds[i]].logoUrl"
src="{{communities[this.communityIds[i]].logoUrl}}" width="80" height="80" alt="{{communities[this.communityIds[i]].title}}"> src="{{communities[this.communityIds[i]].logoUrl}}" width="80" height="80" alt="">
</a> </a>
</div> </div>
<div class="uk-width-expand"> <div class="uk-width-expand">

View File

@ -82,7 +82,7 @@ export class ShareInZenodoComponent {
this.community = community; this.community = community;
this.masterZenodoCommunityId = this.community.zenodoCommunity; this.masterZenodoCommunityId = this.community.zenodoCommunity;
if (this.masterZenodoCommunityId) { if (this.masterZenodoCommunityId) {
this.subs.push(this._zenodoCommunitieService.getZenodoCommunityById(this.properties, this.properties.zenodoCommunities + this.masterZenodoCommunityId).subscribe( this.subs.push(this._zenodoCommunitieService.getZenodoCommunityById(this.properties, this.masterZenodoCommunityId).subscribe(
result => { result => {
this.masterZenodoCommunity = result; this.masterZenodoCommunity = result;
@ -143,7 +143,7 @@ export class ShareInZenodoComponent {
} }
getZenodoCommunityById(zenodoid) { getZenodoCommunityById(zenodoid) {
this.subs.push(this._zenodoCommunitieService.getZenodoCommunityById(this.properties, this.properties.zenodoCommunities + zenodoid).subscribe( this.subs.push(this._zenodoCommunitieService.getZenodoCommunityById(this.properties, zenodoid).subscribe(
result => { result => {
this.communities[zenodoid] = result; this.communities[zenodoid] = result;
this.zenodoCommunitiesLoadedCount++; this.zenodoCommunitiesLoadedCount++;

View File

@ -7,7 +7,6 @@ import {PiwikService} from '../openaireLibrary/utils/piwik/piwik.servic
import {LearnHowComponent} from "./learn-how.component"; import {LearnHowComponent} from "./learn-how.component";
import {LearnHowRoutingModule} from "./learn-how-routing.module"; import {LearnHowRoutingModule} from "./learn-how-routing.module";
import {GifSliderModule} from "../openaireLibrary/utils/gif-slider/gif-slider.module";
import {HelperModule} from "../openaireLibrary/utils/helper/helper.module"; import {HelperModule} from "../openaireLibrary/utils/helper/helper.module";
import {IsRouteEnabled} from "../openaireLibrary/error/isRouteEnabled.guard"; import {IsRouteEnabled} from "../openaireLibrary/error/isRouteEnabled.guard";
import {Schema2jsonldModule} from "../openaireLibrary/sharedComponents/schema2jsonld/schema2jsonld.module"; import {Schema2jsonldModule} from "../openaireLibrary/sharedComponents/schema2jsonld/schema2jsonld.module";
@ -20,7 +19,7 @@ import {TabsModule} from '../openaireLibrary/utils/tabs/tabs.module';
@NgModule({ @NgModule({
imports: [ imports: [
CommonModule, RouterModule, LearnHowRoutingModule, GifSliderModule, HelperModule, CommonModule, RouterModule, LearnHowRoutingModule, HelperModule,
Schema2jsonldModule, SEOServiceModule, BreadcrumbsModule, HtmlPagesModule, IconsModule, TabsModule Schema2jsonldModule, SEOServiceModule, BreadcrumbsModule, HtmlPagesModule, IconsModule, TabsModule
], ],
declarations: [ declarations: [

View File

@ -13,6 +13,7 @@ import {Subscriber} from "rxjs";
import {NewSearchPageComponent} from "../../openaireLibrary/searchPages/searchUtils/newSearchPage.component"; import {NewSearchPageComponent} from "../../openaireLibrary/searchPages/searchUtils/newSearchPage.component";
import {SearchResult} from "../../openaireLibrary/utils/entities/searchResult"; import {SearchResult} from "../../openaireLibrary/utils/entities/searchResult";
import {StringUtils} from "../../openaireLibrary/utils/string-utils.class"; import {StringUtils} from "../../openaireLibrary/utils/string-utils.class";
import {IndexInfoService} from "../../openaireLibrary/utils/indexInfo.service";
@Component({ @Component({
selector: 'openaire-search-projects', selector: 'openaire-search-projects',
@ -72,13 +73,17 @@ export class OpenaireSearchProjectsComponent {
public loadPaging: boolean = true; public loadPaging: boolean = true;
public oldTotalResults: number = 0; public oldTotalResults: number = 0;
keyword; keyword;
constructor (private route: ActivatedRoute, private _searchProjectsService: SearchCommunityProjectsService, private _communityService: CommunityService) { lastDBLoadDate = null;
constructor (private route: ActivatedRoute, private _searchProjectsService: SearchCommunityProjectsService, private _communityService: CommunityService, private indexInfoService: IndexInfoService) {
this.errorCodes = new ErrorCodes(); this.errorCodes = new ErrorCodes();
this.errorMessages = new ErrorMessagesComponent(); this.errorMessages = new ErrorMessagesComponent();
this.searchUtils.status = this.errorCodes.LOADING; this.searchUtils.status = this.errorCodes.LOADING;
} }
public ngOnInit() { public ngOnInit() {
this.subscriptions.push(this.indexInfoService.getLastIndexDate(this.properties).subscribe(res => {
this.lastDBLoadDate = res;
}));
this.searchUtils.baseUrl = this.properties.searchLinkToProjects; this.searchUtils.baseUrl = this.properties.searchLinkToProjects;
this.subscriptions.push(this._communityService.getCommunityAsObservable().subscribe(community =>{ this.subscriptions.push(this._communityService.getCommunityAsObservable().subscribe(community =>{
if(community != null){ if(community != null){
@ -179,7 +184,11 @@ export class OpenaireSearchProjectsComponent {
let results:SearchResult[]=[]; let results:SearchResult[]=[];
for(let result of data){ for(let result of data){
let sResult:SearchResult = new SearchResult(); let sResult:SearchResult = new SearchResult();
sResult.id = result.openaireId; if(!result["availableSince"] || !this.lastDBLoadDate || (result["availableSince"] && this.lastDBLoadDate && result["availableSince"] < this.lastDBLoadDate)){
sResult.id = result.openaireId;
}else{
sResult.id = "-1"; //not yet in the graph
}
sResult.title = {name:"", accessMode: null}; sResult.title = {name:"", accessMode: null};
sResult.title.name = result.name?result.name:result.acronym; sResult.title.name = result.name?result.name:result.acronym;
sResult.acronym = result['acronym']; sResult.acronym = result['acronym'];

View File

@ -2,13 +2,13 @@ import {NgModule} from '@angular/core';
import {RouterModule} from '@angular/router'; import {RouterModule} from '@angular/router';
import {InviteComponent} from './invite.component'; import {InviteComponent} from './invite.component';
import {LoginGuard} from '../../../openaireLibrary/login/loginGuard.guard';
import {PreviousRouteRecorder} from '../../../openaireLibrary/utils/piwik/previousRouteRecorder.guard'; import {PreviousRouteRecorder} from '../../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
import {ConnectAdminLoginGuard} from "../../../openaireLibrary/connect/communityGuard/connectAdminLoginGuard.guard";
@NgModule({ @NgModule({
imports: [ imports: [
RouterModule.forChild([ RouterModule.forChild([
{ path: '', component: InviteComponent, canActivate: [LoginGuard], canDeactivate: [PreviousRouteRecorder] } { path: '', component: InviteComponent, canActivate: [ConnectAdminLoginGuard], canDeactivate: [PreviousRouteRecorder] }
]) ])
] ]

View File

@ -30,8 +30,12 @@
</div> </div>
</div> </div>
<div *ngIf="!longView" class="uk-margin-top"> <div *ngIf="!longView" class="uk-margin-top">
<a id="invite" routerLink="/invite" class="uk-button uk-flex uk-flex-middle uk-flex-center"> <a *ngIf="isOpen" id="invite" routerLink="/invite" class="uk-button uk-flex uk-flex-middle uk-flex-center">
<icon name="person_add" [flex]="true"></icon> <icon name="person_add" [flex]="true"></icon>
<span class="uk-margin-small-left">Invite users</span> <span class="uk-margin-small-left">Invite users</span>
</a> </a>
<a *ngIf="!isOpen" id="invite" [href]="this.adminInviteURL" target="_blank" class="uk-button uk-flex uk-flex-middle uk-flex-center">
<icon name="person_add" [flex]="true"></icon>
<span class="uk-margin-small-left">Invite members</span>
</a>
</div> </div>

View File

@ -21,6 +21,7 @@ declare var UIkit;
export class InviteComponent implements OnInit { export class InviteComponent implements OnInit {
@Input() longView: boolean = true; @Input() longView: boolean = true;
@Input() communityId = null; @Input() communityId = null;
@Input() isOpen: boolean = true;
public properties: EnvProperties = properties; public properties: EnvProperties = properties;
public pageTitle: string = "Invite"; public pageTitle: string = "Invite";
public user: User; public user: User;
@ -31,13 +32,11 @@ export class InviteComponent implements OnInit {
private subs: Subscription[] = []; private subs: Subscription[] = [];
constructor( constructor(
private route: ActivatedRoute,
private _router: Router, private _router: Router,
private _meta: Meta, private _meta: Meta,
private helper: HelperService, private helper: HelperService,
private _title: Title, private _title: Title,
private seoService: SEOService, private seoService: SEOService,
private _piwikService: PiwikService,
private userManageService: UserManagementService) { private userManageService: UserManagementService) {
} }
@ -46,9 +45,9 @@ export class InviteComponent implements OnInit {
user => { user => {
this.user = user; this.user = user;
})); }));
this.getPageContents();
this.url = this.properties.domain + this._router.url;
if(this.longView) { if(this.longView) {
this.url = this.properties.domain + this._router.url;
this.getPageContents();
this.seoService.createLinkForCanonicalURL(this.url); this.seoService.createLinkForCanonicalURL(this.url);
this.updateUrl(this.url); this.updateUrl(this.url);
this.updateTitle(this.pageTitle); this.updateTitle(this.pageTitle);
@ -90,9 +89,12 @@ export class InviteComponent implements OnInit {
private updateUrl(url: string) { private updateUrl(url: string) {
this._meta.updateTag({content: url}, "property='og:url'"); this._meta.updateTag({content: url}, "property='og:url'");
} }
get adminInviteURL() {
return this.properties.adminPortalURL + '/' + this.communityId + '/users/member';
}
close(element) { close(element) {
UIkit.dropdown(element).hide(); UIkit.dropdown(element).hide();
this
} }
} }

View File

@ -1,13 +1,12 @@
import {NgModule} from '@angular/core'; import {NgModule} from '@angular/core';
import {InviteRoutingModule} from './invite-routing.module'; import {InviteRoutingModule} from './invite-routing.module';
import {LoginGuard} from '../../../openaireLibrary/login/loginGuard.guard';
import {InviteBasicModule} from "./inviteBasic.module"; import {InviteBasicModule} from "./inviteBasic.module";
import {ConnectAdminLoginGuard} from "../../../openaireLibrary/connect/communityGuard/connectAdminLoginGuard.guard";
@NgModule({ @NgModule({
imports: [InviteBasicModule, InviteRoutingModule], imports: [InviteBasicModule, InviteRoutingModule],
providers: [LoginGuard] providers: [ConnectAdminLoginGuard]
}) })
export class InviteModule { } export class InviteModule { }

View File

@ -20,7 +20,7 @@
#joinAndInviteBtn #join, #joinAndInviteBtn #join,
#joinAndInviteBtn #member, #joinAndInviteBtn #member,
#joinAndInviteBtn #invite { #joinAndInviteBtn #invite {
width: 140px; width: 160px;
line-height: 60px; line-height: 60px;
height: 60px; height: 60px;
padding: 0 20px; padding: 0 20px;

View File

@ -30,4 +30,4 @@
@inverse-text-primary-color: @connect-color; @inverse-text-primary-color: @connect-color;
/* General */ /* General */
@general-search-form-background: fade(@global-secondary-background, 20%); @general-search-form-background: lighten(@global-secondary-background, 33%);

View File

@ -1,120 +1,22 @@
import {EnvProperties} from "../app/openaireLibrary/utils/properties/env-properties"; import {EnvProperties} from "../app/openaireLibrary/utils/properties/env-properties";
import {common, commonBeta} from "../app/openaireLibrary/utils/properties/environments/environment";
export let properties: EnvProperties = { let props: EnvProperties = {
environment: "beta",
dashboard: 'connect',
adminToolsPortalType: "connect", adminToolsPortalType: "connect",
dashboard: "connect", adminToolsCommunity: 'connect',
enablePiwikTrack: true, enablePiwikTrack: false,
piwikSiteId: '80',
useCache: false, useCache: false,
useLongCache: true, useLongCache: true,
showContent: true, showContent: true,
showAddThis: true, showAddThis: false,
framesAPIURL: "https://beta.openaire.eu/stats3/", domain: 'https://beta.connect.openaire.eu',
statisticsAPIURL: "https://beta.services.openaire.eu/stats-api/", baseLink : "",
statisticsFrameAPIURL: "https://beta.openaire.eu/stats/",
statisticsFrameNewAPIURL: "https://beta.services.openaire.eu/stats-tool/",
useNewStatistisTool: true,
enermapsURL:"https://lab.idiap.ch/enermaps",
impactFactorsAPIURL: "https://bip-api.imsi.athenarc.gr/paper/scores/batch/",
claimsAPIURL: "https://beta.services.openaire.eu/claims/rest/claimsService/",
searchAPIURLLAst: "https://beta.services.openaire.eu/search/v2/api/",
searchResourcesAPIURL: "https://beta.services.openaire.eu/search/v2/api/resources",
openCitationsAPIURL: "https://services.openaire.eu/opencitations/getCitations?id=",
csvAPIURL: "https://beta.services.openaire.eu/search/v2/api/reports",
searchCrossrefAPIURL: "https://api.crossref.org/works",
searchDataciteAPIURL: "https://api.datacite.org/works",
searchOrcidURL: "https://pub.orcid.org/v2.1/",
orcidURL: "https://orcid.org/",
orcidAPIURL: "https://services.openaire.eu/uoa-orcid-service/",
orcidTokenURL: "https://orcid.org/oauth/authorize?",
orcidClientId: "APP-IN0O56SBVVTB7NN4",
doiURL: "https://doi.org/",
pmcURL: "http://europepmc.org/articles/",
pmidURL: "https://www.ncbi.nlm.nih.gov/pubmed/",
handleURL: "http://hdl.handle.net/",
cordisURL: "http://cordis.europa.eu/projects/",
openDoarURL: "http://v2.sherpa.ac.uk/id/repository/",
r3DataURL: "http://service.re3data.org/repository/",
swhURL: "https://archive.softwareheritage.org/",
fairSharingURL: "https://fairsharing.org/",
eoscMarketplaceURL: "https://marketplace.eosc-portal.eu/services/",
sherpaURL: "http://sherpa.ac.uk/romeo/issn/",
sherpaURLSuffix: "/",
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",
helpdeskEmail: "helpdesk@openaire.eu",
utilsService: "https://demo.openaire.eu/utils-service",
vocabulariesAPI: "https://beta.services.openaire.eu/provision/mvc/vocabularies/",
piwikBaseUrl: "https://analytics.openaire.eu/piwik.php?idsite=",
piwikSiteId: "80",
loginUrl: "https://beta.services.openaire.eu/login-service/openid_connect_login",
userInfoUrl: "https://beta.services.openaire.eu/login-service/userInfo",
registryUrl: 'https://beta.services.openaire.eu/uoa-user-management/api/registry/',
logoutUrl: "https://beta.services.openaire.eu/login-service/openid_logout",
cookieDomain: ".openaire.eu",
feedbackmail: "feedback@openaire.eu",
cacheUrl: "https://demo.openaire.eu/cache/get?url=",
adminToolsAPIURL: "https://beta.services.openaire.eu/uoa-admin-tools/",
adminToolsCommunity: "connect",
datasourcesAPI: "https://beta.services.openaire.eu/openaire/ds/search/",
contextsAPI: "https://beta.services.openaire.eu/openaire/context",
communityAPI: "https://beta.services.openaire.eu/openaire/community/",
communitiesAPI: "https://beta.services.openaire.eu/openaire/community/communities",
csvLimit: 2000,
pagingLimit: 20,
resultsPerPage: 10,
baseLink:"",
domain:"https://beta.connect.openaire.eu",
afterLoginRedirectLink: "/myCommunities",
searchLinkToResult: "/search/result?id=",
searchLinkToPublication: "/search/publication?articleId=",
searchLinkToProject: "/search/project?projectId=",
searchLinkToDataProvider: "/search/dataprovider?datasourceId=",
searchLinkToDataset: "/search/dataset?datasetId=",
searchLinkToSoftwareLanding: "/search/software?softwareId=",
searchLinkToOrganization: "/search/organization?organizationId=",
searchLinkToOrp: "/search/other?orpId=",
searchLinkToCommunities: "/search/find/communities",
searchLinkToPublications: "/search/find/publications",
searchLinkToDataProviders: "/search/find/dataproviders",
searchLinkToProjects: "/search/find/projects",
searchLinkToDatasets: "/search/find/datasets",
searchLinkToSoftware: "/search/find/software",
searchLinkToOrps: "/search/find/other",
searchLinkToOrganizations: "/search/find/organizations",
searchLinkToCompatibleDataProviders: "/search/content-providers",
searchLinkToEntityRegistriesDataProviders: "/search/entity-registries",
searchLinkToJournals: "/search/journals",
searchLinkToResults: "/search/find/research-outcomes",
searchLinkToAdvancedPublications: "/search/advanced/publications",
searchLinkToAdvancedProjects: "/search/advanced/projects",
searchLinkToAdvancedDatasets: "/search/advanced/datasets",
searchLinkToAdvancedSoftware: "/search/advanced/software",
searchLinkToAdvancedOrps: "/search/advanced/other",
searchLinkToAdvancedDataProviders: "/search/advanced/dataproviders",
searchLinkToAdvancedOrganizations: "/search/advanced/organizations",
searchLinkToAdvancedResults: "/search/advanced/research-outcomes",
errorLink: '/error',
lastIndexInformationLink: "https://beta.openaire.eu/aggregation-and-content-provision-workflows",
showLastIndexInformationLink: true,
bipFrameAPIURL: "https://bip.imsi.athenarc.gr/api/impact-chart?id=",
widgetLink: "https://beta.openaire.eu/index.php?option=com_openaire&view=widget&format=raw&projectId=",
claimsInformationLink: "https://beta.openaire.eu/linking",
depositLearnHowPage: "/participate/deposit/learn-how",
depositSearchPage: "/participate/deposit/search",
shareInZenodoPage: "/participate/deposit/zenodo",
reCaptchaSiteKey: "6LezhVIUAAAAAOb4nHDd87sckLhMXFDcHuKyS76P",
admins: ["feedback@openaire.eu"],
lastIndexUpdate: "2020-05-06",
indexInfoAPI: "https://beta.services.openaire.eu/openaire/info/",
altMetricsAPIURL: "https://api.altmetric.com/v1/doi/",
b2noteAPIURL: 'https://b2note.eudat.eu/',
adminPortalURL: "https://beta.admin.connect.openaire.eu",
myOrcidLinksPage: "/my-orcid-links"
}; };
export let properties: EnvProperties = {
...common, ...commonBeta, ...props
}

View File

@ -1,121 +1,22 @@
import {EnvProperties} from "../app/openaireLibrary/utils/properties/env-properties"; import {EnvProperties} from "../app/openaireLibrary/utils/properties/env-properties";
import {common, commonProd} from "../app/openaireLibrary/utils/properties/environments/environment";
export let properties: EnvProperties = { let props: EnvProperties = {
environment: "production",
dashboard: 'connect',
adminToolsPortalType: "connect", adminToolsPortalType: "connect",
dashboard: "connect", adminToolsCommunity: 'connect',
enablePiwikTrack: true, enablePiwikTrack: false,
piwikSiteId: '80',
useCache: false, useCache: false,
useLongCache: true, useLongCache: true,
showContent: true, showContent: true,
showAddThis: true, showAddThis: false,
framesAPIURL: "https://www.openaire.eu/stats3/", domain: 'https://connect.openaire.eu',
statisticsAPIURL: "https://services.openaire.eu/stats-api/", baseLink : "",
statisticsFrameAPIURL: "https://www.openaire.eu/stats/",
statisticsFrameNewAPIURL: "https://services.openaire.eu/stats-tool/",
useNewStatistisTool: true,
enermapsURL:"https://lab.idiap.ch/enermaps",
impactFactorsAPIURL: "https://bip-api.imsi.athenarc.gr/paper/scores/batch/",
claimsAPIURL: "https://services.openaire.eu/claims/rest/claimsService/",
searchAPIURLLAst: "https://services.openaire.eu/search/v2/api/",
searchResourcesAPIURL: "https://services.openaire.eu/search/v2/api/resources",
openCitationsAPIURL: "https://services.openaire.eu/opencitations/getCitations?id=",
csvAPIURL: "https://services.openaire.eu/search/v2/api/reports",
searchCrossrefAPIURL: "https://api.crossref.org/works",
searchDataciteAPIURL: "https://api.datacite.org/works",
searchOrcidURL: "https://pub.orcid.org/v2.1/",
orcidURL: "https://orcid.org/",
orcidAPIURL: "https://services.openaire.eu/uoa-orcid-service/",
orcidTokenURL: "https://orcid.org/oauth/authorize?",
orcidClientId: "APP-IN0O56SBVVTB7NN4",
doiURL: "https://doi.org/",
pmcURL: "http://europepmc.org/articles/",
pmidURL: "https://www.ncbi.nlm.nih.gov/pubmed/",
handleURL: "http://hdl.handle.net/",
cordisURL: "http://cordis.europa.eu/projects/",
openDoarURL: "http://v2.sherpa.ac.uk/id/repository/",
r3DataURL: "http://service.re3data.org/repository/",
swhURL: "https://archive.softwareheritage.org/",
fairSharingURL: "https://fairsharing.org/",
eoscMarketplaceURL: "https://marketplace.eosc-portal.eu/services/",
sherpaURL: "http://sherpa.ac.uk/romeo/issn/",
sherpaURLSuffix: "/",
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",
helpdeskEmail: "helpdesk@openaire.eu",
utilsService: "https://explore.openaire.eu/utils-service",
vocabulariesAPI: "https://services.openaire.eu/provision/mvc/vocabularies/",
piwikBaseUrl: "https://analytics.openaire.eu/piwik.php?idsite=",
piwikSiteId: "112",
loginUrl: "https://services.openaire.eu/login-service/openid_connect_login",
registryUrl: 'https://services.openaire.eu/uoa-user-management/api/registry/',
userInfoUrl: "https://services.openaire.eu/login-service/userInfo",
logoutUrl: "https://services.openaire.eu/login-service/openid_logout",
cookieDomain: ".openaire.eu",
feedbackmail: "feedback@openaire.eu",
cacheUrl: "https://explore.openaire.eu/cache/get?url=",
datasourcesAPI: "https://services.openaire.eu/openaire/ds/search/",
adminToolsAPIURL: "https://services.openaire.eu/uoa-admin-tools/",
adminToolsCommunity: "connect",
contextsAPI: "https://services.openaire.eu/openaire/context",
communityAPI: "https://services.openaire.eu/openaire/community/",
communitiesAPI: "https://services.openaire.eu/openaire/community/communities",
csvLimit: 2000,
pagingLimit: 20,
resultsPerPage: 10,
baseLink:"",
domain: "https://connect.openaire.eu",
afterLoginRedirectLink: "/myCommunities",
searchLinkToResult: "/search/result?id=",
searchLinkToPublication: "/search/publication?articleId=",
searchLinkToProject: "/search/project?projectId=",
searchLinkToDataProvider: "/search/dataprovider?datasourceId=",
searchLinkToDataset: "/search/dataset?datasetId=",
searchLinkToSoftwareLanding: "/search/software?softwareId=",
searchLinkToOrganization: "/search/organization?organizationId=",
searchLinkToOrp: "/search/other?orpId=",
searchLinkToCommunities: "/search/find/communities",
searchLinkToPublications: "/search/find/publications",
searchLinkToDataProviders: "/search/find/dataproviders",
searchLinkToProjects: "/search/find/projects",
searchLinkToDatasets: "/search/find/datasets",
searchLinkToSoftware: "/search/find/software",
searchLinkToOrps: "/search/find/other",
searchLinkToOrganizations: "/search/find/organizations",
searchLinkToCompatibleDataProviders: "/search/content-providers",
searchLinkToEntityRegistriesDataProviders: "/search/entity-registries",
searchLinkToJournals: "/search/journals",
searchLinkToResults: "/search/find/research-outcomes",
searchLinkToAdvancedPublications: "/search/advanced/publications",
searchLinkToAdvancedProjects: "/search/advanced/projects",
searchLinkToAdvancedDatasets: "/search/advanced/datasets",
searchLinkToAdvancedSoftware: "/search/advanced/software",
searchLinkToAdvancedOrps: "/search/advanced/other",
searchLinkToAdvancedDataProviders: "/search/advanced/dataproviders",
searchLinkToAdvancedOrganizations: "/search/advanced/organizations",
searchLinkToAdvancedResults: "/search/advanced/research-outcomes",
errorLink: '/error',
lastIndexInformationLink: "https://www.openaire.eu/aggregation-and-content-provision-workflows",
showLastIndexInformationLink: true,
bipFrameAPIURL: "https://bip.imsi.athenarc.gr/api/impact-chart?id=",
widgetLink: "https://www.openaire.eu/index.php?option=com_openaire&view=widget&format=raw&projectId=",
claimsInformationLink: "https://www.openaire.eu/linking",
depositLearnHowPage: "/participate/deposit/learn-how",
depositSearchPage: "/participate/deposit/search",
shareInZenodoPage: "/participate/deposit/zenodo",
reCaptchaSiteKey: "6LezhVIUAAAAAOb4nHDd87sckLhMXFDcHuKyS76P",
admins: ["feedback@openaire.eu"],
lastIndexUpdate: "2019-07-24",
indexInfoAPI: "https://services.openaire.eu/openaire/info/",
altMetricsAPIURL: "https://api.altmetric.com/v1/doi/",
b2noteAPIURL: 'https://b2note.eudat.eu/',
adminPortalURL: "https://admin.connect.openaire.eu",
myOrcidLinksPage: "/my-orcid-links",
hasMachineCache: true hasMachineCache: true
}; };
export let properties: EnvProperties = {
...common, ...commonProd, ...props
}

View File

@ -4,122 +4,24 @@
// The list of which env maps to which file can be found in `.angular.json`. // The list of which env maps to which file can be found in `.angular.json`.
import {EnvProperties} from '../app/openaireLibrary/utils/properties/env-properties'; import {EnvProperties} from '../app/openaireLibrary/utils/properties/env-properties';
import {common, commonDev} from "../app/openaireLibrary/utils/properties/environments/environment";
export let properties: EnvProperties = { let props: EnvProperties = {
environment: 'development',
adminToolsPortalType: "connect",
dashboard: 'connect', dashboard: 'connect',
adminToolsPortalType: "connect",
adminToolsCommunity: 'connect',
enablePiwikTrack: false, enablePiwikTrack: false,
piwikSiteId: '80',
useCache: false, useCache: false,
useLongCache: false, useLongCache: false,
showContent: true, showContent: true,
showAddThis: false, showAddThis: false,
framesAPIURL: 'https://beta.openaire.eu/stats3/',
statisticsAPIURL: 'https://beta.services.openaire.eu/stats-api/',
statisticsFrameAPIURL: 'https://beta.openaire.eu/stats/',
statisticsFrameNewAPIURL: "https://beta.services.openaire.eu/stats-tool/",
useNewStatistisTool: true,
enermapsURL:"https://lab.idiap.ch/enermaps",
impactFactorsAPIURL: 'https://bip-api.imsi.athenarc.gr/paper/scores/batch/',
claimsAPIURL: 'http://scoobydoo.di.uoa.gr:8080/dnet-claims-service-2.0.0-SNAPSHOT/rest/claimsService/',
searchAPIURLLAst: 'https://beta.services.openaire.eu/search/v2/api/',
searchResourcesAPIURL: 'https://beta.services.openaire.eu/search/v2/api/resources',
openCitationsAPIURL: 'https://services.openaire.eu/opencitations/getCitations?id=',
csvAPIURL: 'https://beta.services.openaire.eu/search/v2/api/reports',
searchCrossrefAPIURL: 'https://api.crossref.org/works',
searchDataciteAPIURL: 'https://api.datacite.org/works',
searchOrcidURL: "https://pub.orcid.org/v2.1/",
orcidURL: "https://orcid.org/",
orcidAPIURL: "http://duffy.di.uoa.gr:19480/uoa-orcid-service/",
orcidTokenURL: "https://sandbox.orcid.org/oauth/authorize?",
orcidClientId: "APP-A5M3KTX6NCN67L91",
doiURL: 'https://doi.org/',
pmcURL: 'http://europepmc.org/articles/',
pmidURL: 'https://www.ncbi.nlm.nih.gov/pubmed/',
handleURL: 'http://hdl.handle.net/',
cordisURL: 'http://cordis.europa.eu/projects/',
openDoarURL: 'http://v2.sherpa.ac.uk/id/repository/',
r3DataURL: 'http://service.re3data.org/repository/',
swhURL: "https://archive.softwareheritage.org/",
fairSharingURL: "https://fairsharing.org/",
eoscMarketplaceURL: "https://marketplace.eosc-portal.eu/services/",
sherpaURL: 'http://sherpa.ac.uk/romeo/issn/',
sherpaURLSuffix: '/',
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',
helpdeskEmail: 'helpdesk@openaire.eu',
utilsService: 'http://mpagasas.di.uoa.gr:8000',
vocabulariesAPI: 'https://dev-openaire.d4science.org/provision/mvc/vocabularies/',
piwikBaseUrl: 'https://analytics.openaire.eu/piwik.php?idsite=',
piwikSiteId: '80',
registryUrl: 'http://mpagasas.di.uoa.gr:8080/dnet-openaire-users-1.0.0-SNAPSHOT/api/registry/',
loginUrl: "http://mpagasas.di.uoa.gr:19080/login-service/openid_connect_login",
userInfoUrl: "http://mpagasas.di.uoa.gr:19080/login-service/userInfo",
logoutUrl: "http://mpagasas.di.uoa.gr:19080/login-service/openid_logout",
cookieDomain: '.di.uoa.gr',
feedbackmail: 'openaire.test@gmail.com',
cacheUrl: 'http://dl170.madgik.di.uoa.gr:3000/get?url=',
adminToolsAPIURL: 'http://duffy.di.uoa.gr:19280/uoa-admin-tools/',
adminToolsCommunity: 'connect',
datasourcesAPI: 'https://beta.services.openaire.eu/openaire/ds/search/',
contextsAPI: 'https://dev-openaire.d4science.org/openaire/context',
communityAPI: 'https://dev-openaire.d4science.org/openaire/community/',
communitiesAPI: 'https://dev-openaire.d4science.org/openaire/community/communities',
csvLimit: 2000,
pagingLimit: 20,
resultsPerPage: 10,
baseLink: "",
domain: 'https://beta.connect.openaire.eu', domain: 'https://beta.connect.openaire.eu',
afterLoginRedirectLink: '/myCommunities', baseLink : "",
searchLinkToResult: "/search/result?id=",
searchLinkToPublication: '/search/publication?articleId=',
searchLinkToProject: '/search/project?projectId=',
searchLinkToDataProvider: '/search/dataprovider?datasourceId=',
searchLinkToDataset: '/search/dataset?datasetId=',
searchLinkToSoftwareLanding: '/search/software?softwareId=',
searchLinkToOrganization: '/search/organization?organizationId=',
searchLinkToOrp: '/search/other?orpId=',
searchLinkToCommunities: '/search/find/communities',
searchLinkToPublications: '/search/find/publications',
searchLinkToDataProviders: '/search/find/dataproviders',
searchLinkToProjects: '/search/find/projects',
searchLinkToDatasets: '/search/find/datasets',
searchLinkToSoftware: '/search/find/software',
searchLinkToOrps: '/search/find/other',
searchLinkToOrganizations: '/search/find/organizations',
searchLinkToCompatibleDataProviders: '/search/content-providers',
searchLinkToEntityRegistriesDataProviders: '/search/entity-registries',
searchLinkToJournals: '/search/journals',
searchLinkToResults: '/search/find/research-outcomes',
searchLinkToAdvancedPublications: '/search/advanced/publications',
searchLinkToAdvancedProjects: '/search/advanced/projects',
searchLinkToAdvancedDatasets: '/search/advanced/datasets',
searchLinkToAdvancedSoftware: '/search/advanced/software',
searchLinkToAdvancedOrps: '/search/advanced/other',
searchLinkToAdvancedDataProviders: '/search/advanced/dataproviders',
searchLinkToAdvancedOrganizations: '/search/advanced/organizations',
searchLinkToAdvancedResults: '/search/advanced/research-outcomes',
errorLink: '/error',
lastIndexInformationLink: 'https://beta.openaire.eu/aggregation-and-content-provision-workflows',
showLastIndexInformationLink: true,
bipFrameAPIURL: "https://bip.imsi.athenarc.gr/api/impact-chart?id=",
widgetLink: 'https://beta.openaire.eu/index.php?option=com_openaire&view=widget&format=raw&projectId=',
claimsInformationLink: 'https://beta.openaire.eu/linking',
depositLearnHowPage: '/participate/deposit/learn-how',
depositSearchPage: '/participate/deposit/search',
shareInZenodoPage: '/participate/deposit/zenodo',
reCaptchaSiteKey: '6LcVtFIUAAAAAB2ac6xYivHxYXKoUvYRPi-6_rLu',
admins: ['kostis30fylloy@gmail.com'],
lastIndexUpdate: '2019-11-01',
indexInfoAPI: 'https://dev-openaire.d4science.org/openaire/info/',
altMetricsAPIURL: 'https://api.altmetric.com/v1/doi/',
b2noteAPIURL: 'https://b2note.eudat.eu/',
adminPortalURL: 'https://beta.admin.connect.openaire.eu',
myOrcidLinksPage: "/my-orcid-links"
}; };
export let properties: EnvProperties = {
...common, ...commonDev, ...props
}

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,13 +10,14 @@
"moduleResolution": "node", "moduleResolution": "node",
"experimentalDecorators": true, "experimentalDecorators": true,
"importHelpers": true, "importHelpers": true,
"target": "es2020", "target": "ES2022",
"typeRoots": [ "typeRoots": [
"node_modules/@types" "node_modules/@types"
], ],
"lib": [ "lib": [
"es2018", "es2018",
"dom" "dom"
] ],
"useDefineForClassFields": false
} }
} }