vc-error-handlers 0.1.7 → 0.1.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/shared/components/chunk-unavailable/chunk-unavailable.component.mjs +26 -6
- package/esm2020/lib/shared/components/error-modal/error-modal.component.mjs +61 -0
- package/esm2020/lib/shared/components/page-not-found/page-not-found.component.mjs +27 -25
- package/esm2020/lib/shared/components/server-error/server-error.component.mjs +63 -6
- package/esm2020/lib/shared/components/session-expired/session-expired.component.mjs +11 -11
- package/esm2020/lib/shared/components/unauthorized/unauthorized.component.mjs +21 -22
- package/esm2020/lib/shared/constants/error-handling.constants.mjs +19 -2
- package/esm2020/lib/shared/errorhandler/sentry-error.handler.mjs +15 -10
- package/esm2020/lib/shared/interceptors/http.interceptor.mjs +24 -6
- package/esm2020/lib/shared/types/global-error.types.mjs +1 -1
- package/esm2020/lib/ui-kit/snack-bar/snack-bar/snack-bar.component.mjs +1 -2
- package/esm2020/lib/vc-error-handlers.component.mjs +58 -10
- package/esm2020/lib/vc-error-handlers.module.mjs +6 -6
- package/esm2020/public-api.mjs +2 -2
- package/fesm2015/vc-error-handlers.mjs +356 -189
- package/fesm2015/vc-error-handlers.mjs.map +1 -1
- package/fesm2020/vc-error-handlers.mjs +355 -189
- package/fesm2020/vc-error-handlers.mjs.map +1 -1
- package/lib/shared/components/chunk-unavailable/chunk-unavailable.component.d.ts +10 -2
- package/lib/shared/components/error-modal/error-modal.component.d.ts +17 -0
- package/lib/shared/components/page-not-found/page-not-found.component.d.ts +5 -1
- package/lib/shared/components/server-error/server-error.component.d.ts +12 -5
- package/lib/shared/components/session-expired/session-expired.component.d.ts +1 -3
- package/lib/shared/components/unauthorized/unauthorized.component.d.ts +3 -1
- package/lib/shared/constants/error-handling.constants.d.ts +18 -1
- package/lib/shared/errorhandler/sentry-error.handler.d.ts +5 -3
- package/lib/shared/interceptors/http.interceptor.d.ts +4 -1
- package/lib/shared/types/global-error.types.d.ts +1 -1
- package/lib/vc-error-handlers.component.d.ts +14 -2
- package/lib/vc-error-handlers.module.d.ts +2 -2
- package/package.json +2 -2
- package/public-api.d.ts +1 -1
- package/esm2020/lib/shared/components/session-expired-modal/session-expired-modal.component.mjs +0 -48
- package/lib/shared/components/session-expired-modal/session-expired-modal.component.d.ts +0 -18
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
import { Injectable, Optional } from '@angular/core';
|
|
2
2
|
import * as Sentry from '@sentry/angular-ivy';
|
|
3
|
+
import { ErrorStatusCode } from '../types/global-error.types';
|
|
3
4
|
import * as i0 from "@angular/core";
|
|
4
5
|
import * as i1 from "@vcomply/authorizer";
|
|
5
|
-
import * as i2 from "
|
|
6
|
+
import * as i2 from "../services/global-error.service";
|
|
7
|
+
import * as i3 from "../../configuration";
|
|
6
8
|
export class SentryErrorHandler {
|
|
7
|
-
constructor(authorizerService, config) {
|
|
9
|
+
constructor(authorizerService, errorService, config) {
|
|
8
10
|
this.authorizerService = authorizerService;
|
|
11
|
+
this.errorService = errorService;
|
|
9
12
|
if (config?.sentryConfig) {
|
|
10
13
|
const SENTRY_CONFIG = config.sentryConfig;
|
|
11
14
|
Sentry.init({
|
|
@@ -25,21 +28,23 @@ export class SentryErrorHandler {
|
|
|
25
28
|
}
|
|
26
29
|
handleError(error) {
|
|
27
30
|
const ERROR = error?.originalError || error;
|
|
28
|
-
this.
|
|
31
|
+
this.handleChunkNotFoundError(ERROR);
|
|
29
32
|
Sentry.captureException(ERROR);
|
|
30
33
|
}
|
|
31
|
-
|
|
32
|
-
const
|
|
33
|
-
if (
|
|
34
|
-
|
|
34
|
+
handleChunkNotFoundError(error) {
|
|
35
|
+
const failedMessage = /Loading chunk [\d]+ failed/;
|
|
36
|
+
if (failedMessage.test(error.message)) {
|
|
37
|
+
this.errorService.globalError$.next({
|
|
38
|
+
status: ErrorStatusCode.JSChunkUnavailable,
|
|
39
|
+
});
|
|
35
40
|
}
|
|
36
41
|
}
|
|
37
42
|
}
|
|
38
|
-
SentryErrorHandler.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: SentryErrorHandler, deps: [{ token: i1.AuthorizerService }, { token: i2.Configurations, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
43
|
+
SentryErrorHandler.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: SentryErrorHandler, deps: [{ token: i1.AuthorizerService }, { token: i2.GlobalErrorService }, { token: i3.Configurations, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
39
44
|
SentryErrorHandler.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: SentryErrorHandler });
|
|
40
45
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: SentryErrorHandler, decorators: [{
|
|
41
46
|
type: Injectable
|
|
42
|
-
}], ctorParameters: function () { return [{ type: i1.AuthorizerService }, { type: i2.Configurations, decorators: [{
|
|
47
|
+
}], ctorParameters: function () { return [{ type: i1.AuthorizerService }, { type: i2.GlobalErrorService }, { type: i3.Configurations, decorators: [{
|
|
43
48
|
type: Optional
|
|
44
49
|
}] }]; } });
|
|
45
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VudHJ5LWVycm9yLmhhbmRsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92Yy1lcnJvci1oYW5kbGVycy9zcmMvbGliL3NoYXJlZC9lcnJvcmhhbmRsZXIvc2VudHJ5LWVycm9yLmhhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFnQixVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25FLE9BQU8sS0FBSyxNQUFNLE1BQU0scUJBQXFCLENBQUM7QUFNOUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDZCQUE2QixDQUFDOzs7OztBQUc5RCxNQUFNLE9BQU8sa0JBQWtCO0lBQzdCLFlBQ1UsaUJBQW9DLEVBQ3BDLFlBQWdDLEVBQzVCLE1BQXVCO1FBRjNCLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFDcEMsaUJBQVksR0FBWixZQUFZLENBQW9CO1FBR3hDLElBQUksTUFBTSxFQUFFLFlBQVksRUFBRTtZQUN4QixNQUFNLGFBQWEsR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDO1lBQzFDLE1BQU0sQ0FBQyxJQUFJLENBQUM7Z0JBQ1YsR0FBRyxFQUFFLGFBQWEsRUFBRSxHQUFHO2dCQUN2QixZQUFZLEVBQUU7b0JBQ1osSUFBSSxNQUFNLENBQUMsY0FBYyxDQUFDO3dCQUN4Qix1QkFBdUIsRUFBRSxhQUFhLENBQUMsWUFBWTt3QkFDbkQsc0JBQXNCLEVBQUUsTUFBTSxDQUFDLHNCQUFzQjtxQkFDdEQsQ0FBQztpQkFDSDtnQkFDRCxnQkFBZ0IsRUFBRSxhQUFhLENBQUMsa0JBQWtCO2dCQUNsRCx3QkFBd0IsRUFBRSxhQUFhLENBQUMsMEJBQTBCO2dCQUNsRSx3QkFBd0IsRUFBRSxhQUFhLENBQUMsMkJBQTJCO2FBQ3BFLENBQUMsQ0FBQztZQUNILE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRSxXQUFXLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQztTQUNuRTtJQUNILENBQUM7SUFFRCxXQUFXLENBQUMsS0FBVTtRQUNwQixNQUFNLEtBQUssR0FBRyxLQUFLLEVBQUUsYUFBYSxJQUFJLEtBQUssQ0FBQztRQUM1QyxJQUFJLENBQUMsd0JBQXdCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDckMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFTyx3QkFBd0IsQ0FBQyxLQUFVO1FBQ3pDLE1BQU0sYUFBYSxHQUFHLDRCQUE0QixDQUFDO1FBQ25ELElBQUksYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDckMsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDO2dCQUNsQyxNQUFNLEVBQUUsZUFBZSxDQUFDLGtCQUFrQjthQUMzQyxDQUFDLENBQUM7U0FDSjtJQUNILENBQUM7OytHQXJDVSxrQkFBa0I7bUhBQWxCLGtCQUFrQjsyRkFBbEIsa0JBQWtCO2tCQUQ5QixVQUFVOzswQkFLTixRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXJyb3JIYW5kbGVyLCBJbmplY3RhYmxlLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgKiBhcyBTZW50cnkgZnJvbSAnQHNlbnRyeS9hbmd1bGFyLWl2eSc7XHJcbmltcG9ydCB7IENvbmZpZ3VyYXRpb25zIH0gZnJvbSAnLi4vLi4vY29uZmlndXJhdGlvbic7XHJcblxyXG5pbXBvcnQgeyBBdXRob3JpemVyU2VydmljZSB9IGZyb20gJ0B2Y29tcGx5L2F1dGhvcml6ZXInO1xyXG5pbXBvcnQgeyBHbG9iYWxFcnJvclNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9nbG9iYWwtZXJyb3Iuc2VydmljZSc7XHJcblxyXG5pbXBvcnQgeyBFcnJvclN0YXR1c0NvZGUgfSBmcm9tICcuLi90eXBlcy9nbG9iYWwtZXJyb3IudHlwZXMnO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgU2VudHJ5RXJyb3JIYW5kbGVyIGltcGxlbWVudHMgRXJyb3JIYW5kbGVyIHtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgYXV0aG9yaXplclNlcnZpY2U6IEF1dGhvcml6ZXJTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBlcnJvclNlcnZpY2U6IEdsb2JhbEVycm9yU2VydmljZSxcclxuICAgIEBPcHRpb25hbCgpIGNvbmZpZz86IENvbmZpZ3VyYXRpb25zXHJcbiAgKSB7XHJcbiAgICBpZiAoY29uZmlnPy5zZW50cnlDb25maWcpIHtcclxuICAgICAgY29uc3QgU0VOVFJZX0NPTkZJRyA9IGNvbmZpZy5zZW50cnlDb25maWc7XHJcbiAgICAgIFNlbnRyeS5pbml0KHtcclxuICAgICAgICBkc246IFNFTlRSWV9DT05GSUc/LkRTTixcclxuICAgICAgICBpbnRlZ3JhdGlvbnM6IFtcclxuICAgICAgICAgIG5ldyBTZW50cnkuQnJvd3NlclRyYWNpbmcoe1xyXG4gICAgICAgICAgICB0cmFjZVByb3BhZ2F0aW9uVGFyZ2V0czogU0VOVFJZX0NPTkZJRy5BTExPV19PUklHSU4sXHJcbiAgICAgICAgICAgIHJvdXRpbmdJbnN0cnVtZW50YXRpb246IFNlbnRyeS5yb3V0aW5nSW5zdHJ1bWVudGF0aW9uLFxyXG4gICAgICAgICAgfSksXHJcbiAgICAgICAgXSxcclxuICAgICAgICB0cmFjZXNTYW1wbGVSYXRlOiBTRU5UUllfQ09ORklHLlRSQUNFU19TQU1QTEVfUkFURSxcclxuICAgICAgICByZXBsYXlzU2Vzc2lvblNhbXBsZVJhdGU6IFNFTlRSWV9DT05GSUcuUkVQTEFZX1NFU1NJT05fU0FNUExFX1JBVEUsXHJcbiAgICAgICAgcmVwbGF5c09uRXJyb3JTYW1wbGVSYXRlOiBTRU5UUllfQ09ORklHLlJFUExBWV9PTl9FUlJPUl9TQU1QTEVfUkFURSxcclxuICAgICAgfSk7XHJcbiAgICAgIFNlbnRyeS5zZXRVc2VyKHsgdXNlckRldGFpbHM6IHRoaXMuYXV0aG9yaXplclNlcnZpY2UuZ2V0VXNlcigpIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaGFuZGxlRXJyb3IoZXJyb3I6IGFueSkge1xyXG4gICAgY29uc3QgRVJST1IgPSBlcnJvcj8ub3JpZ2luYWxFcnJvciB8fCBlcnJvcjtcclxuICAgIHRoaXMuaGFuZGxlQ2h1bmtOb3RGb3VuZEVycm9yKEVSUk9SKTtcclxuICAgIFNlbnRyeS5jYXB0dXJlRXhjZXB0aW9uKEVSUk9SKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaGFuZGxlQ2h1bmtOb3RGb3VuZEVycm9yKGVycm9yOiBhbnkpIHtcclxuICAgIGNvbnN0IGZhaWxlZE1lc3NhZ2UgPSAvTG9hZGluZyBjaHVuayBbXFxkXSsgZmFpbGVkLztcclxuICAgIGlmIChmYWlsZWRNZXNzYWdlLnRlc3QoZXJyb3IubWVzc2FnZSkpIHtcclxuICAgICAgdGhpcy5lcnJvclNlcnZpY2UuZ2xvYmFsRXJyb3IkLm5leHQoe1xyXG4gICAgICAgIHN0YXR1czogRXJyb3JTdGF0dXNDb2RlLkpTQ2h1bmtVbmF2YWlsYWJsZSxcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -1,23 +1,41 @@
|
|
|
1
1
|
import { Injectable } from '@angular/core';
|
|
2
|
+
import { HttpResponse, } from '@angular/common/http';
|
|
2
3
|
import { throwError } from 'rxjs';
|
|
3
|
-
import { catchError, timeout } from 'rxjs/operators';
|
|
4
|
+
import { catchError, tap, timeout } from 'rxjs/operators';
|
|
4
5
|
import { API_TIMEOUT_TIME } from '../constants/error-handling.constants';
|
|
5
6
|
import * as i0 from "@angular/core";
|
|
6
7
|
import * as i1 from "../services/global-error.service";
|
|
8
|
+
import * as i2 from "../../ui-kit/snack-bar/snack-bar.service";
|
|
7
9
|
export class HttpReqInterceptor {
|
|
8
|
-
constructor(errorService) {
|
|
10
|
+
constructor(errorService, snackBarService) {
|
|
9
11
|
this.errorService = errorService;
|
|
12
|
+
this.snackBarService = snackBarService;
|
|
10
13
|
}
|
|
11
14
|
intercept(req, next) {
|
|
12
|
-
return next.handle(req).pipe(timeout(API_TIMEOUT_TIME),
|
|
15
|
+
return next.handle(req).pipe(timeout(API_TIMEOUT_TIME), tap((event) => {
|
|
16
|
+
if (event instanceof HttpResponse) {
|
|
17
|
+
this.handleSoftErrors(event);
|
|
18
|
+
}
|
|
19
|
+
}), catchError((error) => {
|
|
13
20
|
this.errorService.handleError(error, req);
|
|
14
21
|
return throwError(error);
|
|
15
22
|
}));
|
|
16
23
|
}
|
|
24
|
+
handleSoftErrors(event) {
|
|
25
|
+
const xData = event.headers.get('X-Data');
|
|
26
|
+
if (xData) {
|
|
27
|
+
const parsedData = JSON.parse(xData);
|
|
28
|
+
const statusCode = parsedData.statusCode;
|
|
29
|
+
const statusMessage = parsedData.message;
|
|
30
|
+
if (statusCode && statusCode !== 0) {
|
|
31
|
+
this.snackBarService.show(statusMessage || 'Error occurred', 'error');
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
}
|
|
17
35
|
}
|
|
18
|
-
HttpReqInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: HttpReqInterceptor, deps: [{ token: i1.GlobalErrorService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
36
|
+
HttpReqInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: HttpReqInterceptor, deps: [{ token: i1.GlobalErrorService }, { token: i2.SnackBarService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
19
37
|
HttpReqInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: HttpReqInterceptor });
|
|
20
38
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: HttpReqInterceptor, decorators: [{
|
|
21
39
|
type: Injectable
|
|
22
|
-
}], ctorParameters: function () { return [{ type: i1.GlobalErrorService }]; } });
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
40
|
+
}], ctorParameters: function () { return [{ type: i1.GlobalErrorService }, { type: i2.SnackBarService }]; } });
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC5pbnRlcmNlcHRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZjLWVycm9yLWhhbmRsZXJzL3NyYy9saWIvc2hhcmVkL2ludGVyY2VwdG9ycy9odHRwLmludGVyY2VwdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQU1MLFlBQVksR0FDYixNQUFNLHNCQUFzQixDQUFDO0FBQzlCLE9BQU8sRUFBYyxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDOUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsT0FBTyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFLMUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7Ozs7QUFHekUsTUFBTSxPQUFPLGtCQUFrQjtJQUM3QixZQUNVLFlBQWdDLEVBQ2hDLGVBQWdDO1FBRGhDLGlCQUFZLEdBQVosWUFBWSxDQUFvQjtRQUNoQyxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7SUFDdkMsQ0FBQztJQUVKLFNBQVMsQ0FDUCxHQUFxQixFQUNyQixJQUFpQjtRQUVqQixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUMxQixPQUFPLENBQUMsZ0JBQWdCLENBQUMsRUFDekIsR0FBRyxDQUFDLENBQUMsS0FBcUIsRUFBRSxFQUFFO1lBQzVCLElBQUksS0FBSyxZQUFZLFlBQVksRUFBRTtnQkFDakMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxDQUFDO2FBQzlCO1FBQ0gsQ0FBQyxDQUFDLEVBQ0YsVUFBVSxDQUFDLENBQUMsS0FBd0IsRUFBRSxFQUFFO1lBQ3RDLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQztZQUMxQyxPQUFPLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMzQixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztJQUVPLGdCQUFnQixDQUFDLEtBQXdCO1FBQy9DLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRTFDLElBQUksS0FBSyxFQUFFO1lBQ1QsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNyQyxNQUFNLFVBQVUsR0FBRyxVQUFVLENBQUMsVUFBVSxDQUFDO1lBQ3pDLE1BQU0sYUFBYSxHQUFHLFVBQVUsQ0FBQyxPQUFPLENBQUM7WUFFekMsSUFBSSxVQUFVLElBQUksVUFBVSxLQUFLLENBQUMsRUFBRTtnQkFDbEMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsYUFBYSxJQUFJLGdCQUFnQixFQUFFLE9BQU8sQ0FBQyxDQUFDO2FBQ3ZFO1NBQ0Y7SUFDSCxDQUFDOzsrR0FwQ1Usa0JBQWtCO21IQUFsQixrQkFBa0I7MkZBQWxCLGtCQUFrQjtrQkFEOUIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtcclxuICBIdHRwUmVxdWVzdCxcclxuICBIdHRwSGFuZGxlcixcclxuICBIdHRwRXZlbnQsXHJcbiAgSHR0cEludGVyY2VwdG9yLFxyXG4gIEh0dHBFcnJvclJlc3BvbnNlLFxyXG4gIEh0dHBSZXNwb25zZSxcclxufSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUsIHRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgY2F0Y2hFcnJvciwgdGFwLCB0aW1lb3V0IH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuaW1wb3J0IHsgR2xvYmFsRXJyb3JTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvZ2xvYmFsLWVycm9yLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTbmFja0JhclNlcnZpY2UgfSBmcm9tICcuLi8uLi91aS1raXQvc25hY2stYmFyL3NuYWNrLWJhci5zZXJ2aWNlJztcclxuXHJcbmltcG9ydCB7IEFQSV9USU1FT1VUX1RJTUUgfSBmcm9tICcuLi9jb25zdGFudHMvZXJyb3ItaGFuZGxpbmcuY29uc3RhbnRzJztcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIEh0dHBSZXFJbnRlcmNlcHRvciBpbXBsZW1lbnRzIEh0dHBJbnRlcmNlcHRvciB7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGVycm9yU2VydmljZTogR2xvYmFsRXJyb3JTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBzbmFja0JhclNlcnZpY2U6IFNuYWNrQmFyU2VydmljZVxyXG4gICkge31cclxuXHJcbiAgaW50ZXJjZXB0KFxyXG4gICAgcmVxOiBIdHRwUmVxdWVzdDxhbnk+LFxyXG4gICAgbmV4dDogSHR0cEhhbmRsZXJcclxuICApOiBPYnNlcnZhYmxlPEh0dHBFdmVudDxhbnk+PiB7XHJcbiAgICByZXR1cm4gbmV4dC5oYW5kbGUocmVxKS5waXBlKFxyXG4gICAgICB0aW1lb3V0KEFQSV9USU1FT1VUX1RJTUUpLFxyXG4gICAgICB0YXAoKGV2ZW50OiBIdHRwRXZlbnQ8YW55PikgPT4ge1xyXG4gICAgICAgIGlmIChldmVudCBpbnN0YW5jZW9mIEh0dHBSZXNwb25zZSkge1xyXG4gICAgICAgICAgdGhpcy5oYW5kbGVTb2Z0RXJyb3JzKGV2ZW50KTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pLFxyXG4gICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IHtcclxuICAgICAgICB0aGlzLmVycm9yU2VydmljZS5oYW5kbGVFcnJvcihlcnJvciwgcmVxKTtcclxuICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihlcnJvcik7XHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBoYW5kbGVTb2Z0RXJyb3JzKGV2ZW50OiBIdHRwUmVzcG9uc2U8YW55Pikge1xyXG4gICAgY29uc3QgeERhdGEgPSBldmVudC5oZWFkZXJzLmdldCgnWC1EYXRhJyk7XHJcblxyXG4gICAgaWYgKHhEYXRhKSB7XHJcbiAgICAgIGNvbnN0IHBhcnNlZERhdGEgPSBKU09OLnBhcnNlKHhEYXRhKTtcclxuICAgICAgY29uc3Qgc3RhdHVzQ29kZSA9IHBhcnNlZERhdGEuc3RhdHVzQ29kZTtcclxuICAgICAgY29uc3Qgc3RhdHVzTWVzc2FnZSA9IHBhcnNlZERhdGEubWVzc2FnZTtcclxuXHJcbiAgICAgIGlmIChzdGF0dXNDb2RlICYmIHN0YXR1c0NvZGUgIT09IDApIHtcclxuICAgICAgICB0aGlzLnNuYWNrQmFyU2VydmljZS5zaG93KHN0YXR1c01lc3NhZ2UgfHwgJ0Vycm9yIG9jY3VycmVkJywgJ2Vycm9yJyk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
|
|
@@ -13,4 +13,4 @@ export var ErrorStatusCode;
|
|
|
13
13
|
// Application-specific errors
|
|
14
14
|
ErrorStatusCode[ErrorStatusCode["JSChunkUnavailable"] = 600] = "JSChunkUnavailable";
|
|
15
15
|
})(ErrorStatusCode || (ErrorStatusCode = {}));
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2xvYmFsLWVycm9yLnR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmMtZXJyb3ItaGFuZGxlcnMvc3JjL2xpYi9zaGFyZWQvdHlwZXMvZ2xvYmFsLWVycm9yLnR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU1BLE1BQU0sQ0FBTixJQUFZLGVBZ0JYO0FBaEJELFdBQVksZUFBZTtJQUN6QixxRUFBaUIsQ0FBQTtJQUNqQixtRkFBd0IsQ0FBQTtJQUN4Qiw2RUFBcUIsQ0FBQTtJQUVyQixxQkFBcUI7SUFDckIscUZBQXlCLENBQUE7SUFDekIsbUZBQXdCLENBQUE7SUFDeEIsbUVBQWdCLENBQUE7SUFDaEIsMkVBQWtCLENBQUE7SUFFbEIsc0NBQXNDO0lBQ3RDLGlGQUFzQixDQUFBO0lBRXRCLDhCQUE4QjtJQUM5QixtRkFBd0IsQ0FBQTtBQUMxQixDQUFDLEVBaEJXLGVBQWUsS0FBZixlQUFlLFFBZ0IxQiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgRGlhbG9nRGF0YSB7XHJcbiAgaGVhZGluZzogc3RyaW5nO1xyXG4gIGRlc2NyaXB0aW9uOiBzdHJpbmc7XHJcbiAgYnV0dG9uVGV4dDogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgZW51bSBFcnJvclN0YXR1c0NvZGUge1xyXG4gIFVSTE5vdEZvdW5kID0gNDA0LFxyXG4gIFVuYXV0aG9yaXplZEFjY2VzcyA9IDQwMyxcclxuICBVbmF1dGhlbnRpY2F0ZWQgPSA0MDEsXHJcblxyXG4gIC8vIFNlcnZlci1zaWRlIGVycm9yc1xyXG4gIEludGVybmFsU2VydmVyRXJyb3IgPSA1MDAsXHJcbiAgU2VydmljZVVuYXZhaWxhYmxlID0gNTAzLFxyXG4gIEJhZEdhdGV3YXkgPSA1MDIsXHJcbiAgUmVxdWVzdFRpbWVvdXQ9NTA0LFxyXG5cclxuICAvLyBOZXR3b3JrIHVuYXZhaWxhYmlsaXR5L29mZmxpbmUgY2FzZVxyXG4gIE5ldHdvcmtVbmF2YWlsYWJsZSA9IDAsXHJcblxyXG4gIC8vIEFwcGxpY2F0aW9uLXNwZWNpZmljIGVycm9yc1xyXG4gIEpTQ2h1bmtVbmF2YWlsYWJsZSA9IDYwMCxcclxufVxyXG4iXX0=
|
|
@@ -25,7 +25,6 @@ export class SnackBarComponent {
|
|
|
25
25
|
}
|
|
26
26
|
this.message = state.message;
|
|
27
27
|
this.show = state.show;
|
|
28
|
-
this.setAutoClose();
|
|
29
28
|
});
|
|
30
29
|
}
|
|
31
30
|
setAutoClose() {
|
|
@@ -48,4 +47,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImpor
|
|
|
48
47
|
type: Component,
|
|
49
48
|
args: [{ selector: 'app-snack-bar', template: "<div class=\"workflow-snackbar\" *ngIf=\"show\">\r\n <div class=\"workflow-snackbar-inner\">\r\n <div class=\"workflow-snackbarText\">\r\n <!--  -->\r\n <i class=\"icons\" [class]=\"type\" [innerHTML]=\"icon\"></i> <span [innerHTML]=\"message\">{{ message }}</span>\r\n </div>\r\n <button (click)=\"close()\">[ <span>Close</span> ]</button>\r\n </div>\r\n </div>", styles: ["::ng-deep .workflow-snackbar{position:fixed;top:20px;left:0;right:0;display:flex;align-items:center;justify-content:center;z-index:2147483647!important;pointer-events:none;animation:slide-top .3s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .workflow-snackbar.white{background-color:#fff;color:#000;z-index:20}::ng-deep .workflow-snackbar.white button{color:#f6882f;font-size:11px;font-weight:400;pointer-events:all}::ng-deep .workflow-snackbar .workflow-snackbar-inner{display:flex;max-width:500px;min-width:450px;align-items:center;justify-content:space-between;padding:10px;background:#ffffff;border-radius:3px;box-shadow:0 0 10px #0003;min-height:55px;pointer-events:auto}::ng-deep .workflow-snackbar .workflow-snackbar-inner .workflow-snackbarText{color:#161b2f;font-size:13px;display:flex;align-items:center;width:calc(100% - 70px)}::ng-deep .workflow-snackbar .workflow-snackbar-inner .workflow-snackbarText i{background:#f1f1f1;color:#d93b41;border-radius:50px;font-size:16px;width:30px;height:30px;text-align:center;line-height:28px;margin-right:10px;min-width:30px}::ng-deep .workflow-snackbar .workflow-snackbar-inner .workflow-snackbarText i.success{color:#34aa44}::ng-deep .workflow-snackbar .workflow-snackbar-inner .workflow-snackbarText i.warning{color:#f0b819}::ng-deep .workflow-snackbar .workflow-snackbar-inner .workflow-snackbarText i.info{color:#1e5dd3}::ng-deep .workflow-snackbar .workflow-snackbar-inner .workflow-snackbarText i.alert,::ng-deep .workflow-snackbar .workflow-snackbar-inner .workflow-snackbarText i.error{color:#d93b41}::ng-deep .workflow-snackbar .workflow-snackbar-inner button{background:transparent;border:none;font-size:11px;padding:0;position:relative;color:#747576;width:65px;text-align:right;cursor:pointer;text-transform:uppercase}::ng-deep .workflow-snackbar .workflow-snackbar-inner button span{color:#1e5dd3;font-weight:500}::ng-deep .workflow-snackbar .workflow-snackbar-inner button:focus{outline:none}@keyframes slide-top{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}\n"] }]
|
|
50
49
|
}], ctorParameters: function () { return [{ type: i1.SnackBarService }]; } });
|
|
51
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic25hY2stYmFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZjLWVycm9yLWhhbmRsZXJzL3NyYy9saWIvdWkta2l0L3NuYWNrLWJhci9zbmFjay1iYXIvc25hY2stYmFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZjLWVycm9yLWhhbmRsZXJzL3NyYy9saWIvdWkta2l0L3NuYWNrLWJhci9zbmFjay1iYXIvc25hY2stYmFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXFCLE1BQU0sZUFBZSxDQUFDOzs7O0FBUzdELE1BQU0sT0FBTyxpQkFBaUI7SUFhNUIsWUFBb0IsZUFBZ0M7UUFBaEMsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBWnBELFNBQUksR0FBRyxLQUFLLENBQUM7UUFDYixZQUFPLEdBQUcsSUFBSSxDQUFDO1FBQ2YsU0FBSSxHQUFHLFVBQVUsQ0FBQztRQUNsQixTQUFJLEdBQUcsT0FBTyxDQUFDO1FBQ2YsVUFBSyxHQUFRO1lBQ1gsT0FBTyxFQUFFLFVBQVU7WUFDbkIsT0FBTyxFQUFFLFVBQVU7WUFDbkIsSUFBSSxFQUFFLFVBQVU7WUFDaEIsS0FBSyxFQUFFLFVBQVU7WUFDakIsS0FBSyxFQUFFLFVBQVU7U0FDbEIsQ0FBQztJQUVxRCxDQUFDO0lBRXhELFFBQVE7UUFDTixJQUFJLENBQUMsb0JBQW9CLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUN0RSxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ1IsSUFBSSxLQUFLLENBQUMsSUFBSSxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEVBQUU7Z0JBQy9ELElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ25DLElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxFQUFFLElBQUksQ0FBQzthQUN6QjtZQUNELElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQztZQUM3QixJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUM7UUFDekIsQ0FBQyxDQUNGLENBQUM7SUFDSixDQUFDO0lBRUQsWUFBWTtRQUNWLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQztZQUNsQixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDZixDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDWCxDQUFDO0lBQ0QsS0FBSztRQUNILElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUNELFdBQVc7UUFDVCxJQUFJLENBQUMsb0JBQW9CLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDMUMsQ0FBQzs7OEdBeENVLGlCQUFpQjtrR0FBakIsaUJBQWlCLHFEQ1Q5Qix3WkFRUTsyRkRDSyxpQkFBaUI7a0JBTDdCLFNBQVM7K0JBQ0UsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFNuYWNrQmFyU2VydmljZSB9IGZyb20gJy4uL3NuYWNrLWJhci5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLXNuYWNrLWJhcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3NuYWNrLWJhci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vc25hY2stYmFyLmNvbXBvbmVudC5sZXNzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTbmFja0JhckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICBzaG93ID0gZmFsc2U7XHJcbiAgbWVzc2FnZSA9ICctLSc7XHJcbiAgaWNvbiA9ICcmI3hlOTE0Oyc7XHJcbiAgdHlwZSA9ICdhbGVydCc7XHJcbiAgaWNvbnM6IGFueSA9IHtcclxuICAgIHN1Y2Nlc3M6ICcmI3hlOTNkOycsXHJcbiAgICB3YXJuaW5nOiAnJiN4ZTkxNDsnLFxyXG4gICAgaW5mbzogJyYjeGU5MzI7JyxcclxuICAgIGFsZXJ0OiAnJiN4ZTkxNDsnLFxyXG4gICAgZXJyb3I6ICcmI3hlYWFlOycsXHJcbiAgfTtcclxuICBzbmFja2JhclN1YnNjcmlwdGlvbiE6IFN1YnNjcmlwdGlvbjtcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHNuYWNrYmFyU2VydmljZTogU25hY2tCYXJTZXJ2aWNlKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuc25hY2tiYXJTdWJzY3JpcHRpb24gPSB0aGlzLnNuYWNrYmFyU2VydmljZS5zbmFja2JhclN0YXRlLnN1YnNjcmliZShcclxuICAgICAgKHN0YXRlKSA9PiB7XHJcbiAgICAgICAgaWYgKHN0YXRlLmljb24gJiYgT2JqZWN0LmtleXModGhpcy5pY29ucykuaW5jbHVkZXMoc3RhdGU/Lmljb24pKSB7XHJcbiAgICAgICAgICB0aGlzLmljb24gPSB0aGlzLmljb25zW3N0YXRlLmljb25dO1xyXG4gICAgICAgICAgdGhpcy50eXBlID0gc3RhdGU/Lmljb247XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMubWVzc2FnZSA9IHN0YXRlLm1lc3NhZ2U7XHJcbiAgICAgICAgdGhpcy5zaG93ID0gc3RhdGUuc2hvdztcclxuICAgICAgfVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHNldEF1dG9DbG9zZSgpIHtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICB0aGlzLnNob3cgPSBmYWxzZTtcclxuICAgICAgdGhpcy5jbG9zZSgpO1xyXG4gICAgfSwgMzAwMCk7XHJcbiAgfVxyXG4gIGNsb3NlKCkge1xyXG4gICAgdGhpcy5zaG93ID0gZmFsc2U7XHJcbiAgICB0aGlzLnNuYWNrYmFyU2VydmljZS5oaWRlKCk7XHJcbiAgfVxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy5zbmFja2JhclN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwid29ya2Zsb3ctc25hY2tiYXJcIiAqbmdJZj1cInNob3dcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJ3b3JrZmxvdy1zbmFja2Jhci1pbm5lclwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwid29ya2Zsb3ctc25hY2tiYXJUZXh0XCI+XHJcbiAgICAgICAgPCEtLSAmI3hlOTE0OyAtLT5cclxuICAgICAgICA8aSBjbGFzcz1cImljb25zXCIgW2NsYXNzXT1cInR5cGVcIiBbaW5uZXJIVE1MXT1cImljb25cIj48L2k+IDxzcGFuIFtpbm5lckhUTUxdPVwibWVzc2FnZVwiPnt7IG1lc3NhZ2UgfX08L3NwYW4+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8YnV0dG9uIChjbGljayk9XCJjbG9zZSgpXCI+WyA8c3Bhbj5DbG9zZTwvc3Bhbj4gXTwvYnV0dG9uPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+Il19
|
|
@@ -1,18 +1,40 @@
|
|
|
1
1
|
import { Component } from '@angular/core';
|
|
2
2
|
import { ErrorStatusCode } from './shared/types/global-error.types';
|
|
3
|
+
import { ERROR_CONFIG } from './shared/constants/error-handling.constants';
|
|
3
4
|
import * as i0 from "@angular/core";
|
|
4
5
|
import * as i1 from "./shared/services/global-error.service";
|
|
5
|
-
import * as i2 from "./
|
|
6
|
-
import * as i3 from "./
|
|
7
|
-
import * as i4 from "
|
|
6
|
+
import * as i2 from "./ui-kit/snack-bar/snack-bar.service";
|
|
7
|
+
import * as i3 from "./ui-kit/snack-bar/snack-bar/snack-bar.component";
|
|
8
|
+
import * as i4 from "./shared/components/session-expired/session-expired.component";
|
|
9
|
+
import * as i5 from "./shared/components/unauthorized/unauthorized.component";
|
|
10
|
+
import * as i6 from "./shared/components/chunk-unavailable/chunk-unavailable.component";
|
|
11
|
+
import * as i7 from "@angular/common";
|
|
8
12
|
export class VcErrorHandlersComponent {
|
|
9
|
-
constructor(errorService) {
|
|
13
|
+
constructor(errorService, snackBarService) {
|
|
10
14
|
this.errorService = errorService;
|
|
15
|
+
this.snackBarService = snackBarService;
|
|
16
|
+
this.errorConfig = ERROR_CONFIG.NETWORK_UNAVAILABLE;
|
|
11
17
|
this.unauthorized = false;
|
|
12
18
|
this.sessionExpired = false;
|
|
13
|
-
this.
|
|
19
|
+
this.chunkUnavailable = false;
|
|
20
|
+
this.isOnline = navigator.onLine;
|
|
21
|
+
this.onNetworkOnline = () => {
|
|
22
|
+
this.isOnline = true;
|
|
23
|
+
this.hideSnackBar();
|
|
24
|
+
};
|
|
25
|
+
this.onNetworkOffline = () => {
|
|
26
|
+
this.isOnline = false;
|
|
27
|
+
this.showOfflineSnackBar();
|
|
28
|
+
};
|
|
14
29
|
this.subscribeGlobalError();
|
|
15
30
|
}
|
|
31
|
+
ngOnInit() {
|
|
32
|
+
this.subscribeNetworkDetection();
|
|
33
|
+
}
|
|
34
|
+
ngOnDestroy() {
|
|
35
|
+
window.removeEventListener('online', this.onNetworkOnline);
|
|
36
|
+
window.removeEventListener('offline', this.onNetworkOffline);
|
|
37
|
+
}
|
|
16
38
|
subscribeGlobalError() {
|
|
17
39
|
this.errorService.globalError$.subscribe((error) => {
|
|
18
40
|
this.handleError(error);
|
|
@@ -25,28 +47,54 @@ export class VcErrorHandlersComponent {
|
|
|
25
47
|
else if (error.status === ErrorStatusCode.UnauthorizedAccess) {
|
|
26
48
|
this.unauthorized = true;
|
|
27
49
|
}
|
|
50
|
+
else if (error.status === ErrorStatusCode.JSChunkUnavailable) {
|
|
51
|
+
this.chunkUnavailable = true;
|
|
52
|
+
}
|
|
28
53
|
else if (error.status === ErrorStatusCode.NetworkUnavailable) {
|
|
29
|
-
this.
|
|
54
|
+
this.handleNetworkError();
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
subscribeNetworkDetection() {
|
|
58
|
+
window.addEventListener('online', this.onNetworkOnline);
|
|
59
|
+
window.addEventListener('offline', this.onNetworkOffline);
|
|
60
|
+
}
|
|
61
|
+
handleNetworkError() {
|
|
62
|
+
if (!this.isOnline) {
|
|
63
|
+
this.showOfflineSnackBar();
|
|
30
64
|
}
|
|
31
65
|
}
|
|
66
|
+
showOfflineSnackBar() {
|
|
67
|
+
this.snackBarService.show(this.errorConfig.offlineMessage, 'error');
|
|
68
|
+
}
|
|
69
|
+
hideSnackBar() {
|
|
70
|
+
this.snackBarService.hide();
|
|
71
|
+
}
|
|
32
72
|
}
|
|
33
|
-
VcErrorHandlersComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: VcErrorHandlersComponent, deps: [{ token: i1.GlobalErrorService }], target: i0.ɵɵFactoryTarget.Component });
|
|
73
|
+
VcErrorHandlersComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: VcErrorHandlersComponent, deps: [{ token: i1.GlobalErrorService }, { token: i2.SnackBarService }], target: i0.ɵɵFactoryTarget.Component });
|
|
34
74
|
VcErrorHandlersComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: VcErrorHandlersComponent, selector: "lib-vc-error-handlers", ngImport: i0, template: `
|
|
75
|
+
<app-snack-bar></app-snack-bar>
|
|
35
76
|
<lib-vc-error-session-expired
|
|
36
77
|
*ngIf="sessionExpired"
|
|
37
78
|
></lib-vc-error-session-expired>
|
|
38
79
|
<lib-vc-error-unauthorized *ngIf="unauthorized"></lib-vc-error-unauthorized>
|
|
39
|
-
|
|
80
|
+
<lib-vc-error-chunk-unavailable
|
|
81
|
+
*ngIf="chunkUnavailable"
|
|
82
|
+
></lib-vc-error-chunk-unavailable>
|
|
83
|
+
`, isInline: true, components: [{ type: i3.SnackBarComponent, selector: "app-snack-bar" }, { type: i4.SessionExpiredComponent, selector: "lib-vc-error-session-expired" }, { type: i5.UnauthorizedComponent, selector: "lib-vc-error-unauthorized" }, { type: i6.ChunkUnavailableComponent, selector: "lib-vc-error-chunk-unavailable" }], directives: [{ type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
40
84
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: VcErrorHandlersComponent, decorators: [{
|
|
41
85
|
type: Component,
|
|
42
86
|
args: [{
|
|
43
87
|
selector: 'lib-vc-error-handlers',
|
|
44
88
|
template: `
|
|
89
|
+
<app-snack-bar></app-snack-bar>
|
|
45
90
|
<lib-vc-error-session-expired
|
|
46
91
|
*ngIf="sessionExpired"
|
|
47
92
|
></lib-vc-error-session-expired>
|
|
48
93
|
<lib-vc-error-unauthorized *ngIf="unauthorized"></lib-vc-error-unauthorized>
|
|
94
|
+
<lib-vc-error-chunk-unavailable
|
|
95
|
+
*ngIf="chunkUnavailable"
|
|
96
|
+
></lib-vc-error-chunk-unavailable>
|
|
49
97
|
`,
|
|
50
98
|
}]
|
|
51
|
-
}], ctorParameters: function () { return [{ type: i1.GlobalErrorService }]; } });
|
|
52
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
99
|
+
}], ctorParameters: function () { return [{ type: i1.GlobalErrorService }, { type: i2.SnackBarService }]; } });
|
|
100
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmMtZXJyb3ItaGFuZGxlcnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvdmMtZXJyb3ItaGFuZGxlcnMvc3JjL2xpYi92Yy1lcnJvci1oYW5kbGVycy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQU0xQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDcEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDZDQUE2QyxDQUFDOzs7Ozs7Ozs7QUFlM0UsTUFBTSxPQUFPLHdCQUF3QjtJQVFuQyxZQUNVLFlBQWdDLEVBQ2hDLGVBQWdDO1FBRGhDLGlCQUFZLEdBQVosWUFBWSxDQUFvQjtRQUNoQyxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFUbEMsZ0JBQVcsR0FBRyxZQUFZLENBQUMsbUJBQW1CLENBQUM7UUFFdkQsaUJBQVksR0FBWSxLQUFLLENBQUM7UUFDOUIsbUJBQWMsR0FBWSxLQUFLLENBQUM7UUFDaEMscUJBQWdCLEdBQVksS0FBSyxDQUFDO1FBQ2xDLGFBQVEsR0FBWSxTQUFTLENBQUMsTUFBTSxDQUFDO1FBeUM3QixvQkFBZSxHQUFHLEdBQUcsRUFBRTtZQUM3QixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztZQUNyQixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDdEIsQ0FBQyxDQUFDO1FBRU0scUJBQWdCLEdBQUcsR0FBRyxFQUFFO1lBQzlCLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1lBQ3RCLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1FBQzdCLENBQUMsQ0FBQztRQTNDQSxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyx5QkFBeUIsRUFBRSxDQUFDO0lBQ25DLENBQUM7SUFFRCxXQUFXO1FBQ1QsTUFBTSxDQUFDLG1CQUFtQixDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDM0QsTUFBTSxDQUFDLG1CQUFtQixDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRU8sb0JBQW9CO1FBQzFCLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQXdCLEVBQUUsRUFBRTtZQUNwRSxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzFCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLFdBQVcsQ0FBQyxLQUF3QjtRQUMxQyxJQUFJLEtBQUssQ0FBQyxNQUFNLEtBQUssZUFBZSxDQUFDLGVBQWUsRUFBRTtZQUNwRCxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQztTQUM1QjthQUFNLElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxlQUFlLENBQUMsa0JBQWtCLEVBQUU7WUFDOUQsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7U0FDMUI7YUFBTSxJQUFJLEtBQUssQ0FBQyxNQUFNLEtBQUssZUFBZSxDQUFDLGtCQUFrQixFQUFFO1lBQzlELElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUM7U0FDOUI7YUFBTSxJQUFJLEtBQUssQ0FBQyxNQUFNLEtBQUssZUFBZSxDQUFDLGtCQUFrQixFQUFFO1lBQzlELElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1NBQzNCO0lBQ0gsQ0FBQztJQUVPLHlCQUF5QjtRQUMvQixNQUFNLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUN4RCxNQUFNLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFZTyxrQkFBa0I7UUFDeEIsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDbEIsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7U0FDNUI7SUFDSCxDQUFDO0lBRU8sbUJBQW1CO1FBQ3pCLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsY0FBYyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3RFLENBQUM7SUFFTyxZQUFZO1FBQ2xCLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDOUIsQ0FBQzs7cUhBckVVLHdCQUF3Qjt5R0FBeEIsd0JBQXdCLDZEQVh6Qjs7Ozs7Ozs7O0dBU1Q7MkZBRVUsd0JBQXdCO2tCQWJwQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSx1QkFBdUI7b0JBQ2pDLFFBQVEsRUFBRTs7Ozs7Ozs7O0dBU1Q7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSHR0cEVycm9yUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcblxyXG5pbXBvcnQgeyBHbG9iYWxFcnJvclNlcnZpY2UgfSBmcm9tICcuL3NoYXJlZC9zZXJ2aWNlcy9nbG9iYWwtZXJyb3Iuc2VydmljZSc7XHJcbmltcG9ydCB7IFNuYWNrQmFyU2VydmljZSB9IGZyb20gJy4vdWkta2l0L3NuYWNrLWJhci9zbmFjay1iYXIuc2VydmljZSc7XHJcblxyXG5pbXBvcnQgeyBFcnJvclN0YXR1c0NvZGUgfSBmcm9tICcuL3NoYXJlZC90eXBlcy9nbG9iYWwtZXJyb3IudHlwZXMnO1xyXG5pbXBvcnQgeyBFUlJPUl9DT05GSUcgfSBmcm9tICcuL3NoYXJlZC9jb25zdGFudHMvZXJyb3ItaGFuZGxpbmcuY29uc3RhbnRzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLXZjLWVycm9yLWhhbmRsZXJzJyxcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgPGFwcC1zbmFjay1iYXI+PC9hcHAtc25hY2stYmFyPlxyXG4gICAgPGxpYi12Yy1lcnJvci1zZXNzaW9uLWV4cGlyZWRcclxuICAgICAgKm5nSWY9XCJzZXNzaW9uRXhwaXJlZFwiXHJcbiAgICA+PC9saWItdmMtZXJyb3Itc2Vzc2lvbi1leHBpcmVkPlxyXG4gICAgPGxpYi12Yy1lcnJvci11bmF1dGhvcml6ZWQgKm5nSWY9XCJ1bmF1dGhvcml6ZWRcIj48L2xpYi12Yy1lcnJvci11bmF1dGhvcml6ZWQ+XHJcbiAgICA8bGliLXZjLWVycm9yLWNodW5rLXVuYXZhaWxhYmxlXHJcbiAgICAgICpuZ0lmPVwiY2h1bmtVbmF2YWlsYWJsZVwiXHJcbiAgICA+PC9saWItdmMtZXJyb3ItY2h1bmstdW5hdmFpbGFibGU+XHJcbiAgYCxcclxufSlcclxuZXhwb3J0IGNsYXNzIFZjRXJyb3JIYW5kbGVyc0NvbXBvbmVudCB7XHJcbiAgcHJpdmF0ZSBlcnJvckNvbmZpZyA9IEVSUk9SX0NPTkZJRy5ORVRXT1JLX1VOQVZBSUxBQkxFO1xyXG5cclxuICB1bmF1dGhvcml6ZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBzZXNzaW9uRXhwaXJlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIGNodW5rVW5hdmFpbGFibGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBpc09ubGluZTogYm9vbGVhbiA9IG5hdmlnYXRvci5vbkxpbmU7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBlcnJvclNlcnZpY2U6IEdsb2JhbEVycm9yU2VydmljZSxcclxuICAgIHByaXZhdGUgc25hY2tCYXJTZXJ2aWNlOiBTbmFja0JhclNlcnZpY2VcclxuICApIHtcclxuICAgIHRoaXMuc3Vic2NyaWJlR2xvYmFsRXJyb3IoKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5zdWJzY3JpYmVOZXR3b3JrRGV0ZWN0aW9uKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdvbmxpbmUnLCB0aGlzLm9uTmV0d29ya09ubGluZSk7XHJcbiAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcignb2ZmbGluZScsIHRoaXMub25OZXR3b3JrT2ZmbGluZSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHN1YnNjcmliZUdsb2JhbEVycm9yKCkge1xyXG4gICAgdGhpcy5lcnJvclNlcnZpY2UuZ2xvYmFsRXJyb3IkLnN1YnNjcmliZSgoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiB7XHJcbiAgICAgIHRoaXMuaGFuZGxlRXJyb3IoZXJyb3IpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGhhbmRsZUVycm9yKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkge1xyXG4gICAgaWYgKGVycm9yLnN0YXR1cyA9PT0gRXJyb3JTdGF0dXNDb2RlLlVuYXV0aGVudGljYXRlZCkge1xyXG4gICAgICB0aGlzLnNlc3Npb25FeHBpcmVkID0gdHJ1ZTtcclxuICAgIH0gZWxzZSBpZiAoZXJyb3Iuc3RhdHVzID09PSBFcnJvclN0YXR1c0NvZGUuVW5hdXRob3JpemVkQWNjZXNzKSB7XHJcbiAgICAgIHRoaXMudW5hdXRob3JpemVkID0gdHJ1ZTtcclxuICAgIH0gZWxzZSBpZiAoZXJyb3Iuc3RhdHVzID09PSBFcnJvclN0YXR1c0NvZGUuSlNDaHVua1VuYXZhaWxhYmxlKSB7XHJcbiAgICAgIHRoaXMuY2h1bmtVbmF2YWlsYWJsZSA9IHRydWU7XHJcbiAgICB9IGVsc2UgaWYgKGVycm9yLnN0YXR1cyA9PT0gRXJyb3JTdGF0dXNDb2RlLk5ldHdvcmtVbmF2YWlsYWJsZSkge1xyXG4gICAgICB0aGlzLmhhbmRsZU5ldHdvcmtFcnJvcigpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzdWJzY3JpYmVOZXR3b3JrRGV0ZWN0aW9uKCkge1xyXG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ29ubGluZScsIHRoaXMub25OZXR3b3JrT25saW5lKTtcclxuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdvZmZsaW5lJywgdGhpcy5vbk5ldHdvcmtPZmZsaW5lKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgb25OZXR3b3JrT25saW5lID0gKCkgPT4ge1xyXG4gICAgdGhpcy5pc09ubGluZSA9IHRydWU7XHJcbiAgICB0aGlzLmhpZGVTbmFja0JhcigpO1xyXG4gIH07XHJcblxyXG4gIHByaXZhdGUgb25OZXR3b3JrT2ZmbGluZSA9ICgpID0+IHtcclxuICAgIHRoaXMuaXNPbmxpbmUgPSBmYWxzZTtcclxuICAgIHRoaXMuc2hvd09mZmxpbmVTbmFja0JhcigpO1xyXG4gIH07XHJcblxyXG4gIHByaXZhdGUgaGFuZGxlTmV0d29ya0Vycm9yKCkge1xyXG4gICAgaWYgKCF0aGlzLmlzT25saW5lKSB7XHJcbiAgICAgIHRoaXMuc2hvd09mZmxpbmVTbmFja0JhcigpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzaG93T2ZmbGluZVNuYWNrQmFyKCkge1xyXG4gICAgdGhpcy5zbmFja0JhclNlcnZpY2Uuc2hvdyh0aGlzLmVycm9yQ29uZmlnLm9mZmxpbmVNZXNzYWdlLCAnZXJyb3InKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaGlkZVNuYWNrQmFyKCkge1xyXG4gICAgdGhpcy5zbmFja0JhclNlcnZpY2UuaGlkZSgpO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -11,8 +11,8 @@ import { UnauthorizedComponent } from './shared/components/unauthorized/unauthor
|
|
|
11
11
|
import { SessionExpiredComponent } from './shared/components/session-expired/session-expired.component';
|
|
12
12
|
import { ChunkUnavailableComponent } from './shared/components/chunk-unavailable/chunk-unavailable.component';
|
|
13
13
|
import { ServerErrorComponent } from './shared/components/server-error/server-error.component';
|
|
14
|
-
import { SessionExpiredModalComponent } from './shared/components/session-expired-modal/session-expired-modal.component';
|
|
15
14
|
import { HttpReqInterceptor } from './shared/interceptors/http.interceptor';
|
|
15
|
+
import { ErrorModalComponent } from './shared/components/error-modal/error-modal.component';
|
|
16
16
|
import * as i0 from "@angular/core";
|
|
17
17
|
export const FOR_ROOT_SENTRY_OPTIONS_TOKEN = new InjectionToken('forRoot() SentryErrorHandler options');
|
|
18
18
|
export class VcErrorHandlersModule {
|
|
@@ -30,13 +30,13 @@ VcErrorHandlersModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", v
|
|
|
30
30
|
SessionExpiredComponent,
|
|
31
31
|
ChunkUnavailableComponent,
|
|
32
32
|
ServerErrorComponent,
|
|
33
|
-
|
|
33
|
+
ErrorModalComponent], imports: [CommonModule, DialogModule, SnackBarModule], exports: [VcErrorHandlersComponent,
|
|
34
34
|
PageNotFoundComponent,
|
|
35
35
|
UnauthorizedComponent,
|
|
36
36
|
SessionExpiredComponent,
|
|
37
37
|
ChunkUnavailableComponent,
|
|
38
38
|
ServerErrorComponent,
|
|
39
|
-
|
|
39
|
+
ErrorModalComponent] });
|
|
40
40
|
VcErrorHandlersModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: VcErrorHandlersModule, providers: [
|
|
41
41
|
{ provide: ErrorHandler, useClass: SentryErrorHandler },
|
|
42
42
|
{ provide: HTTP_INTERCEPTORS, useClass: HttpReqInterceptor, multi: true },
|
|
@@ -51,7 +51,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImpor
|
|
|
51
51
|
SessionExpiredComponent,
|
|
52
52
|
ChunkUnavailableComponent,
|
|
53
53
|
ServerErrorComponent,
|
|
54
|
-
|
|
54
|
+
ErrorModalComponent,
|
|
55
55
|
],
|
|
56
56
|
imports: [CommonModule, DialogModule, SnackBarModule],
|
|
57
57
|
exports: [
|
|
@@ -61,7 +61,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImpor
|
|
|
61
61
|
SessionExpiredComponent,
|
|
62
62
|
ChunkUnavailableComponent,
|
|
63
63
|
ServerErrorComponent,
|
|
64
|
-
|
|
64
|
+
ErrorModalComponent,
|
|
65
65
|
],
|
|
66
66
|
providers: [
|
|
67
67
|
{ provide: ErrorHandler, useClass: SentryErrorHandler },
|
|
@@ -70,4 +70,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImpor
|
|
|
70
70
|
bootstrap: [VcErrorHandlersComponent],
|
|
71
71
|
}]
|
|
72
72
|
}] });
|
|
73
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
73
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmMtZXJyb3ItaGFuZGxlcnMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvdmMtZXJyb3ItaGFuZGxlcnMvc3JjL2xpYi92Yy1lcnJvci1oYW5kbGVycy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFlBQVksRUFDWixjQUFjLEVBRWQsUUFBUSxHQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw2REFBNkQsQ0FBQztBQUNwRyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUV6RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBSXJFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx5REFBeUQsQ0FBQztBQUNoRyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwrREFBK0QsQ0FBQztBQUN4RyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxtRUFBbUUsQ0FBQztBQUM5RyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx5REFBeUQsQ0FBQztBQUUvRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUM1RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1REFBdUQsQ0FBQzs7QUFFNUYsTUFBTSxDQUFDLE1BQU0sNkJBQTZCLEdBQUcsSUFBSSxjQUFjLENBQzdELHNDQUFzQyxDQUN2QyxDQUFDO0FBNEJGLE1BQU0sT0FBTyxxQkFBcUI7SUFDekIsTUFBTSxDQUFDLE9BQU8sQ0FDbkIsaUJBQWlDO1FBRWpDLE9BQU87WUFDTCxRQUFRLEVBQUUscUJBQXFCO1lBQy9CLFNBQVMsRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQUUsaUJBQWlCLEVBQUUsQ0FBQztTQUN0RSxDQUFDO0lBQ0osQ0FBQzs7a0hBUlUscUJBQXFCO21IQUFyQixxQkFBcUIsY0FGcEIsd0JBQXdCLGtCQXRCbEMsd0JBQXdCO1FBQ3hCLHFCQUFxQjtRQUNyQixxQkFBcUI7UUFDckIsdUJBQXVCO1FBQ3ZCLHlCQUF5QjtRQUN6QixvQkFBb0I7UUFDcEIsbUJBQW1CLGFBRVgsWUFBWSxFQUFFLFlBQVksRUFBRSxjQUFjLGFBRWxELHdCQUF3QjtRQUN4QixxQkFBcUI7UUFDckIscUJBQXFCO1FBQ3JCLHVCQUF1QjtRQUN2Qix5QkFBeUI7UUFDekIsb0JBQW9CO1FBQ3BCLG1CQUFtQjttSEFRVixxQkFBcUIsYUFOckI7UUFDVCxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLGtCQUFrQixFQUFFO1FBQ3ZELEVBQUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFFBQVEsRUFBRSxrQkFBa0IsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFO0tBQzFFLFlBYlEsQ0FBQyxZQUFZLEVBQUUsWUFBWSxFQUFFLGNBQWMsQ0FBQzsyRkFnQjFDLHFCQUFxQjtrQkExQmpDLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFO3dCQUNaLHdCQUF3Qjt3QkFDeEIscUJBQXFCO3dCQUNyQixxQkFBcUI7d0JBQ3JCLHVCQUF1Qjt3QkFDdkIseUJBQXlCO3dCQUN6QixvQkFBb0I7d0JBQ3BCLG1CQUFtQjtxQkFDcEI7b0JBQ0QsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLFlBQVksRUFBRSxjQUFjLENBQUM7b0JBQ3JELE9BQU8sRUFBRTt3QkFDUCx3QkFBd0I7d0JBQ3hCLHFCQUFxQjt3QkFDckIscUJBQXFCO3dCQUNyQix1QkFBdUI7d0JBQ3ZCLHlCQUF5Qjt3QkFDekIsb0JBQW9CO3dCQUNwQixtQkFBbUI7cUJBQ3BCO29CQUNELFNBQVMsRUFBRTt3QkFDVCxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLGtCQUFrQixFQUFFO3dCQUN2RCxFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxRQUFRLEVBQUUsa0JBQWtCLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRTtxQkFDMUU7b0JBQ0QsU0FBUyxFQUFFLENBQUMsd0JBQXdCLENBQUM7aUJBQ3RDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBFcnJvckhhbmRsZXIsXHJcbiAgSW5qZWN0aW9uVG9rZW4sXHJcbiAgTW9kdWxlV2l0aFByb3ZpZGVycyxcclxuICBOZ01vZHVsZSxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSFRUUF9JTlRFUkNFUFRPUlMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcblxyXG5pbXBvcnQgeyBQYWdlTm90Rm91bmRDb21wb25lbnQgfSBmcm9tICcuL3NoYXJlZC9jb21wb25lbnRzL3BhZ2Utbm90LWZvdW5kL3BhZ2Utbm90LWZvdW5kLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFZjRXJyb3JIYW5kbGVyc0NvbXBvbmVudCB9IGZyb20gJy4vdmMtZXJyb3ItaGFuZGxlcnMuY29tcG9uZW50JztcclxuXHJcbmltcG9ydCB7IERpYWxvZ01vZHVsZSB9IGZyb20gJy4vdWkta2l0L2RpYWxvZy9kaWFsb2cubW9kdWxlJztcclxuaW1wb3J0IHsgU25hY2tCYXJNb2R1bGUgfSBmcm9tICcuL3VpLWtpdC9zbmFjay1iYXIvc25hY2stYmFyLm1vZHVsZSc7XHJcblxyXG5pbXBvcnQgeyBCcm93c2VyT3B0aW9ucyB9IGZyb20gJ0BzZW50cnkvYnJvd3Nlcic7XHJcbmltcG9ydCB7IEdsb2JhbEVycm9ySGFuZGxlciB9IGZyb20gJy4vc2hhcmVkL2Vycm9yaGFuZGxlci9jaHVuay1lcnJvci5oYW5kbGVyJztcclxuaW1wb3J0IHsgU2VudHJ5RXJyb3JIYW5kbGVyIH0gZnJvbSAnLi9zaGFyZWQvZXJyb3JoYW5kbGVyL3NlbnRyeS1lcnJvci5oYW5kbGVyJztcclxuaW1wb3J0IHsgQ29uZmlndXJhdGlvbnMgfSBmcm9tICcuL2NvbmZpZ3VyYXRpb24nO1xyXG5pbXBvcnQgeyBVbmF1dGhvcml6ZWRDb21wb25lbnQgfSBmcm9tICcuL3NoYXJlZC9jb21wb25lbnRzL3VuYXV0aG9yaXplZC91bmF1dGhvcml6ZWQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU2Vzc2lvbkV4cGlyZWRDb21wb25lbnQgfSBmcm9tICcuL3NoYXJlZC9jb21wb25lbnRzL3Nlc3Npb24tZXhwaXJlZC9zZXNzaW9uLWV4cGlyZWQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ2h1bmtVbmF2YWlsYWJsZUNvbXBvbmVudCB9IGZyb20gJy4vc2hhcmVkL2NvbXBvbmVudHMvY2h1bmstdW5hdmFpbGFibGUvY2h1bmstdW5hdmFpbGFibGUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU2VydmVyRXJyb3JDb21wb25lbnQgfSBmcm9tICcuL3NoYXJlZC9jb21wb25lbnRzL3NlcnZlci1lcnJvci9zZXJ2ZXItZXJyb3IuY29tcG9uZW50JztcclxuXHJcbmltcG9ydCB7IEh0dHBSZXFJbnRlcmNlcHRvciB9IGZyb20gJy4vc2hhcmVkL2ludGVyY2VwdG9ycy9odHRwLmludGVyY2VwdG9yJztcclxuaW1wb3J0IHsgRXJyb3JNb2RhbENvbXBvbmVudCB9IGZyb20gJy4vc2hhcmVkL2NvbXBvbmVudHMvZXJyb3ItbW9kYWwvZXJyb3ItbW9kYWwuY29tcG9uZW50JztcclxuXHJcbmV4cG9ydCBjb25zdCBGT1JfUk9PVF9TRU5UUllfT1BUSU9OU19UT0tFTiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxCcm93c2VyT3B0aW9ucz4oXHJcbiAgJ2ZvclJvb3QoKSBTZW50cnlFcnJvckhhbmRsZXIgb3B0aW9ucydcclxuKTtcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICBWY0Vycm9ySGFuZGxlcnNDb21wb25lbnQsXHJcbiAgICBQYWdlTm90Rm91bmRDb21wb25lbnQsXHJcbiAgICBVbmF1dGhvcml6ZWRDb21wb25lbnQsXHJcbiAgICBTZXNzaW9uRXhwaXJlZENvbXBvbmVudCxcclxuICAgIENodW5rVW5hdmFpbGFibGVDb21wb25lbnQsXHJcbiAgICBTZXJ2ZXJFcnJvckNvbXBvbmVudCxcclxuICAgIEVycm9yTW9kYWxDb21wb25lbnQsXHJcbiAgXSxcclxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBEaWFsb2dNb2R1bGUsIFNuYWNrQmFyTW9kdWxlXSxcclxuICBleHBvcnRzOiBbXHJcbiAgICBWY0Vycm9ySGFuZGxlcnNDb21wb25lbnQsXHJcbiAgICBQYWdlTm90Rm91bmRDb21wb25lbnQsXHJcbiAgICBVbmF1dGhvcml6ZWRDb21wb25lbnQsXHJcbiAgICBTZXNzaW9uRXhwaXJlZENvbXBvbmVudCxcclxuICAgIENodW5rVW5hdmFpbGFibGVDb21wb25lbnQsXHJcbiAgICBTZXJ2ZXJFcnJvckNvbXBvbmVudCxcclxuICAgIEVycm9yTW9kYWxDb21wb25lbnQsXHJcbiAgXSxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIHsgcHJvdmlkZTogRXJyb3JIYW5kbGVyLCB1c2VDbGFzczogU2VudHJ5RXJyb3JIYW5kbGVyIH0sXHJcbiAgICB7IHByb3ZpZGU6IEhUVFBfSU5URVJDRVBUT1JTLCB1c2VDbGFzczogSHR0cFJlcUludGVyY2VwdG9yLCBtdWx0aTogdHJ1ZSB9LFxyXG4gIF0sXHJcbiAgYm9vdHN0cmFwOiBbVmNFcnJvckhhbmRsZXJzQ29tcG9uZW50XSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFZjRXJyb3JIYW5kbGVyc01vZHVsZSB7XHJcbiAgcHVibGljIHN0YXRpYyBmb3JSb290KFxyXG4gICAgZW52aXJvbm1lbnRDb25maWc6IENvbmZpZ3VyYXRpb25zXHJcbiAgKTogTW9kdWxlV2l0aFByb3ZpZGVyczxWY0Vycm9ySGFuZGxlcnNNb2R1bGU+IHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIG5nTW9kdWxlOiBWY0Vycm9ySGFuZGxlcnNNb2R1bGUsXHJcbiAgICAgIHByb3ZpZGVyczogW3sgcHJvdmlkZTogQ29uZmlndXJhdGlvbnMsIHVzZVZhbHVlOiBlbnZpcm9ubWVudENvbmZpZyB9XSxcclxuICAgIH07XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
package/esm2020/public-api.mjs
CHANGED
|
@@ -11,7 +11,7 @@ export * from './lib/shared/components/unauthorized/unauthorized.component';
|
|
|
11
11
|
export * from './lib/shared/components/chunk-unavailable/chunk-unavailable.component';
|
|
12
12
|
export * from './lib/shared/components/server-error/server-error.component';
|
|
13
13
|
export * from './lib/shared/components/session-expired/session-expired.component';
|
|
14
|
-
export * from './lib/shared/components/
|
|
14
|
+
export * from './lib/shared/components/error-modal/error-modal.component';
|
|
15
15
|
export * from './lib/vc-error-handlers.module';
|
|
16
16
|
export * from './lib/shared/interceptors/http.interceptor';
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL3ZjLWVycm9yLWhhbmRsZXJzL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLDRDQUE0QyxDQUFDO0FBQzNELGNBQWMsb0NBQW9DLENBQUM7QUFDbkQsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsaUVBQWlFLENBQUM7QUFDaEYsY0FBYyw2REFBNkQsQ0FBQztBQUM1RSxjQUFjLHVFQUF1RSxDQUFDO0FBQ3RGLGNBQWMsNkRBQTZELENBQUM7QUFDNUUsY0FBYyxtRUFBbUUsQ0FBQztBQUNsRixjQUFjLDJEQUEyRCxDQUFDO0FBQzFFLGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYyw0Q0FBNEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiB2Yy1lcnJvci1oYW5kbGVyc1xyXG4gKi9cclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3ZjLWVycm9yLWhhbmRsZXJzLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zaGFyZWQvc2VydmljZXMvZ2xvYmFsLWVycm9yLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zaGFyZWQvc2VydmljZXMvYXV0aC5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2hhcmVkL3NlcnZpY2VzL3JvdXRlci5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdmMtZXJyb3ItaGFuZGxlcnMuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2hhcmVkL2NvbXBvbmVudHMvcGFnZS1ub3QtZm91bmQvcGFnZS1ub3QtZm91bmQuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2hhcmVkL2NvbXBvbmVudHMvdW5hdXRob3JpemVkL3VuYXV0aG9yaXplZC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zaGFyZWQvY29tcG9uZW50cy9jaHVuay11bmF2YWlsYWJsZS9jaHVuay11bmF2YWlsYWJsZS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zaGFyZWQvY29tcG9uZW50cy9zZXJ2ZXItZXJyb3Ivc2VydmVyLWVycm9yLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NoYXJlZC9jb21wb25lbnRzL3Nlc3Npb24tZXhwaXJlZC9zZXNzaW9uLWV4cGlyZWQuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2hhcmVkL2NvbXBvbmVudHMvZXJyb3ItbW9kYWwvZXJyb3ItbW9kYWwuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdmMtZXJyb3ItaGFuZGxlcnMubW9kdWxlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2hhcmVkL2ludGVyY2VwdG9ycy9odHRwLmludGVyY2VwdG9yJztcclxuIl19
|