vc-error-handlers 0.4.32 → 0.5.0
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/README.md +27 -27
- package/esm2022/lib/configuration.mjs +1 -1
- package/esm2022/lib/featureFlag/feature-flag.directive.mjs +1 -1
- package/esm2022/lib/featureFlag/feature-flag.module.mjs +1 -1
- package/esm2022/lib/featureFlag/feature-flag.service.mjs +1 -1
- package/esm2022/lib/shared/components/chunk-unavailable/chunk-unavailable.component.mjs +1 -1
- package/esm2022/lib/shared/components/component-level-server-error/component-level-server-error.component.mjs +45 -45
- package/esm2022/lib/shared/components/error-modal/error-modal.component.mjs +21 -21
- package/esm2022/lib/shared/components/page-not-found/page-not-found.component.mjs +69 -69
- package/esm2022/lib/shared/components/server-error/server-error.component.mjs +63 -63
- package/esm2022/lib/shared/components/session-expired/session-expired.component.mjs +1 -1
- package/esm2022/lib/shared/components/unauthorized/unauthorized.component.mjs +81 -81
- package/esm2022/lib/shared/constants/api-config.constants.mjs +1 -1
- package/esm2022/lib/shared/constants/assets.constants.mjs +1 -1
- package/esm2022/lib/shared/constants/error-handling.constants.mjs +1 -1
- package/esm2022/lib/shared/constants/exclude-api-config.constants.mjs +1 -1
- package/esm2022/lib/shared/errorhandler/chunk-error.handler.mjs +1 -1
- package/esm2022/lib/shared/errorhandler/sentry-error.handler.mjs +1 -1
- package/esm2022/lib/shared/interceptors/http.interceptor.mjs +4 -15
- package/esm2022/lib/shared/services/global-error.service.mjs +1 -1
- package/esm2022/lib/shared/services/router.service.mjs +1 -1
- package/esm2022/lib/shared/services/util.service.mjs +1 -1
- package/esm2022/lib/shared/types/global-error.types.mjs +1 -1
- package/esm2022/lib/ui-kit/dialog/dialog-config.mjs +1 -1
- package/esm2022/lib/ui-kit/dialog/dialog-injector.mjs +1 -1
- package/esm2022/lib/ui-kit/dialog/dialog-ref.mjs +1 -1
- package/esm2022/lib/ui-kit/dialog/dialog.component.mjs +3 -3
- package/esm2022/lib/ui-kit/dialog/dialog.module.mjs +1 -1
- package/esm2022/lib/ui-kit/dialog/dialog.service.mjs +1 -1
- package/esm2022/lib/ui-kit/dialog/insertion.directive.mjs +1 -1
- package/esm2022/lib/ui-kit/snack-bar/snack-bar/snack-bar.component.mjs +3 -3
- package/esm2022/lib/ui-kit/snack-bar/snack-bar.module.mjs +1 -1
- package/esm2022/lib/ui-kit/snack-bar/snack-bar.service.mjs +1 -1
- package/esm2022/lib/vc-error-handlers.component.mjs +38 -31
- package/esm2022/lib/vc-error-handlers.module.mjs +2 -2
- package/esm2022/lib/vc-error-handlers.service.mjs +1 -1
- package/esm2022/public-api.mjs +1 -1
- package/fesm2022/vc-error-handlers.mjs +420 -425
- package/fesm2022/vc-error-handlers.mjs.map +1 -1
- package/lib/vc-error-handlers.component.d.ts +7 -3
- package/package.json +1 -1
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { Injectable, Component, Input, Directive, ViewChild, NgModule, EventEmitter, Output,
|
|
2
|
+
import { Injectable, Optional, Component, Input, Directive, ViewChild, NgModule, EventEmitter, Output, InjectionToken, ErrorHandler } from '@angular/core';
|
|
3
3
|
import { Subject, throwError } from 'rxjs';
|
|
4
4
|
import * as i3 from '@angular/router';
|
|
5
5
|
import { NavigationStart, NavigationEnd, NavigationError } from '@angular/router';
|
|
6
|
-
import * as i1 from '@angular/common';
|
|
7
|
-
import { CommonModule, NgOptimizedImage } from '@angular/common';
|
|
8
|
-
import * as i1$1 from '@vcomply/authorizer';
|
|
9
|
-
import * as i1$2 from '@angular/common/http';
|
|
10
|
-
import { HttpResponse, HttpErrorResponse, HTTP_INTERCEPTORS } from '@angular/common/http';
|
|
11
6
|
import { retry, timeout, tap, catchError } from 'rxjs/operators';
|
|
7
|
+
import * as i1 from '@angular/common/http';
|
|
8
|
+
import { HttpResponse, HTTP_INTERCEPTORS } from '@angular/common/http';
|
|
9
|
+
import * as i1$1 from '@vcomply/authorizer';
|
|
10
|
+
import * as i1$2 from '@angular/common';
|
|
11
|
+
import { CommonModule, NgOptimizedImage } from '@angular/common';
|
|
12
12
|
import * as Sentry from '@sentry/angular-ivy';
|
|
13
13
|
|
|
14
14
|
class VcErrorHandlersService {
|
|
@@ -1322,6 +1322,105 @@ const ALT_IMAGE_TEXT = {
|
|
|
1322
1322
|
VCOMPLY_LOGO: 'VComply',
|
|
1323
1323
|
};
|
|
1324
1324
|
|
|
1325
|
+
class Configurations {
|
|
1326
|
+
constructor() {
|
|
1327
|
+
this.sentryConfig = {};
|
|
1328
|
+
this.envConfig = {};
|
|
1329
|
+
}
|
|
1330
|
+
}
|
|
1331
|
+
|
|
1332
|
+
class FeatureFlagService {
|
|
1333
|
+
constructor(http, authorizer, config) {
|
|
1334
|
+
this.http = http;
|
|
1335
|
+
this.authorizer = authorizer;
|
|
1336
|
+
this.flagFetchError = false;
|
|
1337
|
+
this.featuresMap = {};
|
|
1338
|
+
this.AWSFlags = {};
|
|
1339
|
+
this.environment = config?.envConfig;
|
|
1340
|
+
}
|
|
1341
|
+
fetchFlags() {
|
|
1342
|
+
return this.http.get(this.environment.baseUrl + 'features').pipe(retry(2));
|
|
1343
|
+
}
|
|
1344
|
+
loadConfig() {
|
|
1345
|
+
if (this.flagSubscription) {
|
|
1346
|
+
this.flagSubscription.unsubscribe();
|
|
1347
|
+
}
|
|
1348
|
+
return new Promise((resolve, reject) => {
|
|
1349
|
+
this.flagSubscription = this.fetchFlags().subscribe({
|
|
1350
|
+
next: (res) => {
|
|
1351
|
+
try {
|
|
1352
|
+
resolve(true);
|
|
1353
|
+
this.flagFetchError = false;
|
|
1354
|
+
this.AWSFlags = res;
|
|
1355
|
+
this.buildFeatureFlags(this.authorizer.getOrganizationId());
|
|
1356
|
+
}
|
|
1357
|
+
catch (error) {
|
|
1358
|
+
reject(error);
|
|
1359
|
+
}
|
|
1360
|
+
},
|
|
1361
|
+
error: (err) => {
|
|
1362
|
+
reject(true);
|
|
1363
|
+
this.flagFetchError = true;
|
|
1364
|
+
console.log('An error occurred while fetching feature flags', err);
|
|
1365
|
+
},
|
|
1366
|
+
});
|
|
1367
|
+
});
|
|
1368
|
+
}
|
|
1369
|
+
buildFeatureFlags(orgId) {
|
|
1370
|
+
orgId = orgId?.toString();
|
|
1371
|
+
const enabledFeatures = {};
|
|
1372
|
+
Object.keys(this.AWSFlags).forEach((flag) => {
|
|
1373
|
+
const flagObj = this.AWSFlags[flag];
|
|
1374
|
+
enabledFeatures[flag] = false;
|
|
1375
|
+
if (flagObj) {
|
|
1376
|
+
if (flagObj?.enabled && !flagObj.hasOwnProperty('enabledOrgIds')) {
|
|
1377
|
+
enabledFeatures[flag] = true;
|
|
1378
|
+
}
|
|
1379
|
+
else if (flagObj?.enabled &&
|
|
1380
|
+
flagObj.hasOwnProperty('enabledOrgIds') &&
|
|
1381
|
+
flagObj?.enabledOrgIds?.length > 0) {
|
|
1382
|
+
if (flagObj?.enabledOrgIds?.includes(orgId)) {
|
|
1383
|
+
enabledFeatures[flag] = true;
|
|
1384
|
+
}
|
|
1385
|
+
else {
|
|
1386
|
+
enabledFeatures[flag] = false;
|
|
1387
|
+
}
|
|
1388
|
+
}
|
|
1389
|
+
else {
|
|
1390
|
+
if (flagObj?.enabled) {
|
|
1391
|
+
enabledFeatures[flag] = true;
|
|
1392
|
+
}
|
|
1393
|
+
else {
|
|
1394
|
+
enabledFeatures[flag] = false;
|
|
1395
|
+
}
|
|
1396
|
+
}
|
|
1397
|
+
}
|
|
1398
|
+
else {
|
|
1399
|
+
enabledFeatures[flag] = true;
|
|
1400
|
+
}
|
|
1401
|
+
});
|
|
1402
|
+
this.featuresMap = enabledFeatures;
|
|
1403
|
+
}
|
|
1404
|
+
isFeatureEnabled(featureFlag) {
|
|
1405
|
+
if (this.featuresMap.hasOwnProperty(featureFlag)) {
|
|
1406
|
+
return this.featuresMap[featureFlag];
|
|
1407
|
+
}
|
|
1408
|
+
else {
|
|
1409
|
+
return true;
|
|
1410
|
+
}
|
|
1411
|
+
}
|
|
1412
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FeatureFlagService, deps: [{ token: i1.HttpClient }, { token: i1$1.AuthorizerService }, { token: Configurations, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
1413
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FeatureFlagService, providedIn: 'root' }); }
|
|
1414
|
+
}
|
|
1415
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FeatureFlagService, decorators: [{
|
|
1416
|
+
type: Injectable,
|
|
1417
|
+
args: [{
|
|
1418
|
+
providedIn: 'root',
|
|
1419
|
+
}]
|
|
1420
|
+
}], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i1$1.AuthorizerService }, { type: Configurations, decorators: [{
|
|
1421
|
+
type: Optional
|
|
1422
|
+
}] }]; } });
|
|
1423
|
+
|
|
1325
1424
|
class SnackBarComponent {
|
|
1326
1425
|
constructor(snackbarService) {
|
|
1327
1426
|
this.snackbarService = snackbarService;
|
|
@@ -1361,11 +1460,11 @@ class SnackBarComponent {
|
|
|
1361
1460
|
this.snackbarSubscription.unsubscribe();
|
|
1362
1461
|
}
|
|
1363
1462
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SnackBarComponent, deps: [{ token: SnackBarService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1364
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SnackBarComponent, selector: "app-snack-bar", ngImport: i0, template: "<div class=\"workflow-snackbar\" *ngIf=\"show\">\
|
|
1463
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SnackBarComponent, selector: "app-snack-bar", ngImport: i0, template: "<div class=\"workflow-snackbar\" *ngIf=\"show\">\n <div class=\"workflow-snackbar-inner\">\n <div class=\"workflow-snackbarText\">\n <!--  -->\n <i class=\"icons\" [class]=\"type\" [innerHTML]=\"icon\"></i> <span [innerHTML]=\"message\">{{ message }}</span>\n </div>\n <button (click)=\"close()\">[ <span>Close</span> ]</button>\n </div>\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:#fff;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{color:#d93b41}::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"], dependencies: [{ kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
|
|
1365
1464
|
}
|
|
1366
1465
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SnackBarComponent, decorators: [{
|
|
1367
1466
|
type: Component,
|
|
1368
|
-
args: [{ selector: 'app-snack-bar', template: "<div class=\"workflow-snackbar\" *ngIf=\"show\">\
|
|
1467
|
+
args: [{ selector: 'app-snack-bar', template: "<div class=\"workflow-snackbar\" *ngIf=\"show\">\n <div class=\"workflow-snackbar-inner\">\n <div class=\"workflow-snackbarText\">\n <!--  -->\n <i class=\"icons\" [class]=\"type\" [innerHTML]=\"icon\"></i> <span [innerHTML]=\"message\">{{ message }}</span>\n </div>\n <button (click)=\"close()\">[ <span>Close</span> ]</button>\n </div>\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:#fff;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{color:#d93b41}::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"] }]
|
|
1369
1468
|
}], ctorParameters: function () { return [{ type: SnackBarService }]; } });
|
|
1370
1469
|
|
|
1371
1470
|
class UnauthorizedComponent {
|
|
@@ -1380,90 +1479,90 @@ class UnauthorizedComponent {
|
|
|
1380
1479
|
window.location.href = this.errorConfig.mail;
|
|
1381
1480
|
}
|
|
1382
1481
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: UnauthorizedComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1383
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: UnauthorizedComponent, selector: "lib-vc-error-unauthorized", ngImport: i0, template: `
|
|
1384
|
-
<div class="errorPage">
|
|
1385
|
-
<div class="errorPage-top">
|
|
1386
|
-
<img
|
|
1387
|
-
[ngSrc]="VcomplyLogo"
|
|
1388
|
-
[alt]="altImageText.VCOMPLY_LOGO"
|
|
1389
|
-
width="24"
|
|
1390
|
-
height="24"
|
|
1391
|
-
/>
|
|
1392
|
-
</div>
|
|
1393
|
-
<div class="errorPage-container">
|
|
1394
|
-
<div class="errorPage-inner">
|
|
1395
|
-
<div class="errorPage-inner-image">
|
|
1396
|
-
<img
|
|
1397
|
-
[ngSrc]="errorConfig.imageUrl"
|
|
1398
|
-
[alt]="altImageText.ERROR_IMAGE"
|
|
1399
|
-
width="246"
|
|
1400
|
-
height="178"
|
|
1401
|
-
/>
|
|
1402
|
-
</div>
|
|
1403
|
-
<div class="errorPage-inner-right">
|
|
1404
|
-
<div class="errorPage-heading">{{ errorConfig.title }}</div>
|
|
1405
|
-
<div class="errorPage-text">{{ errorConfig.description }}</div>
|
|
1406
|
-
<div class="errorPage-details">
|
|
1407
|
-
{{ errorConfig.details }}
|
|
1408
|
-
<a [href]="'mailto:' + errorConfig.email">{{
|
|
1409
|
-
errorConfig.email
|
|
1410
|
-
}}</a>
|
|
1411
|
-
{{ errorConfig.support }}.
|
|
1412
|
-
</div>
|
|
1413
|
-
<button class="errorPage-btn" (click)="redirectToSupport()">
|
|
1414
|
-
{{ errorConfig.buttonText }} <i class="icons"></i>
|
|
1415
|
-
</button>
|
|
1416
|
-
</div>
|
|
1417
|
-
</div>
|
|
1418
|
-
<div class="errorPage-copyright">
|
|
1419
|
-
© {{ currentYear }}, {{ organisationName }}
|
|
1420
|
-
</div>
|
|
1421
|
-
</div>
|
|
1422
|
-
</div>
|
|
1423
|
-
`, isInline: true, styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";.errorPage{background:#161b2f;position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:9999}.errorPage-top{width:100%;height:3rem;display:flex;align-items:center;padding-left:.75rem}.errorPage-container{background:#f2f2f5;border-radius:.75rem;border:1px solid #e3e3e9;box-shadow:0 4px 8px #1d5dd31a;height:calc(100vh - 3.75rem);display:flex;align-items:center;justify-content:center;padding:0 4rem;margin:0 .75rem;position:relative}.errorPage-inner{display:flex;align-items:center}.errorPage-inner-image{width:16rem}.errorPage-inner-right{margin-left:2rem;width:calc(100% - 18rem)}.errorPage-inner-right .errorPage-heading{-webkit-text-fill-color:#e3e3e9;-webkit-text-stroke-color:#a9aab6;-webkit-text-stroke-width:1px;color:#e3e3e9;font-size:78px;font-weight:700;line-height:110px;margin-bottom:1.5rem}.errorPage-inner-right .errorPage-text{color:#141724;font-size:19px;font-weight:500;line-height:1.75rem;margin-bottom:.5rem}.errorPage-inner-right .errorPage-details{color:#565a6f;font-size:13px;line-height:20px;margin-bottom:1.75rem}.errorPage-inner-right .errorPage-btn{background:#1e5dd3;border-radius:.25rem;border:none;color:#fff;display:inline-flex;align-items:center;font-size:11px;font-weight:500;line-height:2rem;padding:0 1rem}.errorPage-inner-right .errorPage-btn i{font-size:14px;margin-left:.25rem}.errorPage-copyright{font-size:11px;color:#787a8c;font-weight:500;position:absolute;bottom:8px;right:16px;line-height:16px}\n"], dependencies: [{ kind: "directive", type: i1.NgOptimizedImage, selector: "img[ngSrc]", inputs: ["ngSrc", "ngSrcset", "sizes", "width", "height", "loading", "priority", "loaderParams", "disableOptimizedSrcset", "fill", "src", "srcset"] }] }); }
|
|
1482
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: UnauthorizedComponent, selector: "lib-vc-error-unauthorized", ngImport: i0, template: `
|
|
1483
|
+
<div class="errorPage">
|
|
1484
|
+
<div class="errorPage-top">
|
|
1485
|
+
<img
|
|
1486
|
+
[ngSrc]="VcomplyLogo"
|
|
1487
|
+
[alt]="altImageText.VCOMPLY_LOGO"
|
|
1488
|
+
width="24"
|
|
1489
|
+
height="24"
|
|
1490
|
+
/>
|
|
1491
|
+
</div>
|
|
1492
|
+
<div class="errorPage-container">
|
|
1493
|
+
<div class="errorPage-inner">
|
|
1494
|
+
<div class="errorPage-inner-image">
|
|
1495
|
+
<img
|
|
1496
|
+
[ngSrc]="errorConfig.imageUrl"
|
|
1497
|
+
[alt]="altImageText.ERROR_IMAGE"
|
|
1498
|
+
width="246"
|
|
1499
|
+
height="178"
|
|
1500
|
+
/>
|
|
1501
|
+
</div>
|
|
1502
|
+
<div class="errorPage-inner-right">
|
|
1503
|
+
<div class="errorPage-heading">{{ errorConfig.title }}</div>
|
|
1504
|
+
<div class="errorPage-text">{{ errorConfig.description }}</div>
|
|
1505
|
+
<div class="errorPage-details">
|
|
1506
|
+
{{ errorConfig.details }}
|
|
1507
|
+
<a [href]="'mailto:' + errorConfig.email">{{
|
|
1508
|
+
errorConfig.email
|
|
1509
|
+
}}</a>
|
|
1510
|
+
{{ errorConfig.support }}.
|
|
1511
|
+
</div>
|
|
1512
|
+
<button class="errorPage-btn" (click)="redirectToSupport()">
|
|
1513
|
+
{{ errorConfig.buttonText }} <i class="icons"></i>
|
|
1514
|
+
</button>
|
|
1515
|
+
</div>
|
|
1516
|
+
</div>
|
|
1517
|
+
<div class="errorPage-copyright">
|
|
1518
|
+
© {{ currentYear }}, {{ organisationName }}
|
|
1519
|
+
</div>
|
|
1520
|
+
</div>
|
|
1521
|
+
</div>
|
|
1522
|
+
`, isInline: true, styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";.errorPage{background:#161b2f;position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:9999}.errorPage-top{width:100%;height:3rem;display:flex;align-items:center;padding-left:.75rem}.errorPage-container{background:#f2f2f5;border-radius:.75rem;border:1px solid #e3e3e9;box-shadow:0 4px 8px #1d5dd31a;height:calc(100vh - 3.75rem);display:flex;align-items:center;justify-content:center;padding:0 4rem;margin:0 .75rem;position:relative}.errorPage-inner{display:flex;align-items:center}.errorPage-inner-image{width:16rem}.errorPage-inner-right{margin-left:2rem;width:calc(100% - 18rem)}.errorPage-inner-right .errorPage-heading{-webkit-text-fill-color:#e3e3e9;-webkit-text-stroke-color:#a9aab6;-webkit-text-stroke-width:1px;color:#e3e3e9;font-size:78px;font-weight:700;line-height:110px;margin-bottom:1.5rem}.errorPage-inner-right .errorPage-text{color:#141724;font-size:19px;font-weight:500;line-height:1.75rem;margin-bottom:.5rem}.errorPage-inner-right .errorPage-details{color:#565a6f;font-size:13px;line-height:20px;margin-bottom:1.75rem}.errorPage-inner-right .errorPage-btn{background:#1e5dd3;border-radius:.25rem;border:none;color:#fff;display:inline-flex;align-items:center;font-size:11px;font-weight:500;line-height:2rem;padding:0 1rem}.errorPage-inner-right .errorPage-btn i{font-size:14px;margin-left:.25rem}.errorPage-copyright{font-size:11px;color:#787a8c;font-weight:500;position:absolute;bottom:8px;right:16px;line-height:16px}\n"], dependencies: [{ kind: "directive", type: i1$2.NgOptimizedImage, selector: "img[ngSrc]", inputs: ["ngSrc", "ngSrcset", "sizes", "width", "height", "loading", "priority", "loaderParams", "disableOptimizedSrcset", "fill", "src", "srcset"] }] }); }
|
|
1424
1523
|
}
|
|
1425
1524
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: UnauthorizedComponent, decorators: [{
|
|
1426
1525
|
type: Component,
|
|
1427
|
-
args: [{ selector: 'lib-vc-error-unauthorized', template: `
|
|
1428
|
-
<div class="errorPage">
|
|
1429
|
-
<div class="errorPage-top">
|
|
1430
|
-
<img
|
|
1431
|
-
[ngSrc]="VcomplyLogo"
|
|
1432
|
-
[alt]="altImageText.VCOMPLY_LOGO"
|
|
1433
|
-
width="24"
|
|
1434
|
-
height="24"
|
|
1435
|
-
/>
|
|
1436
|
-
</div>
|
|
1437
|
-
<div class="errorPage-container">
|
|
1438
|
-
<div class="errorPage-inner">
|
|
1439
|
-
<div class="errorPage-inner-image">
|
|
1440
|
-
<img
|
|
1441
|
-
[ngSrc]="errorConfig.imageUrl"
|
|
1442
|
-
[alt]="altImageText.ERROR_IMAGE"
|
|
1443
|
-
width="246"
|
|
1444
|
-
height="178"
|
|
1445
|
-
/>
|
|
1446
|
-
</div>
|
|
1447
|
-
<div class="errorPage-inner-right">
|
|
1448
|
-
<div class="errorPage-heading">{{ errorConfig.title }}</div>
|
|
1449
|
-
<div class="errorPage-text">{{ errorConfig.description }}</div>
|
|
1450
|
-
<div class="errorPage-details">
|
|
1451
|
-
{{ errorConfig.details }}
|
|
1452
|
-
<a [href]="'mailto:' + errorConfig.email">{{
|
|
1453
|
-
errorConfig.email
|
|
1454
|
-
}}</a>
|
|
1455
|
-
{{ errorConfig.support }}.
|
|
1456
|
-
</div>
|
|
1457
|
-
<button class="errorPage-btn" (click)="redirectToSupport()">
|
|
1458
|
-
{{ errorConfig.buttonText }} <i class="icons"></i>
|
|
1459
|
-
</button>
|
|
1460
|
-
</div>
|
|
1461
|
-
</div>
|
|
1462
|
-
<div class="errorPage-copyright">
|
|
1463
|
-
© {{ currentYear }}, {{ organisationName }}
|
|
1464
|
-
</div>
|
|
1465
|
-
</div>
|
|
1466
|
-
</div>
|
|
1526
|
+
args: [{ selector: 'lib-vc-error-unauthorized', template: `
|
|
1527
|
+
<div class="errorPage">
|
|
1528
|
+
<div class="errorPage-top">
|
|
1529
|
+
<img
|
|
1530
|
+
[ngSrc]="VcomplyLogo"
|
|
1531
|
+
[alt]="altImageText.VCOMPLY_LOGO"
|
|
1532
|
+
width="24"
|
|
1533
|
+
height="24"
|
|
1534
|
+
/>
|
|
1535
|
+
</div>
|
|
1536
|
+
<div class="errorPage-container">
|
|
1537
|
+
<div class="errorPage-inner">
|
|
1538
|
+
<div class="errorPage-inner-image">
|
|
1539
|
+
<img
|
|
1540
|
+
[ngSrc]="errorConfig.imageUrl"
|
|
1541
|
+
[alt]="altImageText.ERROR_IMAGE"
|
|
1542
|
+
width="246"
|
|
1543
|
+
height="178"
|
|
1544
|
+
/>
|
|
1545
|
+
</div>
|
|
1546
|
+
<div class="errorPage-inner-right">
|
|
1547
|
+
<div class="errorPage-heading">{{ errorConfig.title }}</div>
|
|
1548
|
+
<div class="errorPage-text">{{ errorConfig.description }}</div>
|
|
1549
|
+
<div class="errorPage-details">
|
|
1550
|
+
{{ errorConfig.details }}
|
|
1551
|
+
<a [href]="'mailto:' + errorConfig.email">{{
|
|
1552
|
+
errorConfig.email
|
|
1553
|
+
}}</a>
|
|
1554
|
+
{{ errorConfig.support }}.
|
|
1555
|
+
</div>
|
|
1556
|
+
<button class="errorPage-btn" (click)="redirectToSupport()">
|
|
1557
|
+
{{ errorConfig.buttonText }} <i class="icons"></i>
|
|
1558
|
+
</button>
|
|
1559
|
+
</div>
|
|
1560
|
+
</div>
|
|
1561
|
+
<div class="errorPage-copyright">
|
|
1562
|
+
© {{ currentYear }}, {{ organisationName }}
|
|
1563
|
+
</div>
|
|
1564
|
+
</div>
|
|
1565
|
+
</div>
|
|
1467
1566
|
`, styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";.errorPage{background:#161b2f;position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:9999}.errorPage-top{width:100%;height:3rem;display:flex;align-items:center;padding-left:.75rem}.errorPage-container{background:#f2f2f5;border-radius:.75rem;border:1px solid #e3e3e9;box-shadow:0 4px 8px #1d5dd31a;height:calc(100vh - 3.75rem);display:flex;align-items:center;justify-content:center;padding:0 4rem;margin:0 .75rem;position:relative}.errorPage-inner{display:flex;align-items:center}.errorPage-inner-image{width:16rem}.errorPage-inner-right{margin-left:2rem;width:calc(100% - 18rem)}.errorPage-inner-right .errorPage-heading{-webkit-text-fill-color:#e3e3e9;-webkit-text-stroke-color:#a9aab6;-webkit-text-stroke-width:1px;color:#e3e3e9;font-size:78px;font-weight:700;line-height:110px;margin-bottom:1.5rem}.errorPage-inner-right .errorPage-text{color:#141724;font-size:19px;font-weight:500;line-height:1.75rem;margin-bottom:.5rem}.errorPage-inner-right .errorPage-details{color:#565a6f;font-size:13px;line-height:20px;margin-bottom:1.75rem}.errorPage-inner-right .errorPage-btn{background:#1e5dd3;border-radius:.25rem;border:none;color:#fff;display:inline-flex;align-items:center;font-size:11px;font-weight:500;line-height:2rem;padding:0 1rem}.errorPage-inner-right .errorPage-btn i{font-size:14px;margin-left:.25rem}.errorPage-copyright{font-size:11px;color:#787a8c;font-weight:500;position:absolute;bottom:8px;right:16px;line-height:16px}\n"] }]
|
|
1468
1567
|
}] });
|
|
1469
1568
|
|
|
@@ -1499,30 +1598,30 @@ class ErrorModalComponent {
|
|
|
1499
1598
|
}
|
|
1500
1599
|
}
|
|
1501
1600
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ErrorModalComponent, deps: [{ token: i1$1.AuthorizerService }, { token: DialogConfig }, { token: RouterService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1502
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ErrorModalComponent, selector: "lib-vc-error-modal", inputs: { errorType: "errorType" }, ngImport: i0, template: ` <div class="error-dialog-box">
|
|
1503
|
-
<div class="error-dialog-box-top">{{ data.heading }}</div>
|
|
1504
|
-
<div class="error-dialog-box-mid">
|
|
1505
|
-
{{ data.description }}
|
|
1506
|
-
</div>
|
|
1507
|
-
<div class="error-dialog-box-bottom">
|
|
1508
|
-
<button (click)="onContinueAction()" class="logIn-btn">
|
|
1509
|
-
{{ data.buttonText }}
|
|
1510
|
-
</button>
|
|
1511
|
-
</div>
|
|
1601
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ErrorModalComponent, selector: "lib-vc-error-modal", inputs: { errorType: "errorType" }, ngImport: i0, template: ` <div class="error-dialog-box">
|
|
1602
|
+
<div class="error-dialog-box-top">{{ data.heading }}</div>
|
|
1603
|
+
<div class="error-dialog-box-mid">
|
|
1604
|
+
{{ data.description }}
|
|
1605
|
+
</div>
|
|
1606
|
+
<div class="error-dialog-box-bottom">
|
|
1607
|
+
<button (click)="onContinueAction()" class="logIn-btn">
|
|
1608
|
+
{{ data.buttonText }}
|
|
1609
|
+
</button>
|
|
1610
|
+
</div>
|
|
1512
1611
|
</div>`, isInline: true, styles: [".error-dialog-box{background:#fff;border-radius:.75rem;box-shadow:0 1px 10px #0003;width:27rem}.error-dialog-box-top{color:#000;font-size:16px;font-weight:500;border-radius:.75rem .75rem 0 0;display:flex;align-items:center;height:3.375rem;padding:0 1rem;margin-bottom:1rem}.error-dialog-box-mid{color:#565a6f;font-size:13px;min-height:5.5rem;padding:0 1rem}.error-dialog-box-bottom{display:flex;justify-content:end;padding:1rem}.error-dialog-box-bottom button.logIn-btn{background:#1e5dd3;border-radius:.125rem;border:none;color:#fff;cursor:pointer;font-size:11px;height:2rem;padding:.5rem .75rem}\n"] }); }
|
|
1513
1612
|
}
|
|
1514
1613
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ErrorModalComponent, decorators: [{
|
|
1515
1614
|
type: Component,
|
|
1516
|
-
args: [{ selector: 'lib-vc-error-modal', template: ` <div class="error-dialog-box">
|
|
1517
|
-
<div class="error-dialog-box-top">{{ data.heading }}</div>
|
|
1518
|
-
<div class="error-dialog-box-mid">
|
|
1519
|
-
{{ data.description }}
|
|
1520
|
-
</div>
|
|
1521
|
-
<div class="error-dialog-box-bottom">
|
|
1522
|
-
<button (click)="onContinueAction()" class="logIn-btn">
|
|
1523
|
-
{{ data.buttonText }}
|
|
1524
|
-
</button>
|
|
1525
|
-
</div>
|
|
1615
|
+
args: [{ selector: 'lib-vc-error-modal', template: ` <div class="error-dialog-box">
|
|
1616
|
+
<div class="error-dialog-box-top">{{ data.heading }}</div>
|
|
1617
|
+
<div class="error-dialog-box-mid">
|
|
1618
|
+
{{ data.description }}
|
|
1619
|
+
</div>
|
|
1620
|
+
<div class="error-dialog-box-bottom">
|
|
1621
|
+
<button (click)="onContinueAction()" class="logIn-btn">
|
|
1622
|
+
{{ data.buttonText }}
|
|
1623
|
+
</button>
|
|
1624
|
+
</div>
|
|
1526
1625
|
</div>`, styles: [".error-dialog-box{background:#fff;border-radius:.75rem;box-shadow:0 1px 10px #0003;width:27rem}.error-dialog-box-top{color:#000;font-size:16px;font-weight:500;border-radius:.75rem .75rem 0 0;display:flex;align-items:center;height:3.375rem;padding:0 1rem;margin-bottom:1rem}.error-dialog-box-mid{color:#565a6f;font-size:13px;min-height:5.5rem;padding:0 1rem}.error-dialog-box-bottom{display:flex;justify-content:end;padding:1rem}.error-dialog-box-bottom button.logIn-btn{background:#1e5dd3;border-radius:.125rem;border:none;color:#fff;cursor:pointer;font-size:11px;height:2rem;padding:.5rem .75rem}\n"] }]
|
|
1527
1626
|
}], ctorParameters: function () { return [{ type: i1$1.AuthorizerService }, { type: DialogConfig }, { type: RouterService }]; }, propDecorators: { errorType: [{
|
|
1528
1627
|
type: Input
|
|
@@ -1619,11 +1718,11 @@ class DialogComponent {
|
|
|
1619
1718
|
document.body.style.overflow = 'auto';
|
|
1620
1719
|
}
|
|
1621
1720
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DialogComponent, deps: [{ token: i0.ComponentFactoryResolver }, { token: i0.ChangeDetectorRef }, { token: DialogRef }, { token: DialogConfig }, { token: i3.Router }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1622
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DialogComponent, selector: "app-dialog", viewQueries: [{ propertyName: "insertionPoint", first: true, predicate: InsertionDirective, descendants: true, static: true }], ngImport: i0, template: "<div\
|
|
1721
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DialogComponent, selector: "app-dialog", viewQueries: [{ propertyName: "insertionPoint", first: true, predicate: InsertionDirective, descendants: true, static: true }], ngImport: i0, template: "<div\n class=\"overlay\"\n (click)=\"onOverlayClicked($event)\"\n [ngClass]=\"{\n top: position === 'TOP',\n right: position === 'RIGHT',\n bottom: position === 'BOTTOM',\n left: position === 'LEFT',\n center: position === 'CENTER',\n black: background === 'black',\n whiteBlur: background === 'whiteBlur'\n }\" [class.pointer-none]=\"pointer === 'none'\"\n>\n <div\n class=\"dialog\"\n [class.animate]=\"animation\"\n (click)=\"onDialogClicked($event)\"\n [ngClass]=\"{\n top: position === 'TOP',\n right: position === 'RIGHT',\n bottom: position === 'BOTTOM',\n left: position === 'LEFT',\n center: position === 'CENTER'\n }\"\n >\n <ng-template appInsertion></ng-template>\n </div>\n</div>\n", styles: [".overlay{display:flex;position:fixed;inset:0;align-items:center;justify-content:center;z-index:2147483009!important}.overlay.low{z-index:1}.overlay.black{background:#161b2fcc}.overlay.whiteBlur{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.overlay.top{align-items:flex-start}.overlay.right{justify-content:flex-end}.overlay.bottom{align-items:flex-end}.overlay.left{justify-content:flex-start}.dialog{position:relative}.dialog.animate.top{animation:animate-top .2s cubic-bezier(.25,.46,.45,.94) both}@keyframes animate-top{0%{transform:translateY(-100px)}to{transform:translateY(0)}}.dialog.animate.right{animation:animate-right .2s cubic-bezier(.25,.46,.45,.94) both}@keyframes animate-right{0%{transform:translate(100%)}to{transform:translate(0)}}.pointer-none{pointer-events:none}\n"], dependencies: [{ kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: InsertionDirective, selector: "[appInsertion]" }] }); }
|
|
1623
1722
|
}
|
|
1624
1723
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DialogComponent, decorators: [{
|
|
1625
1724
|
type: Component,
|
|
1626
|
-
args: [{ selector: 'app-dialog', template: "<div\
|
|
1725
|
+
args: [{ selector: 'app-dialog', template: "<div\n class=\"overlay\"\n (click)=\"onOverlayClicked($event)\"\n [ngClass]=\"{\n top: position === 'TOP',\n right: position === 'RIGHT',\n bottom: position === 'BOTTOM',\n left: position === 'LEFT',\n center: position === 'CENTER',\n black: background === 'black',\n whiteBlur: background === 'whiteBlur'\n }\" [class.pointer-none]=\"pointer === 'none'\"\n>\n <div\n class=\"dialog\"\n [class.animate]=\"animation\"\n (click)=\"onDialogClicked($event)\"\n [ngClass]=\"{\n top: position === 'TOP',\n right: position === 'RIGHT',\n bottom: position === 'BOTTOM',\n left: position === 'LEFT',\n center: position === 'CENTER'\n }\"\n >\n <ng-template appInsertion></ng-template>\n </div>\n</div>\n", styles: [".overlay{display:flex;position:fixed;inset:0;align-items:center;justify-content:center;z-index:2147483009!important}.overlay.low{z-index:1}.overlay.black{background:#161b2fcc}.overlay.whiteBlur{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.overlay.top{align-items:flex-start}.overlay.right{justify-content:flex-end}.overlay.bottom{align-items:flex-end}.overlay.left{justify-content:flex-start}.dialog{position:relative}.dialog.animate.top{animation:animate-top .2s cubic-bezier(.25,.46,.45,.94) both}@keyframes animate-top{0%{transform:translateY(-100px)}to{transform:translateY(0)}}.dialog.animate.right{animation:animate-right .2s cubic-bezier(.25,.46,.45,.94) both}@keyframes animate-right{0%{transform:translate(100%)}to{transform:translate(0)}}.pointer-none{pointer-events:none}\n"] }]
|
|
1627
1726
|
}], ctorParameters: function () { return [{ type: i0.ComponentFactoryResolver }, { type: i0.ChangeDetectorRef }, { type: DialogRef }, { type: DialogConfig }, { type: i3.Router }]; }, propDecorators: { insertionPoint: [{
|
|
1628
1727
|
type: ViewChild,
|
|
1629
1728
|
args: [InsertionDirective, { static: true }]
|
|
@@ -1774,79 +1873,80 @@ class ServerErrorComponent {
|
|
|
1774
1873
|
window.location.reload();
|
|
1775
1874
|
}
|
|
1776
1875
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ServerErrorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1777
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ServerErrorComponent, selector: "lib-vc-error-server-error", ngImport: i0, template: `
|
|
1778
|
-
<div class="errorPage">
|
|
1779
|
-
<div class="errorPage-top">
|
|
1780
|
-
<img
|
|
1781
|
-
[ngSrc]="VcomplyLogo"
|
|
1782
|
-
[alt]="altImageText.VCOMPLY_LOGO"
|
|
1783
|
-
width="24"
|
|
1784
|
-
height="24"
|
|
1785
|
-
/>
|
|
1786
|
-
</div>
|
|
1787
|
-
<div class="errorPage-container">
|
|
1788
|
-
<div class="errorPage-inner">
|
|
1789
|
-
<div class="errorPage-inner-image">
|
|
1790
|
-
<img
|
|
1791
|
-
[ngSrc]="errorConfig.imageUrl"
|
|
1792
|
-
[alt]="altImageText.ERROR_IMAGE"
|
|
1793
|
-
width="246"
|
|
1794
|
-
height="178"
|
|
1795
|
-
/>
|
|
1796
|
-
</div>
|
|
1797
|
-
<div class="errorPage-inner-right">
|
|
1798
|
-
<div class="errorPage-heading">{{ errorConfig.title }}</div>
|
|
1799
|
-
<div class="errorPage-text">{{ errorConfig.description }}</div>
|
|
1800
|
-
<div class="errorPage-details">{{ errorConfig.details }}</div>
|
|
1801
|
-
<button class="errorPage-btn" (click)="refreshPage()">
|
|
1802
|
-
{{ errorConfig.buttonText }} <i class="icons"></i>
|
|
1803
|
-
</button>
|
|
1804
|
-
</div>
|
|
1805
|
-
</div>
|
|
1806
|
-
</div>
|
|
1807
|
-
</div>
|
|
1808
|
-
`, isInline: true, styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";.errorPage{background:#161b2f;position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:9999}.errorPage-top{width:100%;height:3rem;display:flex;align-items:center;padding-left:.75rem}.errorPage-container{background:#f2f2f5;border-radius:.75rem;border:1px solid #e3e3e9;box-shadow:0 4px 8px #1d5dd31a;height:calc(100vh - 3.75rem);display:flex;align-items:center;justify-content:center;padding:0 4rem;margin:0 .75rem;position:relative}.errorPage-inner{display:flex;align-items:center}.errorPage-inner-image{width:16rem}.errorPage-inner-right{margin-left:2rem;width:calc(100% - 18rem)}.errorPage-inner-right .errorPage-heading{-webkit-text-fill-color:#e3e3e9;-webkit-text-stroke-color:#a9aab6;-webkit-text-stroke-width:1px;color:#e3e3e9;font-size:78px;font-weight:700;line-height:110px;margin-bottom:1.5rem}.errorPage-inner-right .errorPage-text{color:#141724;font-size:19px;font-weight:500;line-height:1.75rem;margin-bottom:.5rem}.errorPage-inner-right .errorPage-details{color:#565a6f;font-size:13px;line-height:20px;margin-bottom:1.75rem}.errorPage-inner-right .errorPage-btn{background:#1e5dd3;border-radius:.25rem;border:none;color:#fff;display:inline-flex;align-items:center;font-size:11px;font-weight:500;line-height:2rem;padding:0 1rem}.errorPage-inner-right .errorPage-btn i{font-size:14px;margin-left:.25rem}.errorPage-copyright{font-size:11px;color:#787a8c;font-weight:500;position:absolute;bottom:8px;right:16px;line-height:16px}\n"], dependencies: [{ kind: "directive", type: i1.NgOptimizedImage, selector: "img[ngSrc]", inputs: ["ngSrc", "ngSrcset", "sizes", "width", "height", "loading", "priority", "loaderParams", "disableOptimizedSrcset", "fill", "src", "srcset"] }] }); }
|
|
1876
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ServerErrorComponent, selector: "lib-vc-error-server-error", ngImport: i0, template: `
|
|
1877
|
+
<div class="errorPage">
|
|
1878
|
+
<div class="errorPage-top">
|
|
1879
|
+
<img
|
|
1880
|
+
[ngSrc]="VcomplyLogo"
|
|
1881
|
+
[alt]="altImageText.VCOMPLY_LOGO"
|
|
1882
|
+
width="24"
|
|
1883
|
+
height="24"
|
|
1884
|
+
/>
|
|
1885
|
+
</div>
|
|
1886
|
+
<div class="errorPage-container">
|
|
1887
|
+
<div class="errorPage-inner">
|
|
1888
|
+
<div class="errorPage-inner-image">
|
|
1889
|
+
<img
|
|
1890
|
+
[ngSrc]="errorConfig.imageUrl"
|
|
1891
|
+
[alt]="altImageText.ERROR_IMAGE"
|
|
1892
|
+
width="246"
|
|
1893
|
+
height="178"
|
|
1894
|
+
/>
|
|
1895
|
+
</div>
|
|
1896
|
+
<div class="errorPage-inner-right">
|
|
1897
|
+
<div class="errorPage-heading">{{ errorConfig.title }}</div>
|
|
1898
|
+
<div class="errorPage-text">{{ errorConfig.description }}</div>
|
|
1899
|
+
<div class="errorPage-details">{{ errorConfig.details }}</div>
|
|
1900
|
+
<button class="errorPage-btn" (click)="refreshPage()">
|
|
1901
|
+
{{ errorConfig.buttonText }} <i class="icons"></i>
|
|
1902
|
+
</button>
|
|
1903
|
+
</div>
|
|
1904
|
+
</div>
|
|
1905
|
+
</div>
|
|
1906
|
+
</div>
|
|
1907
|
+
`, isInline: true, styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";.errorPage{background:#161b2f;position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:9999}.errorPage-top{width:100%;height:3rem;display:flex;align-items:center;padding-left:.75rem}.errorPage-container{background:#f2f2f5;border-radius:.75rem;border:1px solid #e3e3e9;box-shadow:0 4px 8px #1d5dd31a;height:calc(100vh - 3.75rem);display:flex;align-items:center;justify-content:center;padding:0 4rem;margin:0 .75rem;position:relative}.errorPage-inner{display:flex;align-items:center}.errorPage-inner-image{width:16rem}.errorPage-inner-right{margin-left:2rem;width:calc(100% - 18rem)}.errorPage-inner-right .errorPage-heading{-webkit-text-fill-color:#e3e3e9;-webkit-text-stroke-color:#a9aab6;-webkit-text-stroke-width:1px;color:#e3e3e9;font-size:78px;font-weight:700;line-height:110px;margin-bottom:1.5rem}.errorPage-inner-right .errorPage-text{color:#141724;font-size:19px;font-weight:500;line-height:1.75rem;margin-bottom:.5rem}.errorPage-inner-right .errorPage-details{color:#565a6f;font-size:13px;line-height:20px;margin-bottom:1.75rem}.errorPage-inner-right .errorPage-btn{background:#1e5dd3;border-radius:.25rem;border:none;color:#fff;display:inline-flex;align-items:center;font-size:11px;font-weight:500;line-height:2rem;padding:0 1rem}.errorPage-inner-right .errorPage-btn i{font-size:14px;margin-left:.25rem}.errorPage-copyright{font-size:11px;color:#787a8c;font-weight:500;position:absolute;bottom:8px;right:16px;line-height:16px}\n"], dependencies: [{ kind: "directive", type: i1$2.NgOptimizedImage, selector: "img[ngSrc]", inputs: ["ngSrc", "ngSrcset", "sizes", "width", "height", "loading", "priority", "loaderParams", "disableOptimizedSrcset", "fill", "src", "srcset"] }] }); }
|
|
1809
1908
|
}
|
|
1810
1909
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ServerErrorComponent, decorators: [{
|
|
1811
1910
|
type: Component,
|
|
1812
|
-
args: [{ selector: 'lib-vc-error-server-error', template: `
|
|
1813
|
-
<div class="errorPage">
|
|
1814
|
-
<div class="errorPage-top">
|
|
1815
|
-
<img
|
|
1816
|
-
[ngSrc]="VcomplyLogo"
|
|
1817
|
-
[alt]="altImageText.VCOMPLY_LOGO"
|
|
1818
|
-
width="24"
|
|
1819
|
-
height="24"
|
|
1820
|
-
/>
|
|
1821
|
-
</div>
|
|
1822
|
-
<div class="errorPage-container">
|
|
1823
|
-
<div class="errorPage-inner">
|
|
1824
|
-
<div class="errorPage-inner-image">
|
|
1825
|
-
<img
|
|
1826
|
-
[ngSrc]="errorConfig.imageUrl"
|
|
1827
|
-
[alt]="altImageText.ERROR_IMAGE"
|
|
1828
|
-
width="246"
|
|
1829
|
-
height="178"
|
|
1830
|
-
/>
|
|
1831
|
-
</div>
|
|
1832
|
-
<div class="errorPage-inner-right">
|
|
1833
|
-
<div class="errorPage-heading">{{ errorConfig.title }}</div>
|
|
1834
|
-
<div class="errorPage-text">{{ errorConfig.description }}</div>
|
|
1835
|
-
<div class="errorPage-details">{{ errorConfig.details }}</div>
|
|
1836
|
-
<button class="errorPage-btn" (click)="refreshPage()">
|
|
1837
|
-
{{ errorConfig.buttonText }} <i class="icons"></i>
|
|
1838
|
-
</button>
|
|
1839
|
-
</div>
|
|
1840
|
-
</div>
|
|
1841
|
-
</div>
|
|
1842
|
-
</div>
|
|
1911
|
+
args: [{ selector: 'lib-vc-error-server-error', template: `
|
|
1912
|
+
<div class="errorPage">
|
|
1913
|
+
<div class="errorPage-top">
|
|
1914
|
+
<img
|
|
1915
|
+
[ngSrc]="VcomplyLogo"
|
|
1916
|
+
[alt]="altImageText.VCOMPLY_LOGO"
|
|
1917
|
+
width="24"
|
|
1918
|
+
height="24"
|
|
1919
|
+
/>
|
|
1920
|
+
</div>
|
|
1921
|
+
<div class="errorPage-container">
|
|
1922
|
+
<div class="errorPage-inner">
|
|
1923
|
+
<div class="errorPage-inner-image">
|
|
1924
|
+
<img
|
|
1925
|
+
[ngSrc]="errorConfig.imageUrl"
|
|
1926
|
+
[alt]="altImageText.ERROR_IMAGE"
|
|
1927
|
+
width="246"
|
|
1928
|
+
height="178"
|
|
1929
|
+
/>
|
|
1930
|
+
</div>
|
|
1931
|
+
<div class="errorPage-inner-right">
|
|
1932
|
+
<div class="errorPage-heading">{{ errorConfig.title }}</div>
|
|
1933
|
+
<div class="errorPage-text">{{ errorConfig.description }}</div>
|
|
1934
|
+
<div class="errorPage-details">{{ errorConfig.details }}</div>
|
|
1935
|
+
<button class="errorPage-btn" (click)="refreshPage()">
|
|
1936
|
+
{{ errorConfig.buttonText }} <i class="icons"></i>
|
|
1937
|
+
</button>
|
|
1938
|
+
</div>
|
|
1939
|
+
</div>
|
|
1940
|
+
</div>
|
|
1941
|
+
</div>
|
|
1843
1942
|
`, styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";.errorPage{background:#161b2f;position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:9999}.errorPage-top{width:100%;height:3rem;display:flex;align-items:center;padding-left:.75rem}.errorPage-container{background:#f2f2f5;border-radius:.75rem;border:1px solid #e3e3e9;box-shadow:0 4px 8px #1d5dd31a;height:calc(100vh - 3.75rem);display:flex;align-items:center;justify-content:center;padding:0 4rem;margin:0 .75rem;position:relative}.errorPage-inner{display:flex;align-items:center}.errorPage-inner-image{width:16rem}.errorPage-inner-right{margin-left:2rem;width:calc(100% - 18rem)}.errorPage-inner-right .errorPage-heading{-webkit-text-fill-color:#e3e3e9;-webkit-text-stroke-color:#a9aab6;-webkit-text-stroke-width:1px;color:#e3e3e9;font-size:78px;font-weight:700;line-height:110px;margin-bottom:1.5rem}.errorPage-inner-right .errorPage-text{color:#141724;font-size:19px;font-weight:500;line-height:1.75rem;margin-bottom:.5rem}.errorPage-inner-right .errorPage-details{color:#565a6f;font-size:13px;line-height:20px;margin-bottom:1.75rem}.errorPage-inner-right .errorPage-btn{background:#1e5dd3;border-radius:.25rem;border:none;color:#fff;display:inline-flex;align-items:center;font-size:11px;font-weight:500;line-height:2rem;padding:0 1rem}.errorPage-inner-right .errorPage-btn i{font-size:14px;margin-left:.25rem}.errorPage-copyright{font-size:11px;color:#787a8c;font-weight:500;position:absolute;bottom:8px;right:16px;line-height:16px}\n"] }]
|
|
1844
1943
|
}] });
|
|
1845
1944
|
|
|
1846
1945
|
class VcErrorHandlersComponent {
|
|
1847
|
-
constructor(errorService, snackBarService) {
|
|
1946
|
+
constructor(errorService, snackBarService, featureFlagService) {
|
|
1848
1947
|
this.errorService = errorService;
|
|
1849
1948
|
this.snackBarService = snackBarService;
|
|
1949
|
+
this.featureFlagService = featureFlagService;
|
|
1850
1950
|
this.errorConfig = ERROR_CONFIG.NETWORK_UNAVAILABLE;
|
|
1851
1951
|
this.unauthorized = false;
|
|
1852
1952
|
this.sessionExpired = false;
|
|
@@ -1868,6 +1968,7 @@ class VcErrorHandlersComponent {
|
|
|
1868
1968
|
}
|
|
1869
1969
|
ngOnInit() {
|
|
1870
1970
|
this.subscribeNetworkDetection();
|
|
1971
|
+
this.featureFlagService.featuresMap = this.feature.featuresMap;
|
|
1871
1972
|
}
|
|
1872
1973
|
ngOnDestroy() {
|
|
1873
1974
|
window.removeEventListener('online', this.onNetworkOnline);
|
|
@@ -1907,36 +2008,40 @@ class VcErrorHandlersComponent {
|
|
|
1907
2008
|
hideSnackBar() {
|
|
1908
2009
|
this.snackBarService.hide();
|
|
1909
2010
|
}
|
|
1910
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: VcErrorHandlersComponent, deps: [{ token: GlobalErrorService }, { token: SnackBarService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1911
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: VcErrorHandlersComponent, selector: "lib-vc-error-handlers", inputs: { disableSnackBar: "disableSnackBar" }, ngImport: i0, template: `
|
|
1912
|
-
<app-snack-bar></app-snack-bar>
|
|
1913
|
-
<lib-vc-error-session-expired
|
|
1914
|
-
*ngIf="sessionExpired"
|
|
1915
|
-
></lib-vc-error-session-expired>
|
|
1916
|
-
|
|
1917
|
-
<lib-vc-error-
|
|
1918
|
-
|
|
1919
|
-
|
|
1920
|
-
|
|
1921
|
-
|
|
2011
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: VcErrorHandlersComponent, deps: [{ token: GlobalErrorService }, { token: SnackBarService }, { token: FeatureFlagService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2012
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: VcErrorHandlersComponent, selector: "lib-vc-error-handlers", inputs: { disableSnackBar: "disableSnackBar", feature: "feature" }, ngImport: i0, template: `
|
|
2013
|
+
<app-snack-bar></app-snack-bar>
|
|
2014
|
+
<lib-vc-error-session-expired
|
|
2015
|
+
*ngIf="sessionExpired"
|
|
2016
|
+
></lib-vc-error-session-expired>
|
|
2017
|
+
|
|
2018
|
+
<lib-vc-error-unauthorized *ngIf="unauthorized"></lib-vc-error-unauthorized>
|
|
2019
|
+
<lib-vc-error-chunk-unavailable
|
|
2020
|
+
*ngIf="chunkUnavailable"
|
|
2021
|
+
></lib-vc-error-chunk-unavailable>
|
|
2022
|
+
<lib-vc-error-server-error *ngIf="serverError"></lib-vc-error-server-error>
|
|
2023
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: SnackBarComponent, selector: "app-snack-bar" }, { kind: "component", type: UnauthorizedComponent, selector: "lib-vc-error-unauthorized" }, { kind: "component", type: SessionExpiredComponent, selector: "lib-vc-error-session-expired" }, { kind: "component", type: ChunkUnavailableComponent, selector: "lib-vc-error-chunk-unavailable" }, { kind: "component", type: ServerErrorComponent, selector: "lib-vc-error-server-error" }] }); }
|
|
1922
2024
|
}
|
|
1923
2025
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: VcErrorHandlersComponent, decorators: [{
|
|
1924
2026
|
type: Component,
|
|
1925
2027
|
args: [{
|
|
1926
2028
|
selector: 'lib-vc-error-handlers',
|
|
1927
|
-
template: `
|
|
1928
|
-
<app-snack-bar></app-snack-bar>
|
|
1929
|
-
<lib-vc-error-session-expired
|
|
1930
|
-
*ngIf="sessionExpired"
|
|
1931
|
-
></lib-vc-error-session-expired>
|
|
1932
|
-
|
|
1933
|
-
<lib-vc-error-
|
|
1934
|
-
|
|
1935
|
-
|
|
1936
|
-
|
|
2029
|
+
template: `
|
|
2030
|
+
<app-snack-bar></app-snack-bar>
|
|
2031
|
+
<lib-vc-error-session-expired
|
|
2032
|
+
*ngIf="sessionExpired"
|
|
2033
|
+
></lib-vc-error-session-expired>
|
|
2034
|
+
|
|
2035
|
+
<lib-vc-error-unauthorized *ngIf="unauthorized"></lib-vc-error-unauthorized>
|
|
2036
|
+
<lib-vc-error-chunk-unavailable
|
|
2037
|
+
*ngIf="chunkUnavailable"
|
|
2038
|
+
></lib-vc-error-chunk-unavailable>
|
|
2039
|
+
<lib-vc-error-server-error *ngIf="serverError"></lib-vc-error-server-error>
|
|
1937
2040
|
`,
|
|
1938
2041
|
}]
|
|
1939
|
-
}], ctorParameters: function () { return [{ type: GlobalErrorService }, { type: SnackBarService }]; }, propDecorators: { disableSnackBar: [{
|
|
2042
|
+
}], ctorParameters: function () { return [{ type: GlobalErrorService }, { type: SnackBarService }, { type: FeatureFlagService }]; }, propDecorators: { disableSnackBar: [{
|
|
2043
|
+
type: Input
|
|
2044
|
+
}], feature: [{
|
|
1940
2045
|
type: Input
|
|
1941
2046
|
}] } });
|
|
1942
2047
|
|
|
@@ -1970,78 +2075,78 @@ class PageNotFoundComponent {
|
|
|
1970
2075
|
window.location.replace(targetPath);
|
|
1971
2076
|
}
|
|
1972
2077
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PageNotFoundComponent, deps: [{ token: i3.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1973
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PageNotFoundComponent, selector: "lib-vc-error-page-not-found", ngImport: i0, template: `
|
|
1974
|
-
<div class="errorPage">
|
|
1975
|
-
<div class="errorPage-top">
|
|
1976
|
-
<img
|
|
1977
|
-
[ngSrc]="VcomplyLogo"
|
|
1978
|
-
[alt]="altImageText.VCOMPLY_LOGO"
|
|
1979
|
-
width="24"
|
|
1980
|
-
height="24"
|
|
1981
|
-
/>
|
|
1982
|
-
</div>
|
|
1983
|
-
<div class="errorPage-container">
|
|
1984
|
-
<div class="errorPage-inner">
|
|
1985
|
-
<div class="errorPage-inner-image">
|
|
1986
|
-
<img
|
|
1987
|
-
[ngSrc]="errorConfig.imageUrl"
|
|
1988
|
-
[alt]="altImageText.ERROR_IMAGE"
|
|
1989
|
-
width="246"
|
|
1990
|
-
height="178"
|
|
1991
|
-
/>
|
|
1992
|
-
</div>
|
|
1993
|
-
<div class="errorPage-inner-right">
|
|
1994
|
-
<div class="errorPage-heading">{{ errorConfig.title }}</div>
|
|
1995
|
-
<div class="errorPage-text">{{ errorConfig.description }}</div>
|
|
1996
|
-
<div class="errorPage-details">{{ errorConfig.details }}</div>
|
|
1997
|
-
<button class="errorPage-btn" (click)="redirectToHome()">
|
|
1998
|
-
{{ errorConfig.buttonText }} <i class="icons"></i>
|
|
1999
|
-
</button>
|
|
2000
|
-
</div>
|
|
2001
|
-
</div>
|
|
2002
|
-
<div class="errorPage-copyright">
|
|
2003
|
-
© {{ currentYear }}, {{ organisationName }}
|
|
2004
|
-
</div>
|
|
2005
|
-
</div>
|
|
2006
|
-
</div>
|
|
2007
|
-
`, isInline: true, styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";.errorPage{background:#161b2f;position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:9999}.errorPage-top{width:100%;height:3rem;display:flex;align-items:center;padding-left:.75rem}.errorPage-container{background:#f2f2f5;border-radius:.75rem;border:1px solid #e3e3e9;box-shadow:0 4px 8px #1d5dd31a;height:calc(100vh - 3.75rem);display:flex;align-items:center;justify-content:center;padding:0 4rem;margin:0 .75rem;position:relative}.errorPage-inner{display:flex;align-items:center}.errorPage-inner-image{width:16rem}.errorPage-inner-right{margin-left:2rem;width:calc(100% - 18rem)}.errorPage-inner-right .errorPage-heading{-webkit-text-fill-color:#e3e3e9;-webkit-text-stroke-color:#a9aab6;-webkit-text-stroke-width:1px;color:#e3e3e9;font-size:78px;font-weight:700;line-height:110px;margin-bottom:1.5rem}.errorPage-inner-right .errorPage-text{color:#141724;font-size:19px;font-weight:500;line-height:1.75rem;margin-bottom:.5rem}.errorPage-inner-right .errorPage-details{color:#565a6f;font-size:13px;line-height:20px;margin-bottom:1.75rem}.errorPage-inner-right .errorPage-btn{background:#1e5dd3;border-radius:.25rem;border:none;color:#fff;display:inline-flex;align-items:center;font-size:11px;font-weight:500;line-height:2rem;padding:0 1rem}.errorPage-inner-right .errorPage-btn i{font-size:14px;margin-left:.25rem}.errorPage-copyright{font-size:11px;color:#787a8c;font-weight:500;position:absolute;bottom:8px;right:16px;line-height:16px}\n"], dependencies: [{ kind: "directive", type: i1.NgOptimizedImage, selector: "img[ngSrc]", inputs: ["ngSrc", "ngSrcset", "sizes", "width", "height", "loading", "priority", "loaderParams", "disableOptimizedSrcset", "fill", "src", "srcset"] }] }); }
|
|
2078
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PageNotFoundComponent, selector: "lib-vc-error-page-not-found", ngImport: i0, template: `
|
|
2079
|
+
<div class="errorPage">
|
|
2080
|
+
<div class="errorPage-top">
|
|
2081
|
+
<img
|
|
2082
|
+
[ngSrc]="VcomplyLogo"
|
|
2083
|
+
[alt]="altImageText.VCOMPLY_LOGO"
|
|
2084
|
+
width="24"
|
|
2085
|
+
height="24"
|
|
2086
|
+
/>
|
|
2087
|
+
</div>
|
|
2088
|
+
<div class="errorPage-container">
|
|
2089
|
+
<div class="errorPage-inner">
|
|
2090
|
+
<div class="errorPage-inner-image">
|
|
2091
|
+
<img
|
|
2092
|
+
[ngSrc]="errorConfig.imageUrl"
|
|
2093
|
+
[alt]="altImageText.ERROR_IMAGE"
|
|
2094
|
+
width="246"
|
|
2095
|
+
height="178"
|
|
2096
|
+
/>
|
|
2097
|
+
</div>
|
|
2098
|
+
<div class="errorPage-inner-right">
|
|
2099
|
+
<div class="errorPage-heading">{{ errorConfig.title }}</div>
|
|
2100
|
+
<div class="errorPage-text">{{ errorConfig.description }}</div>
|
|
2101
|
+
<div class="errorPage-details">{{ errorConfig.details }}</div>
|
|
2102
|
+
<button class="errorPage-btn" (click)="redirectToHome()">
|
|
2103
|
+
{{ errorConfig.buttonText }} <i class="icons"></i>
|
|
2104
|
+
</button>
|
|
2105
|
+
</div>
|
|
2106
|
+
</div>
|
|
2107
|
+
<div class="errorPage-copyright">
|
|
2108
|
+
© {{ currentYear }}, {{ organisationName }}
|
|
2109
|
+
</div>
|
|
2110
|
+
</div>
|
|
2111
|
+
</div>
|
|
2112
|
+
`, isInline: true, styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";.errorPage{background:#161b2f;position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:9999}.errorPage-top{width:100%;height:3rem;display:flex;align-items:center;padding-left:.75rem}.errorPage-container{background:#f2f2f5;border-radius:.75rem;border:1px solid #e3e3e9;box-shadow:0 4px 8px #1d5dd31a;height:calc(100vh - 3.75rem);display:flex;align-items:center;justify-content:center;padding:0 4rem;margin:0 .75rem;position:relative}.errorPage-inner{display:flex;align-items:center}.errorPage-inner-image{width:16rem}.errorPage-inner-right{margin-left:2rem;width:calc(100% - 18rem)}.errorPage-inner-right .errorPage-heading{-webkit-text-fill-color:#e3e3e9;-webkit-text-stroke-color:#a9aab6;-webkit-text-stroke-width:1px;color:#e3e3e9;font-size:78px;font-weight:700;line-height:110px;margin-bottom:1.5rem}.errorPage-inner-right .errorPage-text{color:#141724;font-size:19px;font-weight:500;line-height:1.75rem;margin-bottom:.5rem}.errorPage-inner-right .errorPage-details{color:#565a6f;font-size:13px;line-height:20px;margin-bottom:1.75rem}.errorPage-inner-right .errorPage-btn{background:#1e5dd3;border-radius:.25rem;border:none;color:#fff;display:inline-flex;align-items:center;font-size:11px;font-weight:500;line-height:2rem;padding:0 1rem}.errorPage-inner-right .errorPage-btn i{font-size:14px;margin-left:.25rem}.errorPage-copyright{font-size:11px;color:#787a8c;font-weight:500;position:absolute;bottom:8px;right:16px;line-height:16px}\n"], dependencies: [{ kind: "directive", type: i1$2.NgOptimizedImage, selector: "img[ngSrc]", inputs: ["ngSrc", "ngSrcset", "sizes", "width", "height", "loading", "priority", "loaderParams", "disableOptimizedSrcset", "fill", "src", "srcset"] }] }); }
|
|
2008
2113
|
}
|
|
2009
2114
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PageNotFoundComponent, decorators: [{
|
|
2010
2115
|
type: Component,
|
|
2011
|
-
args: [{ selector: 'lib-vc-error-page-not-found', template: `
|
|
2012
|
-
<div class="errorPage">
|
|
2013
|
-
<div class="errorPage-top">
|
|
2014
|
-
<img
|
|
2015
|
-
[ngSrc]="VcomplyLogo"
|
|
2016
|
-
[alt]="altImageText.VCOMPLY_LOGO"
|
|
2017
|
-
width="24"
|
|
2018
|
-
height="24"
|
|
2019
|
-
/>
|
|
2020
|
-
</div>
|
|
2021
|
-
<div class="errorPage-container">
|
|
2022
|
-
<div class="errorPage-inner">
|
|
2023
|
-
<div class="errorPage-inner-image">
|
|
2024
|
-
<img
|
|
2025
|
-
[ngSrc]="errorConfig.imageUrl"
|
|
2026
|
-
[alt]="altImageText.ERROR_IMAGE"
|
|
2027
|
-
width="246"
|
|
2028
|
-
height="178"
|
|
2029
|
-
/>
|
|
2030
|
-
</div>
|
|
2031
|
-
<div class="errorPage-inner-right">
|
|
2032
|
-
<div class="errorPage-heading">{{ errorConfig.title }}</div>
|
|
2033
|
-
<div class="errorPage-text">{{ errorConfig.description }}</div>
|
|
2034
|
-
<div class="errorPage-details">{{ errorConfig.details }}</div>
|
|
2035
|
-
<button class="errorPage-btn" (click)="redirectToHome()">
|
|
2036
|
-
{{ errorConfig.buttonText }} <i class="icons"></i>
|
|
2037
|
-
</button>
|
|
2038
|
-
</div>
|
|
2039
|
-
</div>
|
|
2040
|
-
<div class="errorPage-copyright">
|
|
2041
|
-
© {{ currentYear }}, {{ organisationName }}
|
|
2042
|
-
</div>
|
|
2043
|
-
</div>
|
|
2044
|
-
</div>
|
|
2116
|
+
args: [{ selector: 'lib-vc-error-page-not-found', template: `
|
|
2117
|
+
<div class="errorPage">
|
|
2118
|
+
<div class="errorPage-top">
|
|
2119
|
+
<img
|
|
2120
|
+
[ngSrc]="VcomplyLogo"
|
|
2121
|
+
[alt]="altImageText.VCOMPLY_LOGO"
|
|
2122
|
+
width="24"
|
|
2123
|
+
height="24"
|
|
2124
|
+
/>
|
|
2125
|
+
</div>
|
|
2126
|
+
<div class="errorPage-container">
|
|
2127
|
+
<div class="errorPage-inner">
|
|
2128
|
+
<div class="errorPage-inner-image">
|
|
2129
|
+
<img
|
|
2130
|
+
[ngSrc]="errorConfig.imageUrl"
|
|
2131
|
+
[alt]="altImageText.ERROR_IMAGE"
|
|
2132
|
+
width="246"
|
|
2133
|
+
height="178"
|
|
2134
|
+
/>
|
|
2135
|
+
</div>
|
|
2136
|
+
<div class="errorPage-inner-right">
|
|
2137
|
+
<div class="errorPage-heading">{{ errorConfig.title }}</div>
|
|
2138
|
+
<div class="errorPage-text">{{ errorConfig.description }}</div>
|
|
2139
|
+
<div class="errorPage-details">{{ errorConfig.details }}</div>
|
|
2140
|
+
<button class="errorPage-btn" (click)="redirectToHome()">
|
|
2141
|
+
{{ errorConfig.buttonText }} <i class="icons"></i>
|
|
2142
|
+
</button>
|
|
2143
|
+
</div>
|
|
2144
|
+
</div>
|
|
2145
|
+
<div class="errorPage-copyright">
|
|
2146
|
+
© {{ currentYear }}, {{ organisationName }}
|
|
2147
|
+
</div>
|
|
2148
|
+
</div>
|
|
2149
|
+
</div>
|
|
2045
2150
|
`, styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";.errorPage{background:#161b2f;position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:9999}.errorPage-top{width:100%;height:3rem;display:flex;align-items:center;padding-left:.75rem}.errorPage-container{background:#f2f2f5;border-radius:.75rem;border:1px solid #e3e3e9;box-shadow:0 4px 8px #1d5dd31a;height:calc(100vh - 3.75rem);display:flex;align-items:center;justify-content:center;padding:0 4rem;margin:0 .75rem;position:relative}.errorPage-inner{display:flex;align-items:center}.errorPage-inner-image{width:16rem}.errorPage-inner-right{margin-left:2rem;width:calc(100% - 18rem)}.errorPage-inner-right .errorPage-heading{-webkit-text-fill-color:#e3e3e9;-webkit-text-stroke-color:#a9aab6;-webkit-text-stroke-width:1px;color:#e3e3e9;font-size:78px;font-weight:700;line-height:110px;margin-bottom:1.5rem}.errorPage-inner-right .errorPage-text{color:#141724;font-size:19px;font-weight:500;line-height:1.75rem;margin-bottom:.5rem}.errorPage-inner-right .errorPage-details{color:#565a6f;font-size:13px;line-height:20px;margin-bottom:1.75rem}.errorPage-inner-right .errorPage-btn{background:#1e5dd3;border-radius:.25rem;border:none;color:#fff;display:inline-flex;align-items:center;font-size:11px;font-weight:500;line-height:2rem;padding:0 1rem}.errorPage-inner-right .errorPage-btn i{font-size:14px;margin-left:.25rem}.errorPage-copyright{font-size:11px;color:#787a8c;font-weight:500;position:absolute;bottom:8px;right:16px;line-height:16px}\n"] }]
|
|
2046
2151
|
}], ctorParameters: function () { return [{ type: i3.ActivatedRoute }]; } });
|
|
2047
2152
|
|
|
@@ -2052,54 +2157,54 @@ class ComponentLevelServerErrorComponent {
|
|
|
2052
2157
|
this.onClick = new EventEmitter();
|
|
2053
2158
|
}
|
|
2054
2159
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ComponentLevelServerErrorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2055
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ComponentLevelServerErrorComponent, selector: "lib-vc-error-component-server-error", outputs: { onClick: "onClick" }, ngImport: i0, template: `
|
|
2056
|
-
<div class="serverError">
|
|
2057
|
-
<div class="serverError-inner">
|
|
2058
|
-
<div class="serverError-inner-image">
|
|
2059
|
-
<img
|
|
2060
|
-
[ngSrc]="errorConfig.imageUrl"
|
|
2061
|
-
[alt]="altImageText.ERROR_IMAGE"
|
|
2062
|
-
width="106"
|
|
2063
|
-
height="76"
|
|
2064
|
-
/>
|
|
2065
|
-
</div>
|
|
2066
|
-
<div class="serverError-inner-bottom">
|
|
2067
|
-
<div class="serverError-heading">{{ errorConfig.title }}</div>
|
|
2068
|
-
<div class="serverError-text">{{ errorConfig.description }}</div>
|
|
2069
|
-
<div class="serverError-details">{{ errorConfig.details }}</div>
|
|
2070
|
-
<button class="serverError-btn" (click)="onClick.emit(true)">
|
|
2071
|
-
{{ errorConfig.buttonText }}
|
|
2072
|
-
<i class="icons"></i>
|
|
2073
|
-
</button>
|
|
2074
|
-
</div>
|
|
2075
|
-
</div>
|
|
2076
|
-
</div>
|
|
2077
|
-
`, isInline: true, styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";.serverError{background:#fff;display:flex;align-items:center;justify-content:center;border-radius:2px;width:100%;height:100%}.serverError-inner{text-align:center}.serverError-inner-image{width:16rem;margin:0 auto}.serverError-inner-bottom{margin-top:1rem}.serverError-inner-bottom .serverError-heading{-webkit-text-fill-color:#e3e3e9;-webkit-text-stroke-color:#a9aab6;-webkit-text-stroke-width:1px;color:#e3e3e9;font-size:40px;font-weight:700;line-height:56px;margin-bottom:1.5rem}.serverError-inner-bottom .serverError-text{color:#141724;font-size:19px;font-weight:500;line-height:1.75rem;margin-bottom:.5rem}.serverError-inner-bottom .serverError-details{color:#565a6f;font-size:13px;line-height:20px;margin-bottom:2rem}.serverError-inner-bottom .serverError-btn{background:#1e5dd3;border-radius:.25rem;border:none;color:#fff;display:inline-flex;align-items:center;font-size:11px;font-weight:500;line-height:2rem;padding:0 1rem}.serverError-inner-bottom .serverError-btn i{font-size:12px;margin-left:8px}\n"], dependencies: [{ kind: "directive", type: i1.NgOptimizedImage, selector: "img[ngSrc]", inputs: ["ngSrc", "ngSrcset", "sizes", "width", "height", "loading", "priority", "loaderParams", "disableOptimizedSrcset", "fill", "src", "srcset"] }] }); }
|
|
2160
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ComponentLevelServerErrorComponent, selector: "lib-vc-error-component-server-error", outputs: { onClick: "onClick" }, ngImport: i0, template: `
|
|
2161
|
+
<div class="serverError">
|
|
2162
|
+
<div class="serverError-inner">
|
|
2163
|
+
<div class="serverError-inner-image">
|
|
2164
|
+
<img
|
|
2165
|
+
[ngSrc]="errorConfig.imageUrl"
|
|
2166
|
+
[alt]="altImageText.ERROR_IMAGE"
|
|
2167
|
+
width="106"
|
|
2168
|
+
height="76"
|
|
2169
|
+
/>
|
|
2170
|
+
</div>
|
|
2171
|
+
<div class="serverError-inner-bottom">
|
|
2172
|
+
<div class="serverError-heading">{{ errorConfig.title }}</div>
|
|
2173
|
+
<div class="serverError-text">{{ errorConfig.description }}</div>
|
|
2174
|
+
<div class="serverError-details">{{ errorConfig.details }}</div>
|
|
2175
|
+
<button class="serverError-btn" (click)="onClick.emit(true)">
|
|
2176
|
+
{{ errorConfig.buttonText }}
|
|
2177
|
+
<i class="icons"></i>
|
|
2178
|
+
</button>
|
|
2179
|
+
</div>
|
|
2180
|
+
</div>
|
|
2181
|
+
</div>
|
|
2182
|
+
`, isInline: true, styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";.serverError{background:#fff;display:flex;align-items:center;justify-content:center;border-radius:2px;width:100%;height:100%}.serverError-inner{text-align:center}.serverError-inner-image{width:16rem;margin:0 auto}.serverError-inner-bottom{margin-top:1rem}.serverError-inner-bottom .serverError-heading{-webkit-text-fill-color:#e3e3e9;-webkit-text-stroke-color:#a9aab6;-webkit-text-stroke-width:1px;color:#e3e3e9;font-size:40px;font-weight:700;line-height:56px;margin-bottom:1.5rem}.serverError-inner-bottom .serverError-text{color:#141724;font-size:19px;font-weight:500;line-height:1.75rem;margin-bottom:.5rem}.serverError-inner-bottom .serverError-details{color:#565a6f;font-size:13px;line-height:20px;margin-bottom:2rem}.serverError-inner-bottom .serverError-btn{background:#1e5dd3;border-radius:.25rem;border:none;color:#fff;display:inline-flex;align-items:center;font-size:11px;font-weight:500;line-height:2rem;padding:0 1rem}.serverError-inner-bottom .serverError-btn i{font-size:12px;margin-left:8px}\n"], dependencies: [{ kind: "directive", type: i1$2.NgOptimizedImage, selector: "img[ngSrc]", inputs: ["ngSrc", "ngSrcset", "sizes", "width", "height", "loading", "priority", "loaderParams", "disableOptimizedSrcset", "fill", "src", "srcset"] }] }); }
|
|
2078
2183
|
}
|
|
2079
2184
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ComponentLevelServerErrorComponent, decorators: [{
|
|
2080
2185
|
type: Component,
|
|
2081
|
-
args: [{ selector: 'lib-vc-error-component-server-error', template: `
|
|
2082
|
-
<div class="serverError">
|
|
2083
|
-
<div class="serverError-inner">
|
|
2084
|
-
<div class="serverError-inner-image">
|
|
2085
|
-
<img
|
|
2086
|
-
[ngSrc]="errorConfig.imageUrl"
|
|
2087
|
-
[alt]="altImageText.ERROR_IMAGE"
|
|
2088
|
-
width="106"
|
|
2089
|
-
height="76"
|
|
2090
|
-
/>
|
|
2091
|
-
</div>
|
|
2092
|
-
<div class="serverError-inner-bottom">
|
|
2093
|
-
<div class="serverError-heading">{{ errorConfig.title }}</div>
|
|
2094
|
-
<div class="serverError-text">{{ errorConfig.description }}</div>
|
|
2095
|
-
<div class="serverError-details">{{ errorConfig.details }}</div>
|
|
2096
|
-
<button class="serverError-btn" (click)="onClick.emit(true)">
|
|
2097
|
-
{{ errorConfig.buttonText }}
|
|
2098
|
-
<i class="icons"></i>
|
|
2099
|
-
</button>
|
|
2100
|
-
</div>
|
|
2101
|
-
</div>
|
|
2102
|
-
</div>
|
|
2186
|
+
args: [{ selector: 'lib-vc-error-component-server-error', template: `
|
|
2187
|
+
<div class="serverError">
|
|
2188
|
+
<div class="serverError-inner">
|
|
2189
|
+
<div class="serverError-inner-image">
|
|
2190
|
+
<img
|
|
2191
|
+
[ngSrc]="errorConfig.imageUrl"
|
|
2192
|
+
[alt]="altImageText.ERROR_IMAGE"
|
|
2193
|
+
width="106"
|
|
2194
|
+
height="76"
|
|
2195
|
+
/>
|
|
2196
|
+
</div>
|
|
2197
|
+
<div class="serverError-inner-bottom">
|
|
2198
|
+
<div class="serverError-heading">{{ errorConfig.title }}</div>
|
|
2199
|
+
<div class="serverError-text">{{ errorConfig.description }}</div>
|
|
2200
|
+
<div class="serverError-details">{{ errorConfig.details }}</div>
|
|
2201
|
+
<button class="serverError-btn" (click)="onClick.emit(true)">
|
|
2202
|
+
{{ errorConfig.buttonText }}
|
|
2203
|
+
<i class="icons"></i>
|
|
2204
|
+
</button>
|
|
2205
|
+
</div>
|
|
2206
|
+
</div>
|
|
2207
|
+
</div>
|
|
2103
2208
|
`, styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";.serverError{background:#fff;display:flex;align-items:center;justify-content:center;border-radius:2px;width:100%;height:100%}.serverError-inner{text-align:center}.serverError-inner-image{width:16rem;margin:0 auto}.serverError-inner-bottom{margin-top:1rem}.serverError-inner-bottom .serverError-heading{-webkit-text-fill-color:#e3e3e9;-webkit-text-stroke-color:#a9aab6;-webkit-text-stroke-width:1px;color:#e3e3e9;font-size:40px;font-weight:700;line-height:56px;margin-bottom:1.5rem}.serverError-inner-bottom .serverError-text{color:#141724;font-size:19px;font-weight:500;line-height:1.75rem;margin-bottom:.5rem}.serverError-inner-bottom .serverError-details{color:#565a6f;font-size:13px;line-height:20px;margin-bottom:2rem}.serverError-inner-bottom .serverError-btn{background:#1e5dd3;border-radius:.25rem;border:none;color:#fff;display:inline-flex;align-items:center;font-size:11px;font-weight:500;line-height:2rem;padding:0 1rem}.serverError-inner-bottom .serverError-btn i{font-size:12px;margin-left:8px}\n"] }]
|
|
2104
2209
|
}], propDecorators: { onClick: [{
|
|
2105
2210
|
type: Output
|
|
@@ -2119,105 +2224,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
2119
2224
|
}]
|
|
2120
2225
|
}] });
|
|
2121
2226
|
|
|
2122
|
-
class Configurations {
|
|
2123
|
-
constructor() {
|
|
2124
|
-
this.sentryConfig = {};
|
|
2125
|
-
this.envConfig = {};
|
|
2126
|
-
}
|
|
2127
|
-
}
|
|
2128
|
-
|
|
2129
|
-
class FeatureFlagService {
|
|
2130
|
-
constructor(http, authorizer, config) {
|
|
2131
|
-
this.http = http;
|
|
2132
|
-
this.authorizer = authorizer;
|
|
2133
|
-
this.flagFetchError = false;
|
|
2134
|
-
this.featuresMap = {};
|
|
2135
|
-
this.AWSFlags = {};
|
|
2136
|
-
this.environment = config?.envConfig;
|
|
2137
|
-
}
|
|
2138
|
-
fetchFlags() {
|
|
2139
|
-
return this.http.get(this.environment.baseUrl + 'features').pipe(retry(2));
|
|
2140
|
-
}
|
|
2141
|
-
loadConfig() {
|
|
2142
|
-
if (this.flagSubscription) {
|
|
2143
|
-
this.flagSubscription.unsubscribe();
|
|
2144
|
-
}
|
|
2145
|
-
return new Promise((resolve, reject) => {
|
|
2146
|
-
this.flagSubscription = this.fetchFlags().subscribe({
|
|
2147
|
-
next: (res) => {
|
|
2148
|
-
try {
|
|
2149
|
-
resolve(true);
|
|
2150
|
-
this.flagFetchError = false;
|
|
2151
|
-
this.AWSFlags = res;
|
|
2152
|
-
this.buildFeatureFlags(this.authorizer.getOrganizationId());
|
|
2153
|
-
}
|
|
2154
|
-
catch (error) {
|
|
2155
|
-
reject(error);
|
|
2156
|
-
}
|
|
2157
|
-
},
|
|
2158
|
-
error: (err) => {
|
|
2159
|
-
reject(true);
|
|
2160
|
-
this.flagFetchError = true;
|
|
2161
|
-
console.log('An error occurred while fetching feature flags', err);
|
|
2162
|
-
},
|
|
2163
|
-
});
|
|
2164
|
-
});
|
|
2165
|
-
}
|
|
2166
|
-
buildFeatureFlags(orgId) {
|
|
2167
|
-
orgId = orgId?.toString();
|
|
2168
|
-
const enabledFeatures = {};
|
|
2169
|
-
Object.keys(this.AWSFlags).forEach((flag) => {
|
|
2170
|
-
const flagObj = this.AWSFlags[flag];
|
|
2171
|
-
enabledFeatures[flag] = false;
|
|
2172
|
-
if (flagObj) {
|
|
2173
|
-
if (flagObj?.enabled && !flagObj.hasOwnProperty('enabledOrgIds')) {
|
|
2174
|
-
enabledFeatures[flag] = true;
|
|
2175
|
-
}
|
|
2176
|
-
else if (flagObj?.enabled &&
|
|
2177
|
-
flagObj.hasOwnProperty('enabledOrgIds') &&
|
|
2178
|
-
flagObj?.enabledOrgIds?.length > 0) {
|
|
2179
|
-
if (flagObj?.enabledOrgIds?.includes(orgId)) {
|
|
2180
|
-
enabledFeatures[flag] = true;
|
|
2181
|
-
}
|
|
2182
|
-
else {
|
|
2183
|
-
enabledFeatures[flag] = false;
|
|
2184
|
-
}
|
|
2185
|
-
}
|
|
2186
|
-
else {
|
|
2187
|
-
if (flagObj?.enabled) {
|
|
2188
|
-
enabledFeatures[flag] = true;
|
|
2189
|
-
}
|
|
2190
|
-
else {
|
|
2191
|
-
enabledFeatures[flag] = false;
|
|
2192
|
-
}
|
|
2193
|
-
}
|
|
2194
|
-
}
|
|
2195
|
-
else {
|
|
2196
|
-
enabledFeatures[flag] = true;
|
|
2197
|
-
}
|
|
2198
|
-
});
|
|
2199
|
-
this.featuresMap = enabledFeatures;
|
|
2200
|
-
}
|
|
2201
|
-
isFeatureEnabled(featureFlag) {
|
|
2202
|
-
if (this.featuresMap.hasOwnProperty(featureFlag)) {
|
|
2203
|
-
return this.featuresMap[featureFlag];
|
|
2204
|
-
}
|
|
2205
|
-
else {
|
|
2206
|
-
return true;
|
|
2207
|
-
}
|
|
2208
|
-
}
|
|
2209
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FeatureFlagService, deps: [{ token: i1$2.HttpClient }, { token: i1$1.AuthorizerService }, { token: Configurations, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
2210
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FeatureFlagService, providedIn: 'root' }); }
|
|
2211
|
-
}
|
|
2212
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FeatureFlagService, decorators: [{
|
|
2213
|
-
type: Injectable,
|
|
2214
|
-
args: [{
|
|
2215
|
-
providedIn: 'root',
|
|
2216
|
-
}]
|
|
2217
|
-
}], ctorParameters: function () { return [{ type: i1$2.HttpClient }, { type: i1$1.AuthorizerService }, { type: Configurations, decorators: [{
|
|
2218
|
-
type: Optional
|
|
2219
|
-
}] }]; } });
|
|
2220
|
-
|
|
2221
2227
|
class FeatureFlagDirective {
|
|
2222
2228
|
constructor(tpl, vcr, featureFlagService) {
|
|
2223
2229
|
this.tpl = tpl;
|
|
@@ -2314,19 +2320,8 @@ class HttpReqInterceptor {
|
|
|
2314
2320
|
this.errorService.handleSoftErrors(event);
|
|
2315
2321
|
}
|
|
2316
2322
|
}), catchError((error) => {
|
|
2317
|
-
|
|
2318
|
-
|
|
2319
|
-
const fallbackReq = req.clone({
|
|
2320
|
-
url: '/organization_pwt/?mode=slowApis',
|
|
2321
|
-
method: 'POST', // // Adjust this URL pattern as needed
|
|
2322
|
-
});
|
|
2323
|
-
return next.handle(fallbackReq);
|
|
2324
|
-
}
|
|
2325
|
-
if (error instanceof HttpErrorResponse) {
|
|
2326
|
-
this.errorService.handleError(error, req);
|
|
2327
|
-
return throwError(error);
|
|
2328
|
-
}
|
|
2329
|
-
return throwError(new HttpErrorResponse({ error }));
|
|
2323
|
+
this.errorService.handleError(error, req);
|
|
2324
|
+
return throwError(error);
|
|
2330
2325
|
}));
|
|
2331
2326
|
}
|
|
2332
2327
|
else {
|
|
@@ -2344,7 +2339,7 @@ const FOR_ROOT_SENTRY_OPTIONS_TOKEN = new InjectionToken('forRoot() SentryErrorH
|
|
|
2344
2339
|
class VcErrorHandlersModule {
|
|
2345
2340
|
constructor(loadConfig) {
|
|
2346
2341
|
this.loadConfig = loadConfig;
|
|
2347
|
-
this.loadConfig.loadConfig();
|
|
2342
|
+
// this.loadConfig.loadConfig();
|
|
2348
2343
|
}
|
|
2349
2344
|
static forRoot(environmentConfig) {
|
|
2350
2345
|
return {
|