36 lines
806 B
TypeScript
36 lines
806 B
TypeScript
import { Inject, Injectable } from '@angular/core';
|
|
import { FormGroup } from '@angular/forms';
|
|
import {MatSnackBar} from '@angular/material/snack-bar';
|
|
|
|
@Injectable({
|
|
providedIn: 'root'
|
|
})
|
|
export class ISUtilsService {
|
|
|
|
constructor(public snackBar: MatSnackBar) { }
|
|
|
|
prepareFormError(error:any, form:FormGroup): void {
|
|
form.setErrors({ serverError: this.errorMessage(error) })
|
|
}
|
|
|
|
snackError(error:any) {
|
|
this.snackBar.open(this.errorMessage(error), 'ERROR', {
|
|
duration: 5000,
|
|
});
|
|
}
|
|
|
|
alertError(error:any) {
|
|
alert(error);
|
|
}
|
|
|
|
private errorMessage(error:any) {
|
|
if (error.error && error.error.message) {
|
|
return error.error.message;
|
|
} else if (error.message) {
|
|
return error.message;
|
|
} else {
|
|
return 'Generic server side error';
|
|
}
|
|
}
|
|
}
|