diff --git a/README.md b/README.md index b48bac9..7fc7da7 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # Monitor -This project was generated with [Angular CLI](https://github.com/angular/angular-cli) version 7.3.10 and has been updated to 11.2.14. +This project was generated with [Angular CLI](https://github.com/angular/angular-cli) version 7.3.10 and has been updated to 16.2.4. ## Install packages diff --git a/angular.json b/angular.json index 2d96dab..be7cf09 100644 --- a/angular.json +++ b/angular.json @@ -210,13 +210,16 @@ "main": "server.ts", "tsConfig": "src/tsconfig.server.json", "sourceMap": true, - "optimization": false + "optimization": false, + "buildOptimizer": false }, "configurations": { "development": { "outputHashing": "media", "sourceMap": false, - "optimization": true + "optimization": true, + "vendorChunk": true, + "buildOptimizer": true }, "beta": { "outputHashing": "media", @@ -227,7 +230,8 @@ } ], "sourceMap": false, - "optimization": true + "optimization": true, + "buildOptimizer": true }, "production": { "outputHashing": "media", @@ -238,7 +242,8 @@ } ], "sourceMap": false, - "optimization": true + "optimization": true, + "buildOptimizer": true } }, "defaultConfiguration": "" diff --git a/package.json b/package.json index fb63651..3ffbf9f 100644 --- a/package.json +++ b/package.json @@ -21,41 +21,41 @@ }, "private": true, "dependencies": { - "@angular/animations": "^14.2.3", - "@angular/cdk": "^14.2.2", - "@angular/common": "^14.2.3", - "@angular/compiler": "^14.2.3", - "@angular/core": "^14.2.3", - "@angular/forms": "^14.2.3", - "@angular/localize": "^14.2.3", - "@angular/material": "^14.2.2", - "@angular/platform-browser": "^14.2.3", - "@angular/platform-browser-dynamic": "^14.2.3", - "@angular/platform-server": "^14.2.3", - "@angular/router": "^14.2.3", - "@nguniversal/express-engine": "^14.2.0", + "@angular/animations": "^16.1.8", + "@angular/cdk": "^16.1.7", + "@angular/common": "^16.1.8", + "@angular/compiler": "^16.1.8", + "@angular/core": "^16.1.8", + "@angular/forms": "^16.1.8", + "@angular/localize": "^16.1.8", + "@angular/material": "^16.1.7", + "@angular/platform-browser": "^16.1.8", + "@angular/platform-browser-dynamic": "^16.1.8", + "@angular/platform-server": "^16.1.8", + "@angular/router": "^16.1.8", + "@nguniversal/express-engine": "^16.1.1", "clipboard": "^1.5.16", "core-js": "^2.5.4", "express": "^4.15.2", "jquery": "^3.4.1", - "ng-recaptcha": "^10.0.0", + "ng-recaptcha": "^12.0.2", "rxjs": "^6.5.1", "ts-md5": "^1.2.0", "tslib": "^2.0.0", - "uikit": "3.13.10", - "zone.js": "~0.11.4" + "uikit": "3.16.24", + "zone.js": "~0.13.1" }, "devDependencies": { - "@angular-devkit/build-angular": "^14.2.3", - "@angular/cli": "^14.2.3", - "@angular/compiler-cli": "^14.2.3", - "@angular/language-service": "^14.2.3", - "@nguniversal/builders": "^14.2.0", + "@angular-devkit/build-angular": "^16.1.7", + "@angular/cli": "^16.1.7", + "@angular/compiler-cli": "^16.1.8", + "@angular/language-service": "^16.1.8", + "@nguniversal/builders": "^16.1.1", "@types/compression": "^1.7.0", "@types/express": "^4.17.0", "@types/jasmine": "~3.6.0", "@types/jasminewd2": "~2.0.3", - "@types/node": "^12.11.1", + "@types/node": "^16.18.50", "codelyzer": "^6.0.0", "jasmine-core": "~3.8.0", "jasmine-spec-reporter": "~5.0.0", @@ -66,6 +66,6 @@ "karma-jasmine-html-reporter": "^1.6.0", "protractor": "~7.0.0", "ts-node": "~7.0.0", - "typescript": "~4.6.4" + "typescript": "~4.9.5" } } diff --git a/src/app/about/about.component.ts b/src/app/about/about.component.ts index 7a34ec3..fbd2f8c 100644 --- a/src/app/about/about.component.ts +++ b/src/app/about/about.component.ts @@ -612,9 +612,7 @@ export class AboutComponent { } ngOnInit() { - if (this.properties.enablePiwikTrack && (typeof document !== 'undefined')) { - this.subscriptions.push(this._piwikService.trackView(this.properties, this.pageTitle, this.properties.piwikSiteId).subscribe()); - } + this.subscriptions.push(this._piwikService.trackView(this.properties, this.pageTitle).subscribe()); this.url = this.properties.domain + this.properties.baseLink + this._router.url; this.seoService.createLinkForCanonicalURL(this.url); this.updateUrl(this.url); diff --git a/src/app/about/you-we.component.ts b/src/app/about/you-we.component.ts index 5ae209f..89a3ca5 100644 --- a/src/app/about/you-we.component.ts +++ b/src/app/about/you-we.component.ts @@ -20,8 +20,8 @@ declare var UIkit; class="uk-text-primary">{{type}}?
+ uk-sticky="animation: uk-animation-slide-bottom" [attr.end]="'#' + id" + [attr.start]="'100vh -' + height + 'px'" [attr.offset]="offset">
diff --git a/src/app/app-routing.module.ts b/src/app/app-routing.module.ts index 482faad..05f050b 100644 --- a/src/app/app-routing.module.ts +++ b/src/app/app-routing.module.ts @@ -3,7 +3,7 @@ import {RouterModule, Routes} from '@angular/router'; import {OpenaireErrorPageComponent} from './error/errorPage.component'; const routes: Routes = [ - {path: '', loadChildren: () => import('./home/home.module').then(m => m.HomeModule)}, + {path: '', loadChildren: () => import('./home/home.module').then(m => m.HomeModule), data: {hasStickyHeaderOnMobile: true}}, {path: 'about/learn-how', redirectTo: 'about', pathMatch: 'full'}, { path: 'about', @@ -11,7 +11,8 @@ const routes: Routes = [ }, { path: 'support', - loadChildren: () => import('./support/support.module').then(m => m.SupportModule) + loadChildren: () => import('./support/support.module').then(m => m.SupportModule), + data: {hasStickyHeaderOnMobile: true} }, { path: 'methodology', diff --git a/src/app/app.component.ts b/src/app/app.component.ts index f1f6ed9..999ed5a 100644 --- a/src/app/app.component.ts +++ b/src/app/app.component.ts @@ -22,17 +22,18 @@ import {AlertModal} from "./openaireLibrary/utils/modal/alert"; import {StakeholderEntities} from './openaireLibrary/monitor/entities/stakeholder'; import {ResourcesService} from "./openaireLibrary/monitor/services/resources.service"; import {LayoutService} from "./openaireLibrary/dashboard/sharedComponents/sidebar/layout.service"; +import {ConfigurationService} from "./openaireLibrary/utils/configuration/configuration.service"; @Component({ selector: 'app-root', template: `
- Get Started @@ -101,6 +102,7 @@ export class AppComponent { public stakeholderEntities = StakeholderEntities; constructor(private route: ActivatedRoute, private propertiesService: EnvironmentSpecificService, + private configurationService: ConfigurationService, private router: Router, private stakeholderService: StakeholderService, private smoothScroll: SmoothScroll, private userManagementService: UserManagementService, private quickContactService: QuickContactService, @@ -118,6 +120,7 @@ export class AppComponent { } ngOnInit() { + this.configurationService.initPortal(this.properties, "monitor"); this.userManagementService.fixRedirectURL = properties.afterLoginRedirectLink; this.subscriptions.push(this.userManagementService.getUserInfo().subscribe(user => { this.user = user; diff --git a/src/app/app.module.ts b/src/app/app.module.ts index c22d5a0..a0e591a 100755 --- a/src/app/app.module.ts +++ b/src/app/app.module.ts @@ -1,8 +1,8 @@ -import {NgModule} from '@angular/core'; +import {APP_ID, NgModule} from '@angular/core'; import {FormsModule} from '@angular/forms'; import {CommonModule} from '@angular/common'; import {HTTP_INTERCEPTORS, HttpClientModule} from "@angular/common/http"; -import {BrowserModule, BrowserTransferStateModule} from '@angular/platform-browser'; +import {BrowserModule} from '@angular/platform-browser'; import {BrowserAnimationsModule} from '@angular/platform-browser/animations'; import {AppComponent} from './app.component'; import {OpenaireErrorPageComponent} from './error/errorPage.component'; @@ -34,8 +34,7 @@ import {isDevelopmentGuard} from './openaireLibrary/error/isDevelopmentGuard.gua QuickContactModule, BottomModule, CookieLawModule, - BrowserTransferStateModule, - BrowserModule.withServerTransition({appId: 'monitor'}), + BrowserModule, AppRoutingModule, Schema2jsonldModule, AlertModalModule @@ -44,6 +43,7 @@ import {isDevelopmentGuard} from './openaireLibrary/error/isDevelopmentGuard.gua exports: [AppComponent], providers: [ isDevelopmentGuard, + {provide: APP_ID, useValue: 'monitor'}, { provide: HTTP_INTERCEPTORS, useClass: HttpInterceptorService, diff --git a/src/app/app.server.module.ts b/src/app/app.server.module.ts index cc86a55..561695a 100644 --- a/src/app/app.server.module.ts +++ b/src/app/app.server.module.ts @@ -1,5 +1,5 @@ import { NgModule } from '@angular/core'; -import {ServerModule, ServerTransferStateModule} from '@angular/platform-server'; +import {ServerModule} from '@angular/platform-server'; import { AppModule } from './app.module'; import { AppComponent } from './app.component'; @@ -7,8 +7,7 @@ import { AppComponent } from './app.component'; @NgModule({ imports: [ AppModule, - ServerModule, - ServerTransferStateModule + ServerModule ], bootstrap: [AppComponent], }) diff --git a/src/app/contact/contact.component.ts b/src/app/contact/contact.component.ts index f1ff45d..5802f6e 100644 --- a/src/app/contact/contact.component.ts +++ b/src/app/contact/contact.component.ts @@ -57,9 +57,7 @@ export class ContactComponent implements OnInit { } ngOnInit() { - if (this.properties.enablePiwikTrack && (typeof document !== 'undefined')) { - this.subscriptions.push(this._piwikService.trackView(this.properties, this.pageTitle, this.properties.piwikSiteId).subscribe()); - } + this.subscriptions.push(this._piwikService.trackView(this.properties, this.pageTitle).subscribe()); this.url = this.properties.domain + this.properties.baseLink + this._router.url; this.seoService.createLinkForCanonicalURL(this.url); this.updateUrl(this.url); diff --git a/src/app/get-started/get-started.component.html b/src/app/get-started/get-started.component.html index c19e56d..1a5d67e 100644 --- a/src/app/get-started/get-started.component.html +++ b/src/app/get-started/get-started.component.html @@ -62,7 +62,7 @@
- +
@@ -114,7 +114,7 @@ Learn More - +
diff --git a/src/app/get-started/get-started.component.ts b/src/app/get-started/get-started.component.ts index 855fe27..4b6f8da 100644 --- a/src/app/get-started/get-started.component.ts +++ b/src/app/get-started/get-started.component.ts @@ -60,9 +60,7 @@ export class GetStartedComponent implements OnInit { } ngOnInit() { - if (this.properties.enablePiwikTrack && (typeof document !== 'undefined')) { - this.subscriptions.push(this._piwikService.trackView(this.properties, this.pageTitle, this.properties.piwikSiteId).subscribe()); - } + this.subscriptions.push(this._piwikService.trackView(this.properties, this.pageTitle).subscribe()); this.url = this.properties.domain + this.properties.baseLink + this._router.url; this.seoService.createLinkForCanonicalURL(this.url); this.updateUrl(this.url); diff --git a/src/app/home/home.component.html b/src/app/home/home.component.html index eb03210..f2e4218 100644 --- a/src/app/home/home.component.html +++ b/src/app/home/home.component.html @@ -1,558 +1,595 @@ - -
-

- Monitor, discover and understand. -

-

Track your organization’s research output in a comprehensive manner. Identify research pathways across key dimensions with granular and timely indicators.

-
-
-

- Enhance open science uptake. -

-

Work with the Open Science expert community for open and transparent metrics. Discover Open Science costs and trends for your organization. See how you fare in the European Open Science Cloud.

-
-
-

- Turn data into actionable insights. -

-

See what works and what not, reveal hidden potential. Measure research impact, discover trends, connections and collaborations to improve and optimize your future actions.

-
+ +
+
+ Monitor, discover and understand. +
+
Track your organization’s research output in a comprehensive manner. Identify research pathways across key + dimensions with granular and timely indicators.
+
+
+
+ Enhance open science uptake. +
+
Work with the Open Science expert community for open and transparent metrics. Discover Open Science costs and + trends for your organization. See how you fare in the European Open Science Cloud.
+
+
+
+ Turn data into actionable insights. +
+
See what works and what not, reveal hidden potential. Measure research impact, discover trends, connections + and collaborations to improve and optimize your future actions.
+
-
-
-
-
-

- A new era of monitoring research. -

-
-
Discover, track and understand trends and impact
-
pathways for your organization.
-
Make informed decisions.
-
- -
-
-
- - -
-
-
-
-
-
-
-
- Funders. Research Institutions. Research Initiatives. -

Simplify research monitoring & evaluation.

-
-
-
-
-
-
-
- ipad +
+
+
+
+

+ A new era of monitoring research. +

+
+
Discover, track and understand trends and impact
+
pathways for your organization.
+
Make informed decisions.
+
+
-
-
-
-
-
- +
+
+ + +
-
-
-
-
-
-
-
-

- Tap into the OpenAIRE Graph. -

-
- The OpenAIRE Graph is one of the largest open scholarly record collections - worldwide, key in fostering Open Science and establishing its practices in the daily - research activities. Conceived as a public and transparent good, populated out of data - sources trusted by scientists, the Graph aims at bringing discovery, monitoring, and - assessment of science back in the hands of the scientific community. +
+
+
+ Funders. Research Institutions. Research Initiatives. +

Simplify research
monitoring & evaluation.

+
+
+
+ ipad +
+
+
+ +
+
+
-
-
-
- - -
-
-
{{(numberSize.number|number) + numberSize.size}}
-
{{name}}
-
-
-
-
-
- +
+
+

+ Tap into the OpenAIRE Graph. +

+
+ The OpenAIRE Graph is one of the largest open scholarly record collections + worldwide, key in fostering Open Science and establishing its practices in the daily + research activities. Conceived as a public and transparent good, populated out of data + sources trusted by scientists, the Graph aims at bringing discovery, monitoring, and + assessment of science back in the hands of the scientific community. +
+
+
+
+ + +
+
+
{{(numberSize.number|number) + numberSize.size}}
+
{{name}}
+
+
+
+
+
+ - -
-
- + - -
-
- + - -
-
- + - -
-
- + - -
-
-
-
-
-
-
-
-

Openness. Usability. Replicability. Trust.

-
Learn and work with a thriving community behind you.
- + +
+
+
+
+
+
+
+ -
-
-
-
- +
-
Comprehensive outlook
-
- Monitor is built on the OpenAIRE Graph. A global linked research graph, a shared data resource from open initiatives around the world. Our indicators cover a wide range of themes from input to impact. +
+
+
+
+ +
+
Comprehensive outlook
+
+ Monitor is built on the OpenAIRE Graph. A global linked research + graph, a shared data resource from open initiatives around the world. Our indicators cover a + wide range of themes from input to impact. +
+
+
+
+ +
+
Showcasing, monitoring, analysis
+
+ Customize your dashboard by choosing from a variety of pre-defined metrics and select which + ones to show publicly, which to invited team members, and which are still work in progress + (private). +
+
+
+
+ +
+
Transparent methodology
+
+ We base our service on Open Science principles. We rely on open data sources, and document + our algorithms for every metric and indicator we publish. +
+
+
+
+ +
+
Minimum effort to join
+
+ You only share some information with us to include in our backend aggregating and data + mining, and we deliver a view of your world. +
+
+
+
+ +
+
Tailor-made monitoring, responsive to your needs
+
+ Our experts work with you on demand in one-on-one sessions to provide additional indicators + and curate your data. +
+
+
-
-
-
- -
-
Showcasing, monitoring, analysis
-
- Customize your dashboard by choosing from a variety of pre-defined metrics and select which ones to show publicly, which to invited team members, and which are still work in progress (private).
-
-
-
- -
-
Transparent methodology
-
- We base our service on Open Science principles. We rely on open data sources, and document our algorithms for every metric and indicator we publish. -
-
-
-
- -
-
Minimum effort to join
-
- You only share some information with us to include in our backend aggregating and data mining, and we deliver a view of your world. -
-
-
-
- -
-
Tailor-made monitoring, responsive to your needs
-
- Our experts work with you on demand in one-on-one sessions to provide additional indicators and curate your data.
-
-
-
-
-
-

{{stakeholderEntities.STAKEHOLDERS}} in action.

-
- View existing {{stakeholderEntities.STAKEHOLDERS | lowercase}} from collaborating organizations. Get a preview on how they work and how our service can be customized to serve you. -
-
- +
+
+

{{stakeholderEntities.STAKEHOLDERS}} in action.

+
+ View existing {{stakeholderEntities.STAKEHOLDERS | lowercase}} from collaborating organizations. Get a + preview on how they work and how our service can be customized to serve you. +
+
+
Browse - -
-
- -
- -
- - - - - - -
-
    -
  • - -
  • -
  • - -
  • -
  • - -
  • -
  • - -
  • -
-
- - -
-
    - -
  • -
    -
    - -
    - -
    -
    - -
    - -
    -
    + +
    +
    + +
    + +
    + + + + + +
    -
    -
  • -
-
    +
      +
    • + +
    • +
    • + +
    • +
    • + +
    • +
    • + +
    • +
    + + + +
    +
      + +
    • +
      +
      + +
      + +
      +
      + +
      + +
      +
      +
      +
      +
    • +
    +
      +
      +
      +
      +
      +
      + + + + +
      +

      + Need more information or a demo? Get in touch and let us show you in practice how you can apply OpenAIRE + Monitor to your needs. +

      + Contact us
      -
      -
      -
      - - - - -
      -

      - Need more information or a demo? Get in touch and let us show you in practice how you can apply OpenAIRE Monitor to your needs. -

      - Contact us -
      -
      -
      -
      -
      -

      - A new era of monitoring research. -

      -
      -
      Discover, track and understand trends and impact pathways for your organization.
      -
      Make informed decisions.
      -
      -
      -
      -
      - - - -
      -
      -
      -
      -
      - Funders. Research Institutions. Research Initiatives. -

      Simplify research monitoring & evaluation.

      -
      -
      -
      -
      -
      -
      -
      - ipad +
      +
      +
      +

      + A new era of monitoring research. +

      +
      +
      Discover, track and understand trends and impact pathways for your organization.
      +
      Make informed decisions.
      -
      -
      -
      -
      - -
      -
      -
      -
      -
      -
      -
      -
      -
      -
      - ipad -
      -
      - -
      +
      + + + -
      -
      -
      -
      - OpenAIRE Graph - OpenAIRE Graph -
      -
      -

      - Tap into the OpenAIRE Research Graph. -

      -
      - The OpenAIRE Graph is one of the largest open scholarly record collections - worldwide, key in fostering Open Science and establishing its practices in the daily - research activities. Conceived as a public and transparent good, populated out of data - sources trusted by scientists, the Graph aims at bringing discovery, monitoring, and - assessment of science back in the hands of the scientific community. -
      -
      -
      -
      - OpenAIRE Graph -
      -
      - - -
      -
      -
      {{(numberSize.number|number) + numberSize.size}}
      -
      {{name}}
      -
      -
      -
      -
      -
      - +
      +
      + Funders. Research Institutions. Research Initiatives. +

      Simplify research
      monitoring & evaluation.

      +
      +
      +
      + ipad +
      +
      + ipad +
      +
      +
      + +
      +
      +
      +
      +
      +
      + OpenAIRE Graph + OpenAIRE Graph +
      +
      +

      + Tap into the OpenAIRE Research Graph. +

      +
      + The OpenAIRE Graph is one of the largest open scholarly record collections + worldwide, key in fostering Open Science and establishing its practices in the daily + research activities. Conceived as a public and transparent good, populated out of data + sources trusted by scientists, the Graph aims at bringing discovery, monitoring, and + assessment of science back in the hands of the scientific community. +
      +
      +
      +
      + OpenAIRE Graph +
      +
      + + +
      +
      +
      {{(numberSize.number|number) + numberSize.size}}
      +
      {{name}}
      +
      +
      +
      +
      +
      + - -
      -
      - + - -
      -
      - + - -
      -
      - + - -
      -
      - + - -
      -
      -
      -
      -
      -
      -
      -
      -

      Openness.

      -

      Usability.

      -

      Replicability.

      -

      Trust.

      -
      Learn and work with a thriving community behind you.
      - + +
      +
      +
      +
      +
      +
      +
      + -
      -
      -
      -
      - +
      -
      Comprehensive outlook
      -
      - Monitor is built on the OpenAIRE Graph. A global linked research graph, a shared data resource from open initiatives around the world. Our indicators cover a wide range of themes from input to impact. +
      +
      +
      +
      + +
      +
      Comprehensive outlook
      +
      + Monitor is built on the OpenAIRE Graph. A global linked research + graph, a shared data resource from open initiatives around the world. Our indicators cover a + wide range of themes from input to impact. +
      +
      +
      +
      + +
      +
      Showcasing, monitoring, analysis
      +
      + Customize your dashboard by choosing from a variety of pre-defined metrics and select which + ones to show publicly, which to invited team members, and which are still work in progress + (private). +
      +
      +
      +
      + +
      +
      Transparent methodology
      +
      + We base our service on Open Science principles. We rely on open data sources, and document + our algorithms for every metric and indicator we publish. +
      +
      +
      +
      + +
      +
      Minimum effort to join
      +
      + You only share some information with us to include in our backend aggregating and data + mining, and we deliver a view of your world. +
      +
      +
      +
      + +
      +
      Tailor-made monitoring, responsive to your needs
      +
      + Our experts work with you on demand in one-on-one sessions to provide additional indicators + and curate your data. +
      +
      +
      -
      -
      -
      - -
      -
      Showcasing, monitoring, analysis
      -
      - Customize your dashboard by choosing from a variety of pre-defined metrics and select which ones to show publicly, which to invited team members, and which are still work in progress (private).
      -
      -
      -
      - -
      -
      Transparent methodology
      -
      - We base our service on Open Science principles. We rely on open data sources, and document our algorithms for every metric and indicator we publish. -
      -
      -
      -
      - -
      -
      Minimum effort to join
      -
      - You only share some information with us to include in our backend aggregating and data mining, and we deliver a view of your world. -
      -
      -
      -
      - -
      -
      Tailor-made monitoring, responsive to your needs
      -
      - Our experts work with you on demand in one-on-one sessions to provide additional indicators and curate your data.
      -
      -
      -
      -
      -
      -

      {{stakeholderEntities.STAKEHOLDERS}} in action.

      -
      - View existing {{stakeholderEntities.STAKEHOLDERS | lowercase}} from collaborating organizations. Get a preview on how they work and how our service can be customized to serve you. -
      -
      - + -
      -
      - -
      - -
      - - - - - - -
      -
        -
      • -
        -
        -
        - -
        -
        -
        -
      • -
      • -
        -
        -
        - -
        -
        -
        -
      • -
      • -
        -
        -
        - -
        -
        -
        -
      • -
      • -
        -
        -
        - -
        -
        -
        -
      • -
      -
      -
      -
      -
      -

      - Need more information or a demo? -

      -
      - Get in touch and let us show you in practice how you can apply OpenAIRE Monitor to your needs. -
      - Contact us -
      -
      + +
      +
      +
      + +
      + +
      + + + + + + +
      +
        +
      • +
        +
        +
        + +
        +
        +
        +
      • +
      • +
        +
        +
        + +
        +
        +
        +
      • +
      • +
        +
        +
        + +
        +
        +
        +
      • +
      • +
        +
        +
        + +
        +
        +
        +
      • +
      +
      +
      +
      +
      +

      + Need more information or a demo? +

      +
      + Get in touch and let us show you in practice how you can apply OpenAIRE Monitor to your needs. +
      + Contact us +
      +
      diff --git a/src/app/home/home.component.less b/src/app/home/home.component.less index b78d67a..05b6538 100644 --- a/src/app/home/home.component.less +++ b/src/app/home/home.component.less @@ -6,12 +6,19 @@ background-color: @global-inverse-color; } +.tablet-section { + background-image:linear-gradient(180deg, @global-inverse-color 0%, @global-muted-background 100%); + background-repeat: no-repeat; + background-position: top; + background-size: cover; +} + @media only screen and (min-width: @breakpoint-medium) { - .monitor-dark-logo-background { - background-image: url("~src/assets/monitor-assets/home/monitor-dark-logo.svg"); + .tablet-section { + background-image:url("~src/assets/monitor-assets/home/monitor-dark-logo.svg"), linear-gradient(180deg, @global-inverse-color 0%, @global-muted-background 100%); background-repeat: no-repeat; - background-position: left 95%; - background-size: 65%; + background-position: -5% 95%, top; + background-size: 60%, cover; } } diff --git a/src/app/home/home.component.ts b/src/app/home/home.component.ts index 281b04a..a1ad4bc 100644 --- a/src/app/home/home.component.ts +++ b/src/app/home/home.component.ts @@ -70,13 +70,11 @@ export class HomeComponent implements OnInit, OnDestroy, AfterViewInit, IDeactiv private subscriptions = []; private mutationObserver: MutationObserver; private user: User; - @ViewChildren('scrolling_element') elements: QueryList; @ViewChild('contact') contact: ElementRef; isMobile: boolean = false; isServer: boolean; constructor( - private route: ActivatedRoute, private _router: Router, private _meta: Meta, private _title: Title, @@ -107,9 +105,7 @@ export class HomeComponent implements OnInit, OnDestroy, AfterViewInit, IDeactiv let url = this.properties.domain + this.properties.baseLink + this._router.url; this.seoService.createLinkForCanonicalURL(url, false); this._meta.updateTag({content: url}, "property='og:url'"); - if (this.properties.enablePiwikTrack && (typeof document !== 'undefined')) { - this.subscriptions.push(this._piwikService.trackView(this.properties, "OpenAIRE Monitor", this.properties.piwikSiteId).subscribe()); - } + this.subscriptions.push(this._piwikService.trackView(this.properties, "OpenAIRE Monitor").subscribe()); this.getNumbers(); this.subscriptions.push(this.localStorageService.get().subscribe(value => { this.directLink = value; @@ -167,26 +163,6 @@ export class HomeComponent implements OnInit, OnDestroy, AfterViewInit, IDeactiv if(this.contact) { intersectionObserver.observe(this.contact.nativeElement); } - this.mutationObserver = new MutationObserver(entries => { - entries.forEach(entry => { - if (entry.attributeName === 'style') { - let opacities: number[] = this.elements.map(element => +element.nativeElement.style.opacity); - let active: number = opacities.indexOf(Math.max(...opacities)); - this.elements.forEach((element, index) => { - if (index === active) { - element.nativeElement.classList.remove('uk-disabled'); - } else { - element.nativeElement.classList.add('uk-disabled'); - } - }) - } - }) - }); - this.elements.changes.subscribe(() => { - this.elements.forEach(element => { - this.mutationObserver.observe(element.nativeElement, {attributes: true}); - }); - }); this.subscriptions.push(intersectionObserver); } diff --git a/src/app/my-stakeholders/my-stakeholders.component.ts b/src/app/my-stakeholders/my-stakeholders.component.ts index 30195bb..25b7a7e 100644 --- a/src/app/my-stakeholders/my-stakeholders.component.ts +++ b/src/app/my-stakeholders/my-stakeholders.component.ts @@ -64,9 +64,7 @@ export class MyStakeholdersComponent { var url = this.properties.domain + this.properties.baseLink + this._router.url; this.seoService.createLinkForCanonicalURL(url, false); this._meta.updateTag({content: url}, "property='og:url'"); - if (this.properties.enablePiwikTrack && (typeof document !== 'undefined')) { - this.subscriptions.push(this._piwikService.trackView(this.properties, "OpenAIRE Connect", this.properties.piwikSiteId).subscribe()); - } + this.subscriptions.push(this._piwikService.trackView(this.properties, "OpenAIRE Connect").subscribe()); this.subscriptions.push(this.userManagementService.getUserInfo().subscribe(user => { this.user = user; if (this.user) { diff --git a/src/app/openaireLibrary b/src/app/openaireLibrary index 1785da3..e63d61b 160000 --- a/src/app/openaireLibrary +++ b/src/app/openaireLibrary @@ -1 +1 @@ -Subproject commit 1785da3c45eab2438f014f6e5149c1e995bd7bff +Subproject commit e63d61b4693843c30ed41440e90bd3b6b6865806 diff --git a/src/app/search-stakeholders/search-stakeholders.component.ts b/src/app/search-stakeholders/search-stakeholders.component.ts index 5a3161a..6a82e17 100644 --- a/src/app/search-stakeholders/search-stakeholders.component.ts +++ b/src/app/search-stakeholders/search-stakeholders.component.ts @@ -22,7 +22,7 @@ import {LayoutService} from "../openaireLibrary/dashboard/sharedComponents/sideb selector: 'search-stakeholders', template: ` { this.searchPage.resultsPerPage = 10; diff --git a/src/app/support/support.component.ts b/src/app/support/support.component.ts index 2842108..0f22fac 100644 --- a/src/app/support/support.component.ts +++ b/src/app/support/support.component.ts @@ -36,9 +36,7 @@ export class SupportComponent { } public ngOnInit() { - if (this.properties.enablePiwikTrack && (typeof document !== 'undefined')) { - this.subscriptions.push(this._piwikService.trackView(this.properties, this.pageTitle, this.properties.piwikSiteId).subscribe()); - } + this.subscriptions.push(this._piwikService.trackView(this.properties, this.pageTitle).subscribe()); this.url = this.properties.domain + this.properties.baseLink + this._router.url; this.seoService.createLinkForCanonicalURL(this.url); this.updateUrl(this.url); diff --git a/src/assets/common-assets b/src/assets/common-assets index 6677e29..e82544c 160000 --- a/src/assets/common-assets +++ b/src/assets/common-assets @@ -1 +1 @@ -Subproject commit 6677e29434f3569555975c9506150548fc17e958 +Subproject commit e82544c43fa55393581d5278a8b0540d64bf30f0 diff --git a/src/assets/monitor-assets/get-started/steps.svg b/src/assets/monitor-assets/get-started/steps.svg new file mode 100644 index 0000000..1b539a0 --- /dev/null +++ b/src/assets/monitor-assets/get-started/steps.svg @@ -0,0 +1,159 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/assets/openaire-theme b/src/assets/openaire-theme index a0797a5..9218026 160000 --- a/src/assets/openaire-theme +++ b/src/assets/openaire-theme @@ -1 +1 @@ -Subproject commit a0797a5ecca6649f625505a48033604e68bf4828 +Subproject commit 921802642010c1057b79de55f93361f0b25a7b3d diff --git a/src/environments/environment.beta.ts b/src/environments/environment.beta.ts index d2ff8b9..d486b5e 100644 --- a/src/environments/environment.beta.ts +++ b/src/environments/environment.beta.ts @@ -5,7 +5,6 @@ export let properties: EnvProperties = { enablePiwikTrack: true, useCache: true, showContent: true, - framesAPIURL: "https://beta.openaire.eu/stats3/", statisticsAPIURL: "https://beta.services.openaire.eu/stats-api/", statisticsFrameAPIURL: "https://beta.openaire.eu/stats/", statisticsFrameNewAPIURL: "https://stats.madgik.di.uoa.gr/stats-api/", @@ -28,11 +27,6 @@ export let properties: EnvProperties = { r3DataURL: "http://service.re3data.org/repository/", zenodo: "https://zenodo.org/", zenodoCommunities: "https://zenodo.org/api/communities/", - openAccess: "https://www.openaire.eu/support/faq#article-id-234", - openAccessRepo: "https://www.openaire.eu/support/faq#article-id-310", - fp7Guidlines: "https://www.openaire.eu/open-access-in-fp7-seventh-research-framework-programme", - h2020Guidlines: "https://www.openaire.eu/oa-publications/h2020/open-access-in-horizon-2020", - ercGuidlines: "http://erc.europa.eu/sites/default/files/document/file/ERC_Open_Access_Guidelines-revised_2014.pdf", helpdesk: "https://www.openaire.eu/support/helpdesk", utilsService: "https://demo.openaire.eu/utils-service", vocabulariesAPI: "https://beta.services.openaire.eu/provision/mvc/vocabularies/", diff --git a/src/environments/environment.prod.ts b/src/environments/environment.prod.ts index 6865ba8..87e21bc 100644 --- a/src/environments/environment.prod.ts +++ b/src/environments/environment.prod.ts @@ -5,7 +5,6 @@ export let properties: EnvProperties = { enablePiwikTrack: true, useCache: true, showContent: true, - framesAPIURL: "https://www.openaire.eu/stats3/", statisticsAPIURL: "https://services.openaire.eu/stats-api/", statisticsFrameAPIURL: "https://www.openaire.eu/stats/", statisticsFrameNewAPIURL: "", @@ -28,11 +27,6 @@ export let properties: EnvProperties = { r3DataURL: "http://service.re3data.org/repository/", zenodo: "https://zenodo.org/", zenodoCommunities: "https://zenodo.org/api/communities/", - openAccess: "https://www.openaire.eu/support/faq#article-id-234", - openAccessRepo: "https://www.openaire.eu/support/faq#article-id-310", - fp7Guidlines: "https://www.openaire.eu/open-access-in-fp7-seventh-research-framework-programme", - h2020Guidlines: "https://www.openaire.eu/oa-publications/h2020/open-access-in-horizon-2020", - ercGuidlines: "http://erc.europa.eu/sites/default/files/document/file/ERC_Open_Access_Guidelines-revised_2014.pdf", helpdesk: "https://www.openaire.eu/support/helpdesk", utilsService: "https://explore.openaire.eu/utils-service", vocabulariesAPI: "https://services.openaire.eu/provision/mvc/vocabularies/", diff --git a/src/environments/environment.ts b/src/environments/environment.ts index 1e35bb3..88e3d67 100644 --- a/src/environments/environment.ts +++ b/src/environments/environment.ts @@ -5,7 +5,6 @@ export let properties: EnvProperties = { enablePiwikTrack: false, useCache: false, showContent: true, - framesAPIURL: "https://beta.openaire.eu/stats3/", statisticsAPIURL: "https://beta.services.openaire.eu/stats-api/", statisticsFrameAPIURL: "https://beta.openaire.eu/stats/", statisticsFrameNewAPIURL: "http://88.197.53.71:8080/stats-api/", @@ -28,11 +27,6 @@ export let properties: EnvProperties = { r3DataURL: "http://service.re3data.org/repository/", zenodo: "https://zenodo.org/", zenodoCommunities: "https://zenodo.org/api/communities/", - openAccess: "https://www.openaire.eu/support/faq#article-id-234", - openAccessRepo: "https://www.openaire.eu/support/faq#article-id-310", - fp7Guidlines: "https://www.openaire.eu/open-access-in-fp7-seventh-research-framework-programme", - h2020Guidlines: "https://www.openaire.eu/oa-publications/h2020/open-access-in-horizon-2020", - ercGuidlines: "http://erc.europa.eu/sites/default/files/document/file/ERC_Open_Access_Guidelines-revised_2014.pdf", helpdesk: "https://www.openaire.eu/support/helpdesk", utilsService: "http://mpagasas.di.uoa.gr:8000", vocabulariesAPI: "https://beta.services.openaire.eu/provision/mvc/vocabularies/", diff --git a/src/main.server.ts b/src/main.server.ts index d1bea73..94c76c3 100644 --- a/src/main.server.ts +++ b/src/main.server.ts @@ -12,4 +12,4 @@ if (properties.environment !== "development") { } export {AppServerModule} from './app/app.server.module'; -export {renderModule} from '@angular/platform-server'; + diff --git a/src/test.ts b/src/test.ts index 6b03dbe..ae25f27 100644 --- a/src/test.ts +++ b/src/test.ts @@ -7,8 +7,6 @@ import { platformBrowserDynamicTesting } from '@angular/platform-browser-dynamic/testing'; -declare const require: any; - // First, initialize the Angular testing environment. getTestBed().initTestEnvironment( BrowserDynamicTestingModule, @@ -16,7 +14,3 @@ getTestBed().initTestEnvironment( teardown: { destroyAfterEach: false } } ); -// Then we find all the tests. -const context = require.context('./', true, /\.spec\.ts$/); -// And load the modules. -context.keys().map(context); diff --git a/src/tsconfig.server.json b/src/tsconfig.server.json index 39f85aa..5601502 100644 --- a/src/tsconfig.server.json +++ b/src/tsconfig.server.json @@ -2,7 +2,6 @@ "extends": "./tsconfig.app.json", "compilerOptions": { "outDir": "../out-tsc/app-server", - "target": "es2016", "types": [ "node" ] diff --git a/tsconfig.json b/tsconfig.json index fc8b4c1..668d981 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -10,13 +10,14 @@ "moduleResolution": "node", "experimentalDecorators": true, "importHelpers": true, - "target": "es2020", + "target": "ES2022", "typeRoots": [ "node_modules/@types" ], "lib": [ "es2018", "dom" - ] + ], + "useDefineForClassFields": false } }