global error handling for setup wizard and diagnostic ui too

This commit is contained in:
Matt Hill
2021-10-11 22:03:36 -06:00
committed by Aiden McClelland
parent db39e4432a
commit 11bd1e0609
4 changed files with 33 additions and 2 deletions

View File

@@ -1,4 +1,4 @@
import { NgModule } from '@angular/core'
import { ErrorHandler, NgModule } from '@angular/core'
import { BrowserModule } from '@angular/platform-browser'
import { RouteReuseStrategy } from '@angular/router'
import { IonicModule, IonicRouteStrategy } from '@ionic/angular'
@@ -9,6 +9,7 @@ import { ApiService } from './services/api/api.service'
import { MockApiService } from './services/api/mock-api.service'
import { LiveApiService } from './services/api/live-api.service'
import { HttpService } from './services/http.service'
import { GlobalErrorHandler } from './services/global-error-handler.service'
const useMocks = require('../../config.json').useMocks
@@ -34,6 +35,7 @@ const useMocks = require('../../config.json').useMocks
},
deps: [HttpService]
},
{ provide: ErrorHandler, useClass: GlobalErrorHandler},
],
bootstrap: [AppComponent],
})

View File

@@ -0,0 +1,13 @@
import { ErrorHandler, Injectable } from '@angular/core'
@Injectable()
export class GlobalErrorHandler implements ErrorHandler {
handleError (error: any): void {
const chunkFailedMessage = /Loading chunk [\d]+ failed/
if (chunkFailedMessage.test(error.message)) {
window.location.reload()
}
}
}

View File

@@ -1,4 +1,4 @@
import { NgModule } from '@angular/core'
import { ErrorHandler, NgModule } from '@angular/core'
import { BrowserModule } from '@angular/platform-browser'
import { RouteReuseStrategy } from '@angular/router'
import { HttpClientModule } from '@angular/common/http'
@@ -9,6 +9,8 @@ import { HttpService } from './services/api/http.service'
import { IonicModule, IonicRouteStrategy, iosTransitionAnimation } from '@ionic/angular'
import { AppComponent } from './app.component'
import { AppRoutingModule } from './app-routing.module'
import { GlobalErrorHandler } from './services/global-error-handler.service'
const useMocks = require('../../config.json').useMocks as boolean
@NgModule({
@@ -35,6 +37,7 @@ const useMocks = require('../../config.json').useMocks as boolean
},
deps: [HttpService],
},
{ provide: ErrorHandler, useClass: GlobalErrorHandler},
],
bootstrap: [AppComponent],
})

View File

@@ -0,0 +1,13 @@
import { ErrorHandler, Injectable } from '@angular/core'
@Injectable()
export class GlobalErrorHandler implements ErrorHandler {
handleError (error: any): void {
const chunkFailedMessage = /Loading chunk [\d]+ failed/
if (chunkFailedMessage.test(error.message)) {
window.location.reload()
}
}
}