diff --git a/package.json b/package.json index 733490a..c3a3bff 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "monitor", - "version": "1.0.3", + "version": "1.0.4", "scripts": { "ng": "ng", "start": " ng serve --port 4500 --disable-host-check --host 0.0.0.0", diff --git a/src/app/app-routing.module.ts b/src/app/app-routing.module.ts index 05f050b..1814f0d 100644 --- a/src/app/app-routing.module.ts +++ b/src/app/app-routing.module.ts @@ -9,6 +9,10 @@ const routes: Routes = [ path: 'about', loadChildren: () => import('./about/about.module').then(m => m.AboutModule) }, + { + path: 'subscriptions', + loadChildren: () => import('./subscriptions/subscriptions.module').then(m => m.SubscriptionsModule) + }, { path: 'support', loadChildren: () => import('./support/support.module').then(m => m.SupportModule), diff --git a/src/app/app.component.ts b/src/app/app.component.ts index 2708dc1..da1f30a 100644 --- a/src/app/app.component.ts +++ b/src/app/app.component.ts @@ -213,6 +213,9 @@ export class AppComponent { new MenuItem("", "Blog", "https://blogs.openaire.eu/", "", false, [], [], {}), new MenuItem("", "Contact us", "https://beta.openaire.eu/contact-us", "", false, [], [], {}) ]; + this.menuItems.push( + new MenuItem("subscriptions", "Subscriptions", "", "/subscriptions", false, [], null, {}, null, null) + ); this.menuItems.push( new MenuItem("contact-us", "Contact us", "", "/contact-us", false, [], null, {}, null, null, "uk-hidden@m") ); diff --git a/src/app/subscriptions/subscriptions.component.ts b/src/app/subscriptions/subscriptions.component.ts new file mode 100644 index 0000000..5edda76 --- /dev/null +++ b/src/app/subscriptions/subscriptions.component.ts @@ -0,0 +1,82 @@ +import {Component} from "@angular/core"; +import {Router} from '@angular/router'; +import {Meta, Title} from '@angular/platform-browser'; +import {PiwikService} from '../openaireLibrary/utils/piwik/piwik.service'; +import {SEOService} from "../openaireLibrary/sharedComponents/SEO/SEO.service"; +import {Subscriber} from "rxjs"; +import {Breadcrumb} from "../openaireLibrary/utils/breadcrumbs/breadcrumbs.component"; +import {EnvProperties} from "../openaireLibrary/utils/properties/env-properties"; +import {properties} from "../../environments/environment"; +import {BaseComponent} from "../openaireLibrary/sharedComponents/base/base.component"; +import {HelperService} from "../openaireLibrary/utils/helper/helper.service"; + +@Component({ + selector: 'subscriptions', + template: ` +
+
+
+
+
+ +
+
+

Subscriptions.

+
+ As demand for our services grows, along with the features included in each of them, + traditional sources of funding may not be sufficient. By introducing subscription fees, we + can ensure their long-term sustainability; by achieving financial stability we can + continue to invest in better resources, technology, and talent, thereby increasing our + capacity to deliver impactful programs and services to all interested parties. + Subscriptions support immediate operational needs, while at the same time enabling us to + scale our efforts and make a greater, more sustainable difference in the communities we + serve. +
+
+
+
+
+ +
+ ` +}) +export class SubscriptionsComponent extends BaseComponent { + public divContents = null; + + public title: string = "OpenAIRE - Monitor | Subscriptions"; + public description: string = "OpenAIRE - Monitor | Subscriptions"; + public breadcrumbs: Breadcrumb[] = [{name: 'home', route: '/'}, {name: 'Subscriptions'}]; + public properties: EnvProperties = properties; + subscriptions = []; + + constructor( + protected _router: Router, + protected _meta: Meta, + protected _title: Title, + protected seoService: SEOService, + protected _piwikService: PiwikService, + private helper: HelperService) { + super(); + } + + ngOnInit() { + this.setMetadata(); + this.getDivContents(); + } + + ngOnDestroy() { + this.subscriptions.forEach(subscription => { + if (subscription instanceof Subscriber) { + subscription.unsubscribe(); + } + }); + } + + private getDivContents() { + this.subscriptions.push(this.helper.getDivHelpContents(this.properties, 'monitor', this._router.url).subscribe(contents => { + this.divContents = contents; + })); + } +} diff --git a/src/app/subscriptions/subscriptions.module.ts b/src/app/subscriptions/subscriptions.module.ts new file mode 100644 index 0000000..7aad149 --- /dev/null +++ b/src/app/subscriptions/subscriptions.module.ts @@ -0,0 +1,23 @@ +import {CommonModule} from "@angular/common"; +import {NgModule} from "@angular/core"; +import {RouterModule} from "@angular/router"; +import {PreviousRouteRecorder} from "../openaireLibrary/utils/piwik/previousRouteRecorder.guard"; +import {SubscriptionsComponent} from "./subscriptions.component"; +import {BreadcrumbsModule} from "../openaireLibrary/utils/breadcrumbs/breadcrumbs.module"; +import {PiwikService} from "../openaireLibrary/utils/piwik/piwik.service"; +import {SliderTabsModule} from "../openaireLibrary/sharedComponents/tabs/slider-tabs.module"; +import {HelperModule} from "../openaireLibrary/utils/helper/helper.module"; +import {IconsModule} from "../openaireLibrary/utils/icons/icons.module"; + +@NgModule({ + declarations: [SubscriptionsComponent], + imports: [CommonModule, RouterModule.forChild([ + { + path: '', + component: SubscriptionsComponent + } + ]), BreadcrumbsModule, SliderTabsModule, HelperModule, IconsModule], + exports: [SubscriptionsComponent], + providers: [PreviousRouteRecorder, PiwikService] +}) +export class SubscriptionsModule {}