tfabrica
Version:
library for TFabrica - TechSol
90 lines (73 loc) • 3.2 kB
text/typescript
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';
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();
}
}