UNPKG

tfabrica

Version:

library for TFabrica - TechSol

90 lines (73 loc) 3.2 kB
import { Component } from '@angular/core'; import { TfabricaUserData } from '../models/tfabrica.userdata.model'; import { TfabricaSharedService } from './tfabrica.shared.service'; import { TfabricaLoginService } from '../login/tfabrica.login.service'; import { Subscription } from 'rxjs/Subscription'; import { MdIcon } from '@angular/material/icon'; import { Router, ActivatedRoute, Params } from '@angular/router'; @Component({ selector: 't-userdata', template: require('./tfabrica.userdata.component.html') }) export class TfabricaUserDataComponent { userData: TfabricaUserData; subscription: Subscription; supportedLanguages: any[]; languageName: string; constructor( private tfabricaSharedService: TfabricaSharedService, private tfabricaLoginService: TfabricaLoginService, private router: Router ) { console.log("TfabricaUserDataComponent constructor"); this.userData = new TfabricaUserData(); this.userData = this.userData.getUserData(); this.supportedLanguages = this.tfabricaSharedService.supportedLanguages; console.log(this.supportedLanguages); if (this.tfabricaSharedService.isLogged) this.languageName = this.getLanguageName(); this.subscription = tfabricaSharedService.userDataLogged$.subscribe( userData => { console.log("TfabricaUserDataComponent called from sharedService"); this.userData = userData; this.supportedLanguages = this.tfabricaSharedService.supportedLanguages; console.log(this.supportedLanguages); this.languageName = this.getLanguageName(); } ); this.subscription = tfabricaSharedService.translationsReady$.subscribe( userData => { console.log("TfabricaUserDataComponent called from sharedService"); this.supportedLanguages = this.tfabricaSharedService.supportedLanguages; this.languageName = this.getLanguageName(); console.log(this.supportedLanguages); } ); } logout() { this.tfabricaLoginService.logout(); this.tfabricaSharedService.userLogged(this.tfabricaLoginService.getUser()); this.router.navigate(['/login']); } isCurrentLang(lang: string) { // check if the selected lang is current lang return this.tfabricaSharedService.isCurrentLang(lang); } getLanguageName() { let ActThis = this; let languageName = ""; try { this.supportedLanguages.forEach(function (entry) { if (ActThis.isCurrentLang(entry.value)) { languageName = entry.display; } }); } catch (Err) { } return languageName; } selectLang(lang: string) { // set current lang; console.log("new lang: " + lang); this.tfabricaSharedService.selectLang(lang); this.languageName = this.getLanguageName(); } }