58 lines
2.0 KiB
TypeScript
58 lines
2.0 KiB
TypeScript
import { Component, OnInit } from '@angular/core';
|
|
|
|
import { LanguageEnum } from '../../../../core/enums/language.enum';
|
|
import { LanguageService } from '../../../../core/services/language.service';
|
|
import { StorageService } from '../../../../core/services/storage.service';
|
|
|
|
@Component({
|
|
selector: 'app-language-selector',
|
|
templateUrl: './language-selector.component.html',
|
|
styleUrls: ['./language-selector.component.scss'],
|
|
})
|
|
export class LanguageSelectorComponent implements OnInit {
|
|
public currentLang: LanguageEnum;
|
|
public availableLanguages: any = ['FR', 'EN', 'ES'];
|
|
language: string;
|
|
|
|
constructor(private languageService: LanguageService, private storageService: StorageService) {}
|
|
|
|
ngOnInit(): void {
|
|
this.availableLanguages = this.languageService.getAvailableLanguages();
|
|
|
|
console.log('this.availableLanguages', this.availableLanguages);
|
|
this.currentLang = this.languageService.getLangage();
|
|
if (this.storageService.language && this.availableLanguages.indexOf(this.storageService.language) !== -1) {
|
|
this.languageService.setLanguage(this.storageService.language);
|
|
}
|
|
}
|
|
|
|
setLang(): void {
|
|
this.languageService.setLanguage(this.currentLang);
|
|
this.storageService.language = this.currentLang;
|
|
}
|
|
|
|
nextLang(): void {
|
|
const index = this.availableLanguages.indexOf(this.currentLang);
|
|
console.log('this.currentLang ', this.currentLang, 'index', index);
|
|
|
|
if (index !== -1) {
|
|
// on passe au language suivant si il existe, sinon on revient au numéro 0
|
|
const nextlang = console.log('this.availableLanguages[index + 1]', this.availableLanguages[index + 1]);
|
|
console.log('nextlang', nextlang);
|
|
|
|
if (this.availableLanguages[index + 1]) {
|
|
console.log('lang suivante', this.availableLanguages[index + 1]);
|
|
this.currentLang = this.availableLanguages[index + 1];
|
|
} else {
|
|
console.log('retour à la langue 0');
|
|
this.currentLang = this.availableLanguages[0];
|
|
}
|
|
this.setLang();
|
|
}
|
|
console.log('this.currentLang ', this.currentLang);
|
|
|
|
console.log('this.availableLanguages', this.availableLanguages);
|
|
console.log('TODO');
|
|
}
|
|
}
|