desy-angular 4.0.0 → 5.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/desy-angular.umd.js +115 -137
- package/bundles/desy-angular.umd.js.map +1 -1
- package/bundles/desy-angular.umd.min.js +2 -2
- package/bundles/desy-angular.umd.min.js.map +1 -1
- package/desy-angular.d.ts +2 -2
- package/desy-angular.metadata.json +1 -1
- package/esm2015/desy-angular.js +3 -3
- package/esm2015/lib/desy-angular.module.js +1 -3
- package/esm2015/lib/desy-buttons/components/button/button.component.js +9 -16
- package/esm2015/lib/desy-buttons/components/button-loader/button-loader.component.js +8 -3
- package/esm2015/lib/desy-buttons/components/dropdown/dropdown.component.js +2 -2
- package/esm2015/lib/desy-buttons/components/listbox/listbox.component.js +1 -1
- package/esm2015/lib/desy-buttons/components/pill/pill.component.js +5 -3
- package/esm2015/lib/desy-forms/components/checkboxes/checkbox-item/checkbox-item.component.js +36 -2
- package/esm2015/lib/desy-forms/components/checkboxes/checkboxes.component.js +2 -2
- package/esm2015/lib/desy-forms/interfaces/item-checkbox-data.js +1 -1
- package/esm2015/lib/desy-modals/components/modal/modal.component.js +2 -2
- package/esm2015/lib/desy-nav/components/header/header-dropdown/header-dropdown.component.js +8 -48
- package/esm2015/lib/desy-nav/components/header/header-subnav/header-subnav.component.js +9 -37
- package/esm2015/lib/desy-nav/components/header/header.component.js +2 -2
- package/esm2015/lib/desy-nav/components/menu-horizontal/menu-horizontal.component.js +2 -2
- package/esm2015/lib/desy-nav/components/menubar/menubar.component.js +3 -3
- package/esm2015/lib/desy-nav/desy-nav.module.js +4 -2
- package/esm2015/lib/desy-nav/interfaces/header-dropdown-data.js +1 -1
- package/esm2015/lib/desy-nav/interfaces/header-subnav-data.js +1 -1
- package/esm2015/lib/desy-views/components/alert/alert.component.js +28 -23
- package/fesm2015/desy-angular.js +98 -129
- package/fesm2015/desy-angular.js.map +1 -1
- package/lib/desy-buttons/components/button/button.component.d.ts +6 -6
- package/lib/desy-buttons/components/button-loader/button-loader.component.d.ts +1 -0
- package/lib/desy-buttons/components/pill/pill.component.d.ts +1 -0
- package/lib/desy-forms/components/checkboxes/checkbox-item/checkbox-item.component.d.ts +5 -0
- package/lib/desy-forms/interfaces/item-checkbox-data.d.ts +1 -0
- package/lib/desy-nav/components/header/header-dropdown/header-dropdown.component.d.ts +5 -10
- package/lib/desy-nav/components/header/header-subnav/header-subnav.component.d.ts +5 -5
- package/lib/desy-nav/interfaces/header-dropdown-data.d.ts +5 -1
- package/lib/desy-nav/interfaces/header-subnav-data.d.ts +5 -1
- package/lib/desy-views/components/alert/alert.component.d.ts +6 -4
- package/package.json +2 -2
|
@@ -9,13 +9,20 @@ export class AlertComponent extends AccessibilityComponent {
|
|
|
9
9
|
this.activeChange = new EventEmitter();
|
|
10
10
|
this.lastActiveState = undefined;
|
|
11
11
|
this.hasViewinit = false;
|
|
12
|
+
this.createdCallerFromType = false;
|
|
12
13
|
}
|
|
13
|
-
|
|
14
|
-
|
|
14
|
+
set active(value) {
|
|
15
|
+
setTimeout(() => {
|
|
16
|
+
this._active = value;
|
|
17
|
+
this.cdRef.detectChanges();
|
|
18
|
+
this.handleActiveState();
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
get active() {
|
|
22
|
+
return this._active;
|
|
15
23
|
}
|
|
16
24
|
ngOnDestroy() {
|
|
17
25
|
this.active = false;
|
|
18
|
-
this.handleActiveState();
|
|
19
26
|
}
|
|
20
27
|
ngAfterViewInit() {
|
|
21
28
|
if (!this.id) {
|
|
@@ -25,30 +32,28 @@ export class AlertComponent extends AccessibilityComponent {
|
|
|
25
32
|
throw Error('caller is required');
|
|
26
33
|
}
|
|
27
34
|
this.hasViewinit = true;
|
|
28
|
-
this.cdRef.detectChanges();
|
|
29
|
-
if (this.callerType) {
|
|
30
|
-
const factory = this.factoryResolver.resolveComponentFactory(this.callerType);
|
|
31
|
-
const component = this.container.createComponent(factory);
|
|
32
|
-
if (this.onCallerCreationCallback) {
|
|
33
|
-
this.onCallerCreationCallback(this, component);
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
35
|
this.handleActiveState();
|
|
37
|
-
this.cdRef.detectChanges();
|
|
38
36
|
}
|
|
39
37
|
dismiss() {
|
|
40
38
|
this.activeChange.emit(false);
|
|
41
39
|
}
|
|
42
40
|
handleActiveState() {
|
|
43
|
-
if (this.
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
41
|
+
if (this._active && this.callerType && !this.createdCallerFromType) {
|
|
42
|
+
const factory = this.factoryResolver.resolveComponentFactory(this.callerType);
|
|
43
|
+
const component = this.container.createComponent(factory);
|
|
44
|
+
if (this.onCallerCreationCallback) {
|
|
45
|
+
this.onCallerCreationCallback(this, component);
|
|
46
|
+
}
|
|
47
|
+
this.createdCallerFromType = true;
|
|
48
|
+
}
|
|
49
|
+
if (this._active !== this.lastActiveState && this.hasViewinit) {
|
|
50
|
+
this.lastActiveState = this._active;
|
|
51
|
+
if (this._active && this.focusFirst) {
|
|
52
|
+
this.cdRef.detectChanges();
|
|
53
|
+
const focusElem = FocusUtils.getFirstFocusableElement(this.alertWrapper.nativeElement);
|
|
54
|
+
if (focusElem) {
|
|
55
|
+
focusElem.focus();
|
|
56
|
+
}
|
|
52
57
|
}
|
|
53
58
|
}
|
|
54
59
|
}
|
|
@@ -56,7 +61,7 @@ export class AlertComponent extends AccessibilityComponent {
|
|
|
56
61
|
AlertComponent.decorators = [
|
|
57
62
|
{ type: Component, args: [{
|
|
58
63
|
selector: 'desy-alert',
|
|
59
|
-
template: "<div #alertWrapper\r\n [id]=\"id\" [class]=\"classes ? classes : null\"
|
|
64
|
+
template: "<div #alertWrapper\r\n [id]=\"id\" [class]=\"classes ? classes : null\"\r\n [attr.role]=\"role ? role : null\"\r\n [attr.aria-label]=\"ariaLabel ? ariaLabel : null\"\r\n [attr.aria-describedby]=\"ariaDescribedBy ? ariaDescribedBy : null\"\r\n [attr.aria-labelledby]=\"ariaLabelledBy ? ariaLabelledBy : null\"\r\n [attr.aria-hidden]=\"ariaHidden ? ariaHidden : null\"\r\n [attr.aria-disabled]=\"ariaDisabled ? ariaDisabled : null\"\r\n [attr.aria-controls]=\"ariaControls ? ariaControls : null\"\r\n [attr.aria-current]=\"ariaCurrent ? ariaCurrent : null\"\r\n [attr.aria-live]=\"ariaLive ? ariaLive : null\"\r\n [attr.aria-expanded]=\"ariaExpanded ? ariaExpanded : null\"\r\n [attr.aria-errormessage]=\"ariaErrorMessage ? ariaErrorMessage : null\"\r\n [attr.aria-haspopup]=\"ariaHasPopup ? ariaHasPopup : null\"\r\n [attr.aria-modal]=\"ariaModal ? ariaModal : null\">\r\n <ng-container *ngIf=\"active\">\r\n <ng-template #container></ng-template>\r\n <ng-container *ngTemplateOutlet=\"caller; context:callerContext\"></ng-container>\r\n </ng-container>\r\n</div>\r\n\r\n"
|
|
60
65
|
},] }
|
|
61
66
|
];
|
|
62
67
|
AlertComponent.ctorParameters = () => [
|
|
@@ -73,4 +78,4 @@ AlertComponent.propDecorators = {
|
|
|
73
78
|
active: [{ type: Input }],
|
|
74
79
|
activeChange: [{ type: Output }]
|
|
75
80
|
};
|
|
76
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
81
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxlcnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzeS1hbmd1bGFyL3NyYy9saWIvZGVzeS12aWV3cy9jb21wb25lbnRzL2FsZXJ0L2FsZXJ0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsaUJBQWlCLEVBQ2pCLFNBQVMsRUFBRSx3QkFBd0IsRUFFbkMsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBRU4sU0FBUyxFQUFFLGdCQUFnQixFQUM1QixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFRL0QsTUFBTSxPQUFPLGNBQWUsU0FBUSxzQkFBc0I7SUErQnhELFlBQW9CLEtBQXdCLEVBQVUsZUFBeUM7UUFDN0YsS0FBSyxFQUFFLENBQUM7UUFEVSxVQUFLLEdBQUwsS0FBSyxDQUFtQjtRQUFVLG9CQUFlLEdBQWYsZUFBZSxDQUEwQjtRQVhyRixpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFPN0Msb0JBQWUsR0FBWSxTQUFTLENBQUM7UUFDckMsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFDcEIsMEJBQXFCLEdBQUcsS0FBSyxDQUFDO0lBSXRDLENBQUM7SUF2QkQsSUFBYSxNQUFNLENBQUMsS0FBYztRQUNoQyxVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7WUFDckIsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUMzQixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUMzQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFDRCxJQUFJLE1BQU07UUFDUixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDdEIsQ0FBQztJQWdCRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7SUFDdEIsQ0FBQztJQUVELGVBQWU7UUFDYixJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRTtZQUNaLE1BQU0sS0FBSyxDQUFDLGdCQUFnQixDQUFDLENBQUM7U0FDL0I7UUFFRCxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDcEMsTUFBTSxLQUFLLENBQUMsb0JBQW9CLENBQUMsQ0FBQztTQUNuQztRQUVELElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCxPQUFPO1FBQ0wsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVELGlCQUFpQjtRQUNmLElBQUksSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsVUFBVSxJQUFJLENBQUMsSUFBSSxDQUFDLHFCQUFxQixFQUFFO1lBQ2xFLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQzlFLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQzFELElBQUksSUFBSSxDQUFDLHdCQUF3QixFQUFFO2dCQUNqQyxJQUFJLENBQUMsd0JBQXdCLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxDQUFDO2FBQ2hEO1lBQ0QsSUFBSSxDQUFDLHFCQUFxQixHQUFHLElBQUksQ0FBQztTQUNuQztRQUVELElBQUksSUFBSSxDQUFDLE9BQU8sS0FBSyxJQUFJLENBQUMsZUFBZSxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDN0QsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1lBRXBDLElBQUksSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFO2dCQUNuQyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsRUFBRSxDQUFDO2dCQUMzQixNQUFNLFNBQVMsR0FBRyxVQUFVLENBQUMsd0JBQXdCLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUE0QixDQUFDLENBQUM7Z0JBQ3RHLElBQUksU0FBUyxFQUFFO29CQUNiLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztpQkFDbkI7YUFDRjtTQUNGO0lBQ0gsQ0FBQzs7O1lBakZGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsWUFBWTtnQkFDdEIsMG5DQUFxQzthQUN0Qzs7O1lBbEJDLGlCQUFpQjtZQUNOLHdCQUF3Qjs7OzJCQW9CbEMsU0FBUyxTQUFDLGNBQWM7d0JBQ3hCLFNBQVMsU0FBQyxXQUFXLEVBQUUsRUFBQyxJQUFJLEVBQUUsZ0JBQWdCLEVBQUM7aUJBRS9DLEtBQUs7c0JBQ0wsS0FBSztxQkFDTCxLQUFLO3lCQUNMLEtBQUs7cUJBRUwsS0FBSzsyQkFVTCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBBZnRlclZpZXdJbml0LFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIENvbXBvbmVudCwgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLCBDb21wb25lbnRSZWYsXHJcbiAgRWxlbWVudFJlZixcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSW5wdXQsXHJcbiAgT25EZXN0cm95LFxyXG4gIE91dHB1dCxcclxuICBUZW1wbGF0ZVJlZiwgVHlwZSxcclxuICBWaWV3Q2hpbGQsIFZpZXdDb250YWluZXJSZWZcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQWNjZXNzaWJpbGl0eUNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9jb21wb25lbnRzJztcclxuaW1wb3J0IHsgRm9jdXNVdGlscyB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC91dGlscy9mb2N1cy11dGlscyc7XHJcblxyXG50eXBlIEFsZXJ0Q3JlYXRpb25DYWxsYmFjayA9ICgoZGlhbG9nOiBBbGVydENvbXBvbmVudCwgY2FsbGVyOiBDb21wb25lbnRSZWY8YW55PikgPT4gdm9pZCk7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2Rlc3ktYWxlcnQnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9hbGVydC5jb21wb25lbnQuaHRtbCdcclxufSlcclxuZXhwb3J0IGNsYXNzIEFsZXJ0Q29tcG9uZW50IGV4dGVuZHMgQWNjZXNzaWJpbGl0eUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSwgQWZ0ZXJWaWV3SW5pdCB7XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ2FsZXJ0V3JhcHBlcicpIGFsZXJ0V3JhcHBlcjogRWxlbWVudFJlZjtcclxuICBAVmlld0NoaWxkKCdjb250YWluZXInLCB7cmVhZDogVmlld0NvbnRhaW5lclJlZn0pIGNvbnRhaW5lcjogVmlld0NvbnRhaW5lclJlZjtcclxuXHJcbiAgQElucHV0KCkgaWQ6IHN0cmluZztcclxuICBASW5wdXQoKSBjbGFzc2VzOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgY2FsbGVyOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG4gIEBJbnB1dCgpIGZvY3VzRmlyc3Q6IGJvb2xlYW47XHJcblxyXG4gIEBJbnB1dCgpIHNldCBhY3RpdmUodmFsdWU6IGJvb2xlYW4pIHtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICB0aGlzLl9hY3RpdmUgPSB2YWx1ZTtcclxuICAgICAgdGhpcy5jZFJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgIHRoaXMuaGFuZGxlQWN0aXZlU3RhdGUoKTtcclxuICAgIH0pO1xyXG4gIH1cclxuICBnZXQgYWN0aXZlKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2FjdGl2ZTtcclxuICB9XHJcbiAgQE91dHB1dCgpIGFjdGl2ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuXHJcbiAgcHJpdmF0ZSBfYWN0aXZlOiBib29sZWFuO1xyXG4gIHB1YmxpYyBjYWxsZXJDb250ZXh0OiBhbnk7XHJcbiAgcHVibGljIGNhbGxlclR5cGU6IFR5cGU8YW55PjtcclxuICBwdWJsaWMgb25DYWxsZXJDcmVhdGlvbkNhbGxiYWNrOiBBbGVydENyZWF0aW9uQ2FsbGJhY2s7XHJcblxyXG4gIHByaXZhdGUgbGFzdEFjdGl2ZVN0YXRlOiBib29sZWFuID0gdW5kZWZpbmVkO1xyXG4gIHByaXZhdGUgaGFzVmlld2luaXQgPSBmYWxzZTtcclxuICBwcml2YXRlIGNyZWF0ZWRDYWxsZXJGcm9tVHlwZSA9IGZhbHNlO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNkUmVmOiBDaGFuZ2VEZXRlY3RvclJlZiwgcHJpdmF0ZSBmYWN0b3J5UmVzb2x2ZXI6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcikge1xyXG4gICAgc3VwZXIoKTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5hY3RpdmUgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5pZCkge1xyXG4gICAgICB0aHJvdyBFcnJvcignaWQgaXMgcmVxdWlyZWQnKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoIXRoaXMuY2FsbGVyICYmICF0aGlzLmNhbGxlclR5cGUpIHtcclxuICAgICAgdGhyb3cgRXJyb3IoJ2NhbGxlciBpcyByZXF1aXJlZCcpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuaGFzVmlld2luaXQgPSB0cnVlO1xyXG4gICAgdGhpcy5oYW5kbGVBY3RpdmVTdGF0ZSgpO1xyXG4gIH1cclxuXHJcbiAgZGlzbWlzcygpOiB2b2lkIHtcclxuICAgIHRoaXMuYWN0aXZlQ2hhbmdlLmVtaXQoZmFsc2UpO1xyXG4gIH1cclxuXHJcbiAgaGFuZGxlQWN0aXZlU3RhdGUoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5fYWN0aXZlICYmIHRoaXMuY2FsbGVyVHlwZSAmJiAhdGhpcy5jcmVhdGVkQ2FsbGVyRnJvbVR5cGUpIHtcclxuICAgICAgY29uc3QgZmFjdG9yeSA9IHRoaXMuZmFjdG9yeVJlc29sdmVyLnJlc29sdmVDb21wb25lbnRGYWN0b3J5KHRoaXMuY2FsbGVyVHlwZSk7XHJcbiAgICAgIGNvbnN0IGNvbXBvbmVudCA9IHRoaXMuY29udGFpbmVyLmNyZWF0ZUNvbXBvbmVudChmYWN0b3J5KTtcclxuICAgICAgaWYgKHRoaXMub25DYWxsZXJDcmVhdGlvbkNhbGxiYWNrKSB7XHJcbiAgICAgICAgdGhpcy5vbkNhbGxlckNyZWF0aW9uQ2FsbGJhY2sodGhpcywgY29tcG9uZW50KTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLmNyZWF0ZWRDYWxsZXJGcm9tVHlwZSA9IHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuX2FjdGl2ZSAhPT0gdGhpcy5sYXN0QWN0aXZlU3RhdGUgJiYgdGhpcy5oYXNWaWV3aW5pdCkge1xyXG4gICAgICB0aGlzLmxhc3RBY3RpdmVTdGF0ZSA9IHRoaXMuX2FjdGl2ZTtcclxuXHJcbiAgICAgIGlmICh0aGlzLl9hY3RpdmUgJiYgdGhpcy5mb2N1c0ZpcnN0KSB7XHJcbiAgICAgICAgdGhpcy5jZFJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgY29uc3QgZm9jdXNFbGVtID0gRm9jdXNVdGlscy5nZXRGaXJzdEZvY3VzYWJsZUVsZW1lbnQodGhpcy5hbGVydFdyYXBwZXIubmF0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudCk7XHJcbiAgICAgICAgaWYgKGZvY3VzRWxlbSkge1xyXG4gICAgICAgICAgZm9jdXNFbGVtLmZvY3VzKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
|