2020-04-04 16:30:03 +03:00
|
|
|
import {Component, OnDestroy, OnInit} from '@angular/core';
|
2017-04-13 14:24:23 +03:00
|
|
|
|
2020-04-04 16:30:03 +03:00
|
|
|
import {MENU_ITEMS} from './pages-menu';
|
|
|
|
|
import {NbMenuItem, NbMenuService} from '@nebular/theme';
|
|
|
|
|
import {takeUntil} from 'rxjs/operators';
|
|
|
|
|
import {Subject} from 'rxjs';
|
|
|
|
|
import {MetadataService} from '../@core/utils/metadata.service';
|
2017-05-04 15:33:51 +03:00
|
|
|
|
2017-04-13 14:24:23 +03:00
|
|
|
@Component({
|
2017-05-06 15:35:15 +03:00
|
|
|
selector: 'ngx-pages',
|
2018-11-22 09:32:02 +02:00
|
|
|
styleUrls: ['pages.component.scss'],
|
2017-04-13 14:24:23 +03:00
|
|
|
template: `
|
2020-04-04 16:30:03 +03:00
|
|
|
<ngx-sample-layout>
|
|
|
|
|
<nb-menu [items]="menu"></nb-menu>
|
|
|
|
|
<router-outlet></router-outlet>
|
|
|
|
|
</ngx-sample-layout>
|
2017-04-21 17:23:44 +03:00
|
|
|
`,
|
2017-04-13 14:24:23 +03:00
|
|
|
})
|
2020-04-04 16:30:03 +03:00
|
|
|
export class PagesComponent implements OnInit, OnDestroy {
|
|
|
|
|
destroy$: Subject<boolean> = new Subject<boolean>();
|
|
|
|
|
|
|
|
|
|
constructor(private menuService: NbMenuService,
|
|
|
|
|
private metaDataService: MetadataService) {
|
|
|
|
|
}
|
2017-07-20 15:14:38 +03:00
|
|
|
|
|
|
|
|
menu = MENU_ITEMS;
|
2019-07-15 18:52:01 +03:00
|
|
|
|
|
|
|
|
ngOnInit() {
|
|
|
|
|
if (window['dataLayer']) {
|
|
|
|
|
window['dataLayer'].push({'event': 'optimize.activate'});
|
|
|
|
|
}
|
2020-04-04 16:30:03 +03:00
|
|
|
|
|
|
|
|
this.menuService
|
|
|
|
|
.onItemSelect()
|
|
|
|
|
.pipe(takeUntil(this.destroy$))
|
|
|
|
|
.subscribe((data: { tag: string; item: NbMenuItem }) => {
|
|
|
|
|
if (data.item.title !== 'E-commerce' && data.item.title !== 'IoT Dashboard')
|
2020-05-19 12:24:55 +03:00
|
|
|
this.metaDataService.updateTitle(`Ngx-admin dashboard by Akveo | ${data.item.title}`);
|
|
|
|
|
this.metaDataService.updateDescription('Ngx-admin is Angular 9+ Bootstrap 4+ admin dashboard template.' +
|
|
|
|
|
' Over 40+ Angular Components, 60+ Usage Examples and UI features.');
|
|
|
|
|
this.metaDataService.updateKeywords('ngx-admin, ngx admin dashboard features, ngx admin forms,' +
|
|
|
|
|
' ngx-admin maps, ngx-admin UI features, ngx-admin tables, ngx admin overlays, ngx-admin extra components');
|
2020-04-04 16:30:03 +03:00
|
|
|
});
|
2019-07-15 18:52:01 +03:00
|
|
|
}
|
2020-04-04 16:30:03 +03:00
|
|
|
|
|
|
|
|
ngOnDestroy() {
|
|
|
|
|
this.destroy$.next();
|
|
|
|
|
this.destroy$.complete();
|
|
|
|
|
}
|
|
|
|
|
|
2017-04-13 14:24:23 +03:00
|
|
|
}
|