Skip to content

Commit 507b493

Browse files
committed
fix(igx-ts): revert global error service logic
1 parent c4bda63 commit 507b493

4 files changed

Lines changed: 34 additions & 4 deletions

File tree

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,19 @@
1-
import { ApplicationConfig, importProvidersFrom, provideBrowserGlobalErrorListeners, provideZoneChangeDetection } from '@angular/core';
1+
import { ApplicationConfig, ErrorHandler, importProvidersFrom, provideBrowserGlobalErrorListeners, provideZoneChangeDetection } from '@angular/core';
22
import { BrowserModule, HammerModule } from '@angular/platform-browser';
33
import { provideAnimations } from "@angular/platform-browser/animations";
44
import { provideRouter } from '@angular/router';
55

6+
import { environment } from '../environments/environment';
67
import { routes } from './app.routes';
8+
import { GlobalErrorHandlerService } from './error-routing/error/global-error-handler.service';
79

810
export const appConfig: ApplicationConfig = {
911
providers: [
1012
provideBrowserGlobalErrorListeners(),
1113
provideZoneChangeDetection({ eventCoalescing: true }),
1214
provideRouter(routes),
1315
importProvidersFrom(BrowserModule, HammerModule),
14-
provideAnimations()
16+
provideAnimations(),
17+
...(environment.production ? [{ provide: ErrorHandler, useClass: GlobalErrorHandlerService }] : [])
1518
]
1619
};
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
import { ErrorHandler, Injectable, Injector, NgZone, inject } from '@angular/core';
2+
import { Router } from '@angular/router';
3+
4+
@Injectable()
5+
export class GlobalErrorHandlerService implements ErrorHandler {
6+
private injector = inject(Injector);
7+
private zone = inject(NgZone);
8+
9+
handleError(error: unknown) {
10+
// handle and/or log error, for example:
11+
console.error(error);
12+
13+
// show error page
14+
const router = this.injector.get(Router);
15+
if (router) {
16+
this.zone.run(() => {
17+
router
18+
.navigate(['error'])
19+
.catch((err: unknown) => console.error(err));
20+
});
21+
}
22+
}
23+
}
Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,3 @@
1-
export const environment = {};
1+
export const environment = {
2+
production: false
3+
};
Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,3 @@
1-
export const environment = {};
1+
export const environment = {
2+
production: true
3+
};

0 commit comments

Comments
 (0)