You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
aConnect-UX/src/app/shared/services/misc.service.ts

49 lines
1.6 KiB
TypeScript

import { Injectable } from '@angular/core';
import { MessageService } from '../../services/message.service';
import { SpinnerService } from '../../services/spinner.service';
import { TranslateService } from '@ngx-translate/core';
@Injectable({
providedIn: 'root'
})
export class MiscService {
constructor(private message: MessageService, private spinnerService: SpinnerService,private translateService: TranslateService,) { }
showLoader(): void {
this.spinnerService.IsBusy(true);
}
hideLoader(): void {
this.spinnerService.IsBusy(false);
}
handleSuccess(message: string): void {
this.message.Success(message);
}
handleError(errorMessage: string, argumentValues: string[] = []): void {
const translatedErrorMessage = this.translateService.instant(errorMessage, { value1: argumentValues[0], value2: argumentValues[1], value3: argumentValues[2] });
this.message.Error(translatedErrorMessage);
}
getErrorMessageTranslation(key: string) {
return this.getTranslation(`${key}`);
}
getTranslation(key: string, defaultLabel?: string): string {
if (key == null || key === "" || key == undefined) {
return defaultLabel ? defaultLabel : "";
}
let translated = this.translateService.instant(String(key));
if (translated == key || translated == "") {
if (defaultLabel && defaultLabel.length > 0) {
return defaultLabel;
}
else {
return key;
}
} else {
return translated;
}
}
}