Merge remote-tracking branch 'origin/develop' into develop

This commit is contained in:
Konstantina Galouni 2024-02-12 14:47:59 +02:00
commit a762efab08
9 changed files with 63 additions and 21 deletions

View File

@ -52,6 +52,8 @@
],
"styles": [
"src/styles.less",
{"input": "src/assets/deposit.less", "inject": false },
{"input": "src/assets/funders.less", "inject": false },
"src/assets/common-assets/library-css/material.scss"
],
"scripts": [

View File

@ -1,4 +1,4 @@
import {ChangeDetectorRef, Component, ElementRef, ViewChild} from '@angular/core';
import {AfterViewInit, ChangeDetectorRef, Component, ElementRef, ViewChild} from '@angular/core';
import {ActivatedRoute, Router} from '@angular/router';
import {EnvProperties} from './openaireLibrary/utils/properties/env-properties';
import {MenuItem} from './openaireLibrary/sharedComponents/menu';
@ -23,20 +23,21 @@ import {QuickContactService} from './openaireLibrary/sharedComponents/quick-cont
import {LayoutService} from './openaireLibrary/dashboard/sharedComponents/sidebar/layout.service';
@Component({
//changeDetection: ChangeDetectionStrategy.Default,
//encapsulation: ViewEncapsulation.Emulated,
selector: 'app-root',
template: `
<div id="modal-container"></div>
<navbar *ngIf="properties && header" [header]="header" [portal]="properties.dashboard" [properties]=properties
[onlyTop]=false [user]="user"
[communityId]="properties.adminToolsCommunity" [userMenuItems]=userMenuItems [menuItems]=menuItems></navbar>
<div *ngIf="loading">
<loading [full]="true"></loading>
</div>
<schema2jsonld *ngIf="properties" [URL]="properties.domain+properties.baseLink"
[logoURL]="properties.domain+properties.baseLink+'/assets/common-assets/logo-services/explore/main.svg'"
type="home"
name="OpenAIRE | Find and Share research"
description="OpenAIRE Explore: Over 100M of research deduplicated, 170K research software, 11M research data. One of the largest open scholarly records collection worldwide."></schema2jsonld>
<div class="custom-main-content">
<div [class.uk-hidden]="loading" [ngClass]="rootClass">
<div id="modal-container"></div>
<main>
<router-outlet></router-outlet>
</main>
@ -57,7 +58,9 @@ import {LayoutService} from './openaireLibrary/dashboard/sharedComponents/sideba
<modal-alert #modal [overflowBody]="false"></modal-alert>
`
})
export class AppComponent {
export class AppComponent implements AfterViewInit {
loading: boolean = false;
rootClass: string;
isClient: boolean = false;
userMenuItems: MenuItem[] = [];
menuItems: MenuItem [] = [];
@ -141,6 +144,31 @@ export class AppComponent {
ngAfterViewInit() {
if (typeof window !== "undefined") {
this.createObservers();
this.subscriptions.push(this.layoutService.rootClass.subscribe(rootClass => {
this.loading = true;
this.cdr.detectChanges();
if (rootClass && this.isClient) {
let link = <HTMLLinkElement>document.getElementById('theme');
let append = false;
if (!link) {
link = document.createElement('link');
link.rel = 'stylesheet';
link.id = 'theme';
append = true;
}
link.href = rootClass + '.css';
link.onerror = (error) => console.log(error);
if (append) {
document.head.appendChild(link);
}
}
this.rootClass = rootClass;
this.cdr.detectChanges();
setTimeout(() => {
this.loading = false;
this.cdr.detectChanges();
}, 500)
}));
}
}

View File

@ -19,6 +19,7 @@ import {DEFAULT_TIMEOUT, TimeoutInterceptor} from "./openaireLibrary/timeout-int
import {ErrorInterceptorService} from "./openaireLibrary/error-interceptor.service";
import {QuickContactModule} from './openaireLibrary/sharedComponents/quick-contact/quick-contact.module';
import {AlertModalModule} from './openaireLibrary/utils/modal/alertModal.module';
import {LoadingModule} from "./openaireLibrary/utils/loading/loading.module";
@NgModule({
imports: [
@ -33,7 +34,7 @@ import {AlertModalModule} from './openaireLibrary/utils/modal/alertModal.module'
BrowserAnimationsModule, PageURLResolverModule,
Schema2jsonldModule,
QuickContactModule,
AlertModalModule
AlertModalModule, LoadingModule
],
declarations: [AppComponent, OpenaireErrorPageComponent],
exports: [AppComponent],

View File

@ -1,4 +1,5 @@
import {Component} from '@angular/core';
import {Component, OnDestroy, OnInit} from '@angular/core';
import {LayoutService} from "../openaireLibrary/dashboard/sharedComponents/sidebar/layout.service";
@Component({
selector: 'openaire-deposit',
@ -7,11 +8,17 @@ import {Component} from '@angular/core';
`
})
export class OpenaireDepositComponent {
export class OpenaireDepositComponent implements OnInit, OnDestroy {
constructor() {
constructor(private layoutService: LayoutService) {
}
public ngOnInit() {}
public ngOnInit() {
this.layoutService.setRootClass('deposit');
}
ngOnDestroy() {
this.layoutService.setRootClass(null);
}
}

View File

@ -91,6 +91,7 @@ export class FundersComponent implements OnInit {
}
ngOnInit() {
this.layoutService.setRootClass('funders');
this.title.setTitle('OpenAIRE - Explore | Funders');
this.properties = properties;
this.subscriptions.push( this.piwikService.trackView(this.properties, this.pageTitle).subscribe());
@ -126,6 +127,7 @@ export class FundersComponent implements OnInit {
subscription.unsubscribe();
}
});
this.layoutService.setRootClass(null);
}
private updateDescription(description: string) {

@ -1 +1 @@
Subproject commit a7294685fb4ad530d1d1fbca75edd5bb0f691eff
Subproject commit 1cfe22f406d3a74ce0cf73a50ec19824331a6447

View File

@ -0,0 +1,3 @@
.deposit {
@import (multiple) "~src/assets/openaire-theme/less/_import";
}

View File

@ -32,10 +32,6 @@
/* Landing */
@landing-portal-color: @explore-color;
.deposit, .funders {
@import (multiple) "~src/assets/openaire-theme/less/_import";
}
.monitor-dashboard-link {
color: @monitor-color;
}

View File

@ -0,0 +1,3 @@
.funders {
@import (multiple) "~src/assets/openaire-theme/less/_import";
}