1 import { ErrorHandler, Injectable, Injector } from '@angular/core';
2 import { Router } from '@angular/router';
4 import { DashboardError } from '~/app/core/error/error';
5 import { LoggingService } from '../api/logging.service';
8 export class JsErrorHandler implements ErrorHandler {
9 constructor(private injector: Injector, private router: Router) {}
11 handleError(error: any) {
12 const loggingService = this.injector.get(LoggingService);
13 const url = window.location.href;
14 const message = error && error.message;
15 const stack = error && error.stack;
16 loggingService.jsError(url, message, stack).subscribe();
17 if (error.rejection instanceof DashboardError) {
20 this.router.navigate(['error'], {
22 message: error.rejection.message,
23 header: error.rejection.header,
24 icon: error.rejection.icon