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();
}
}