fixed the mutilple menu call issue
[portal.git] / portal-FE-common / src / app / layout / components / header / header.component.ts
index cb6bdd3..f09c772 100644 (file)
  *
  * 
  */
-import { Component, OnInit } from '@angular/core';
+import { Component, OnInit, Output, EventEmitter } from '@angular/core';
 import { Router, NavigationEnd } from '@angular/router';
 import { UserProfileService, MenusService } from 'src/app/shared/services';
 import { CookieService } from 'ngx-cookie-service';
+import { environment } from 'src/environments/environment';
 
 @Component({
     selector: 'app-header',
@@ -55,6 +56,14 @@ export class HeaderComponent implements OnInit {
     userapproles: any[];
     displayUserAppRoles: any;
     isLoading: boolean;
+    api = environment.api;
+    brandName: string;
+    brandLogoImagePath: string;
+    isSystemUser: boolean = false;
+       languages: string[] = [];
+    result: any;
+       
+    @Output() languageEvent = new EventEmitter();
 
     constructor(public router: Router, private userProfileService: UserProfileService, private menusService: MenusService, private cookieService: CookieService) {
 
@@ -72,11 +81,35 @@ export class HeaderComponent implements OnInit {
     ngOnInit() {
         this.pushRightClass = 'push-right';
         this.getUserInformation();
+        
+        this.brandName = "ONAP Portal";
+        if(this.api.brandName != ''){
+            this.brandName = this.api.brandName;
+         }
+
+        this.brandLogoImagePath = "assets/images/global.logo";
+        if(this.api.brandLogoImagePath != ''){
+           this.brandLogoImagePath = this.api.brandLogoImagePath;
+        }
+               
+               this.menusService.getAllLanguages().subscribe(data =>{
+        this.result = data;
+            for(let lang of this.result.languageList ){
+                this.languages.push(lang);
+            }
+                       
+        this.menusService.getCurrentLang(this.loginSnippetUserid).subscribe(data=>{
+        this.result = data;
+                this.languages.map((obj:any)=>{
+                    obj.selected = obj.languageId == parseInt(this.result.languageId);
+                })   ;
+            });
+        });
     }
 
     getUserInformation() {
         this.userProfileService.getFunctionalMenuStaticInfo().toPromise().then((res: any) => {
-            if (res == null || res.firstName == null || res.firstName == '' || res.lastName == null || res.lastName == '') {
+            if (res === null || res.firstName === null || res.firstName === '' || res.lastName === null || res.lastName === '') {
                 // $log.info('HeaderCtrl: failed to get all required data, trying user profile');
                 this.userProfileService.getUserProfile().toPromise().then((profile: any) => {
                     this.firstName = profile.firstName;
@@ -91,6 +124,9 @@ export class HeaderComponent implements OnInit {
                 this.loginSnippetUserid = res.userId;
                 this.lastLogin = Date.parse(res.last_login);
             }
+            if(res != null && res.isSystemUser === 'true'){
+                this.isSystemUser = true;
+            }
             sessionStorage.userId = res.userId;
             this.menusService.getFunctionalMenuForUser().toPromise().then((jsonHeaderMenu: any) => {
                 // $scope.menuItems = unflatten(jsonHeaderMenu);
@@ -178,4 +214,11 @@ export class HeaderComponent implements OnInit {
     onLoggedout() {
         localStorage.removeItem('isLoggedin');
     }
+       
+       setLanguage(langId : string){
+        
+        this.menusService.setLanguage(langId, this.loginSnippetUserid).subscribe(data =>{
+            this.languageEvent.emit(langId);
+        });
+    }
 }