import { Component, OnInit, ViewChild, AfterViewInit } from "@angular/core"; import { Platform, Events, MenuController } from "@ionic/angular"; import { TranslatorService } from "./hmg-common/services/translator/translator.service"; import { CommonService } from "./hmg-common/services/common/common.service"; import { AuthenticationService } from "./hmg-common/services/authentication/authentication.service"; import { AuthenticatedUser } from "./hmg-common/services/authentication/models/authenticated-user"; import { TabsBarComponent } from "./hmg-common/ui/tabs-bar/tabs-bar.component"; import { KeyboardService } from "./hmg-common/services/keyboard/keyboard.service"; import { SMSCheckResponse } from "src/app/hmg-common/services/authentication/models/smscheck.response"; import { LazyLoadingService } from "./hmg-common/services/lazy-loading/lazy-loading.service"; @Component({ selector: "app-root", styleUrls: ["./app.component.scss"], templateUrl: "app.component.html" }) export class AppComponent implements OnInit, AfterViewInit { // rootPage:any = LoginPage; // @ViewChild(Nav) nav: Nav; start: any = false; menuList: any = []; User_name_Emp: string = ""; user_image: string = "../assets/imgs/profile.png"; menuSide: string = "left"; notBadge: number; companyUrl: string = "../assets/imgs/CS.png"; companyDesc: string = "Powered By Cloud Solutions"; public direction = "ltr"; constructor( public ts: TranslatorService, private cs: CommonService, private lazyLoadingService: LazyLoadingService, private platform: Platform, private events: Events, private keyboardService: KeyboardService, private menu: MenuController, private authService: AuthenticationService ) {} ngOnInit() { this.initializeApp(); } ngAfterViewInit() {} initializeApp() { this.start = false; this.lazyLoadingService.monitorLazyLoading(15, true); this.platform.ready().then(() => { this.ts.loadResources(() => { this.initializeDirection(); // this.statusBar.styleDefault(); this.start = true; this.watchLanguageChangeEvents(); this.subscribeEvents(); this.keyboardService.watchKeyboard(); }); }); } subscribeEvents() { this.events.subscribe("setMenu", () => { const user = this.authService .loadAuthenticatedUser() .subscribe((user: AuthenticatedUser) => { if (user) { this.companyUrl = user.CompanyImageURL ? user.CompanyImageURL : "../assets/imgs/CS.png"; this.companyDesc = user.CompanyImageDescription ? user.CompanyImageDescription : "Powered By Cloud Solutions"; this.User_name_Emp = user.EMPLOYEE_DISPLAY_NAME; this.user_image = user.EMPLOYEE_IMAGE ? "data:image/png;base64," + user.EMPLOYEE_IMAGE : "../assets/imgs/profile.png"; console.log(user); } else { console.log(user); } }); }); this.events.subscribe("getNotCount", badge => { this.notBadge = badge; }); } private initializeDirection() { this.direction = TranslatorService.getCurrentDirection(); } private watchUserLoginChangeEvents() { this.events.subscribe( AuthenticationService.LOGIN_EVENT, (user: AuthenticatedUser, time: Date) => {} ); } private watchLanguageChangeEvents() { this.events.subscribe(TranslatorService.CHANGE_EVENT, () => { this.start = false; this.initializeDirection(); setTimeout(() => { this.start = true; }, 100); }); } logout() { this.cs.sharedService.clearAll(); this.menu.toggle(); this.cs.openLogin(); } profile() { this.cs.openProfile(); this.menu.toggle(); } openNotification(){ this.cs.openNotificationPage(); this.menu.toggle(); } }