import { Component, OnInit, Input } from '@angular/core'; import { MainModuleConfig } from '../types/modules-types'; import { MenubarData } from '../menubar/menubar-data'; import { SUPPORTED_LANGUAGES } from '../translation/translations'; import { MenubarDataConfig, MenubarObjects } from '../types/menubar-types'; import { ActivatedRoute, Router } from '@angular/router'; import { TranslateService } from '../services/translate-service'; import { Location } from '@angular/common'; import { Mediator } from '../services/mediator'; import { CoreMediatorChannels } from '../utils/mediator-channels'; @Component({ selector: 'headerMenu', templateUrl: './header.component.html', styleUrls: ['./header.component.css'] }) export class HeaderMenuComponent implements OnInit { //#region Varables private modules: MenubarDataConfig[]; private mainModules: MainModuleConfig[]; private lang; private supportedLanguages: any[]; private currentModule: MenubarDataConfig; private currentObject: MenubarObjects; //#endregion constructor(private route: ActivatedRoute, private router: Router, private translateService: TranslateService) { } ngOnInit() { this.mainModules = MenubarData.getMainModules(); this.supportedLanguages = SUPPORTED_LANGUAGES; Mediator.subscribe(CoreMediatorChannels.ON_MAIN_MODULE_START, (data: { selectedModule: MenubarDataConfig, selectedObject: MenubarObjects }) => { this.currentModule = data.selectedModule; if (data.selectedObject) { this.currentObject = data.selectedObject; } this.lang = this.translateService.instant("lang-key"); }); Mediator.subscribe(CoreMediatorChannels.CHANGE_SYSTEM_LANGUAGE, (lang: string) => { this.lang = this.translateService.instant("lang-key"); }); Mediator.subscribe(CoreMediatorChannels.ON_OBJECT_SCREEN_EDIT_MODE, (lang: string) => { $('#headerscreen > li').hide(); }); Mediator.subscribe(CoreMediatorChannels.ON_OBJECT_SCREEN_VIEW_MODE, (lang: string) => { $('#headerscreen > li').show(); }); } setCurrentSubModules(e: Event, currentModule: MainModuleConfig) { e.preventDefault(); this.currentModule = MenubarData.getMenubarDataByModuleName(currentModule.moduleName); this.router.navigate([this.currentModule.mainModule.moduleRoutingPath]); } }