42 lines
1.2 KiB
TypeScript
42 lines
1.2 KiB
TypeScript
|
import { Component, OnInit, OnDestroy } from '@angular/core';
|
||
|
import { ActivatedRoute } from '@angular/router';
|
||
|
import { Subscription } from 'rxjs';
|
||
|
import { TranslateService } from '@ngx-translate/core';
|
||
|
|
||
|
@Component({
|
||
|
selector: 'jhi-error',
|
||
|
templateUrl: './error.component.html',
|
||
|
})
|
||
|
export class ErrorComponent implements OnInit, OnDestroy {
|
||
|
errorMessage?: string;
|
||
|
errorKey?: string;
|
||
|
langChangeSubscription?: Subscription;
|
||
|
|
||
|
constructor(private translateService: TranslateService, private route: ActivatedRoute) {}
|
||
|
|
||
|
ngOnInit(): void {
|
||
|
this.route.data.subscribe(routeData => {
|
||
|
if (routeData.errorMessage) {
|
||
|
this.errorKey = routeData.errorMessage;
|
||
|
this.getErrorMessageTranslation();
|
||
|
this.langChangeSubscription = this.translateService.onLangChange.subscribe(() => this.getErrorMessageTranslation());
|
||
|
}
|
||
|
});
|
||
|
}
|
||
|
|
||
|
ngOnDestroy(): void {
|
||
|
if (this.langChangeSubscription) {
|
||
|
this.langChangeSubscription.unsubscribe();
|
||
|
}
|
||
|
}
|
||
|
|
||
|
private getErrorMessageTranslation(): void {
|
||
|
this.errorMessage = '';
|
||
|
if (this.errorKey) {
|
||
|
this.translateService.get(this.errorKey).subscribe(translatedErrorMessage => {
|
||
|
this.errorMessage = translatedErrorMessage;
|
||
|
});
|
||
|
}
|
||
|
}
|
||
|
}
|