vc-error-handlers 0.1.3 → 0.1.4

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.
Files changed (57) hide show
  1. package/esm2020/lib/configuration.mjs +1 -2
  2. package/esm2020/lib/shared/components/chunk-unavailable/chunk-unavailable.component.mjs +14 -0
  3. package/esm2020/lib/shared/components/page-not-found/page-not-found.component.mjs +81 -0
  4. package/esm2020/lib/shared/components/server-error/server-error.component.mjs +14 -0
  5. package/esm2020/lib/shared/components/session-expired/session-expired.component.mjs +25 -0
  6. package/esm2020/lib/shared/components/session-expired-modal/session-expired-modal.component.mjs +54 -0
  7. package/esm2020/lib/shared/components/unauthorized/unauthorized.component.mjs +77 -0
  8. package/esm2020/lib/shared/constants/error-handling.constants.mjs +27 -0
  9. package/esm2020/lib/shared/interceptors/http.interceptor.mjs +31 -0
  10. package/esm2020/lib/shared/services/auth.service.mjs +20 -0
  11. package/esm2020/lib/shared/services/global-error.service.mjs +27 -0
  12. package/esm2020/lib/shared/services/router.service.mjs +19 -0
  13. package/esm2020/lib/shared/types/global-error.types.mjs +19 -0
  14. package/esm2020/lib/ui-kit/dialog/dialog-config.mjs +3 -0
  15. package/esm2020/lib/ui-kit/dialog/dialog-injector.mjs +15 -0
  16. package/esm2020/lib/ui-kit/dialog/dialog-ref.mjs +13 -0
  17. package/esm2020/lib/ui-kit/dialog/dialog.component.mjs +85 -0
  18. package/esm2020/lib/ui-kit/dialog/dialog.module.mjs +21 -0
  19. package/esm2020/lib/ui-kit/dialog/dialog.service.mjs +52 -0
  20. package/esm2020/lib/ui-kit/dialog/insertion.directive.mjs +16 -0
  21. package/esm2020/lib/ui-kit/snack-bar/snack-bar/snack-bar.component.mjs +51 -0
  22. package/esm2020/lib/ui-kit/snack-bar/snack-bar.module.mjs +18 -0
  23. package/esm2020/lib/ui-kit/snack-bar/snack-bar.service.mjs +32 -0
  24. package/esm2020/lib/vc-error-handlers.component.mjs +33 -13
  25. package/esm2020/lib/vc-error-handlers.module.mjs +52 -7
  26. package/esm2020/public-api.mjs +11 -1
  27. package/fesm2015/vc-error-handlers.mjs +718 -21
  28. package/fesm2015/vc-error-handlers.mjs.map +1 -1
  29. package/fesm2020/vc-error-handlers.mjs +718 -21
  30. package/fesm2020/vc-error-handlers.mjs.map +1 -1
  31. package/lib/configuration.d.ts +0 -1
  32. package/lib/shared/components/chunk-unavailable/chunk-unavailable.component.d.ts +8 -0
  33. package/lib/shared/components/page-not-found/page-not-found.component.d.ts +14 -0
  34. package/lib/shared/components/server-error/server-error.component.d.ts +8 -0
  35. package/lib/shared/components/session-expired/session-expired.component.d.ts +15 -0
  36. package/lib/shared/components/session-expired-modal/session-expired-modal.component.d.ts +22 -0
  37. package/lib/shared/components/unauthorized/unauthorized.component.d.ts +16 -0
  38. package/lib/shared/constants/error-handling.constants.d.ts +26 -0
  39. package/lib/shared/interceptors/http.interceptor.d.ts +14 -0
  40. package/lib/shared/services/auth.service.d.ts +9 -0
  41. package/lib/shared/services/global-error.service.d.ts +12 -0
  42. package/lib/shared/services/router.service.d.ts +6 -0
  43. package/lib/shared/types/global-error.types.d.ts +19 -0
  44. package/lib/ui-kit/dialog/dialog-config.d.ts +6 -0
  45. package/lib/ui-kit/dialog/dialog-injector.d.ts +7 -0
  46. package/lib/ui-kit/dialog/dialog-ref.d.ts +7 -0
  47. package/lib/ui-kit/dialog/dialog.component.d.ts +33 -0
  48. package/lib/ui-kit/dialog/dialog.module.d.ts +9 -0
  49. package/lib/ui-kit/dialog/dialog.service.d.ts +17 -0
  50. package/lib/ui-kit/dialog/insertion.directive.d.ts +8 -0
  51. package/lib/ui-kit/snack-bar/snack-bar/snack-bar.component.d.ts +20 -0
  52. package/lib/ui-kit/snack-bar/snack-bar.module.d.ts +8 -0
  53. package/lib/ui-kit/snack-bar/snack-bar.service.d.ts +11 -0
  54. package/lib/vc-error-handlers.component.d.ts +10 -4
  55. package/lib/vc-error-handlers.module.d.ts +9 -1
  56. package/package.json +2 -2
  57. package/public-api.d.ts +10 -0
@@ -0,0 +1,85 @@
1
+ import { Component, ViewChild } from '@angular/core';
2
+ import { InsertionDirective } from './insertion.directive';
3
+ import { Subject } from 'rxjs';
4
+ import { NavigationEnd, NavigationError, NavigationStart } from '@angular/router';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "./dialog-ref";
7
+ import * as i2 from "./dialog-config";
8
+ import * as i3 from "@angular/router";
9
+ import * as i4 from "@angular/common";
10
+ import * as i5 from "./insertion.directive";
11
+ export class DialogComponent {
12
+ constructor(componentFactoryResolver, cd, dialogRef, config, router) {
13
+ this.componentFactoryResolver = componentFactoryResolver;
14
+ this.cd = cd;
15
+ this.dialogRef = dialogRef;
16
+ this.config = config;
17
+ this.router = router;
18
+ this.animation = true;
19
+ this.onDialogClose = new Subject();
20
+ this.onClose = this.onDialogClose.asObservable();
21
+ // this.componentRef = this.componentRef;
22
+ // this.animate = this.animate;
23
+ // this.insertionPoint = this.insertionPoint;
24
+ // this.childComponentType = this.childComponentType;
25
+ }
26
+ ngOnInit() {
27
+ this.position = this.config.position;
28
+ this.background = this.config.background;
29
+ document.body.style.overflow = 'hidden';
30
+ setTimeout(() => {
31
+ this.animation = false;
32
+ }, 200);
33
+ this.routeAction();
34
+ }
35
+ routeAction() {
36
+ this.router.events.subscribe((event) => {
37
+ if (event instanceof NavigationStart) {
38
+ // Show loading indicator
39
+ }
40
+ if (event instanceof NavigationEnd) {
41
+ // Hide loading indicator
42
+ this.dialogRef.close();
43
+ }
44
+ if (event instanceof NavigationError) {
45
+ // Hide loading indicator
46
+ // Present error to user
47
+ }
48
+ });
49
+ }
50
+ ngAfterViewInit() {
51
+ this.loadChildComponent(this.childComponentType);
52
+ this.cd.detectChanges();
53
+ }
54
+ onOverlayClicked(evt) {
55
+ // this.dialogRef.close();
56
+ }
57
+ onDialogClicked(evt) {
58
+ evt.stopPropagation();
59
+ }
60
+ loadChildComponent(componentType) {
61
+ const componentFactory = this.componentFactoryResolver.resolveComponentFactory(componentType);
62
+ const viewContainerRef = this.insertionPoint.viewContainerRef;
63
+ viewContainerRef.clear();
64
+ this.componentRef = viewContainerRef.createComponent(componentFactory);
65
+ }
66
+ ngOnDestroy() {
67
+ if (this.componentRef) {
68
+ this.componentRef.destroy();
69
+ }
70
+ }
71
+ close(data) {
72
+ this.onDialogClose.next(data);
73
+ document.body.style.overflow = 'auto';
74
+ }
75
+ }
76
+ DialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: DialogComponent, deps: [{ token: i0.ComponentFactoryResolver }, { token: i0.ChangeDetectorRef }, { token: i1.DialogRef }, { token: i2.DialogConfig }, { token: i3.Router }], target: i0.ɵɵFactoryTarget.Component });
77
+ DialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: DialogComponent, selector: "app-dialog", viewQueries: [{ propertyName: "insertionPoint", first: true, predicate: InsertionDirective, descendants: true, static: true }], ngImport: i0, template: "<div\r\n class=\"overlay\"\r\n (click)=\"onOverlayClicked($event)\"\r\n [ngClass]=\"{\r\n top: position === 'TOP',\r\n right: position === 'RIGHT',\r\n bottom: position === 'BOTTOM',\r\n left: position === 'LEFT',\r\n center: position === 'CENTER',\r\n black: background === 'black',\r\n whiteBlur: background === 'whiteBlur'\r\n }\" [class.pointer-none]=\"pointer === 'none'\"\r\n>\r\n <div\r\n class=\"dialog\"\r\n [class.animate]=\"animation\"\r\n (click)=\"onDialogClicked($event)\"\r\n [ngClass]=\"{\r\n top: position === 'TOP',\r\n right: position === 'RIGHT',\r\n bottom: position === 'BOTTOM',\r\n left: position === 'LEFT',\r\n center: position === 'CENTER'\r\n }\"\r\n >\r\n <ng-template appInsertion></ng-template>\r\n </div>\r\n</div>\r\n", styles: [".overlay{display:flex;position:fixed;top:0;bottom:0;left:0;right: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"], directives: [{ type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i5.InsertionDirective, selector: "[appInsertion]" }] });
78
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: DialogComponent, decorators: [{
79
+ type: Component,
80
+ args: [{ selector: 'app-dialog', template: "<div\r\n class=\"overlay\"\r\n (click)=\"onOverlayClicked($event)\"\r\n [ngClass]=\"{\r\n top: position === 'TOP',\r\n right: position === 'RIGHT',\r\n bottom: position === 'BOTTOM',\r\n left: position === 'LEFT',\r\n center: position === 'CENTER',\r\n black: background === 'black',\r\n whiteBlur: background === 'whiteBlur'\r\n }\" [class.pointer-none]=\"pointer === 'none'\"\r\n>\r\n <div\r\n class=\"dialog\"\r\n [class.animate]=\"animation\"\r\n (click)=\"onDialogClicked($event)\"\r\n [ngClass]=\"{\r\n top: position === 'TOP',\r\n right: position === 'RIGHT',\r\n bottom: position === 'BOTTOM',\r\n left: position === 'LEFT',\r\n center: position === 'CENTER'\r\n }\"\r\n >\r\n <ng-template appInsertion></ng-template>\r\n </div>\r\n</div>\r\n", styles: [".overlay{display:flex;position:fixed;top:0;bottom:0;left:0;right: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"] }]
81
+ }], ctorParameters: function () { return [{ type: i0.ComponentFactoryResolver }, { type: i0.ChangeDetectorRef }, { type: i1.DialogRef }, { type: i2.DialogConfig }, { type: i3.Router }]; }, propDecorators: { insertionPoint: [{
82
+ type: ViewChild,
83
+ args: [InsertionDirective, { static: true }]
84
+ }] } });
85
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZjLWVycm9yLWhhbmRsZXJzL3NyYy9saWIvdWkta2l0L2RpYWxvZy9kaWFsb2cuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmMtZXJyb3ItaGFuZGxlcnMvc3JjL2xpYi91aS1raXQvZGlhbG9nL2RpYWxvZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFrQyxTQUFTLEVBQXFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hKLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzNELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHL0IsT0FBTyxFQUFFLGFBQWEsRUFBRSxlQUFlLEVBQUUsZUFBZSxFQUFnQyxNQUFNLGlCQUFpQixDQUFDOzs7Ozs7O0FBT2hILE1BQU0sT0FBTyxlQUFlO0lBYzFCLFlBQ1Usd0JBQWtELEVBQ2xELEVBQXFCLEVBQ3JCLFNBQW9CLEVBQ3JCLE1BQW9CLEVBQ25CLE1BQWM7UUFKZCw2QkFBd0IsR0FBeEIsd0JBQXdCLENBQTBCO1FBQ2xELE9BQUUsR0FBRixFQUFFLENBQW1CO1FBQ3JCLGNBQVMsR0FBVCxTQUFTLENBQVc7UUFDckIsV0FBTSxHQUFOLE1BQU0sQ0FBYztRQUNuQixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBWnhCLGNBQVMsR0FBRyxJQUFJLENBQUM7UUFFQSxrQkFBYSxHQUFHLElBQUksT0FBTyxFQUFPLENBQUM7UUFDN0MsWUFBTyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxFQUFFLENBQUM7UUFXakQseUNBQXlDO1FBQ3pDLGlDQUFpQztRQUNqQyw4Q0FBOEM7UUFDOUMsc0RBQXNEO0lBQ3hELENBQUM7SUFDRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQztRQUNyQyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDO1FBQ3pDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7UUFDeEMsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNkLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ3pCLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUNSLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQVUsRUFBRSxFQUFFO1lBQzFDLElBQUksS0FBSyxZQUFZLGVBQWUsRUFBRTtnQkFDcEMseUJBQXlCO2FBQzFCO1lBQ0QsSUFBSSxLQUFLLFlBQVksYUFBYSxFQUFFO2dCQUNsQyx5QkFBeUI7Z0JBQ3pCLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUM7YUFDeEI7WUFDRCxJQUFJLEtBQUssWUFBWSxlQUFlLEVBQUU7Z0JBQ3BDLHlCQUF5QjtnQkFDekIsd0JBQXdCO2FBQ3pCO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ0QsZUFBZTtRQUNiLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUNqRCxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxHQUFlO1FBQzlCLDBCQUEwQjtJQUM1QixDQUFDO0lBRUQsZUFBZSxDQUFDLEdBQWU7UUFDN0IsR0FBRyxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxhQUF3QjtRQUN6QyxNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyx1QkFBdUIsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUU5RixNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsZ0JBQWdCLENBQUM7UUFDOUQsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLENBQUM7UUFFekIsSUFBSSxDQUFDLFlBQVksR0FBRyxnQkFBZ0IsQ0FBQyxlQUFlLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUN6RSxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtZQUNyQixJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sRUFBRSxDQUFDO1NBQzdCO0lBQ0gsQ0FBQztJQUVELEtBQUssQ0FBQyxJQUFVO1FBQ2QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDOUIsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxHQUFHLE1BQU0sQ0FBQztJQUN4QyxDQUFDOzs0R0FsRlUsZUFBZTtnR0FBZixlQUFlLGtHQUtmLGtCQUFrQiw4RENqQi9CLHV6QkE0QkE7MkZEaEJhLGVBQWU7a0JBTDNCLFNBQVM7K0JBQ0UsWUFBWTt1TkFVdEIsY0FBYztzQkFEYixTQUFTO3VCQUFDLGtCQUFrQixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgVHlwZSwgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLCBWaWV3Q2hpbGQsIE9uRGVzdHJveSwgQ29tcG9uZW50UmVmLCBBZnRlclZpZXdJbml0LCBDaGFuZ2VEZXRlY3RvclJlZiwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEluc2VydGlvbkRpcmVjdGl2ZSB9IGZyb20gJy4vaW5zZXJ0aW9uLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgRGlhbG9nUmVmIH0gZnJvbSAnLi9kaWFsb2ctcmVmJztcclxuaW1wb3J0IHsgRGlhbG9nQ29uZmlnIH0gZnJvbSAnLi9kaWFsb2ctY29uZmlnJztcclxuaW1wb3J0IHsgTmF2aWdhdGlvbkVuZCwgTmF2aWdhdGlvbkVycm9yLCBOYXZpZ2F0aW9uU3RhcnQsIFJvdXRlciwgUk9VVEVSX0NPTkZJR1VSQVRJT04gfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtZGlhbG9nJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZGlhbG9nLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9kaWFsb2cuY29tcG9uZW50LmNzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRGlhbG9nQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95LCBPbkluaXQge1xyXG4gIGNvbXBvbmVudFJlZiE6IENvbXBvbmVudFJlZjxhbnk+O1xyXG4gIHBvc2l0aW9uOiBhbnk7XHJcbiAgYmFja2dyb3VuZDogYW55O1xyXG4gIHBvaW50ZXI6IGFueTtcclxuICBAVmlld0NoaWxkKEluc2VydGlvbkRpcmVjdGl2ZSwgeyBzdGF0aWM6IHRydWUgfSlcclxuICBpbnNlcnRpb25Qb2ludCE6IEluc2VydGlvbkRpcmVjdGl2ZTtcclxuICBhbmltYXRpb24gPSB0cnVlO1xyXG5cclxuICBwcml2YXRlIHJlYWRvbmx5IG9uRGlhbG9nQ2xvc2UgPSBuZXcgU3ViamVjdDxhbnk+KCk7XHJcbiAgcHVibGljIG9uQ2xvc2UgPSB0aGlzLm9uRGlhbG9nQ2xvc2UuYXNPYnNlcnZhYmxlKCk7XHJcblxyXG4gIGNoaWxkQ29tcG9uZW50VHlwZSE6IFR5cGU8YW55PjtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGNvbXBvbmVudEZhY3RvcnlSZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxyXG4gICAgcHJpdmF0ZSBjZDogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwcml2YXRlIGRpYWxvZ1JlZjogRGlhbG9nUmVmLFxyXG4gICAgcHVibGljIGNvbmZpZzogRGlhbG9nQ29uZmlnLFxyXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlclxyXG4gICkge1xyXG4gICAgLy8gdGhpcy5jb21wb25lbnRSZWYgPSB0aGlzLmNvbXBvbmVudFJlZjtcclxuICAgIC8vIHRoaXMuYW5pbWF0ZSA9ICAgdGhpcy5hbmltYXRlO1xyXG4gICAgLy8gdGhpcy5pbnNlcnRpb25Qb2ludCA9ICB0aGlzLmluc2VydGlvblBvaW50O1xyXG4gICAgLy8gdGhpcy5jaGlsZENvbXBvbmVudFR5cGUgPSAgdGhpcy5jaGlsZENvbXBvbmVudFR5cGU7XHJcbiAgfVxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5wb3NpdGlvbiA9IHRoaXMuY29uZmlnLnBvc2l0aW9uO1xyXG4gICAgdGhpcy5iYWNrZ3JvdW5kID0gdGhpcy5jb25maWcuYmFja2dyb3VuZDtcclxuICAgIGRvY3VtZW50LmJvZHkuc3R5bGUub3ZlcmZsb3cgPSAnaGlkZGVuJztcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICB0aGlzLmFuaW1hdGlvbiA9IGZhbHNlO1xyXG4gICAgfSwgMjAwKTtcclxuICAgIHRoaXMucm91dGVBY3Rpb24oKTtcclxuICB9XHJcblxyXG4gIHJvdXRlQWN0aW9uKCkge1xyXG4gICAgdGhpcy5yb3V0ZXIuZXZlbnRzLnN1YnNjcmliZSgoZXZlbnQ6IGFueSkgPT4ge1xyXG4gICAgICBpZiAoZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uU3RhcnQpIHtcclxuICAgICAgICAvLyBTaG93IGxvYWRpbmcgaW5kaWNhdG9yXHJcbiAgICAgIH1cclxuICAgICAgaWYgKGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvbkVuZCkge1xyXG4gICAgICAgIC8vIEhpZGUgbG9hZGluZyBpbmRpY2F0b3JcclxuICAgICAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSgpO1xyXG4gICAgICB9XHJcbiAgICAgIGlmIChldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FcnJvcikge1xyXG4gICAgICAgIC8vIEhpZGUgbG9hZGluZyBpbmRpY2F0b3JcclxuICAgICAgICAvLyBQcmVzZW50IGVycm9yIHRvIHVzZXJcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgIHRoaXMubG9hZENoaWxkQ29tcG9uZW50KHRoaXMuY2hpbGRDb21wb25lbnRUeXBlKTtcclxuICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgb25PdmVybGF5Q2xpY2tlZChldnQ6IE1vdXNlRXZlbnQpIHtcclxuICAgIC8vIHRoaXMuZGlhbG9nUmVmLmNsb3NlKCk7XHJcbiAgfVxyXG5cclxuICBvbkRpYWxvZ0NsaWNrZWQoZXZ0OiBNb3VzZUV2ZW50KSB7XHJcbiAgICBldnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgfVxyXG5cclxuICBsb2FkQ2hpbGRDb21wb25lbnQoY29tcG9uZW50VHlwZTogVHlwZTxhbnk+KSB7XHJcbiAgICBjb25zdCBjb21wb25lbnRGYWN0b3J5ID0gdGhpcy5jb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIucmVzb2x2ZUNvbXBvbmVudEZhY3RvcnkoY29tcG9uZW50VHlwZSk7XHJcblxyXG4gICAgY29uc3Qgdmlld0NvbnRhaW5lclJlZiA9IHRoaXMuaW5zZXJ0aW9uUG9pbnQudmlld0NvbnRhaW5lclJlZjtcclxuICAgIHZpZXdDb250YWluZXJSZWYuY2xlYXIoKTtcclxuXHJcbiAgICB0aGlzLmNvbXBvbmVudFJlZiA9IHZpZXdDb250YWluZXJSZWYuY3JlYXRlQ29tcG9uZW50KGNvbXBvbmVudEZhY3RvcnkpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICBpZiAodGhpcy5jb21wb25lbnRSZWYpIHtcclxuICAgICAgdGhpcy5jb21wb25lbnRSZWYuZGVzdHJveSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY2xvc2UoZGF0YT86IGFueSkge1xyXG4gICAgdGhpcy5vbkRpYWxvZ0Nsb3NlLm5leHQoZGF0YSk7XHJcbiAgICBkb2N1bWVudC5ib2R5LnN0eWxlLm92ZXJmbG93ID0gJ2F1dG8nO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2XHJcbiAgY2xhc3M9XCJvdmVybGF5XCJcclxuICAoY2xpY2spPVwib25PdmVybGF5Q2xpY2tlZCgkZXZlbnQpXCJcclxuICBbbmdDbGFzc109XCJ7XHJcbiAgICB0b3A6IHBvc2l0aW9uID09PSAnVE9QJyxcclxuICAgIHJpZ2h0OiBwb3NpdGlvbiA9PT0gJ1JJR0hUJyxcclxuICAgIGJvdHRvbTogcG9zaXRpb24gPT09ICdCT1RUT00nLFxyXG4gICAgbGVmdDogcG9zaXRpb24gPT09ICdMRUZUJyxcclxuICAgIGNlbnRlcjogcG9zaXRpb24gPT09ICdDRU5URVInLFxyXG4gICAgYmxhY2s6IGJhY2tncm91bmQgPT09ICdibGFjaycsXHJcbiAgICB3aGl0ZUJsdXI6IGJhY2tncm91bmQgPT09ICd3aGl0ZUJsdXInXHJcbiAgfVwiIFtjbGFzcy5wb2ludGVyLW5vbmVdPVwicG9pbnRlciA9PT0gJ25vbmUnXCJcclxuPlxyXG4gIDxkaXZcclxuICAgIGNsYXNzPVwiZGlhbG9nXCJcclxuICAgIFtjbGFzcy5hbmltYXRlXT1cImFuaW1hdGlvblwiXHJcbiAgICAoY2xpY2spPVwib25EaWFsb2dDbGlja2VkKCRldmVudClcIlxyXG4gICAgW25nQ2xhc3NdPVwie1xyXG4gICAgICB0b3A6IHBvc2l0aW9uID09PSAnVE9QJyxcclxuICAgICAgcmlnaHQ6IHBvc2l0aW9uID09PSAnUklHSFQnLFxyXG4gICAgICBib3R0b206IHBvc2l0aW9uID09PSAnQk9UVE9NJyxcclxuICAgICAgbGVmdDogcG9zaXRpb24gPT09ICdMRUZUJyxcclxuICAgICAgY2VudGVyOiBwb3NpdGlvbiA9PT0gJ0NFTlRFUidcclxuICAgIH1cIlxyXG4gID5cclxuICAgIDxuZy10ZW1wbGF0ZSBhcHBJbnNlcnRpb24+PC9uZy10ZW1wbGF0ZT5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
@@ -0,0 +1,21 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { DialogComponent } from './dialog.component';
4
+ import { InsertionDirective } from './insertion.directive';
5
+ import { DialogRef } from './dialog-ref';
6
+ import * as i0 from "@angular/core";
7
+ export class DialogModule {
8
+ }
9
+ DialogModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: DialogModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
10
+ DialogModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: DialogModule, declarations: [DialogComponent, InsertionDirective], imports: [CommonModule], exports: [DialogComponent] });
11
+ DialogModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: DialogModule, providers: [DialogRef], imports: [[CommonModule]] });
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: DialogModule, decorators: [{
13
+ type: NgModule,
14
+ args: [{
15
+ imports: [CommonModule],
16
+ declarations: [DialogComponent, InsertionDirective],
17
+ providers: [DialogRef],
18
+ exports: [DialogComponent]
19
+ }]
20
+ }] });
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZjLWVycm9yLWhhbmRsZXJzL3NyYy9saWIvdWkta2l0L2RpYWxvZy9kaWFsb2cubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sY0FBYyxDQUFDOztBQU96QyxNQUFNLE9BQU8sWUFBWTs7eUdBQVosWUFBWTswR0FBWixZQUFZLGlCQUpSLGVBQWUsRUFBRSxrQkFBa0IsYUFEeEMsWUFBWSxhQUdiLGVBQWU7MEdBRWIsWUFBWSxhQUhaLENBQUMsU0FBUyxDQUFDLFlBRmIsQ0FBQyxZQUFZLENBQUM7MkZBS1osWUFBWTtrQkFOeEIsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7b0JBQ3ZCLFlBQVksRUFBRSxDQUFDLGVBQWUsRUFBRSxrQkFBa0IsQ0FBQztvQkFDbkQsU0FBUyxFQUFFLENBQUMsU0FBUyxDQUFDO29CQUN0QixPQUFPLEVBQUMsQ0FBQyxlQUFlLENBQUM7aUJBQzFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9kaWFsb2cuY29tcG9uZW50JztcclxuaW1wb3J0IHsgSW5zZXJ0aW9uRGlyZWN0aXZlIH0gZnJvbSAnLi9pbnNlcnRpb24uZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgRGlhbG9nUmVmIH0gZnJvbSAnLi9kaWFsb2ctcmVmJztcclxuQE5nTW9kdWxlKHtcclxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcclxuICBkZWNsYXJhdGlvbnM6IFtEaWFsb2dDb21wb25lbnQsIEluc2VydGlvbkRpcmVjdGl2ZV0sXHJcbiAgcHJvdmlkZXJzOiBbRGlhbG9nUmVmXSxcclxuICBleHBvcnRzOltEaWFsb2dDb21wb25lbnRdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEaWFsb2dNb2R1bGUge31cclxuIl19
@@ -0,0 +1,52 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { DialogModule } from './dialog.module';
3
+ import { DialogComponent } from './dialog.component';
4
+ import { DialogInjector } from './dialog-injector';
5
+ import { DialogConfig } from './dialog-config';
6
+ import { DialogRef } from './dialog-ref';
7
+ import * as i0 from "@angular/core";
8
+ export class DialogService {
9
+ constructor(componentFactoryResolver, appRef, injector) {
10
+ this.componentFactoryResolver = componentFactoryResolver;
11
+ this.appRef = appRef;
12
+ this.injector = injector;
13
+ }
14
+ open(componentType, config) {
15
+ const dialogRef = this.appendDialogComponentToBody(config);
16
+ this.dialogComponentRef.instance.childComponentType = componentType;
17
+ return dialogRef;
18
+ }
19
+ appendDialogComponentToBody(config) {
20
+ const map = new WeakMap();
21
+ map.set(DialogConfig, config);
22
+ const dialogRef = new DialogRef();
23
+ map.set(DialogRef, dialogRef);
24
+ const sub = dialogRef.afterClosed.subscribe(() => {
25
+ this.removeDialogComponentFromBody();
26
+ sub.unsubscribe();
27
+ });
28
+ const componentFactory = this.componentFactoryResolver.resolveComponentFactory(DialogComponent);
29
+ const componentRef = componentFactory.create(new DialogInjector(this.injector, map));
30
+ this.appRef.attachView(componentRef.hostView);
31
+ const domElem = componentRef.hostView.rootNodes[0];
32
+ document.body.appendChild(domElem);
33
+ this.dialogComponentRef = componentRef;
34
+ this.dialogComponentRef.instance.onClose.subscribe(() => {
35
+ this.removeDialogComponentFromBody();
36
+ });
37
+ return dialogRef;
38
+ }
39
+ removeDialogComponentFromBody() {
40
+ this.appRef.detachView(this.dialogComponentRef.hostView);
41
+ this.dialogComponentRef.destroy();
42
+ }
43
+ }
44
+ DialogService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: DialogService, deps: [{ token: i0.ComponentFactoryResolver }, { token: i0.ApplicationRef }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
45
+ DialogService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: DialogService, providedIn: DialogModule });
46
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: DialogService, decorators: [{
47
+ type: Injectable,
48
+ args: [{
49
+ providedIn: DialogModule,
50
+ }]
51
+ }], ctorParameters: function () { return [{ type: i0.ComponentFactoryResolver }, { type: i0.ApplicationRef }, { type: i0.Injector }]; } });
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92Yy1lcnJvci1oYW5kbGVycy9zcmMvbGliL3VpLWtpdC9kaWFsb2cvZGlhbG9nLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBMkYsTUFBTSxlQUFlLENBQUM7QUFDcEksT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbkQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxjQUFjLENBQUM7O0FBS3pDLE1BQU0sT0FBTyxhQUFhO0lBR3hCLFlBQW9CLHdCQUFrRCxFQUFVLE1BQXNCLEVBQVUsUUFBa0I7UUFBOUcsNkJBQXdCLEdBQXhCLHdCQUF3QixDQUEwQjtRQUFVLFdBQU0sR0FBTixNQUFNLENBQWdCO1FBQVUsYUFBUSxHQUFSLFFBQVEsQ0FBVTtJQUFHLENBQUM7SUFFL0gsSUFBSSxDQUFDLGFBQXdCLEVBQUUsTUFBb0I7UUFDeEQsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLDJCQUEyQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRTNELElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsa0JBQWtCLEdBQUcsYUFBYSxDQUFDO1FBRXBFLE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFFTywyQkFBMkIsQ0FBQyxNQUFvQjtRQUN0RCxNQUFNLEdBQUcsR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO1FBQzFCLEdBQUcsQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBRTlCLE1BQU0sU0FBUyxHQUFHLElBQUksU0FBUyxFQUFFLENBQUM7UUFDbEMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxTQUFTLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFFOUIsTUFBTSxHQUFHLEdBQUcsU0FBUyxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQy9DLElBQUksQ0FBQyw2QkFBNkIsRUFBRSxDQUFDO1lBQ3JDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNwQixDQUFDLENBQUMsQ0FBQztRQUVILE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLHdCQUF3QixDQUFDLHVCQUF1QixDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ2hHLE1BQU0sWUFBWSxHQUFHLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxJQUFJLGNBQWMsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFFckYsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRTlDLE1BQU0sT0FBTyxHQUFJLFlBQVksQ0FBQyxRQUFpQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQWdCLENBQUM7UUFDNUYsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFbkMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLFlBQVksQ0FBQztRQUV2QyxJQUFJLENBQUMsa0JBQWtCLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ3RELElBQUksQ0FBQyw2QkFBNkIsRUFBRSxDQUFDO1FBQ3ZDLENBQUMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUVPLDZCQUE2QjtRQUNuQyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDekQsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3BDLENBQUM7OzBHQTdDVSxhQUFhOzhHQUFiLGFBQWEsY0FGWixZQUFZOzJGQUViLGFBQWE7a0JBSHpCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLFlBQVk7aUJBQ3pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLCBBcHBsaWNhdGlvblJlZiwgSW5qZWN0b3IsIFR5cGUsIEVtYmVkZGVkVmlld1JlZiwgQ29tcG9uZW50UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IERpYWxvZ01vZHVsZSB9IGZyb20gJy4vZGlhbG9nLm1vZHVsZSc7XHJcbmltcG9ydCB7IERpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vZGlhbG9nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IERpYWxvZ0luamVjdG9yIH0gZnJvbSAnLi9kaWFsb2ctaW5qZWN0b3InO1xyXG5pbXBvcnQgeyBEaWFsb2dDb25maWcgfSBmcm9tICcuL2RpYWxvZy1jb25maWcnO1xyXG5pbXBvcnQgeyBEaWFsb2dSZWYgfSBmcm9tICcuL2RpYWxvZy1yZWYnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46IERpYWxvZ01vZHVsZSxcclxufSlcclxuZXhwb3J0IGNsYXNzIERpYWxvZ1NlcnZpY2Uge1xyXG4gIGRpYWxvZ0NvbXBvbmVudFJlZiE6IENvbXBvbmVudFJlZjxEaWFsb2dDb21wb25lbnQ+O1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNvbXBvbmVudEZhY3RvcnlSZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLCBwcml2YXRlIGFwcFJlZjogQXBwbGljYXRpb25SZWYsIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yKSB7fVxyXG5cclxuICBwdWJsaWMgb3Blbihjb21wb25lbnRUeXBlOiBUeXBlPGFueT4sIGNvbmZpZzogRGlhbG9nQ29uZmlnKSB7XHJcbiAgICBjb25zdCBkaWFsb2dSZWYgPSB0aGlzLmFwcGVuZERpYWxvZ0NvbXBvbmVudFRvQm9keShjb25maWcpO1xyXG5cclxuICAgIHRoaXMuZGlhbG9nQ29tcG9uZW50UmVmLmluc3RhbmNlLmNoaWxkQ29tcG9uZW50VHlwZSA9IGNvbXBvbmVudFR5cGU7XHJcblxyXG4gICAgcmV0dXJuIGRpYWxvZ1JlZjtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXBwZW5kRGlhbG9nQ29tcG9uZW50VG9Cb2R5KGNvbmZpZzogRGlhbG9nQ29uZmlnKSB7XHJcbiAgICBjb25zdCBtYXAgPSBuZXcgV2Vha01hcCgpO1xyXG4gICAgbWFwLnNldChEaWFsb2dDb25maWcsIGNvbmZpZyk7XHJcblxyXG4gICAgY29uc3QgZGlhbG9nUmVmID0gbmV3IERpYWxvZ1JlZigpO1xyXG4gICAgbWFwLnNldChEaWFsb2dSZWYsIGRpYWxvZ1JlZik7XHJcblxyXG4gICAgY29uc3Qgc3ViID0gZGlhbG9nUmVmLmFmdGVyQ2xvc2VkLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgIHRoaXMucmVtb3ZlRGlhbG9nQ29tcG9uZW50RnJvbUJvZHkoKTtcclxuICAgICAgc3ViLnVuc3Vic2NyaWJlKCk7XHJcbiAgICB9KTtcclxuXHJcbiAgICBjb25zdCBjb21wb25lbnRGYWN0b3J5ID0gdGhpcy5jb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIucmVzb2x2ZUNvbXBvbmVudEZhY3RvcnkoRGlhbG9nQ29tcG9uZW50KTtcclxuICAgIGNvbnN0IGNvbXBvbmVudFJlZiA9IGNvbXBvbmVudEZhY3RvcnkuY3JlYXRlKG5ldyBEaWFsb2dJbmplY3Rvcih0aGlzLmluamVjdG9yLCBtYXApKTtcclxuXHJcbiAgICB0aGlzLmFwcFJlZi5hdHRhY2hWaWV3KGNvbXBvbmVudFJlZi5ob3N0Vmlldyk7XHJcblxyXG4gICAgY29uc3QgZG9tRWxlbSA9IChjb21wb25lbnRSZWYuaG9zdFZpZXcgYXMgRW1iZWRkZWRWaWV3UmVmPGFueT4pLnJvb3ROb2Rlc1swXSBhcyBIVE1MRWxlbWVudDtcclxuICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZG9tRWxlbSk7XHJcblxyXG4gICAgdGhpcy5kaWFsb2dDb21wb25lbnRSZWYgPSBjb21wb25lbnRSZWY7XHJcblxyXG4gICAgdGhpcy5kaWFsb2dDb21wb25lbnRSZWYuaW5zdGFuY2Uub25DbG9zZS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICB0aGlzLnJlbW92ZURpYWxvZ0NvbXBvbmVudEZyb21Cb2R5KCk7XHJcbiAgICB9KTtcclxuXHJcbiAgICByZXR1cm4gZGlhbG9nUmVmO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSByZW1vdmVEaWFsb2dDb21wb25lbnRGcm9tQm9keSgpIHtcclxuICAgIHRoaXMuYXBwUmVmLmRldGFjaFZpZXcodGhpcy5kaWFsb2dDb21wb25lbnRSZWYuaG9zdFZpZXcpO1xyXG4gICAgdGhpcy5kaWFsb2dDb21wb25lbnRSZWYuZGVzdHJveSgpO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,16 @@
1
+ import { Directive } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class InsertionDirective {
4
+ constructor(viewContainerRef) {
5
+ this.viewContainerRef = viewContainerRef;
6
+ }
7
+ }
8
+ InsertionDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: InsertionDirective, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
9
+ InsertionDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.1", type: InsertionDirective, selector: "[appInsertion]", ngImport: i0 });
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: InsertionDirective, decorators: [{
11
+ type: Directive,
12
+ args: [{
13
+ selector: '[appInsertion]',
14
+ }]
15
+ }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }]; } });
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zZXJ0aW9uLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZjLWVycm9yLWhhbmRsZXJzL3NyYy9saWIvdWkta2l0L2RpYWxvZy9pbnNlcnRpb24uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQW9CLE1BQU0sZUFBZSxDQUFDOztBQUs1RCxNQUFNLE9BQU8sa0JBQWtCO0lBQzdCLFlBQW1CLGdCQUFrQztRQUFsQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO0lBQUcsQ0FBQzs7K0dBRDlDLGtCQUFrQjttR0FBbEIsa0JBQWtCOzJGQUFsQixrQkFBa0I7a0JBSDlCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGdCQUFnQjtpQkFDM0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIFZpZXdDb250YWluZXJSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnW2FwcEluc2VydGlvbl0nLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgSW5zZXJ0aW9uRGlyZWN0aXZlIHtcclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZikge31cclxufVxyXG4iXX0=
@@ -0,0 +1,51 @@
1
+ import { Component } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "../snack-bar.service";
4
+ import * as i2 from "@angular/common";
5
+ export class SnackBarComponent {
6
+ constructor(snackbarService) {
7
+ this.snackbarService = snackbarService;
8
+ this.show = false;
9
+ this.message = '--';
10
+ this.icon = '&#xe914;';
11
+ this.type = 'alert';
12
+ this.icons = {
13
+ success: '&#xe93d;',
14
+ warning: '&#xe914;',
15
+ info: '&#xe932;',
16
+ alert: '&#xe914;',
17
+ error: '&#xeaae;',
18
+ };
19
+ }
20
+ ngOnInit() {
21
+ this.snackbarSubscription = this.snackbarService.snackbarState.subscribe((state) => {
22
+ if (state.icon && Object.keys(this.icons).includes(state?.icon)) {
23
+ this.icon = this.icons[state.icon];
24
+ this.type = state?.icon;
25
+ }
26
+ this.message = state.message;
27
+ this.show = state.show;
28
+ this.setAutoClose();
29
+ });
30
+ }
31
+ setAutoClose() {
32
+ setTimeout(() => {
33
+ this.show = false;
34
+ this.close();
35
+ }, 3000);
36
+ }
37
+ close() {
38
+ this.show = false;
39
+ this.snackbarService.hide();
40
+ }
41
+ ngOnDestroy() {
42
+ this.snackbarSubscription.unsubscribe();
43
+ }
44
+ }
45
+ SnackBarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: SnackBarComponent, deps: [{ token: i1.SnackBarService }], target: i0.ɵɵFactoryTarget.Component });
46
+ SnackBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: SnackBarComponent, selector: "app-snack-bar", ngImport: i0, template: "<div class=\"workflow-snackbar\" *ngIf=\"show\">\r\n <div class=\"workflow-snackbar-inner\">\r\n <div class=\"workflow-snackbarText\">\r\n <!-- &#xe914; -->\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"], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
47
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: SnackBarComponent, decorators: [{
48
+ type: Component,
49
+ 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 <!-- &#xe914; -->\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
+ }], ctorParameters: function () { return [{ type: i1.SnackBarService }]; } });
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic25hY2stYmFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZjLWVycm9yLWhhbmRsZXJzL3NyYy9saWIvdWkta2l0L3NuYWNrLWJhci9zbmFjay1iYXIvc25hY2stYmFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZjLWVycm9yLWhhbmRsZXJzL3NyYy9saWIvdWkta2l0L3NuYWNrLWJhci9zbmFjay1iYXIvc25hY2stYmFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXFCLE1BQU0sZUFBZSxDQUFDOzs7O0FBUzdELE1BQU0sT0FBTyxpQkFBaUI7SUFhNUIsWUFBb0IsZUFBZ0M7UUFBaEMsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBWnBELFNBQUksR0FBRyxLQUFLLENBQUM7UUFDYixZQUFPLEdBQUcsSUFBSSxDQUFDO1FBQ2YsU0FBSSxHQUFHLFVBQVUsQ0FBQztRQUNsQixTQUFJLEdBQUcsT0FBTyxDQUFDO1FBQ2YsVUFBSyxHQUFRO1lBQ1gsT0FBTyxFQUFFLFVBQVU7WUFDbkIsT0FBTyxFQUFFLFVBQVU7WUFDbkIsSUFBSSxFQUFFLFVBQVU7WUFDaEIsS0FBSyxFQUFFLFVBQVU7WUFDakIsS0FBSyxFQUFFLFVBQVU7U0FDbEIsQ0FBQztJQUVxRCxDQUFDO0lBRXhELFFBQVE7UUFDTixJQUFJLENBQUMsb0JBQW9CLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUN0RSxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ1IsSUFBSSxLQUFLLENBQUMsSUFBSSxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEVBQUU7Z0JBQy9ELElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ25DLElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxFQUFFLElBQUksQ0FBQzthQUN6QjtZQUNELElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQztZQUM3QixJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUM7WUFDdkIsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3RCLENBQUMsQ0FDRixDQUFDO0lBQ0osQ0FBQztJQUVELFlBQVk7UUFDVixVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUM7WUFDbEIsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ2YsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ1gsQ0FBQztJQUNELEtBQUs7UUFDSCxJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQztRQUNsQixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFDRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQzFDLENBQUM7OzhHQXpDVSxpQkFBaUI7a0dBQWpCLGlCQUFpQixxRENUOUIsd1pBUVE7MkZEQ0ssaUJBQWlCO2tCQUw3QixTQUFTOytCQUNFLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBTbmFja0JhclNlcnZpY2UgfSBmcm9tICcuLi9zbmFjay1iYXIuc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1zbmFjay1iYXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9zbmFjay1iYXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3NuYWNrLWJhci5jb21wb25lbnQubGVzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU25hY2tCYXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgc2hvdyA9IGZhbHNlO1xyXG4gIG1lc3NhZ2UgPSAnLS0nO1xyXG4gIGljb24gPSAnJiN4ZTkxNDsnO1xyXG4gIHR5cGUgPSAnYWxlcnQnO1xyXG4gIGljb25zOiBhbnkgPSB7XHJcbiAgICBzdWNjZXNzOiAnJiN4ZTkzZDsnLFxyXG4gICAgd2FybmluZzogJyYjeGU5MTQ7JyxcclxuICAgIGluZm86ICcmI3hlOTMyOycsXHJcbiAgICBhbGVydDogJyYjeGU5MTQ7JyxcclxuICAgIGVycm9yOiAnJiN4ZWFhZTsnLFxyXG4gIH07XHJcbiAgc25hY2tiYXJTdWJzY3JpcHRpb24hOiBTdWJzY3JpcHRpb247XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzbmFja2JhclNlcnZpY2U6IFNuYWNrQmFyU2VydmljZSkge31cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnNuYWNrYmFyU3Vic2NyaXB0aW9uID0gdGhpcy5zbmFja2JhclNlcnZpY2Uuc25hY2tiYXJTdGF0ZS5zdWJzY3JpYmUoXHJcbiAgICAgIChzdGF0ZSkgPT4ge1xyXG4gICAgICAgIGlmIChzdGF0ZS5pY29uICYmIE9iamVjdC5rZXlzKHRoaXMuaWNvbnMpLmluY2x1ZGVzKHN0YXRlPy5pY29uKSkge1xyXG4gICAgICAgICAgdGhpcy5pY29uID0gdGhpcy5pY29uc1tzdGF0ZS5pY29uXTtcclxuICAgICAgICAgIHRoaXMudHlwZSA9IHN0YXRlPy5pY29uO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLm1lc3NhZ2UgPSBzdGF0ZS5tZXNzYWdlO1xyXG4gICAgICAgIHRoaXMuc2hvdyA9IHN0YXRlLnNob3c7XHJcbiAgICAgICAgdGhpcy5zZXRBdXRvQ2xvc2UoKTtcclxuICAgICAgfVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHNldEF1dG9DbG9zZSgpIHtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICB0aGlzLnNob3cgPSBmYWxzZTtcclxuICAgICAgdGhpcy5jbG9zZSgpO1xyXG4gICAgfSwgMzAwMCk7XHJcbiAgfVxyXG4gIGNsb3NlKCkge1xyXG4gICAgdGhpcy5zaG93ID0gZmFsc2U7XHJcbiAgICB0aGlzLnNuYWNrYmFyU2VydmljZS5oaWRlKCk7XHJcbiAgfVxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy5zbmFja2JhclN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwid29ya2Zsb3ctc25hY2tiYXJcIiAqbmdJZj1cInNob3dcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJ3b3JrZmxvdy1zbmFja2Jhci1pbm5lclwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwid29ya2Zsb3ctc25hY2tiYXJUZXh0XCI+XHJcbiAgICAgICAgPCEtLSAmI3hlOTE0OyAtLT5cclxuICAgICAgICA8aSBjbGFzcz1cImljb25zXCIgW2NsYXNzXT1cInR5cGVcIiBbaW5uZXJIVE1MXT1cImljb25cIj48L2k+IDxzcGFuIFtpbm5lckhUTUxdPVwibWVzc2FnZVwiPnt7IG1lc3NhZ2UgfX08L3NwYW4+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8YnV0dG9uIChjbGljayk9XCJjbG9zZSgpXCI+WyA8c3Bhbj5DbG9zZTwvc3Bhbj4gXTwvYnV0dG9uPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+Il19
@@ -0,0 +1,18 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { SnackBarComponent } from './snack-bar/snack-bar.component';
4
+ import * as i0 from "@angular/core";
5
+ export class SnackBarModule {
6
+ }
7
+ SnackBarModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: SnackBarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
8
+ SnackBarModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: SnackBarModule, declarations: [SnackBarComponent], imports: [CommonModule], exports: [SnackBarComponent] });
9
+ SnackBarModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: SnackBarModule, imports: [[CommonModule]] });
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: SnackBarModule, decorators: [{
11
+ type: NgModule,
12
+ args: [{
13
+ declarations: [SnackBarComponent],
14
+ imports: [CommonModule],
15
+ exports: [SnackBarComponent],
16
+ }]
17
+ }] });
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic25hY2stYmFyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZjLWVycm9yLWhhbmRsZXJzL3NyYy9saWIvdWkta2l0L3NuYWNrLWJhci9zbmFjay1iYXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOztBQU9wRSxNQUFNLE9BQU8sY0FBYzs7MkdBQWQsY0FBYzs0R0FBZCxjQUFjLGlCQUpWLGlCQUFpQixhQUN0QixZQUFZLGFBQ1osaUJBQWlCOzRHQUVoQixjQUFjLFlBSGhCLENBQUMsWUFBWSxDQUFDOzJGQUdaLGNBQWM7a0JBTDFCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsaUJBQWlCLENBQUM7b0JBQ2pDLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztvQkFDdkIsT0FBTyxFQUFFLENBQUMsaUJBQWlCLENBQUM7aUJBQzdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgU25hY2tCYXJDb21wb25lbnQgfSBmcm9tICcuL3NuYWNrLWJhci9zbmFjay1iYXIuY29tcG9uZW50JztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbU25hY2tCYXJDb21wb25lbnRdLFxyXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxyXG4gIGV4cG9ydHM6IFtTbmFja0JhckNvbXBvbmVudF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTbmFja0Jhck1vZHVsZSB7fVxyXG4iXX0=
@@ -0,0 +1,32 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { Subject } from 'rxjs';
3
+ import * as i0 from "@angular/core";
4
+ export class SnackBarService {
5
+ constructor() {
6
+ this.snackbarSubject = new Subject();
7
+ this.snackbarState = this.snackbarSubject.asObservable();
8
+ }
9
+ show(message, type) {
10
+ this.snackbarSubject.next({
11
+ show: true,
12
+ message,
13
+ icon: type,
14
+ });
15
+ }
16
+ hide() {
17
+ this.snackbarSubject.next({
18
+ show: false,
19
+ message: '',
20
+ icon: '',
21
+ });
22
+ }
23
+ }
24
+ SnackBarService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: SnackBarService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
25
+ SnackBarService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: SnackBarService, providedIn: 'root' });
26
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: SnackBarService, decorators: [{
27
+ type: Injectable,
28
+ args: [{
29
+ providedIn: 'root',
30
+ }]
31
+ }], ctorParameters: function () { return []; } });
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic25hY2stYmFyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92Yy1lcnJvci1oYW5kbGVycy9zcmMvbGliL3VpLWtpdC9zbmFjay1iYXIvc25hY2stYmFyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQUsvQixNQUFNLE9BQU8sZUFBZTtJQUcxQjtRQUZPLG9CQUFlLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUN0QyxrQkFBYSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDNUMsQ0FBQztJQUVoQixJQUFJLENBQUMsT0FBZSxFQUFFLElBQWdEO1FBQ3BFLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDO1lBQ3hCLElBQUksRUFBRSxJQUFJO1lBQ1YsT0FBTztZQUNQLElBQUksRUFBQyxJQUFJO1NBQ1YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELElBQUk7UUFDRixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQztZQUN4QixJQUFJLEVBQUUsS0FBSztZQUNYLE9BQU8sRUFBRSxFQUFFO1lBQ1gsSUFBSSxFQUFFLEVBQUU7U0FDVCxDQUFDLENBQUM7SUFDTCxDQUFDOzs0R0FuQlUsZUFBZTtnSEFBZixlQUFlLGNBRmQsTUFBTTsyRkFFUCxlQUFlO2tCQUgzQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIFNuYWNrQmFyU2VydmljZSB7XHJcbiAgcHVibGljIHNuYWNrYmFyU3ViamVjdCA9IG5ldyBTdWJqZWN0IDxhbnk+KCk7XHJcbiAgcHVibGljIHNuYWNrYmFyU3RhdGUgPSB0aGlzLnNuYWNrYmFyU3ViamVjdC5hc09ic2VydmFibGUoKTtcclxuICBjb25zdHJ1Y3RvcigpIHt9XHJcblxyXG4gIHNob3cobWVzc2FnZTogc3RyaW5nLCB0eXBlPzonc3VjY2Vzcyd8J3dhcm5pbmcnfCdpbmZvJ3wnYWxlcnQnfCdlcnJvcicpIHtcclxuICAgIHRoaXMuc25hY2tiYXJTdWJqZWN0Lm5leHQoe1xyXG4gICAgICBzaG93OiB0cnVlLFxyXG4gICAgICBtZXNzYWdlLFxyXG4gICAgICBpY29uOnR5cGUsXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGhpZGUoKXtcclxuICAgIHRoaXMuc25hY2tiYXJTdWJqZWN0Lm5leHQoe1xyXG4gICAgICBzaG93OiBmYWxzZSxcclxuICAgICAgbWVzc2FnZTogJycsXHJcbiAgICAgIGljb246ICcnLFxyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -1,26 +1,46 @@
1
1
  import { Component } from '@angular/core';
2
+ import { ErrorStatusCode } from './shared/types/global-error.types';
2
3
  import * as i0 from "@angular/core";
4
+ import * as i1 from "./shared/services/global-error.service";
5
+ import * as i2 from "./shared/components/session-expired/session-expired.component";
6
+ import * as i3 from "./shared/components/unauthorized/unauthorized.component";
3
7
  export class VcErrorHandlersComponent {
4
- constructor() { }
5
- ngOnInit() {
8
+ constructor(globalErrorService) {
9
+ this.globalErrorService = globalErrorService;
10
+ this.errorCodes = ErrorStatusCode;
11
+ this.unauthorized = false;
12
+ this.sessionExpired = false;
13
+ this.networkUnavailable = false;
14
+ this.globalErrorService.globalError$.subscribe((error) => {
15
+ this.handleError(error);
16
+ });
17
+ }
18
+ handleError(error) {
19
+ if (error.status === this.errorCodes.Unauthenticated) {
20
+ this.sessionExpired = true;
21
+ }
22
+ else if (error.status === this.errorCodes.UnauthorizedAccess) {
23
+ this.unauthorized = true;
24
+ }
25
+ else if (error.status === this.errorCodes.NetworkUnavailable) {
26
+ this.networkUnavailable = true;
27
+ }
6
28
  }
7
29
  }
8
- VcErrorHandlersComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: VcErrorHandlersComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
30
+ VcErrorHandlersComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: VcErrorHandlersComponent, deps: [{ token: i1.GlobalErrorService }], target: i0.ɵɵFactoryTarget.Component });
9
31
  VcErrorHandlersComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: VcErrorHandlersComponent, selector: "lib-vc-error-handlers", ngImport: i0, template: `
10
- <p>
11
- vc-error-handlers works!
12
- </p>
13
- `, isInline: true });
32
+ <lib-session-expired *ngIf="sessionExpired"></lib-session-expired>
33
+ <lib-unauthorized *ngIf="unauthorized"></lib-unauthorized>
34
+ `, isInline: true, components: [{ type: i2.SessionExpiredComponent, selector: "lib-session-expired" }, { type: i3.UnauthorizedComponent, selector: "lib-unauthorized" }] });
14
35
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: VcErrorHandlersComponent, decorators: [{
15
36
  type: Component,
16
37
  args: [{
17
38
  selector: 'lib-vc-error-handlers',
18
39
  template: `
19
- <p>
20
- vc-error-handlers works!
21
- </p>
40
+ <lib-session-expired *ngIf="sessionExpired"></lib-session-expired>
41
+ <lib-unauthorized *ngIf="unauthorized"></lib-unauthorized>
22
42
  `,
23
- styles: []
43
+ styles: [],
24
44
  }]
25
- }], ctorParameters: function () { return []; } });
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmMtZXJyb3ItaGFuZGxlcnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvdmMtZXJyb3ItaGFuZGxlcnMvc3JjL2xpYi92Yy1lcnJvci1oYW5kbGVycy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQzs7QUFZbEQsTUFBTSxPQUFPLHdCQUF3QjtJQUVuQyxnQkFBZ0IsQ0FBQztJQUVqQixRQUFRO0lBQ1IsQ0FBQzs7cUhBTFUsd0JBQXdCO3lHQUF4Qix3QkFBd0IsNkRBUnpCOzs7O0dBSVQ7MkZBSVUsd0JBQXdCO2tCQVZwQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSx1QkFBdUI7b0JBQ2pDLFFBQVEsRUFBRTs7OztHQUlUO29CQUNELE1BQU0sRUFBRSxFQUNQO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLXZjLWVycm9yLWhhbmRsZXJzJyxcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgPHA+XHJcbiAgICAgIHZjLWVycm9yLWhhbmRsZXJzIHdvcmtzIVxyXG4gICAgPC9wPlxyXG4gIGAsXHJcbiAgc3R5bGVzOiBbXHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVmNFcnJvckhhbmRsZXJzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7IH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=
45
+ }], ctorParameters: function () { return [{ type: i1.GlobalErrorService }]; } });
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmMtZXJyb3ItaGFuZGxlcnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvdmMtZXJyb3ItaGFuZGxlcnMvc3JjL2xpYi92Yy1lcnJvci1oYW5kbGVycy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUkxQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7Ozs7O0FBVXBFLE1BQU0sT0FBTyx3QkFBd0I7SUFPbkMsWUFBb0Isa0JBQXNDO1FBQXRDLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFOMUQsZUFBVSxHQUFHLGVBQWUsQ0FBQztRQUU3QixpQkFBWSxHQUFZLEtBQUssQ0FBQztRQUM5QixtQkFBYyxHQUFZLEtBQUssQ0FBQztRQUNoQyx1QkFBa0IsR0FBWSxLQUFLLENBQUM7UUFHbEMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUN2RCxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzFCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLFdBQVcsQ0FBQyxLQUFVO1FBQzVCLElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxJQUFJLENBQUMsVUFBVSxDQUFDLGVBQWUsRUFBRTtZQUNwRCxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQztTQUM1QjthQUFNLElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxJQUFJLENBQUMsVUFBVSxDQUFDLGtCQUFrQixFQUFFO1lBQzlELElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO1NBQzFCO2FBQU0sSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLElBQUksQ0FBQyxVQUFVLENBQUMsa0JBQWtCLEVBQUU7WUFDOUQsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQztTQUNoQztJQUNILENBQUM7O3FIQXJCVSx3QkFBd0I7eUdBQXhCLHdCQUF3Qiw2REFOekI7OztHQUdUOzJGQUdVLHdCQUF3QjtrQkFScEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsdUJBQXVCO29CQUNqQyxRQUFRLEVBQUU7OztHQUdUO29CQUNELE1BQU0sRUFBRSxFQUFFO2lCQUNYIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBHbG9iYWxFcnJvclNlcnZpY2UgfSBmcm9tICcuL3NoYXJlZC9zZXJ2aWNlcy9nbG9iYWwtZXJyb3Iuc2VydmljZSc7XHJcblxyXG5pbXBvcnQgeyBFcnJvclN0YXR1c0NvZGUgfSBmcm9tICcuL3NoYXJlZC90eXBlcy9nbG9iYWwtZXJyb3IudHlwZXMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItdmMtZXJyb3ItaGFuZGxlcnMnLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8bGliLXNlc3Npb24tZXhwaXJlZCAqbmdJZj1cInNlc3Npb25FeHBpcmVkXCI+PC9saWItc2Vzc2lvbi1leHBpcmVkPlxyXG4gICAgPGxpYi11bmF1dGhvcml6ZWQgKm5nSWY9XCJ1bmF1dGhvcml6ZWRcIj48L2xpYi11bmF1dGhvcml6ZWQ+XHJcbiAgYCxcclxuICBzdHlsZXM6IFtdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVmNFcnJvckhhbmRsZXJzQ29tcG9uZW50IHtcclxuICBlcnJvckNvZGVzID0gRXJyb3JTdGF0dXNDb2RlO1xyXG5cclxuICB1bmF1dGhvcml6ZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBzZXNzaW9uRXhwaXJlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIG5ldHdvcmtVbmF2YWlsYWJsZTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGdsb2JhbEVycm9yU2VydmljZTogR2xvYmFsRXJyb3JTZXJ2aWNlKSB7XHJcbiAgICB0aGlzLmdsb2JhbEVycm9yU2VydmljZS5nbG9iYWxFcnJvciQuc3Vic2NyaWJlKChlcnJvcikgPT4ge1xyXG4gICAgICB0aGlzLmhhbmRsZUVycm9yKGVycm9yKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBoYW5kbGVFcnJvcihlcnJvcjogYW55KSB7XHJcbiAgICBpZiAoZXJyb3Iuc3RhdHVzID09PSB0aGlzLmVycm9yQ29kZXMuVW5hdXRoZW50aWNhdGVkKSB7XHJcbiAgICAgIHRoaXMuc2Vzc2lvbkV4cGlyZWQgPSB0cnVlO1xyXG4gICAgfSBlbHNlIGlmIChlcnJvci5zdGF0dXMgPT09IHRoaXMuZXJyb3JDb2Rlcy5VbmF1dGhvcml6ZWRBY2Nlc3MpIHtcclxuICAgICAgdGhpcy51bmF1dGhvcml6ZWQgPSB0cnVlO1xyXG4gICAgfSBlbHNlIGlmIChlcnJvci5zdGF0dXMgPT09IHRoaXMuZXJyb3JDb2Rlcy5OZXR3b3JrVW5hdmFpbGFibGUpIHtcclxuICAgICAgdGhpcy5uZXR3b3JrVW5hdmFpbGFibGUgPSB0cnVlO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
@@ -1,7 +1,17 @@
1
1
  import { ErrorHandler, InjectionToken, NgModule, } from '@angular/core';
2
+ import { HTTP_INTERCEPTORS } from '@angular/common/http';
3
+ import { PageNotFoundComponent } from './shared/components/page-not-found/page-not-found.component';
2
4
  import { VcErrorHandlersComponent } from './vc-error-handlers.component';
5
+ import { DialogModule } from './ui-kit/dialog/dialog.module';
6
+ import { SnackBarModule } from './ui-kit/snack-bar/snack-bar.module';
3
7
  import { SentryErrorHandler } from './shared/errorhandler/sentry-error.handler';
4
8
  import { Configurations } from './configuration';
9
+ import { UnauthorizedComponent } from './shared/components/unauthorized/unauthorized.component';
10
+ import { SessionExpiredComponent } from './shared/components/session-expired/session-expired.component';
11
+ import { ChunkUnavailableComponent } from './shared/components/chunk-unavailable/chunk-unavailable.component';
12
+ import { ServerErrorComponent } from './shared/components/server-error/server-error.component';
13
+ import { SessionExpiredModalComponent } from './shared/components/session-expired-modal/session-expired-modal.component';
14
+ import { HttpReqInterceptor } from './shared/interceptors/http.interceptor';
5
15
  import * as i0 from "@angular/core";
6
16
  export const FOR_ROOT_SENTRY_OPTIONS_TOKEN = new InjectionToken('forRoot() SentryErrorHandler options');
7
17
  export class VcErrorHandlersModule {
@@ -13,15 +23,50 @@ export class VcErrorHandlersModule {
13
23
  }
14
24
  }
15
25
  VcErrorHandlersModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: VcErrorHandlersModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
16
- VcErrorHandlersModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: VcErrorHandlersModule, declarations: [VcErrorHandlersComponent], exports: [VcErrorHandlersComponent] });
17
- VcErrorHandlersModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: VcErrorHandlersModule, providers: [{ provide: ErrorHandler, useClass: SentryErrorHandler }], imports: [[]] });
26
+ VcErrorHandlersModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: VcErrorHandlersModule, bootstrap: [VcErrorHandlersComponent], declarations: [VcErrorHandlersComponent,
27
+ PageNotFoundComponent,
28
+ UnauthorizedComponent,
29
+ SessionExpiredComponent,
30
+ ChunkUnavailableComponent,
31
+ ServerErrorComponent,
32
+ SessionExpiredModalComponent], imports: [DialogModule, SnackBarModule], exports: [VcErrorHandlersComponent,
33
+ PageNotFoundComponent,
34
+ UnauthorizedComponent,
35
+ SessionExpiredComponent,
36
+ ChunkUnavailableComponent,
37
+ ServerErrorComponent,
38
+ SessionExpiredModalComponent] });
39
+ VcErrorHandlersModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: VcErrorHandlersModule, providers: [
40
+ { provide: ErrorHandler, useClass: SentryErrorHandler },
41
+ { provide: HTTP_INTERCEPTORS, useClass: HttpReqInterceptor, multi: true },
42
+ ], imports: [[DialogModule, SnackBarModule]] });
18
43
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: VcErrorHandlersModule, decorators: [{
19
44
  type: NgModule,
20
45
  args: [{
21
- declarations: [VcErrorHandlersComponent],
22
- imports: [],
23
- exports: [VcErrorHandlersComponent],
24
- providers: [{ provide: ErrorHandler, useClass: SentryErrorHandler }],
46
+ declarations: [
47
+ VcErrorHandlersComponent,
48
+ PageNotFoundComponent,
49
+ UnauthorizedComponent,
50
+ SessionExpiredComponent,
51
+ ChunkUnavailableComponent,
52
+ ServerErrorComponent,
53
+ SessionExpiredModalComponent,
54
+ ],
55
+ imports: [DialogModule, SnackBarModule],
56
+ exports: [
57
+ VcErrorHandlersComponent,
58
+ PageNotFoundComponent,
59
+ UnauthorizedComponent,
60
+ SessionExpiredComponent,
61
+ ChunkUnavailableComponent,
62
+ ServerErrorComponent,
63
+ SessionExpiredModalComponent,
64
+ ],
65
+ providers: [
66
+ { provide: ErrorHandler, useClass: SentryErrorHandler },
67
+ { provide: HTTP_INTERCEPTORS, useClass: HttpReqInterceptor, multi: true },
68
+ ],
69
+ bootstrap: [VcErrorHandlersComponent],
25
70
  }]
26
71
  }] });
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmMtZXJyb3ItaGFuZGxlcnMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvdmMtZXJyb3ItaGFuZGxlcnMvc3JjL2xpYi92Yy1lcnJvci1oYW5kbGVycy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFlBQVksRUFDWixjQUFjLEVBRWQsUUFBUSxHQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBR3pFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFFakQsTUFBTSxDQUFDLE1BQU0sNkJBQTZCLEdBQUcsSUFBSSxjQUFjLENBQzdELHNDQUFzQyxDQUN2QyxDQUFDO0FBUUYsTUFBTSxPQUFPLHFCQUFxQjtJQUN6QixNQUFNLENBQUMsT0FBTyxDQUNuQixpQkFBaUM7UUFFakMsT0FBTztZQUNMLFFBQVEsRUFBRSxxQkFBcUI7WUFDL0IsU0FBUyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBRSxpQkFBaUIsRUFBRSxDQUFDO1NBQ3RFLENBQUM7SUFDSixDQUFDOztrSEFSVSxxQkFBcUI7bUhBQXJCLHFCQUFxQixpQkFMakIsd0JBQXdCLGFBRTdCLHdCQUF3QjttSEFHdkIscUJBQXFCLGFBRnJCLENBQUMsRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxrQkFBa0IsRUFBRSxDQUFDLFlBRjNELEVBQUU7MkZBSUEscUJBQXFCO2tCQU5qQyxRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxDQUFDLHdCQUF3QixDQUFDO29CQUN4QyxPQUFPLEVBQUUsRUFBRTtvQkFDWCxPQUFPLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQztvQkFDbkMsU0FBUyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxrQkFBa0IsRUFBRSxDQUFDO2lCQUNyRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgRXJyb3JIYW5kbGVyLFxyXG4gIEluamVjdGlvblRva2VuLFxyXG4gIE1vZHVsZVdpdGhQcm92aWRlcnMsXHJcbiAgTmdNb2R1bGUsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFZjRXJyb3JIYW5kbGVyc0NvbXBvbmVudCB9IGZyb20gJy4vdmMtZXJyb3ItaGFuZGxlcnMuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQnJvd3Nlck9wdGlvbnMgfSBmcm9tICdAc2VudHJ5L2Jyb3dzZXInO1xyXG5pbXBvcnQgeyBHbG9iYWxFcnJvckhhbmRsZXIgfSBmcm9tICcuL3NoYXJlZC9lcnJvcmhhbmRsZXIvY2h1bmstZXJyb3IuaGFuZGxlcic7XHJcbmltcG9ydCB7IFNlbnRyeUVycm9ySGFuZGxlciB9IGZyb20gJy4vc2hhcmVkL2Vycm9yaGFuZGxlci9zZW50cnktZXJyb3IuaGFuZGxlcic7XHJcbmltcG9ydCB7IENvbmZpZ3VyYXRpb25zIH0gZnJvbSAnLi9jb25maWd1cmF0aW9uJztcclxuXHJcbmV4cG9ydCBjb25zdCBGT1JfUk9PVF9TRU5UUllfT1BUSU9OU19UT0tFTiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxCcm93c2VyT3B0aW9ucz4oXHJcbiAgJ2ZvclJvb3QoKSBTZW50cnlFcnJvckhhbmRsZXIgb3B0aW9ucydcclxuKTtcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbVmNFcnJvckhhbmRsZXJzQ29tcG9uZW50XSxcclxuICBpbXBvcnRzOiBbXSxcclxuICBleHBvcnRzOiBbVmNFcnJvckhhbmRsZXJzQ29tcG9uZW50XSxcclxuICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IEVycm9ySGFuZGxlciwgdXNlQ2xhc3M6IFNlbnRyeUVycm9ySGFuZGxlciB9XSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFZjRXJyb3JIYW5kbGVyc01vZHVsZSB7XHJcbiAgcHVibGljIHN0YXRpYyBmb3JSb290KFxyXG4gICAgZW52aXJvbm1lbnRDb25maWc6IENvbmZpZ3VyYXRpb25zXHJcbiAgKTogTW9kdWxlV2l0aFByb3ZpZGVyczxWY0Vycm9ySGFuZGxlcnNNb2R1bGU+IHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIG5nTW9kdWxlOiBWY0Vycm9ySGFuZGxlcnNNb2R1bGUsXHJcbiAgICAgIHByb3ZpZGVyczogW3sgcHJvdmlkZTogQ29uZmlndXJhdGlvbnMsIHVzZVZhbHVlOiBlbnZpcm9ubWVudENvbmZpZyB9XSxcclxuICAgIH07XHJcbiAgfVxyXG59XHJcbiJdfQ==
72
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmMtZXJyb3ItaGFuZGxlcnMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvdmMtZXJyb3ItaGFuZGxlcnMvc3JjL2xpYi92Yy1lcnJvci1oYW5kbGVycy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFlBQVksRUFDWixjQUFjLEVBRWQsUUFBUSxHQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRXpELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDZEQUE2RCxDQUFDO0FBQ3BHLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRXpFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFJckUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDaEYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHlEQUF5RCxDQUFDO0FBQ2hHLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLCtEQUErRCxDQUFDO0FBQ3hHLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLG1FQUFtRSxDQUFDO0FBQzlHLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHlEQUF5RCxDQUFDO0FBQy9GLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLDJFQUEyRSxDQUFDO0FBRXpILE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDOztBQUU1RSxNQUFNLENBQUMsTUFBTSw2QkFBNkIsR0FBRyxJQUFJLGNBQWMsQ0FDN0Qsc0NBQXNDLENBQ3ZDLENBQUM7QUE0QkYsTUFBTSxPQUFPLHFCQUFxQjtJQUN6QixNQUFNLENBQUMsT0FBTyxDQUNuQixpQkFBaUM7UUFFakMsT0FBTztZQUNMLFFBQVEsRUFBRSxxQkFBcUI7WUFDL0IsU0FBUyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBRSxpQkFBaUIsRUFBRSxDQUFDO1NBQ3RFLENBQUM7SUFDSixDQUFDOztrSEFSVSxxQkFBcUI7bUhBQXJCLHFCQUFxQixjQUZwQix3QkFBd0Isa0JBdEJsQyx3QkFBd0I7UUFDeEIscUJBQXFCO1FBQ3JCLHFCQUFxQjtRQUNyQix1QkFBdUI7UUFDdkIseUJBQXlCO1FBQ3pCLG9CQUFvQjtRQUNwQiw0QkFBNEIsYUFFcEIsWUFBWSxFQUFFLGNBQWMsYUFFcEMsd0JBQXdCO1FBQ3hCLHFCQUFxQjtRQUNyQixxQkFBcUI7UUFDckIsdUJBQXVCO1FBQ3ZCLHlCQUF5QjtRQUN6QixvQkFBb0I7UUFDcEIsNEJBQTRCO21IQVFuQixxQkFBcUIsYUFOckI7UUFDVCxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLGtCQUFrQixFQUFFO1FBQ3ZELEVBQUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFFBQVEsRUFBRSxrQkFBa0IsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFO0tBQzFFLFlBYlEsQ0FBQyxZQUFZLEVBQUUsY0FBYyxDQUFDOzJGQWdCNUIscUJBQXFCO2tCQTFCakMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1osd0JBQXdCO3dCQUN4QixxQkFBcUI7d0JBQ3JCLHFCQUFxQjt3QkFDckIsdUJBQXVCO3dCQUN2Qix5QkFBeUI7d0JBQ3pCLG9CQUFvQjt3QkFDcEIsNEJBQTRCO3FCQUM3QjtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsY0FBYyxDQUFDO29CQUN2QyxPQUFPLEVBQUU7d0JBQ1Asd0JBQXdCO3dCQUN4QixxQkFBcUI7d0JBQ3JCLHFCQUFxQjt3QkFDckIsdUJBQXVCO3dCQUN2Qix5QkFBeUI7d0JBQ3pCLG9CQUFvQjt3QkFDcEIsNEJBQTRCO3FCQUM3QjtvQkFDRCxTQUFTLEVBQUU7d0JBQ1QsRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxrQkFBa0IsRUFBRTt3QkFDdkQsRUFBRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsUUFBUSxFQUFFLGtCQUFrQixFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUU7cUJBQzFFO29CQUNELFNBQVMsRUFBRSxDQUFDLHdCQUF3QixDQUFDO2lCQUN0QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgRXJyb3JIYW5kbGVyLFxyXG4gIEluamVjdGlvblRva2VuLFxyXG4gIE1vZHVsZVdpdGhQcm92aWRlcnMsXHJcbiAgTmdNb2R1bGUsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEhUVFBfSU5URVJDRVBUT1JTIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5cclxuaW1wb3J0IHsgUGFnZU5vdEZvdW5kQ29tcG9uZW50IH0gZnJvbSAnLi9zaGFyZWQvY29tcG9uZW50cy9wYWdlLW5vdC1mb3VuZC9wYWdlLW5vdC1mb3VuZC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBWY0Vycm9ySGFuZGxlcnNDb21wb25lbnQgfSBmcm9tICcuL3ZjLWVycm9yLWhhbmRsZXJzLmNvbXBvbmVudCc7XHJcblxyXG5pbXBvcnQgeyBEaWFsb2dNb2R1bGUgfSBmcm9tICcuL3VpLWtpdC9kaWFsb2cvZGlhbG9nLm1vZHVsZSc7XHJcbmltcG9ydCB7IFNuYWNrQmFyTW9kdWxlIH0gZnJvbSAnLi91aS1raXQvc25hY2stYmFyL3NuYWNrLWJhci5tb2R1bGUnO1xyXG5cclxuaW1wb3J0IHsgQnJvd3Nlck9wdGlvbnMgfSBmcm9tICdAc2VudHJ5L2Jyb3dzZXInO1xyXG5pbXBvcnQgeyBHbG9iYWxFcnJvckhhbmRsZXIgfSBmcm9tICcuL3NoYXJlZC9lcnJvcmhhbmRsZXIvY2h1bmstZXJyb3IuaGFuZGxlcic7XHJcbmltcG9ydCB7IFNlbnRyeUVycm9ySGFuZGxlciB9IGZyb20gJy4vc2hhcmVkL2Vycm9yaGFuZGxlci9zZW50cnktZXJyb3IuaGFuZGxlcic7XHJcbmltcG9ydCB7IENvbmZpZ3VyYXRpb25zIH0gZnJvbSAnLi9jb25maWd1cmF0aW9uJztcclxuaW1wb3J0IHsgVW5hdXRob3JpemVkQ29tcG9uZW50IH0gZnJvbSAnLi9zaGFyZWQvY29tcG9uZW50cy91bmF1dGhvcml6ZWQvdW5hdXRob3JpemVkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNlc3Npb25FeHBpcmVkQ29tcG9uZW50IH0gZnJvbSAnLi9zaGFyZWQvY29tcG9uZW50cy9zZXNzaW9uLWV4cGlyZWQvc2Vzc2lvbi1leHBpcmVkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENodW5rVW5hdmFpbGFibGVDb21wb25lbnQgfSBmcm9tICcuL3NoYXJlZC9jb21wb25lbnRzL2NodW5rLXVuYXZhaWxhYmxlL2NodW5rLXVuYXZhaWxhYmxlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNlcnZlckVycm9yQ29tcG9uZW50IH0gZnJvbSAnLi9zaGFyZWQvY29tcG9uZW50cy9zZXJ2ZXItZXJyb3Ivc2VydmVyLWVycm9yLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNlc3Npb25FeHBpcmVkTW9kYWxDb21wb25lbnQgfSBmcm9tICcuL3NoYXJlZC9jb21wb25lbnRzL3Nlc3Npb24tZXhwaXJlZC1tb2RhbC9zZXNzaW9uLWV4cGlyZWQtbW9kYWwuY29tcG9uZW50JztcclxuXHJcbmltcG9ydCB7IEh0dHBSZXFJbnRlcmNlcHRvciB9IGZyb20gJy4vc2hhcmVkL2ludGVyY2VwdG9ycy9odHRwLmludGVyY2VwdG9yJztcclxuXHJcbmV4cG9ydCBjb25zdCBGT1JfUk9PVF9TRU5UUllfT1BUSU9OU19UT0tFTiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxCcm93c2VyT3B0aW9ucz4oXHJcbiAgJ2ZvclJvb3QoKSBTZW50cnlFcnJvckhhbmRsZXIgb3B0aW9ucydcclxuKTtcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICBWY0Vycm9ySGFuZGxlcnNDb21wb25lbnQsXHJcbiAgICBQYWdlTm90Rm91bmRDb21wb25lbnQsXHJcbiAgICBVbmF1dGhvcml6ZWRDb21wb25lbnQsXHJcbiAgICBTZXNzaW9uRXhwaXJlZENvbXBvbmVudCxcclxuICAgIENodW5rVW5hdmFpbGFibGVDb21wb25lbnQsXHJcbiAgICBTZXJ2ZXJFcnJvckNvbXBvbmVudCxcclxuICAgIFNlc3Npb25FeHBpcmVkTW9kYWxDb21wb25lbnQsXHJcbiAgXSxcclxuICBpbXBvcnRzOiBbRGlhbG9nTW9kdWxlLCBTbmFja0Jhck1vZHVsZV0sXHJcbiAgZXhwb3J0czogW1xyXG4gICAgVmNFcnJvckhhbmRsZXJzQ29tcG9uZW50LFxyXG4gICAgUGFnZU5vdEZvdW5kQ29tcG9uZW50LFxyXG4gICAgVW5hdXRob3JpemVkQ29tcG9uZW50LFxyXG4gICAgU2Vzc2lvbkV4cGlyZWRDb21wb25lbnQsXHJcbiAgICBDaHVua1VuYXZhaWxhYmxlQ29tcG9uZW50LFxyXG4gICAgU2VydmVyRXJyb3JDb21wb25lbnQsXHJcbiAgICBTZXNzaW9uRXhwaXJlZE1vZGFsQ29tcG9uZW50LFxyXG4gIF0sXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICB7IHByb3ZpZGU6IEVycm9ySGFuZGxlciwgdXNlQ2xhc3M6IFNlbnRyeUVycm9ySGFuZGxlciB9LFxyXG4gICAgeyBwcm92aWRlOiBIVFRQX0lOVEVSQ0VQVE9SUywgdXNlQ2xhc3M6IEh0dHBSZXFJbnRlcmNlcHRvciwgbXVsdGk6IHRydWUgfSxcclxuICBdLFxyXG4gIGJvb3RzdHJhcDogW1ZjRXJyb3JIYW5kbGVyc0NvbXBvbmVudF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBWY0Vycm9ySGFuZGxlcnNNb2R1bGUge1xyXG4gIHB1YmxpYyBzdGF0aWMgZm9yUm9vdChcclxuICAgIGVudmlyb25tZW50Q29uZmlnOiBDb25maWd1cmF0aW9uc1xyXG4gICk6IE1vZHVsZVdpdGhQcm92aWRlcnM8VmNFcnJvckhhbmRsZXJzTW9kdWxlPiB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBuZ01vZHVsZTogVmNFcnJvckhhbmRsZXJzTW9kdWxlLFxyXG4gICAgICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IENvbmZpZ3VyYXRpb25zLCB1c2VWYWx1ZTogZW52aXJvbm1lbnRDb25maWcgfV0sXHJcbiAgICB9O1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -2,6 +2,16 @@
2
2
  * Public API Surface of vc-error-handlers
3
3
  */
4
4
  export * from './lib/vc-error-handlers.service';
5
+ export * from './lib/shared/services/global-error.service';
6
+ export * from './lib/shared/services/auth.service';
7
+ export * from './lib/shared/services/router.service';
5
8
  export * from './lib/vc-error-handlers.component';
9
+ export * from './lib/shared/components/page-not-found/page-not-found.component';
10
+ export * from './lib/shared/components/unauthorized/unauthorized.component';
11
+ export * from './lib/shared/components/chunk-unavailable/chunk-unavailable.component';
12
+ export * from './lib/shared/components/server-error/server-error.component';
13
+ export * from './lib/shared/components/session-expired/session-expired.component';
14
+ export * from './lib/shared/components/session-expired-modal/session-expired-modal.component';
6
15
  export * from './lib/vc-error-handlers.module';
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL3ZjLWVycm9yLWhhbmRsZXJzL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsZ0NBQWdDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2YgdmMtZXJyb3ItaGFuZGxlcnNcclxuICovXHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi92Yy1lcnJvci1oYW5kbGVycy5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdmMtZXJyb3ItaGFuZGxlcnMuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdmMtZXJyb3ItaGFuZGxlcnMubW9kdWxlJztcclxuIl19
16
+ export * from './lib/shared/interceptors/http.interceptor';
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL3ZjLWVycm9yLWhhbmRsZXJzL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLDRDQUE0QyxDQUFDO0FBQzNELGNBQWMsb0NBQW9DLENBQUM7QUFDbkQsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsaUVBQWlFLENBQUM7QUFDaEYsY0FBYyw2REFBNkQsQ0FBQztBQUM1RSxjQUFjLHVFQUF1RSxDQUFDO0FBQ3RGLGNBQWMsNkRBQTZELENBQUM7QUFDNUUsY0FBYyxtRUFBbUUsQ0FBQztBQUNsRixjQUFjLCtFQUErRSxDQUFDO0FBQzlGLGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYyw0Q0FBNEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiB2Yy1lcnJvci1oYW5kbGVyc1xyXG4gKi9cclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3ZjLWVycm9yLWhhbmRsZXJzLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zaGFyZWQvc2VydmljZXMvZ2xvYmFsLWVycm9yLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zaGFyZWQvc2VydmljZXMvYXV0aC5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2hhcmVkL3NlcnZpY2VzL3JvdXRlci5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdmMtZXJyb3ItaGFuZGxlcnMuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2hhcmVkL2NvbXBvbmVudHMvcGFnZS1ub3QtZm91bmQvcGFnZS1ub3QtZm91bmQuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2hhcmVkL2NvbXBvbmVudHMvdW5hdXRob3JpemVkL3VuYXV0aG9yaXplZC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zaGFyZWQvY29tcG9uZW50cy9jaHVuay11bmF2YWlsYWJsZS9jaHVuay11bmF2YWlsYWJsZS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zaGFyZWQvY29tcG9uZW50cy9zZXJ2ZXItZXJyb3Ivc2VydmVyLWVycm9yLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NoYXJlZC9jb21wb25lbnRzL3Nlc3Npb24tZXhwaXJlZC9zZXNzaW9uLWV4cGlyZWQuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2hhcmVkL2NvbXBvbmVudHMvc2Vzc2lvbi1leHBpcmVkLW1vZGFsL3Nlc3Npb24tZXhwaXJlZC1tb2RhbC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi92Yy1lcnJvci1oYW5kbGVycy5tb2R1bGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zaGFyZWQvaW50ZXJjZXB0b3JzL2h0dHAuaW50ZXJjZXB0b3InO1xyXG4iXX0=