64 lines
1.9 KiB
TypeScript
64 lines
1.9 KiB
TypeScript
import { Component, OnInit } from '@angular/core';
|
|
import { JhiLanguageService } from 'ng-jhipster';
|
|
|
|
import { AccountService, JhiLanguageHelper } from 'app/core';
|
|
|
|
@Component({
|
|
selector: 'jhi-settings',
|
|
templateUrl: './settings.component.html'
|
|
})
|
|
export class SettingsComponent implements OnInit {
|
|
error: string;
|
|
success: string;
|
|
settingsAccount: any;
|
|
languages: any[];
|
|
|
|
constructor(
|
|
private accountService: AccountService,
|
|
private languageService: JhiLanguageService,
|
|
private languageHelper: JhiLanguageHelper
|
|
) {}
|
|
|
|
ngOnInit() {
|
|
this.accountService.identity().then(account => {
|
|
this.settingsAccount = this.copyAccount(account);
|
|
});
|
|
this.languageHelper.getAll().then(languages => {
|
|
this.languages = languages;
|
|
});
|
|
}
|
|
|
|
save() {
|
|
this.accountService.save(this.settingsAccount).subscribe(
|
|
() => {
|
|
this.error = null;
|
|
this.success = 'OK';
|
|
this.accountService.identity(true).then(account => {
|
|
this.settingsAccount = this.copyAccount(account);
|
|
});
|
|
this.languageService.getCurrent().then(current => {
|
|
if (this.settingsAccount.langKey !== current) {
|
|
this.languageService.changeLanguage(this.settingsAccount.langKey);
|
|
}
|
|
});
|
|
},
|
|
() => {
|
|
this.success = null;
|
|
this.error = 'ERROR';
|
|
}
|
|
);
|
|
}
|
|
|
|
copyAccount(account) {
|
|
return {
|
|
activated: account.activated,
|
|
email: account.email,
|
|
firstName: account.firstName,
|
|
langKey: account.langKey,
|
|
lastName: account.lastName,
|
|
login: account.login,
|
|
imageUrl: account.imageUrl
|
|
};
|
|
}
|
|
}
|