@eo-sdk/client 8.14.0-rc.2 → 8.15.0-rc.1
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/app/eo-client/about-state/about-state.component.d.ts +1 -0
- package/app/eo-framework/form-elements/datetime/datepicker/datepicker.component.d.ts +2 -1
- package/app/eo-framework/form-elements/datetime/datetime.component.d.ts +5 -1
- package/app/eo-framework/object-form/object-form/form-element/form-element.component.d.ts +2 -1
- package/app/eo-framework/object-form/object-form/form-element-table/form-element-table.component.d.ts +4 -1
- package/app/eo-framework/object-form/object-form/object-form-group/object-form-group.component.d.ts +2 -0
- package/app/eo-framework/object-form/object-form/object-form.component.d.ts +2 -1
- package/app/eo-framework/object-form/object-form-edit/object-form-edit.component.d.ts +1 -0
- package/app/eo-framework/ui/eo-dialog/eo-dialog.component.d.ts +22 -11
- package/app/eo-framework/util/directive/trap-focus.directive.d.ts +14 -0
- package/assets/_default/config/main.json +2 -1
- package/assets/_default/i18n/de.json +2 -0
- package/assets/_default/i18n/en.json +3 -1
- package/assets/_default/svg/ic_preview_close.svg +1 -0
- package/assets/_default/svg/ic_preview_show.svg +1 -0
- package/bundles/eo-sdk-client.umd.js +3381 -3262
- package/bundles/eo-sdk-client.umd.js.map +1 -1
- package/bundles/eo-sdk-client.umd.min.js +1 -1
- package/bundles/eo-sdk-client.umd.min.js.map +1 -1
- package/eo-sdk-client.d.ts +67 -63
- package/eo-sdk-client.metadata.json +1 -1
- package/esm2015/app/eo-client/about-state/about-state.component.js +6 -5
- package/esm2015/app/eo-framework/actions/actions/add-resubmission-action/add-resubmission/add-resubmission.component.js +1 -1
- package/esm2015/app/eo-framework/app-shell/app-bar/app-search/app-search.component.js +3 -3
- package/esm2015/app/eo-framework/app-shell/app-bar/side-bar/side-bar.component.js +2 -2
- package/esm2015/app/eo-framework/app-shell/app-shell.module.js +5 -3
- package/esm2015/app/eo-framework/form-elements/datetime/datepicker/datepicker.component.js +8 -4
- package/esm2015/app/eo-framework/form-elements/datetime/datetime.component.js +13 -8
- package/esm2015/app/eo-framework/grid/filters/datetime-filter.component.js +2 -2
- package/esm2015/app/eo-framework/object-details/favorite-icon/favorite-icon.component.js +2 -2
- package/esm2015/app/eo-framework/object-form/object-form/form-element/form-element.component.js +3 -2
- package/esm2015/app/eo-framework/object-form/object-form/form-element-table/form-element-table.component.js +9 -2
- package/esm2015/app/eo-framework/object-form/object-form/object-form-group/object-form-group.component.js +3 -2
- package/esm2015/app/eo-framework/object-form/object-form/object-form.component.js +3 -2
- package/esm2015/app/eo-framework/object-form/object-form-edit/object-form-edit.component.js +5 -2
- package/esm2015/app/eo-framework/object-form/object-form.module.js +4 -2
- package/esm2015/app/eo-framework/prepare-details/prepare-details.component.js +2 -2
- package/esm2015/app/eo-framework/ui/eo-dialog/eo-dialog.component.js +78 -42
- package/esm2015/app/eo-framework/ui/ui.module.js +4 -2
- package/esm2015/app/eo-framework/util/directive/trap-focus.directive.js +50 -0
- package/esm2015/eo-sdk-client.js +68 -64
- package/fesm2015/eo-sdk-client.js +1246 -1134
- package/fesm2015/eo-sdk-client.js.map +1 -1
- package/package.json +3 -3
- package/projects/eo-sdk/core/package.json +1 -1
- package/styles.css +1 -0
- package/styles.scss +1 -0
|
@@ -1,27 +1,31 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Overlay } from '@angular/cdk/overlay';
|
|
2
|
+
import { CdkPortalOutlet, TemplatePortal } from '@angular/cdk/portal';
|
|
3
|
+
import { Component, EventEmitter, HostListener, Input, Output, Renderer2, ViewChild, ViewEncapsulation, ViewContainerRef } from '@angular/core';
|
|
2
4
|
import { EnaioEvent, EventService, Utils } from '@eo-sdk/core';
|
|
3
|
-
import { Dialog } from 'primeng/primeng';
|
|
4
5
|
import { filter, takeUntil } from 'rxjs/operators';
|
|
5
|
-
import { PendingChangesService } from '../../../eo-framework-core
|
|
6
|
-
import { UnsubscribeOnDestroy } from '../../util
|
|
6
|
+
import { PendingChangesService } from '../../../eo-framework-core';
|
|
7
|
+
import { UnsubscribeOnDestroy } from '../../util';
|
|
7
8
|
export class EoDialogComponent extends UnsubscribeOnDestroy {
|
|
8
|
-
constructor(eventService, pendingChanges, renderer) {
|
|
9
|
+
constructor(eventService, pendingChanges, renderer, overlay, viewContainerRef) {
|
|
9
10
|
super();
|
|
10
11
|
this.eventService = eventService;
|
|
11
12
|
this.pendingChanges = pendingChanges;
|
|
12
13
|
this.renderer = renderer;
|
|
14
|
+
this.overlay = overlay;
|
|
15
|
+
this.viewContainerRef = viewContainerRef;
|
|
13
16
|
this._visible = false;
|
|
14
17
|
this.id = Utils.uuid();
|
|
15
18
|
this.parentId = '';
|
|
16
19
|
this.styleClass = '';
|
|
17
20
|
// array of pendingTask IDs to be checked before the dialog closes
|
|
18
21
|
this.dirtyCheck = [];
|
|
19
|
-
this.appendTo = 'body';
|
|
20
22
|
this.minWidth = 200;
|
|
21
23
|
this.minHeight = 'auto';
|
|
22
|
-
this.resizable = false;
|
|
23
|
-
this.fullscreen = false;
|
|
24
24
|
this.focusOnShow = true;
|
|
25
|
+
this.align = 'center';
|
|
26
|
+
this.isFormTable = false;
|
|
27
|
+
this.showPreview = false;
|
|
28
|
+
this.onTogglePreview = new EventEmitter();
|
|
25
29
|
this.visibleChange = new EventEmitter();
|
|
26
30
|
this.hide = new EventEmitter();
|
|
27
31
|
this.show = new EventEmitter();
|
|
@@ -56,40 +60,57 @@ export class EoDialogComponent extends UnsubscribeOnDestroy {
|
|
|
56
60
|
this.closeDialog();
|
|
57
61
|
}
|
|
58
62
|
}
|
|
63
|
+
open() {
|
|
64
|
+
// We create the overlay
|
|
65
|
+
this.overlayRef = this.overlay.create({
|
|
66
|
+
hasBackdrop: true,
|
|
67
|
+
scrollStrategy: this.overlay.scrollStrategies.reposition(),
|
|
68
|
+
positionStrategy: this.getPositionStrategy(),
|
|
69
|
+
minHeight: this.minHeight,
|
|
70
|
+
minWidth: this.minWidth
|
|
71
|
+
});
|
|
72
|
+
//Then we create a portal to render a component
|
|
73
|
+
const portal = new TemplatePortal(this.dialogContent, this.viewContainerRef);
|
|
74
|
+
// We add a custom CSS class to our overlay
|
|
75
|
+
// this.overlayRef.addPanelClass("example-overlay");
|
|
76
|
+
this.overlayRef.attach(portal);
|
|
77
|
+
this.overlayRef.backdropClick().subscribe((_) => {
|
|
78
|
+
this.visible = false;
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
getPositionStrategy() {
|
|
82
|
+
let positionStrategy;
|
|
83
|
+
if (this.align === 'center') {
|
|
84
|
+
positionStrategy = this.overlay
|
|
85
|
+
.position()
|
|
86
|
+
.global()
|
|
87
|
+
.centerHorizontally()
|
|
88
|
+
.centerVertically();
|
|
89
|
+
}
|
|
90
|
+
else if (this.align === 'start') {
|
|
91
|
+
positionStrategy = this.overlay
|
|
92
|
+
.position()
|
|
93
|
+
.global()
|
|
94
|
+
.left()
|
|
95
|
+
.top();
|
|
96
|
+
}
|
|
97
|
+
return positionStrategy;
|
|
98
|
+
}
|
|
59
99
|
toggleActive(active, trigger = true) {
|
|
60
100
|
this.active = !!active;
|
|
101
|
+
if (active && this.ready && !this.overlayRef) {
|
|
102
|
+
this.open();
|
|
103
|
+
}
|
|
104
|
+
if (this.overlayRef && !active) {
|
|
105
|
+
this.overlayRef.dispose();
|
|
106
|
+
this.overlayRef = undefined;
|
|
107
|
+
}
|
|
61
108
|
if (trigger) {
|
|
62
109
|
this.eventService.trigger(EnaioEvent.EO_DIALOG_STACK_CHANGED, {
|
|
63
110
|
id: this.id,
|
|
64
111
|
active: this.active
|
|
65
112
|
});
|
|
66
113
|
}
|
|
67
|
-
if (this.dialog) {
|
|
68
|
-
this.renderer[this.active || !this.appendTo ? 'addClass' : 'removeClass'](this.dialog.containerViewChild.nativeElement, 'active');
|
|
69
|
-
this.renderer[this.fullscreen ? 'addClass' : 'removeClass'](this.dialog.containerViewChild.nativeElement, 'fullscreen');
|
|
70
|
-
if (this.active) {
|
|
71
|
-
if (this.minHeight !== 'auto') {
|
|
72
|
-
setTimeout(() => {
|
|
73
|
-
this.minHeight = 'auto';
|
|
74
|
-
if (!!this.dialog) {
|
|
75
|
-
this.renderer.setStyle(this.dialog.contentViewChild.nativeElement.parentElement, 'minHeight', 'auto');
|
|
76
|
-
this.renderer.setStyle(this.dialog.contentViewChild.nativeElement.parentElement, 'maxWidth', '50%');
|
|
77
|
-
}
|
|
78
|
-
}, 200);
|
|
79
|
-
}
|
|
80
|
-
this.dialog.moveOnTop();
|
|
81
|
-
let focusableElement = this.dialog.contentViewChild.nativeElement.querySelector('[tabindex]');
|
|
82
|
-
if (focusableElement) {
|
|
83
|
-
focusableElement.focus();
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
else {
|
|
87
|
-
this._lastFocused.focus();
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
else if (this.active && this.visible) {
|
|
91
|
-
setTimeout(() => this.toggleActive(true, false), 0);
|
|
92
|
-
}
|
|
93
114
|
}
|
|
94
115
|
closeDialog() {
|
|
95
116
|
if (this.dirtyCheck) {
|
|
@@ -101,42 +122,57 @@ export class EoDialogComponent extends UnsubscribeOnDestroy {
|
|
|
101
122
|
this.visible = false;
|
|
102
123
|
}
|
|
103
124
|
}
|
|
125
|
+
togglePreview() {
|
|
126
|
+
this.showPreview = !this.showPreview;
|
|
127
|
+
this.onTogglePreview.emit();
|
|
128
|
+
}
|
|
104
129
|
ngOnDestroy() {
|
|
105
130
|
if (this.active) {
|
|
106
131
|
this.toggleActive(false);
|
|
107
132
|
}
|
|
108
133
|
}
|
|
134
|
+
ngAfterViewInit() {
|
|
135
|
+
// this.open();
|
|
136
|
+
this.ready = true;
|
|
137
|
+
if (this._visible) {
|
|
138
|
+
this.open();
|
|
139
|
+
}
|
|
140
|
+
}
|
|
109
141
|
}
|
|
110
142
|
EoDialogComponent.decorators = [
|
|
111
143
|
{ type: Component, args: [{
|
|
112
144
|
selector: 'eo-dialog',
|
|
113
|
-
template: "<
|
|
145
|
+
template: "<ng-template #dialogContent>\r\n <div class=\"eo-dialog\" [ngClass]=\"styleClass || ''\" eoRtlAware=\"dir\">\r\n <header class=\"eo-dialog-header\" [ngClass]=\"styleClass ? styleClass + '--header ' : ''\">\r\n <h5 class=\"headline\">{{title}}</h5>\r\n <h6 *ngIf=\"subtitle\" class=\"subtitle\">{{subtitle}}</h6>\r\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\" (click)=\"closeDialog()\" class=\"button white eo-dialog-close\"></eo-icon>\r\n <ng-container *ngIf=\"isFormTable\">\r\n <eo-icon *ngIf=\"showPreview\" [iconSrc]=\"'assets/_default/svg/ic_preview_close.svg'\"\r\n [iconTitle]=\"'eo.form.table.dialog.preview.hide' | translate\" (click)=\"togglePreview()\" class=\"button white eo-dialog-preview-toggle\"></eo-icon>\r\n <eo-icon *ngIf=\"!showPreview\" [iconSrc]=\"'assets/_default/svg/ic_preview_show.svg'\"\r\n [iconTitle]=\"'eo.form.table.dialog.preview.show' | translate\" (click)=\"togglePreview()\" class=\"button white eo-dialog-preview-toggle\"></eo-icon>\r\n </ng-container>\r\n </header>\r\n <div class=\"eo-dialog-content\" [ngClass]=\"styleClass ? styleClass + '--content ' : ''\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n</ng-template>\r\n",
|
|
114
146
|
encapsulation: ViewEncapsulation.None,
|
|
115
|
-
styles: ["
|
|
147
|
+
styles: [".eo-dialog{-webkit-animation:none;animation:none;background-color:var(--panel-background);display:flex;flex:1;flex-direction:column;max-height:100%;max-width:100%;min-height:0;min-width:0}.eo-dialog-close{position:absolute;right:5px;top:5px;z-index:2}.eo-dialog-preview-toggle{position:absolute;right:5px;top:50px;z-index:2}.eo-dialog-header{background-color:var(--color-accent);color:var(--color-white);flex:0 0 auto;font-size:var(--font-headline);font-weight:var(--font-weight-light);padding:var(--app-pane-padding) calc(var(--app-pane-padding)*2.5) calc(var(--app-pane-padding)*2) var(--app-pane-padding)}.eo-dialog-header .headline{font-size:24px;font-weight:400;margin:0 25px 0 0}.eo-dialog-header .subtitle{font-size:15px;font-weight:400;margin:0}.eo-dialog-content{display:flex;flex:1;flex-direction:column;height:100%;max-height:520px;min-height:0;min-width:0;overflow:auto;position:relative}.eo-dialog-content>eo-tree{margin:var(--app-pane-padding)}.eo-dialog-content .empty{align-items:center;color:var(--text-color-caption);display:flex;flex:1;flex-direction:column;justify-content:center;min-height:0;min-width:0;padding:var(--app-pane-padding)}.eo-dialog-content .action-buttons{justify-content:flex-end;padding-top:32px}.eo-dialog-content button:not(:last-child){margin-right:5px}.object-form-table-dialog{background-color:var(--panel-background-grey);height:95vh;width:100%}.object-form-table-dialog .body{height:80vh;width:100%}.object-form-table-dialog .edit-body{display:flex;height:100%}.object-form-table-dialog .table-body{background-color:var(--panel-background-grey);display:flex;height:100%;width:100%}.object-form-table-dialog eo-split{padding:var(--app-pane-padding);width:auto!important}.object-form-table-dialog eo-split-area{box-shadow:0 2px 5px 0 rgba(0,0,0,.2)}.object-form-table-dialog eo-row-edit{background-color:var(--color-white);display:flex;flex:1;flex-direction:column;min-height:0;min-width:0}.object-form-table-dialog eo-row-edit .row-edit{display:flex;flex-direction:column;height:100%}.object-form-table-dialog eo-row-edit .row-edit .edit-header{display:flex;justify-content:space-between}.object-form-table-dialog eo-row-edit .row-edit .edit-header .new-indicator{color:var(--text-color-caption);font-size:var(--font-title);margin:8px 16px 0;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.object-form-table-dialog eo-row-edit .row-edit .edit-header .cancel-icon{color:var(--text-color-caption);margin:8px 8px 0}.object-form-table-dialog eo-row-edit .row-edit .edit-header .cancel-icon:hover{background:rgba(var(--color-black-rgb),.1)}.object-form-table-dialog eo-row-edit .row-edit .form{height:100%;overflow:auto}.object-form-table-dialog eo-row-edit .row-edit .actions{align-items:center;border-top:1px solid var(--panel-header-border-bottom-color);display:flex;flex:0;flex-direction:row;justify-content:flex-end;min-height:0;min-height:5em;min-width:0;padding-right:var(--app-pane-padding)}.object-form-table-dialog eo-row-edit .row-edit .actions button{height:3em;margin:0 calc(var(--app-pane-padding)/8);padding:0 calc(var(--app-pane-padding)/2)}.object-form-table-dialog eo-row-edit .row-edit .actions eo-checkbox{margin:0 calc(var(--app-pane-padding)/2)}.object-form-table-dialog eo-row-edit .row-edit .actions .add-label{color:var(--text-color-caption);font-size:var(--font-body);margin-right:var(--app-pane-padding)}.object-form-table-dialog .object-form-table{background-color:#fff;display:grid;grid-template-columns:1fr;grid-template-rows:auto 1fr;height:100%;width:100%}.object-form-table-dialog .object-form-table .grid-body{height:100%;position:relative;width:100%}.object-form-table-dialog .object-form-table .grid-body .ag-theme-balham .ag-header{background-color:unset!important}.object-form-table-dialog .object-form-table .grid-body ag-grid-angular{background-color:transparent;height:100%;width:100%}.object-form-table-dialog .object-form-table .grid-body ag-grid-angular .copy-cell,.object-form-table-dialog .object-form-table .grid-body ag-grid-angular .new-row{-webkit-animation-duration:4s;-webkit-animation-name:new-row;animation-duration:4s;animation-name:new-row}@-webkit-keyframes new-row{0%{background-color:var(--color-accent)}to{background-color:none}}@keyframes new-row{0%{background-color:var(--color-accent)}to{background-color:none}}.object-form-table-dialog .object-form-table .grid-body ag-grid-angular .ag-cell{align-items:center;display:flex;font-size:var(--font-caption);line-height:var(--oft-row-height);padding:0 calc(var(--app-pane-padding)/4)}.object-form-table-dialog .object-form-table .grid-body ag-grid-angular .ag-cell.ag-cell-focus{background-color:var(--list-item-hover-background);border-color:transparent!important;outline:0!important}.object-form-table-dialog .object-form-table .grid-body ag-grid-angular .ag-cell svg{pointer-events:none}.object-form-table-dialog .object-form-table .grid-body ag-grid-angular .ag-cell.col-boolean,.object-form-table-dialog .object-form-table .grid-body ag-grid-angular .ag-cell.res-ico{justify-content:center}.object-form-table-dialog .object-form-table .grid-body ag-grid-angular .ag-cell.col-number{justify-content:flex-end}.object-form-table-dialog .object-form-table .grid-body ag-grid-angular .ag-cell .action-icon{cursor:pointer;display:flex}.object-form-table-dialog .object-form-table .grid-body ag-grid-angular .ag-cell .action-icon svg{fill:var(--text-color-caption)}.object-form-table-dialog .label{align-items:center;border-bottom:0;display:flex;flex-flow:row nowrap;padding:calc(var(--app-pane-padding)/4) calc(var(--app-pane-padding)/4) calc(var(--app-pane-padding)/2) calc(var(--app-pane-padding)/4)}.object-form-table-dialog .label span{display:block;flex:1 1 auto}.object-form-table-dialog .label eo-icon.stf{color:var(--text-color-caption);cursor:pointer;height:20px;margin:calc(var(--app-pane-padding)/4);width:20px}.object-form-table-dialog .label eo-icon.stf.add-row{background-color:var(--color-accent);border-radius:2px;color:#fff;height:24px;width:24px}.object-form-table-dialog .label button.add{border-radius:2px;padding:calc(var(--app-pane-padding)/2)}.object-form-table-dialog .label button.export{border:1px solid #000;border-radius:2px;color:#000;font-size:var(--font-hint);margin:0 calc(var(--app-pane-padding)/4);padding:calc(var(--app-pane-padding)/8) calc(var(--app-pane-padding)/4)}.object-form-table-dialog .eo-dialog-content{height:100%;max-height:none;overflow:hidden}.object-form-table-dialog .table-area{overflow:unset!important}.cdk-overlay-pane{position:absolute!important}"]
|
|
116
148
|
},] }
|
|
117
149
|
];
|
|
118
150
|
EoDialogComponent.ctorParameters = () => [
|
|
119
151
|
{ type: EventService },
|
|
120
152
|
{ type: PendingChangesService },
|
|
121
|
-
{ type: Renderer2 }
|
|
153
|
+
{ type: Renderer2 },
|
|
154
|
+
{ type: Overlay },
|
|
155
|
+
{ type: ViewContainerRef }
|
|
122
156
|
];
|
|
123
157
|
EoDialogComponent.propDecorators = {
|
|
158
|
+
portalOutlet: [{ type: ViewChild, args: [CdkPortalOutlet,] }],
|
|
159
|
+
dialogContent: [{ type: ViewChild, args: ['dialogContent',] }],
|
|
124
160
|
title: [{ type: Input }],
|
|
125
161
|
subtitle: [{ type: Input }],
|
|
126
162
|
styleClass: [{ type: Input }],
|
|
127
163
|
dirtyCheck: [{ type: Input }],
|
|
128
|
-
appendTo: [{ type: Input }],
|
|
129
164
|
minWidth: [{ type: Input }],
|
|
130
165
|
minHeight: [{ type: Input }],
|
|
131
|
-
resizable: [{ type: Input }],
|
|
132
|
-
fullscreen: [{ type: Input }],
|
|
133
166
|
focusOnShow: [{ type: Input }],
|
|
167
|
+
align: [{ type: Input }],
|
|
168
|
+
isFormTable: [{ type: Input }],
|
|
169
|
+
showPreview: [{ type: Input }],
|
|
170
|
+
onTogglePreview: [{ type: Output }],
|
|
134
171
|
visibleChange: [{ type: Output }],
|
|
135
172
|
hide: [{ type: Output }],
|
|
136
173
|
show: [{ type: Output }],
|
|
137
|
-
dialog: [{ type: ViewChild, args: [Dialog,] }],
|
|
138
174
|
visible: [{ type: Input }],
|
|
139
175
|
onKeydownHandler: [{ type: HostListener, args: ['document:keydown.escape', ['$event'],] }],
|
|
140
176
|
onMousedown: [{ type: HostListener, args: ['document:mousedown', ['$event.target'],] }]
|
|
141
177
|
};
|
|
142
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW8tZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvZW8tZnJhbWV3b3JrL3VpL2VvLWRpYWxvZy9lby1kaWFsb2cuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxFQUNOLFNBQVMsRUFDVCxTQUFTLEVBQ1QsaUJBQWlCLEVBRWxCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxVQUFVLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBQyxNQUFNLGNBQWMsQ0FBQztBQUM3RCxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDdkMsT0FBTyxFQUFDLE1BQU0sRUFBRSxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRCxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSxvRUFBb0UsQ0FBQztBQUN6RyxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSw4Q0FBOEMsQ0FBQztBQVFsRixNQUFNLE9BQU8saUJBQWtCLFNBQVEsb0JBQW9CO0lBdUR6RCxZQUNVLFlBQTBCLEVBQzFCLGNBQXFDLEVBQ3JDLFFBQW1CO1FBRTNCLEtBQUssRUFBRSxDQUFDO1FBSkEsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIsbUJBQWMsR0FBZCxjQUFjLENBQXVCO1FBQ3JDLGFBQVEsR0FBUixRQUFRLENBQVc7UUF4RHJCLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFHakIsT0FBRSxHQUFHLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNsQixhQUFRLEdBQUcsRUFBRSxDQUFDO1FBR2IsZUFBVSxHQUFHLEVBQUUsQ0FBQztRQUV6QixrRUFBa0U7UUFDekQsZUFBVSxHQUFzQixFQUFFLENBQUM7UUFFbkMsYUFBUSxHQUFHLE1BQU0sQ0FB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QUFLOytCQVlMLFlBQVksU0FBQyx5QkFBeUIsRUFBRSxDQUFDLFFBQVEsQ0FBQzswQkFRbEQsWUFBWSxTQUFDLG9CQUFvQixFQUFFLENBQUMsZUFBZSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIEhvc3RMaXN0ZW5lcixcclxuICBJbnB1dCxcclxuICBPbkRlc3Ryb3ksXHJcbiAgT3V0cHV0LFxyXG4gIFJlbmRlcmVyMixcclxuICBWaWV3Q2hpbGQsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb24sXHJcbiAgRWxlbWVudFJlZlxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0VuYWlvRXZlbnQsIEV2ZW50U2VydmljZSwgVXRpbHN9IGZyb20gJ0Blby1zZGsvY29yZSc7XHJcbmltcG9ydCB7RGlhbG9nfSBmcm9tICdwcmltZW5nL3ByaW1lbmcnO1xyXG5pbXBvcnQge2ZpbHRlciwgdGFrZVVudGlsfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7UGVuZGluZ0NoYW5nZXNTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9lby1mcmFtZXdvcmstY29yZS9wZW5kaW5nLWNoYW5nZXMvcGVuZGluZy1jaGFuZ2VzLnNlcnZpY2UnO1xyXG5pbXBvcnQge1Vuc3Vic2NyaWJlT25EZXN0cm95fSBmcm9tICcuLi8uLi91dGlsL3Vuc3Vic2NyaWJlL3Vuc3Vic2NyaWJlLmNvbXBvbmVudCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2VvLWRpYWxvZycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2VvLWRpYWxvZy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZW8tZGlhbG9nLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRW9EaWFsb2dDb21wb25lbnQgZXh0ZW5kcyBVbnN1YnNjcmliZU9uRGVzdHJveVxyXG4gIGltcGxlbWVudHMgT25EZXN0cm95IHtcclxuICBwcml2YXRlIF92aXNpYmxlID0gZmFsc2U7XHJcbiAgcHJpdmF0ZSBfbGFzdEZvY3VzZWQ7XHJcbiAgcHJpdmF0ZSBhY3RpdmU6IGJvb2xlYW47XHJcbiAgcHJpdmF0ZSBpZCA9IFV0aWxzLnV1aWQoKTtcclxuICBwcml2YXRlIHBhcmVudElkID0gJyc7XHJcbiAgQElucHV0KCkgdGl0bGU6IHN0cmluZztcclxuICBASW5wdXQoKSBzdWJ0aXRsZTogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHN0eWxlQ2xhc3MgPSAnJztcclxuXHJcbiAgLy8gYXJyYXkgb2YgcGVuZGluZ1Rhc2sgSURzIHRvIGJlIGNoZWNrZWQgYmVmb3JlIHRoZSBkaWFsb2cgY2xvc2VzXHJcbiAgQElucHV0KCkgZGlydHlDaGVjazogc3RyaW5nIHwgc3RyaW5nW10gPSBbXTtcclxuXHJcbiAgQElucHV0KCkgYXBwZW5kVG8gPSAnYm9keSc7XHJcbiAgQElucHV0KCkgbWluV2lkdGggPSAyMDA7XHJcbiAgQElucHV0KCkgbWluSGVpZ2h0ID0gJ2F1dG8nO1xyXG4gIEBJbnB1dCgpIHJlc2l6YWJsZSA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGZ1bGxzY3JlZW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBmb2N1c09uU2hvdyA9IHRydWU7XHJcblxyXG4gIEBPdXRwdXQoKSB2aXNpYmxlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgaGlkZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIHNob3c6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBAVmlld0NoaWxkKERpYWxvZykgZGlhbG9nOiBEaWFsb2c7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgZ2V0IHZpc2libGUoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5fdmlzaWJsZTtcclxuICB9XHJcblxyXG4gIHNldCB2aXNpYmxlKHZhbCkge1xyXG4gICAgdGhpcy5fdmlzaWJsZSA9ICEhdmFsO1xyXG4gICAgdGhpcy52aXNpYmxlQ2hhbmdlLmVtaXQodGhpcy5fdmlzaWJsZSk7XHJcbiAgICB0aGlzLl92aXNpYmxlID8gdGhpcy5zaG93LmVtaXQodmFsKSA6IHRoaXMuaGlkZS5lbWl0KHZhbCk7XHJcbiAgICB0aGlzLnRvZ2dsZUFjdGl2ZSh0aGlzLl92aXNpYmxlKTtcclxuICB9XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmtleWRvd24uZXNjYXBlJywgWyckZXZlbnQnXSlcclxuICBvbktleWRvd25IYW5kbGVyKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XHJcbiAgICAvLyBjbG9zZSBhY3RpdmUgZGlhbG9nIG9uIEVzY2FwZSBldmVudFxyXG4gICAgaWYgKHRoaXMuYWN0aXZlKSB7XHJcbiAgICAgIHRoaXMuY2xvc2VEaWFsb2coKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50Om1vdXNlZG93bicsIFsnJGV2ZW50LnRhcmdldCddKVxyXG4gIG9uTW91c2Vkb3duKHRhcmdldEVsZW1lbnQ6IEhUTUxFbGVtZW50KSB7XHJcbiAgICAvLyBjbG9zZSBhY3RpdmUgZGlhbG9nIG9uIGJhY2tncm91bmQvbWFzayBjbGlja1xyXG4gICAgaWYgKHRoaXMuYWN0aXZlICYmIHRhcmdldEVsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKCd1aS1kaWFsb2ctbWFzaycpKSB7XHJcbiAgICAgIHRoaXMuY2xvc2VEaWFsb2coKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBldmVudFNlcnZpY2U6IEV2ZW50U2VydmljZSxcclxuICAgIHByaXZhdGUgcGVuZGluZ0NoYW5nZXM6IFBlbmRpbmdDaGFuZ2VzU2VydmljZSxcclxuICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMlxyXG4gICkge1xyXG4gICAgc3VwZXIoKTtcclxuICAgIHRoaXMuX2xhc3RGb2N1c2VkID0gZG9jdW1lbnQuYWN0aXZlRWxlbWVudDtcclxuICAgIHRoaXMuZXZlbnRTZXJ2aWNlXHJcbiAgICAgIC5vbihFbmFpb0V2ZW50LkVPX0RJQUxPR19TVEFDS19DSEFOR0VEKVxyXG4gICAgICAucGlwZShcclxuICAgICAgICB0YWtlVW50aWwodGhpcy5jb21wb25lbnREZXN0cm95ZWQkKSxcclxuICAgICAgICBmaWx0ZXIoXHJcbiAgICAgICAgICBldnQgPT5cclxuICAgICAgICAgICAgKHRoaXMuYWN0aXZlIHx8IGV2dC5kYXRhLmlkID09PSB0aGlzLnBhcmVudElkKSAmJlxyXG4gICAgICAgICAgICBldnQuZGF0YS5pZCAhPT0gdGhpcy5pZFxyXG4gICAgICAgIClcclxuICAgICAgKVxyXG4gICAgICAuc3Vic2NyaWJlKChldmVudDogYW55KSA9PiB7XHJcbiAgICAgICAgdGhpcy50b2dnbGVBY3RpdmUoIWV2ZW50LmRhdGEuYWN0aXZlLCAhZXZlbnQuZGF0YS5hY3RpdmUpO1xyXG4gICAgICAgIHRoaXMucGFyZW50SWQgPSBldmVudC5kYXRhLmFjdGl2ZSA/IGV2ZW50LmRhdGEuaWQgOiAnJztcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICB0b2dnbGVBY3RpdmUoYWN0aXZlOiBib29sZWFuLCB0cmlnZ2VyID0gdHJ1ZSkge1xyXG4gICAgdGhpcy5hY3RpdmUgPSAhIWFjdGl2ZTtcclxuICAgIGlmICh0cmlnZ2VyKSB7XHJcbiAgICAgIHRoaXMuZXZlbnRTZXJ2aWNlLnRyaWdnZXIoRW5haW9FdmVudC5FT19ESUFMT0dfU1RBQ0tfQ0hBTkdFRCwge1xyXG4gICAgICAgIGlkOiB0aGlzLmlkLFxyXG4gICAgICAgIGFjdGl2ZTogdGhpcy5hY3RpdmVcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5kaWFsb2cpIHtcclxuICAgICAgdGhpcy5yZW5kZXJlclt0aGlzLmFjdGl2ZSB8fCAhdGhpcy5hcHBlbmRUbyA/ICdhZGRDbGFzcycgOiAncmVtb3ZlQ2xhc3MnXShcclxuICAgICAgICB0aGlzLmRpYWxvZy5jb250YWluZXJWaWV3Q2hpbGQubmF0aXZlRWxlbWVudCxcclxuICAgICAgICAnYWN0aXZlJ1xyXG4gICAgICApO1xyXG4gICAgICB0aGlzLnJlbmRlcmVyW3RoaXMuZnVsbHNjcmVlbiA/ICdhZGRDbGFzcycgOiAncmVtb3ZlQ2xhc3MnXShcclxuICAgICAgICB0aGlzLmRpYWxvZy5jb250YWluZXJWaWV3Q2hpbGQubmF0aXZlRWxlbWVudCxcclxuICAgICAgICAnZnVsbHNjcmVlbidcclxuICAgICAgKTtcclxuICAgICAgaWYgKHRoaXMuYWN0aXZlKSB7XHJcbiAgICAgICAgaWYgKHRoaXMubWluSGVpZ2h0ICE9PSAnYXV0bycpIHtcclxuICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLm1pbkhlaWdodCA9ICdhdXRvJztcclxuICAgICAgICAgICAgaWYgKCEhdGhpcy5kaWFsb2cpIHtcclxuICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKFxyXG4gICAgICAgICAgICAgICAgdGhpcy5kaWFsb2cuY29udGVudFZpZXdDaGlsZC5uYXRpdmVFbGVtZW50LnBhcmVudEVsZW1lbnQsXHJcbiAgICAgICAgICAgICAgICAnbWluSGVpZ2h0JyxcclxuICAgICAgICAgICAgICAgICdhdXRvJ1xyXG4gICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShcclxuICAgICAgICAgICAgICAgIHRoaXMuZGlhbG9nLmNvbnRlbnRWaWV3Q2hpbGQubmF0aXZlRWxlbWVudC5wYXJlbnRFbGVtZW50LFxyXG4gICAgICAgICAgICAgICAgJ21heFdpZHRoJyxcclxuICAgICAgICAgICAgICAgICc1MCUnXHJcbiAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSwgMjAwKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5kaWFsb2cubW92ZU9uVG9wKCk7XHJcbiAgICAgICAgbGV0IGZvY3VzYWJsZUVsZW1lbnQgPSB0aGlzLmRpYWxvZy5jb250ZW50Vmlld0NoaWxkLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcihcclxuICAgICAgICAgICdbdGFiaW5kZXhdJ1xyXG4gICAgICAgICk7XHJcbiAgICAgICAgaWYgKGZvY3VzYWJsZUVsZW1lbnQpIHtcclxuICAgICAgICAgIGZvY3VzYWJsZUVsZW1lbnQuZm9jdXMoKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5fbGFzdEZvY3VzZWQuZm9jdXMoKTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIGlmICh0aGlzLmFjdGl2ZSAmJiB0aGlzLnZpc2libGUpIHtcclxuICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLnRvZ2dsZUFjdGl2ZSh0cnVlLCBmYWxzZSksIDApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY2xvc2VEaWFsb2coKSB7XHJcbiAgICBpZiAodGhpcy5kaXJ0eUNoZWNrKSB7XHJcbiAgICAgIGlmICghdGhpcy5wZW5kaW5nQ2hhbmdlcy5jaGVja0ZvclBlbmRpbmdUYXNrcyh0aGlzLmRpcnR5Q2hlY2spKSB7XHJcbiAgICAgICAgdGhpcy52aXNpYmxlID0gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMudmlzaWJsZSA9IGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICBpZiAodGhpcy5hY3RpdmUpIHtcclxuICAgICAgdGhpcy50b2dnbGVBY3RpdmUoZmFsc2UpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
|
|
178
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW8tZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvZW8tZnJhbWV3b3JrL3VpL2VvLWRpYWxvZy9lby1kaWFsb2cuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxPQUFPLEVBQWEsTUFBTSxzQkFBc0IsQ0FBQztBQUN6RCxPQUFPLEVBQUMsZUFBZSxFQUFFLGNBQWMsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ3BFLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxFQUNOLFNBQVMsRUFDVCxTQUFTLEVBQ1QsaUJBQWlCLEVBR2pCLGdCQUFnQixFQUNqQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsVUFBVSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUMsTUFBTSxjQUFjLENBQUM7QUFDN0QsT0FBTyxFQUFDLE1BQU0sRUFBRSxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRCxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUNqRSxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSxZQUFZLENBQUM7QUFRaEQsTUFBTSxPQUFPLGlCQUFrQixTQUFRLG9CQUFvQjtJQTZEekQsWUFDVSxZQUEwQixFQUMxQixjQUFxQyxFQUNyQyxRQUFtQixFQUNuQixPQUFnQixFQUNoQixnQkFBa0M7UUFFMUMsS0FBSyxFQUFFLENBQUM7UUFOQSxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMxQixtQkFBYyxHQUFkLGNBQWMsQ0FBdUI7UUFDckMsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUNuQixZQUFPLEdBQVAsT0FBTyxDQUFTO1FBQ2hCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUF6RHBDLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFHakIsT0FB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Q0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1FBQ2xCLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUFFO0lBQ3JDLENBQUM7OztZQS9LRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLFdBQVc7Z0JBQ3JCLDB3Q0FBeUM7Z0JBRXpDLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJOzthQUN0Qzs7O1lBVm1CLFlBQVk7WUFFeEIscUJBQXFCO1lBVDNCLFNBQVM7WUFUSCxPQUFPO1lBY2IsZ0JBQWdCOzs7MkJBZ0JmLFNBQVMsU0FBQyxlQUFlOzRCQUN6QixTQUFTLFNBQUMsZUFBZTtvQkFVekIsS0FBSzt1QkFDTCxLQUFLO3lCQUNMLEtBQUs7eUJBR0wsS0FBSzt1QkFFTCxLQUFLO3dCQUNMLEtBQUs7MEJBQ0wsS0FBSztvQkFDTCxLQUFLOzBCQUNMLEtBQUs7MEJBQ0wsS0FBSzs4QkFFTCxNQUFNOzRCQUNOLE1BQU07bUJBQ04sTUFBTTttQkFDTixNQUFNO3NCQUVOLEtBQUs7K0JBWUwsWUFBWSxTQUFDLHlCQUF5QixFQUFFLENBQUMsUUFBUSxDQUFDOzBCQVFsRCxZQUFZLFNBQUMsb0JBQW9CLEVBQUUsQ0FBQyxlQUFlLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge092ZXJsYXksIE92ZXJsYXlSZWZ9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcclxuaW1wb3J0IHtDZGtQb3J0YWxPdXRsZXQsIFRlbXBsYXRlUG9ydGFsfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcclxuaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIEhvc3RMaXN0ZW5lcixcclxuICBJbnB1dCxcclxuICBPbkRlc3Ryb3ksXHJcbiAgT3V0cHV0LFxyXG4gIFJlbmRlcmVyMixcclxuICBWaWV3Q2hpbGQsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb24sXHJcbiAgVGVtcGxhdGVSZWYsXHJcbiAgQWZ0ZXJWaWV3SW5pdCxcclxuICBWaWV3Q29udGFpbmVyUmVmXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7RW5haW9FdmVudCwgRXZlbnRTZXJ2aWNlLCBVdGlsc30gZnJvbSAnQGVvLXNkay9jb3JlJztcclxuaW1wb3J0IHtmaWx0ZXIsIHRha2VVbnRpbH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQge1BlbmRpbmdDaGFuZ2VzU2VydmljZX0gZnJvbSAnLi4vLi4vLi4vZW8tZnJhbWV3b3JrLWNvcmUnO1xyXG5pbXBvcnQge1Vuc3Vic2NyaWJlT25EZXN0cm95fSBmcm9tICcuLi8uLi91dGlsJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnZW8tZGlhbG9nJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZW8tZGlhbG9nLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9lby1kaWFsb2cuY29tcG9uZW50LnNjc3MnXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBFb0RpYWxvZ0NvbXBvbmVudCBleHRlbmRzIFVuc3Vic2NyaWJlT25EZXN0cm95XHJcbiAgaW1wbGVtZW50cyBPbkRlc3Ryb3ksIEFmdGVyVmlld0luaXQge1xyXG5cclxuICBAVmlld0NoaWxkKENka1BvcnRhbE91dGxldCkgcG9ydGFsT3V0bGV0OiBDZGtQb3J0YWxPdXRsZXQ7XHJcbiAgQFZpZXdDaGlsZCgnZGlhbG9nQ29udGVudCcpIGRpYWxvZ0NvbnRlbnQ6IFRlbXBsYXRlUmVmPGFueT47XHJcblxyXG4gIHByaXZhdGUgb3ZlcmxheVJlZjogT3ZlcmxheVJlZjtcclxuICBwcml2YXRlIHJlYWR5OiBib29sZWFuO1xyXG5cclxuICBwcml2YXRlIF92aXNpYmxlID0gZmFsc2U7XHJcbiAgcHJpdmF0ZSBfbGFzdEZvY3VzZWQ7XHJcbiAgcHJpdmF0ZSBhY3RpdmU6IGJvb2xlYW47XHJcbiAgcHJpdmF0ZSBpZCA9IFV0aWxzLnV1aWQoKTtcclxuICBwcml2YXRlIHBhcmVudElkID0gJyc7XHJcbiAgQElucHV0KCkgdGl0bGU6IHN0cmluZztcclxuICBASW5wdXQoKSBzdWJ0aXRsZTogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHN0eWxlQ2xhc3MgPSAnJztcclxuXHJcbiAgLy8gYXJyYXkgb2YgcGVuZGluZ1Rhc2sgSURzIHRvIGJlIGNoZWNrZWQgYmVmb3JlIHRoZSBkaWFsb2cgY2xvc2VzXHJcbiAgQElucHV0KCkgZGlydHlDaGVjazogc3RyaW5nIHwgc3RyaW5nW10gPSBbXTtcclxuXHJcbiAgQElucHV0KCkgbWluV2lkdGg6IG51bWJlciB8IHN0cmluZyA9IDIwMDtcclxuICBASW5wdXQoKSBtaW5IZWlnaHQgPSAnYXV0byc7XHJcbiAgQElucHV0KCkgZm9jdXNPblNob3cgPSB0cnVlO1xyXG4gIEBJbnB1dCgpIGFsaWduOiAnY2VudGVyJyB8ICdzdGFydCcgPSAnY2VudGVyJztcclxuICBASW5wdXQoKSBpc0Zvcm1UYWJsZSA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHNob3dQcmV2aWV3ID0gZmFsc2U7XHJcblxyXG4gIEBPdXRwdXQoKSBvblRvZ2dsZVByZXZpZXc6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSB2aXNpYmxlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgaGlkZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIHNob3c6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGdldCB2aXNpYmxlKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX3Zpc2libGU7XHJcbiAgfVxyXG5cclxuICBzZXQgdmlzaWJsZSh2YWwpIHtcclxuICAgIHRoaXMuX3Zpc2libGUgPSAhIXZhbDtcclxuICAgIHRoaXMudmlzaWJsZUNoYW5nZS5lbWl0KHRoaXMuX3Zpc2libGUpO1xyXG4gICAgdGhpcy5fdmlzaWJsZSA/IHRoaXMuc2hvdy5lbWl0KHZhbCkgOiB0aGlzLmhpZGUuZW1pdCh2YWwpO1xyXG4gICAgdGhpcy50b2dnbGVBY3RpdmUodGhpcy5fdmlzaWJsZSk7XHJcbiAgfVxyXG5cclxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDprZXlkb3duLmVzY2FwZScsIFsnJGV2ZW50J10pXHJcbiAgb25LZXlkb3duSGFuZGxlcihldmVudDogS2V5Ym9hcmRFdmVudCkge1xyXG4gICAgLy8gY2xvc2UgYWN0aXZlIGRpYWxvZyBvbiBFc2NhcGUgZXZlbnRcclxuICAgIGlmICh0aGlzLmFjdGl2ZSkge1xyXG4gICAgICB0aGlzLmNsb3NlRGlhbG9nKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDptb3VzZWRvd24nLCBbJyRldmVudC50YXJnZXQnXSlcclxuICBvbk1vdXNlZG93bih0YXJnZXRFbGVtZW50OiBIVE1MRWxlbWVudCkge1xyXG4gICAgLy8gY2xvc2UgYWN0aXZlIGRpYWxvZyBvbiBiYWNrZ3JvdW5kL21hc2sgY2xpY2tcclxuICAgIGlmICh0aGlzLmFjdGl2ZSAmJiB0YXJnZXRFbGVtZW50LmNsYXNzTGlzdC5jb250YWlucygndWktZGlhbG9nLW1hc2snKSkge1xyXG4gICAgICB0aGlzLmNsb3NlRGlhbG9nKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgZXZlbnRTZXJ2aWNlOiBFdmVudFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHBlbmRpbmdDaGFuZ2VzOiBQZW5kaW5nQ2hhbmdlc1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXHJcbiAgICBwcml2YXRlIG92ZXJsYXk6IE92ZXJsYXksXHJcbiAgICBwcml2YXRlIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWZcclxuICApIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgICB0aGlzLl9sYXN0Rm9jdXNlZCA9IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ7XHJcbiAgICB0aGlzLmV2ZW50U2VydmljZVxyXG4gICAgICAub24oRW5haW9FdmVudC5FT19ESUFMT0dfU1RBQ0tfQ0hBTkdFRClcclxuICAgICAgLnBpcGUoXHJcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuY29tcG9uZW50RGVzdHJveWVkJCksXHJcbiAgICAgICAgZmlsdGVyKFxyXG4gICAgICAgICAgZXZ0ID0+XHJcbiAgICAgICAgICAgICh0aGlzLmFjdGl2ZSB8fCBldnQuZGF0YS5pZCA9PT0gdGhpcy5wYXJlbnRJZCkgJiZcclxuICAgICAgICAgICAgZXZ0LmRhdGEuaWQgIT09IHRoaXMuaWRcclxuICAgICAgICApXHJcbiAgICAgIClcclxuICAgICAgLnN1YnNjcmliZSgoZXZlbnQ6IGFueSkgPT4ge1xyXG4gICAgICAgIHRoaXMudG9nZ2xlQWN0aXZlKCFldmVudC5kYXRhLmFjdGl2ZSwgIWV2ZW50LmRhdGEuYWN0aXZlKTtcclxuICAgICAgICB0aGlzLnBhcmVudElkID0gZXZlbnQuZGF0YS5hY3RpdmUgPyBldmVudC5kYXRhLmlkIDogJyc7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBvcGVuKCkge1xyXG4gICAgLy8gV2UgY3JlYXRlIHRoZSBvdmVybGF5XHJcbiAgICB0aGlzLm92ZXJsYXlSZWYgPSB0aGlzLm92ZXJsYXkuY3JlYXRlKHtcclxuICAgICAgaGFzQmFja2Ryb3A6IHRydWUsXHJcbiAgICAgIHNjcm9sbFN0cmF0ZWd5OiB0aGlzLm92ZXJsYXkuc2Nyb2xsU3RyYXRlZ2llcy5yZXBvc2l0aW9uKCksXHJcbiAgICAgIHBvc2l0aW9uU3RyYXRlZ3k6IHRoaXMuZ2V0UG9zaXRpb25TdHJhdGVneSgpLFxyXG4gICAgICBtaW5IZWlnaHQ6IHRoaXMubWluSGVpZ2h0LFxyXG4gICAgICBtaW5XaWR0aDogdGhpcy5taW5XaWR0aFxyXG4gICAgfSk7XHJcbiAgICAvL1RoZW4gd2UgY3JlYXRlIGEgcG9ydGFsIHRvIHJlbmRlciBhIGNvbXBvbmVudFxyXG4gICAgY29uc3QgcG9ydGFsID0gbmV3IFRlbXBsYXRlUG9ydGFsKHRoaXMuZGlhbG9nQ29udGVudCwgdGhpcy52aWV3Q29udGFpbmVyUmVmKTtcclxuICAgIC8vIFdlIGFkZCBhIGN1c3RvbSBDU1MgY2xhc3MgdG8gb3VyIG92ZXJsYXlcclxuICAgIC8vIHRoaXMub3ZlcmxheVJlZi5hZGRQYW5lbENsYXNzKFwiZXhhbXBsZS1vdmVybGF5XCIpO1xyXG4gICAgdGhpcy5vdmVybGF5UmVmLmF0dGFjaChwb3J0YWwpO1xyXG4gICAgdGhpcy5vdmVybGF5UmVmLmJhY2tkcm9wQ2xpY2soKS5zdWJzY3JpYmUoKF8pID0+IHtcclxuICAgICAgdGhpcy52aXNpYmxlID0gZmFsc2U7XHJcbiAgICB9KTtcclxuXHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldFBvc2l0aW9uU3RyYXRlZ3koKSB7XHJcbiAgICBsZXQgcG9zaXRpb25TdHJhdGVneTtcclxuICAgIGlmICh0aGlzLmFsaWduID09PSAnY2VudGVyJykge1xyXG4gICAgICBwb3NpdGlvblN0cmF0ZWd5ID0gdGhpcy5vdmVybGF5XHJcbiAgICAgICAgLnBvc2l0aW9uKClcclxuICAgICAgICAuZ2xvYmFsKClcclxuICAgICAgICAuY2VudGVySG9yaXpvbnRhbGx5KClcclxuICAgICAgICAuY2VudGVyVmVydGljYWxseSgpO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLmFsaWduID09PSAnc3RhcnQnKSB7XHJcbiAgICAgIHBvc2l0aW9uU3RyYXRlZ3kgPSB0aGlzLm92ZXJsYXlcclxuICAgICAgICAucG9zaXRpb24oKVxyXG4gICAgICAgIC5nbG9iYWwoKVxyXG4gICAgICAgIC5sZWZ0KClcclxuICAgICAgICAudG9wKCk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcG9zaXRpb25TdHJhdGVneTtcclxuICB9XHJcblxyXG4gIHRvZ2dsZUFjdGl2ZShhY3RpdmU6IGJvb2xlYW4sIHRyaWdnZXIgPSB0cnVlKSB7XHJcbiAgICB0aGlzLmFjdGl2ZSA9ICEhYWN0aXZlO1xyXG5cclxuICAgIGlmIChhY3RpdmUgJiYgdGhpcy5yZWFkeSAmJiAhdGhpcy5vdmVybGF5UmVmKSB7XHJcbiAgICAgIHRoaXMub3BlbigpO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMub3ZlcmxheVJlZiAmJiAhYWN0aXZlKSB7XHJcbiAgICAgIHRoaXMub3ZlcmxheVJlZi5kaXNwb3NlKCk7XHJcbiAgICAgIHRoaXMub3ZlcmxheVJlZiA9IHVuZGVmaW5lZDtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodHJpZ2dlcikge1xyXG4gICAgICB0aGlzLmV2ZW50U2VydmljZS50cmlnZ2VyKEVuYWlvRXZlbnQuRU9fRElBTE9HX1NUQUNLX0NIQU5HRUQsIHtcclxuICAgICAgICBpZDogdGhpcy5pZCxcclxuICAgICAgICBhY3RpdmU6IHRoaXMuYWN0aXZlXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY2xvc2VEaWFsb2coKSB7XHJcbiAgICBpZiAodGhpcy5kaXJ0eUNoZWNrKSB7XHJcbiAgICAgIGlmICghdGhpcy5wZW5kaW5nQ2hhbmdlcy5jaGVja0ZvclBlbmRpbmdUYXNrcyh0aGlzLmRpcnR5Q2hlY2spKSB7XHJcbiAgICAgICAgdGhpcy52aXNpYmxlID0gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMudmlzaWJsZSA9IGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgdG9nZ2xlUHJldmlldygpIHtcclxuICAgIHRoaXMuc2hvd1ByZXZpZXcgPSAhdGhpcy5zaG93UHJldmlldztcclxuICAgIHRoaXMub25Ub2dnbGVQcmV2aWV3LmVtaXQoKTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgaWYgKHRoaXMuYWN0aXZlKSB7XHJcbiAgICAgIHRoaXMudG9nZ2xlQWN0aXZlKGZhbHNlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgIC8vIHRoaXMub3BlbigpO1xyXG5cclxuICAgIHRoaXMucmVhZHkgPSB0cnVlO1xyXG4gICAgaWYgKHRoaXMuX3Zpc2libGUpIHsgdGhpcy5vcGVuKCk7IH1cclxuICB9XHJcbn1cclxuIl19
|
|
@@ -16,6 +16,7 @@ import { DialogModule, OverlayPanelModule } from 'primeng/primeng';
|
|
|
16
16
|
import { ErrorMessageComponent } from './error-message/error-message.component';
|
|
17
17
|
import { EoDialogComponent } from './eo-dialog/eo-dialog.component';
|
|
18
18
|
import { RouterModule } from '@angular/router';
|
|
19
|
+
import { OverlayModule } from '@angular/cdk/overlay';
|
|
19
20
|
import { AccordionModule } from '../accordion/accordion.module';
|
|
20
21
|
import { IndexdataSummaryEntryComponent } from './indexdata-summary/indexdata-summary-entry/indexdata-summary-entry.component';
|
|
21
22
|
import { RouterLinkDirective } from './router-link/router-link.directive';
|
|
@@ -37,7 +38,8 @@ UiModule.decorators = [
|
|
|
37
38
|
OverlayPanelModule,
|
|
38
39
|
RouterModule,
|
|
39
40
|
DialogModule,
|
|
40
|
-
AccordionModule
|
|
41
|
+
AccordionModule,
|
|
42
|
+
OverlayModule
|
|
41
43
|
],
|
|
42
44
|
exports: [
|
|
43
45
|
CommonModule,
|
|
@@ -75,4 +77,4 @@ UiModule.decorators = [
|
|
|
75
77
|
]
|
|
76
78
|
},] }
|
|
77
79
|
];
|
|
78
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
80
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWkubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1mcmFtZXdvcmsvdWkvdWkubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ3RELE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxjQUFjLENBQUM7QUFDNUMsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBQzVELE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLHlDQUF5QyxDQUFDO0FBQzlFLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBQ2xFLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQztBQUN2RSxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSw2Q0FBNkMsQ0FBQztBQUNwRixPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUM3RSxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUNuRSxPQUFPLEVBQUMseUJBQXlCLEVBQUMsTUFBTSxpREFBaUQsQ0FBQztBQUMxRixPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUN4RSxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUM3RCxPQUFPLEVBQUMsWUFBWSxFQUFFLGtCQUFrQixFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDakUsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0seUNBQXlDLENBQUM7QUFDOUUsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFDbEUsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRCxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFDOUQsT0FBTyxFQUFDLDhCQUE4QixFQUFDLE1BQU0sK0VBQStFLENBQUM7QUFDN0gsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFDeEUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sbURBQW1ELENBQUM7QUFFOUY7OztHQUdHO0FBa0RILE1BQU0sT0FBTyxRQUFROzs7WUFoRHBCLFFBQVEsU0FBQztnQkFDUixPQUFPLEVBQUU7b0JBQ1AsWUFBWTtvQkFDWixnQkFBZ0I7b0JBQ2hCLGNBQWM7b0JBQ2QsV0FBVztvQkFDWCx1QkFBdUI7b0JBQ3ZCLGtCQUFrQjtvQkFDbEIsWUFBWTtvQkFDWixZQUFZO29CQUNaLGVBQWU7b0JBQ2YsYUFBYTtpQkFDZDtnQkFDRCxPQUFPLEVBQUU7b0JBQ1AsWUFBWTtvQkFDWixnQkFBZ0I7b0JBQ2hCLGNBQWM7b0JBQ2QsV0FBVztvQkFDWCxrQkFBa0I7b0JBQ2xCLGVBQWU7b0JBQ2YscUJBQXFCO29CQUNyQixtQkFBbUI7b0JBQ25CLGlCQUFpQjtvQkFDakIsdUJBQXVCO29CQUN2QixrQkFBa0I7b0JBQ2xCLHlCQUF5QjtvQkFDekIsbUJBQW1CO29CQUNuQixnQkFBZ0I7b0JBQ2hCLHFCQUFxQjtvQkFDckIsaUJBQWlCO29CQUNqQix5QkFBeUI7aUJBQzFCO2dCQUNELFlBQVksRUFBRTtvQkFDWixlQUFlO29CQUNmLHFCQUFxQjtvQkFDckIsbUJBQW1CO29CQUNuQixpQkFBaUI7b0JBQ2pCLHVCQUF1QjtvQkFDdkIsa0JBQWtCO29CQUNsQix5QkFBeUI7b0JBQ3pCLG1CQUFtQjtvQkFDbkIsZ0JBQWdCO29CQUNoQixxQkFBcUI7b0JBQ3JCLGlCQUFpQjtvQkFDakIsOEJBQThCO29CQUM5Qix5QkFBeUI7aUJBQzFCO2FBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge05nTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtDb21tb25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7SHR0cENsaWVudE1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQge0VvU2hhcmVkTW9kdWxlfSBmcm9tICdAZW8tc2RrL2NvcmUnO1xyXG5pbXBvcnQge0VvSWNvbkNvbXBvbmVudH0gZnJvbSAnLi9lby1pY29uL2VvLWljb24uY29tcG9uZW50JztcclxuaW1wb3J0IHtPdXRzaWRlQ2xpY2tEaXJlY3RpdmV9IGZyb20gJy4vb3V0c2lkZS1jbGljay9vdXRzaWRlLWNsaWNrLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7UnRsQXdhcmVEaXJlY3RpdmV9IGZyb20gJy4vcnRsLWF3YXJlL3J0bC1hd2FyZS5kaXJlY3RpdmUnO1xyXG5pbXBvcnQge1BpcGVzTW9kdWxlfSBmcm9tICcuLi8uLi9lby1mcmFtZXdvcmstY29yZS9waXBlcy9waXBlcy5tb2R1bGUnO1xyXG5pbXBvcnQge0xvYWRpbmdTcGlubmVyQ29tcG9uZW50fSBmcm9tICcuL2xvYWRpbmctc3Bpbm5lci9sb2FkaW5nLXNwaW5uZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHtCcm93c2VyQW5pbWF0aW9uc01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlci9hbmltYXRpb25zJztcclxuaW1wb3J0IHtDbGlwYm9hcmRDb21wb25lbnR9IGZyb20gJy4vY2xpcGJvYXJkL2NsaXBib2FyZC5jb21wb25lbnQnO1xyXG5pbXBvcnQge0luZGV4ZGF0YVN1bW1hcnlDb21wb25lbnR9IGZyb20gJy4vaW5kZXhkYXRhLXN1bW1hcnkvaW5kZXhkYXRhLXN1bW1hcnkuY29tcG9uZW50JztcclxuaW1wb3J0IHtVc2VyQXZhdGFyQ29tcG9uZW50fSBmcm9tICcuL3VzZXItYXZhdGFyL3VzZXItYXZhdGFyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7T3ZlcmxheUNvbXBvbmVudH0gZnJvbSAnLi9vdmVybGF5L292ZXJsYXkuY29tcG9uZW50JztcclxuaW1wb3J0IHtEaWFsb2dNb2R1bGUsIE92ZXJsYXlQYW5lbE1vZHVsZX0gZnJvbSAncHJpbWVuZy9wcmltZW5nJztcclxuaW1wb3J0IHtFcnJvck1lc3NhZ2VDb21wb25lbnR9IGZyb20gJy4vZXJyb3ItbWVzc2FnZS9lcnJvci1tZXNzYWdlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7RW9EaWFsb2dDb21wb25lbnR9IGZyb20gJy4vZW8tZGlhbG9nL2VvLWRpYWxvZy5jb21wb25lbnQnO1xyXG5pbXBvcnQge1JvdXRlck1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHtPdmVybGF5TW9kdWxlfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XHJcbmltcG9ydCB7QWNjb3JkaW9uTW9kdWxlfSBmcm9tICcuLi9hY2NvcmRpb24vYWNjb3JkaW9uLm1vZHVsZSc7XHJcbmltcG9ydCB7SW5kZXhkYXRhU3VtbWFyeUVudHJ5Q29tcG9uZW50fSBmcm9tICcuL2luZGV4ZGF0YS1zdW1tYXJ5L2luZGV4ZGF0YS1zdW1tYXJ5LWVudHJ5L2luZGV4ZGF0YS1zdW1tYXJ5LWVudHJ5LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7Um91dGVyTGlua0RpcmVjdGl2ZX0gZnJvbSAnLi9yb3V0ZXItbGluay9yb3V0ZXItbGluay5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBRdWVyeVNjb3BlU2VsZWN0Q29tcG9uZW50IH0gZnJvbSAnLi9xdWVyeS1zY29wZS1zZWxlY3QvcXVlcnktc2NvcGUtc2VsZWN0LmNvbXBvbmVudCc7XHJcblxyXG4vKipcclxuICogU2hhcmVkIG1vZHVsZSBmb3IgYWxsIHVpIGNvbXBvbmVudHMgdGhhdCBhcmUgdXNlZCBhY3Jvc3MgdGhlIHdob2xlIGFwcFxyXG4gKiBhbmQgaW4gb3RoZXIgY29tcG9uZW50cy5cclxuICovXHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIEh0dHBDbGllbnRNb2R1bGUsXHJcbiAgICBFb1NoYXJlZE1vZHVsZSxcclxuICAgIFBpcGVzTW9kdWxlLFxyXG4gICAgQnJvd3NlckFuaW1hdGlvbnNNb2R1bGUsXHJcbiAgICBPdmVybGF5UGFuZWxNb2R1bGUsXHJcbiAgICBSb3V0ZXJNb2R1bGUsXHJcbiAgICBEaWFsb2dNb2R1bGUsXHJcbiAgICBBY2NvcmRpb25Nb2R1bGUsXHJcbiAgICBPdmVybGF5TW9kdWxlXHJcbiAgXSxcclxuICBleHBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBIdHRwQ2xpZW50TW9kdWxlLFxyXG4gICAgRW9TaGFyZWRNb2R1bGUsXHJcbiAgICBQaXBlc01vZHVsZSxcclxuICAgIE92ZXJsYXlQYW5lbE1vZHVsZSxcclxuICAgIEVvSWNvbkNvbXBvbmVudCxcclxuICAgIE91dHNpZGVDbGlja0RpcmVjdGl2ZSxcclxuICAgIFJvdXRlckxpbmtEaXJlY3RpdmUsXHJcbiAgICBSdGxBd2FyZURpcmVjdGl2ZSxcclxuICAgIExvYWRpbmdTcGlubmVyQ29tcG9uZW50LFxyXG4gICAgQ2xpcGJvYXJkQ29tcG9uZW50LFxyXG4gICAgSW5kZXhkYXRhU3VtbWFyeUNvbXBvbmVudCxcclxuICAgIFVzZXJBdmF0YXJDb21wb25lbnQsXHJcbiAgICBPdmVybGF5Q29tcG9uZW50LFxyXG4gICAgRXJyb3JNZXNzYWdlQ29tcG9uZW50LFxyXG4gICAgRW9EaWFsb2dDb21wb25lbnQsXHJcbiAgICBRdWVyeVNjb3BlU2VsZWN0Q29tcG9uZW50XHJcbiAgXSxcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIEVvSWNvbkNvbXBvbmVudCxcclxuICAgIE91dHNpZGVDbGlja0RpcmVjdGl2ZSxcclxuICAgIFJvdXRlckxpbmtEaXJlY3RpdmUsXHJcbiAgICBSdGxBd2FyZURpcmVjdGl2ZSxcclxuICAgIExvYWRpbmdTcGlubmVyQ29tcG9uZW50LFxyXG4gICAgQ2xpcGJvYXJkQ29tcG9uZW50LFxyXG4gICAgSW5kZXhkYXRhU3VtbWFyeUNvbXBvbmVudCxcclxuICAgIFVzZXJBdmF0YXJDb21wb25lbnQsXHJcbiAgICBPdmVybGF5Q29tcG9uZW50LFxyXG4gICAgRXJyb3JNZXNzYWdlQ29tcG9uZW50LFxyXG4gICAgRW9EaWFsb2dDb21wb25lbnQsXHJcbiAgICBJbmRleGRhdGFTdW1tYXJ5RW50cnlDb21wb25lbnQsXHJcbiAgICBRdWVyeVNjb3BlU2VsZWN0Q29tcG9uZW50XHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVWlNb2R1bGUge1xyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { Directive, ElementRef } from '@angular/core';
|
|
2
|
+
/**
|
|
3
|
+
* This directive traps the focus inside the element it is applied to.
|
|
4
|
+
* When applied, a users can't "tab out" of the element.
|
|
5
|
+
* You need at least two focusable children in the element for it to work properly.
|
|
6
|
+
* See the querySelector in the trapFocus method to know which elements count as focusable.
|
|
7
|
+
* Additionally you can add the attribute "focusable" to an element if you are unsure.
|
|
8
|
+
*/
|
|
9
|
+
export class TrapFocusDirective {
|
|
10
|
+
constructor(el) {
|
|
11
|
+
this.el = el;
|
|
12
|
+
}
|
|
13
|
+
ngAfterViewInit() {
|
|
14
|
+
this.trapFocus(this.el.nativeElement);
|
|
15
|
+
}
|
|
16
|
+
trapFocus(element) {
|
|
17
|
+
let focusableElements = element.querySelectorAll('a[href], button, textarea, input[type="text"],' +
|
|
18
|
+
'input[type="radio"], input[type="checkbox"], select, [focusable]');
|
|
19
|
+
focusableElements = Array.from(focusableElements)
|
|
20
|
+
.filter((el) => !el.disabled && !el.classList.contains('disabled'));
|
|
21
|
+
const firstFocusableElement = focusableElements[0];
|
|
22
|
+
const lastFocusableElement = focusableElements[focusableElements.length - 1];
|
|
23
|
+
element.addEventListener('keydown', ((event) => {
|
|
24
|
+
const isTabPressed = event.keyCode === 9; // tab key code
|
|
25
|
+
if (!isTabPressed)
|
|
26
|
+
return;
|
|
27
|
+
if (event.shiftKey) /* shift + tab */ {
|
|
28
|
+
if (document.activeElement === firstFocusableElement) {
|
|
29
|
+
lastFocusableElement.focus();
|
|
30
|
+
event.preventDefault();
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
else /* tab */ {
|
|
34
|
+
if (document.activeElement === lastFocusableElement) {
|
|
35
|
+
firstFocusableElement.focus();
|
|
36
|
+
event.preventDefault();
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}));
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
TrapFocusDirective.decorators = [
|
|
43
|
+
{ type: Directive, args: [{
|
|
44
|
+
selector: '[eoTrapFocus]'
|
|
45
|
+
},] }
|
|
46
|
+
];
|
|
47
|
+
TrapFocusDirective.ctorParameters = () => [
|
|
48
|
+
{ type: ElementRef }
|
|
49
|
+
];
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhcC1mb2N1cy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2VvLWZyYW1ld29yay91dGlsL2RpcmVjdGl2ZS90cmFwLWZvY3VzLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV0RDs7Ozs7O0dBTUc7QUFLSCxNQUFNLE9BQU8sa0JBQWtCO0lBRTdCLFlBQW9CLEVBQWM7UUFBZCxPQUFFLEdBQUYsRUFBRSxDQUFZO0lBQUcsQ0FBQztJQUV0QyxlQUFlO1FBQ2IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFRCxTQUFTLENBQUMsT0FBWTtRQUNwQixJQUFJLGlCQUFpQixHQUFHLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FDOUMsZ0RBQWdEO1lBQ2hELGtFQUFrRSxDQUNuRSxDQUFDO1FBQ0YsaUJBQWlCLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQzthQUM5QyxNQUFNLENBQUUsQ0FBQyxFQUFPLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLFFBQVEsSUFBSSxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7UUFDNUUsTUFBTSxxQkFBcUIsR0FBUSxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN4RCxNQUFNLG9CQUFvQixHQUFRLGlCQUFpQixDQUFDLGlCQUFpQixDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztRQUVsRixPQUFPLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxLQUFVLEVBQUUsRUFBRTtZQUNsRCxNQUFNLFlBQVksR0FBRyxLQUFLLENBQUMsT0FBTyxLQUFLLENBQUMsQ0FBQyxDQUFDLGVBQWU7WUFDekQsSUFBSSxDQUFDLFlBQVk7Z0JBQUUsT0FBTztZQUUxQixJQUFJLEtBQUssQ0FBQyxRQUFRLEVBQUUsaUJBQWlCLENBQUM7Z0JBQ3BDLElBQUksUUFBUSxDQUFDLGFBQWEsS0FBSyxxQkFBcUIsRUFBRTtvQkFDcEQsb0JBQW9CLENBQUMsS0FBSyxFQUFFLENBQUM7b0JBQzdCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztpQkFDeEI7YUFDRjtpQkFBTSxTQUFTLENBQUM7Z0JBQ2YsSUFBSSxRQUFRLENBQUMsYUFBYSxLQUFLLG9CQUFvQixFQUFFO29CQUNuRCxxQkFBcUIsQ0FBQyxLQUFLLEVBQUUsQ0FBQztvQkFDOUIsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO2lCQUN4QjthQUNGO1FBQ0gsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNOLENBQUM7OztZQXJDRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGVBQWU7YUFDMUI7OztZQVptQixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG4vKipcclxuICogVGhpcyBkaXJlY3RpdmUgdHJhcHMgdGhlIGZvY3VzIGluc2lkZSB0aGUgZWxlbWVudCBpdCBpcyBhcHBsaWVkIHRvLlxyXG4gKiBXaGVuIGFwcGxpZWQsIGEgdXNlcnMgY2FuJ3QgXCJ0YWIgb3V0XCIgb2YgdGhlIGVsZW1lbnQuXHJcbiAqIFlvdSBuZWVkIGF0IGxlYXN0IHR3byBmb2N1c2FibGUgY2hpbGRyZW4gaW4gdGhlIGVsZW1lbnQgZm9yIGl0IHRvIHdvcmsgcHJvcGVybHkuXHJcbiAqIFNlZSB0aGUgcXVlcnlTZWxlY3RvciBpbiB0aGUgdHJhcEZvY3VzIG1ldGhvZCB0byBrbm93IHdoaWNoIGVsZW1lbnRzIGNvdW50IGFzIGZvY3VzYWJsZS5cclxuICogQWRkaXRpb25hbGx5IHlvdSBjYW4gYWRkIHRoZSBhdHRyaWJ1dGUgXCJmb2N1c2FibGVcIiB0byBhbiBlbGVtZW50IGlmIHlvdSBhcmUgdW5zdXJlLlxyXG4gKi9cclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnW2VvVHJhcEZvY3VzXSdcclxufSlcclxuZXhwb3J0IGNsYXNzIFRyYXBGb2N1c0RpcmVjdGl2ZSB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZWw6IEVsZW1lbnRSZWYpIHt9XHJcbiAgXHJcbiAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgdGhpcy50cmFwRm9jdXModGhpcy5lbC5uYXRpdmVFbGVtZW50KTtcclxuICB9XHJcblxyXG4gIHRyYXBGb2N1cyhlbGVtZW50OiBhbnkpIHtcclxuICAgIGxldCBmb2N1c2FibGVFbGVtZW50cyA9IGVsZW1lbnQucXVlcnlTZWxlY3RvckFsbChcclxuICAgICAgJ2FbaHJlZl0sIGJ1dHRvbiwgdGV4dGFyZWEsIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLCcgK1xyXG4gICAgICAnaW5wdXRbdHlwZT1cInJhZGlvXCJdLCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sIHNlbGVjdCwgW2ZvY3VzYWJsZV0nXHJcbiAgICApO1xyXG4gICAgZm9jdXNhYmxlRWxlbWVudHMgPSBBcnJheS5mcm9tKGZvY3VzYWJsZUVsZW1lbnRzKVxyXG4gICAgICAuZmlsdGVyKCAoZWw6IGFueSkgPT4gIWVsLmRpc2FibGVkICYmICFlbC5jbGFzc0xpc3QuY29udGFpbnMoJ2Rpc2FibGVkJykpO1xyXG4gICAgY29uc3QgZmlyc3RGb2N1c2FibGVFbGVtZW50OiBhbnkgPSBmb2N1c2FibGVFbGVtZW50c1swXTtcclxuICAgIGNvbnN0IGxhc3RGb2N1c2FibGVFbGVtZW50OiBhbnkgPSBmb2N1c2FibGVFbGVtZW50c1tmb2N1c2FibGVFbGVtZW50cy5sZW5ndGggLSAxXTtcclxuXHJcbiAgICBlbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCAoKGV2ZW50OiBhbnkpID0+IHtcclxuICAgICAgY29uc3QgaXNUYWJQcmVzc2VkID0gZXZlbnQua2V5Q29kZSA9PT0gOTsgLy8gdGFiIGtleSBjb2RlXHJcbiAgICAgIGlmICghaXNUYWJQcmVzc2VkKSByZXR1cm47XHJcblxyXG4gICAgICBpZiAoZXZlbnQuc2hpZnRLZXkpIC8qIHNoaWZ0ICsgdGFiICovIHtcclxuICAgICAgICBpZiAoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCA9PT0gZmlyc3RGb2N1c2FibGVFbGVtZW50KSB7XHJcbiAgICAgICAgICBsYXN0Rm9jdXNhYmxlRWxlbWVudC5mb2N1cygpO1xyXG4gICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0gZWxzZSAvKiB0YWIgKi8ge1xyXG4gICAgICAgIGlmIChkb2N1bWVudC5hY3RpdmVFbGVtZW50ID09PSBsYXN0Rm9jdXNhYmxlRWxlbWVudCkge1xyXG4gICAgICAgICAgZmlyc3RGb2N1c2FibGVFbGVtZW50LmZvY3VzKCk7XHJcbiAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSkpO1xyXG4gIH1cclxuXHJcbn1cclxuIl19
|