import { Component, Input, AfterViewInit } from '@angular/core'; import { Router, NavigationEnd } from '@angular/router'; import { AppComponent } from '../../../app.component'; import { SidebarItemType } from '../../../base/rdModule'; import { RdLib } from '../../../base/rdLib'; import { RdComponent } from "../../../base/rdComponent"; import { Sidebar } from '../default/sidebar'; declare const mLayout; @Component({ selector: "[app-sub-nav]", template: ` ` }) export class SubNavItem extends RdComponent { @Input('navItem') item; SidebarItemType = SidebarItemType; } @Component({ selector: "app-header-nav", template: ` ` }) export class HeaderNavComponent extends Sidebar implements AfterViewInit { app = AppComponent; items = []; topbarItems = []; topbarSearchItem; constructor(router: Router) { super(router); this.items = RdLib.objectOperations.deepCopy(AppComponent.client.getSidebar()); this.topbarItems = AppComponent.client.getTopbarItems(); this.topbarSearchItem = AppComponent.client.getTopbarSearchItem(); this.updateSidebarTranslations(this.items); router.events.subscribe((navigate) => { if (navigate instanceof NavigationEnd) { let activePage = navigate["url"].replace("/", ""); this.updateSidebarDefinitions(this.items, activePage); } }); } ngAfterViewInit() { mLayout.initHeader(); } }