@wemake4u/form-player-se 1.0.12 → 1.0.14
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/esm2022/lib/directives/accordion.directive.mjs +15 -6
- package/esm2022/lib/directives/tab.directive.mjs +18 -8
- package/esm2022/lib/dynamic-fields/dynamic-fields.component.mjs +3 -3
- package/esm2022/lib/services/grid.service.mjs +4 -8
- package/esm2022/lib/utils/focusable.mjs +41 -0
- package/esm2022/public-api.mjs +5 -1
- package/fesm2022/wemake4u-form-player-se.mjs +75 -22
- package/fesm2022/wemake4u-form-player-se.mjs.map +1 -1
- package/lib/services/grid.service.d.ts +0 -1
- package/lib/utils/focusable.d.ts +2 -0
- package/package.json +1 -1
- package/public-api.d.ts +4 -0
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Directive, Host, Input } from '@angular/core';
|
|
2
|
+
import { setFocus } from '../utils/focusable';
|
|
2
3
|
import * as i0 from "@angular/core";
|
|
3
4
|
import * as i1 from "ngx-sirio-lib";
|
|
4
5
|
export class AccordionDirective {
|
|
@@ -10,16 +11,24 @@ export class AccordionDirective {
|
|
|
10
11
|
ngOnChanges(changes) {
|
|
11
12
|
if (changes["accordionCount"]) {
|
|
12
13
|
const previous = changes["accordionCount"].previousValue;
|
|
13
|
-
if (previous === undefined)
|
|
14
|
-
return;
|
|
15
14
|
const current = changes["accordionCount"].currentValue;
|
|
16
|
-
|
|
15
|
+
if (current == 0)
|
|
16
|
+
return;
|
|
17
17
|
setTimeout(() => {
|
|
18
|
+
const oldIndex = this.sirioAccordion.panels.toArray().findIndex(panel => panel.panelIsOpen);
|
|
18
19
|
const event = new Event("");
|
|
19
20
|
this.sirioAccordion.closePanels(event);
|
|
20
21
|
const panels = this.sirioAccordion.panels.toArray();
|
|
21
|
-
const showPanel = (index) =>
|
|
22
|
-
|
|
22
|
+
const showPanel = (index) => {
|
|
23
|
+
panels[index].onPanelHeaderClicked(event);
|
|
24
|
+
setTimeout(() => {
|
|
25
|
+
setFocus(panels[index].body.el.nativeElement);
|
|
26
|
+
}, 100);
|
|
27
|
+
};
|
|
28
|
+
if (previous === undefined) {
|
|
29
|
+
showPanel(0);
|
|
30
|
+
}
|
|
31
|
+
else if (previous < current) {
|
|
23
32
|
showPanel(current - 1);
|
|
24
33
|
}
|
|
25
34
|
else {
|
|
@@ -49,4 +58,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
49
58
|
}] }], propDecorators: { accordionCount: [{
|
|
50
59
|
type: Input
|
|
51
60
|
}] } });
|
|
52
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
61
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3JkaW9uLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zaXJpby9zcmMvbGliL2RpcmVjdGl2ZXMvYWNjb3JkaW9uLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQTRCLE1BQU0sZUFBZSxDQUFDO0FBRWpGLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7O0FBTTlDLE1BQU0sT0FBTyxrQkFBa0I7SUFJWDtJQUhULGNBQWMsR0FBVyxDQUFDLENBQUM7SUFFcEMsWUFDa0IsY0FBdUM7UUFBdkMsbUJBQWMsR0FBZCxjQUFjLENBQXlCO0lBQ3JELENBQUM7SUFFTCxXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSSxPQUFPLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxDQUFDO1lBQzlCLE1BQU0sUUFBUSxHQUFHLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLGFBQWEsQ0FBQztZQUV6RCxNQUFNLE9BQU8sR0FBRyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxZQUFZLENBQUM7WUFFdkQsSUFBSSxPQUFPLElBQUksQ0FBQztnQkFDZCxPQUFPO1lBRVQsVUFBVSxDQUFDLEdBQUcsRUFBRTtnQkFFZCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7Z0JBRTVGLE1BQU0sS0FBSyxHQUFHLElBQUksS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUU1QixJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFFdkMsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBRXBELE1BQU0sU0FBUyxHQUFHLENBQUMsS0FBYSxFQUFFLEVBQUU7b0JBQ2xDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztvQkFDMUMsVUFBVSxDQUFDLEdBQUcsRUFBRTt3QkFDZCxRQUFRLENBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQVksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLENBQUM7b0JBQ3pELENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztnQkFDVixDQUFDLENBQUE7Z0JBRUQsSUFBSSxRQUFRLEtBQUssU0FBUyxFQUFFLENBQUM7b0JBQzNCLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDZixDQUFDO3FCQUNJLElBQUksUUFBUSxHQUFHLE9BQU8sRUFBRSxDQUFDO29CQUM1QixTQUFTLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQyxDQUFDO2dCQUN6QixDQUFDO3FCQUNJLENBQUM7b0JBQ0osSUFBSSxRQUFRLElBQUksT0FBTyxFQUFFLENBQUM7d0JBQ3hCLGNBQWM7d0JBQ2QsU0FBUyxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUMsQ0FBQztvQkFDekIsQ0FBQzt5QkFDSSxJQUFJLFFBQVEsR0FBRyxPQUFPLEVBQUUsQ0FBQzt3QkFDNUIsZ0JBQWdCO3dCQUNoQixTQUFTLENBQUMsUUFBUSxDQUFDLENBQUM7b0JBQ3RCLENBQUM7Z0JBQ0gsQ0FBQztZQUVILENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUNWLENBQUM7SUFDSCxDQUFDO3dHQXBEVSxrQkFBa0I7NEZBQWxCLGtCQUFrQjs7NEZBQWxCLGtCQUFrQjtrQkFKOUIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsa0JBQWtCO29CQUM1QixVQUFVLEVBQUUsSUFBSTtpQkFDakI7OzBCQUtJLElBQUk7eUNBSEUsY0FBYztzQkFBdEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSG9zdCwgSW5wdXQsIE9uQ2hhbmdlcywgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTaXJpb0FjY29yZGlvbkNvbXBvbmVudCB9IGZyb20gJ25neC1zaXJpby1saWInO1xyXG5pbXBvcnQgeyBzZXRGb2N1cyB9IGZyb20gJy4uL3V0aWxzL2ZvY3VzYWJsZSc7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICBzZWxlY3RvcjogJ1thY2NvcmRpb25Db3VudF0nLFxyXG4gIHN0YW5kYWxvbmU6IHRydWVcclxufSlcclxuZXhwb3J0IGNsYXNzIEFjY29yZGlvbkRpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XHJcbiAgQElucHV0KCkgYWNjb3JkaW9uQ291bnQ6IG51bWJlciA9IDA7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgQEhvc3QoKSBwcml2YXRlIHNpcmlvQWNjb3JkaW9uOiBTaXJpb0FjY29yZGlvbkNvbXBvbmVudFxyXG4gICkgeyB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgIGlmIChjaGFuZ2VzW1wiYWNjb3JkaW9uQ291bnRcIl0pIHtcclxuICAgICAgY29uc3QgcHJldmlvdXMgPSBjaGFuZ2VzW1wiYWNjb3JkaW9uQ291bnRcIl0ucHJldmlvdXNWYWx1ZTtcclxuXHJcbiAgICAgIGNvbnN0IGN1cnJlbnQgPSBjaGFuZ2VzW1wiYWNjb3JkaW9uQ291bnRcIl0uY3VycmVudFZhbHVlO1xyXG5cclxuICAgICAgaWYgKGN1cnJlbnQgPT0gMClcclxuICAgICAgICByZXR1cm47XHJcblxyXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuXHJcbiAgICAgICAgY29uc3Qgb2xkSW5kZXggPSB0aGlzLnNpcmlvQWNjb3JkaW9uLnBhbmVscy50b0FycmF5KCkuZmluZEluZGV4KHBhbmVsID0+IHBhbmVsLnBhbmVsSXNPcGVuKTtcclxuXHJcbiAgICAgICAgY29uc3QgZXZlbnQgPSBuZXcgRXZlbnQoXCJcIik7XHJcblxyXG4gICAgICAgIHRoaXMuc2lyaW9BY2NvcmRpb24uY2xvc2VQYW5lbHMoZXZlbnQpO1xyXG5cclxuICAgICAgICBjb25zdCBwYW5lbHMgPSB0aGlzLnNpcmlvQWNjb3JkaW9uLnBhbmVscy50b0FycmF5KCk7XHJcblxyXG4gICAgICAgIGNvbnN0IHNob3dQYW5lbCA9IChpbmRleDogbnVtYmVyKSA9PiB7XHJcbiAgICAgICAgICBwYW5lbHNbaW5kZXhdLm9uUGFuZWxIZWFkZXJDbGlja2VkKGV2ZW50KTtcclxuICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICBzZXRGb2N1cygocGFuZWxzW2luZGV4XS5ib2R5IGFzIGFueSkuZWwubmF0aXZlRWxlbWVudCk7XHJcbiAgICAgICAgICB9LCAxMDApOyAgICAgICAgICAgXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAocHJldmlvdXMgPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgc2hvd1BhbmVsKDApO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmIChwcmV2aW91cyA8IGN1cnJlbnQpIHtcclxuICAgICAgICAgIHNob3dQYW5lbChjdXJyZW50IC0gMSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgaWYgKG9sZEluZGV4ID09IGN1cnJlbnQpIHtcclxuICAgICAgICAgICAgLy8gcmVtb3ZlIGxhc3RcclxuICAgICAgICAgICAgc2hvd1BhbmVsKGN1cnJlbnQgLSAxKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGVsc2UgaWYgKG9sZEluZGV4IDwgY3VycmVudCkge1xyXG4gICAgICAgICAgICAvLyByZW1vdmUgbWlkZGxlXHJcbiAgICAgICAgICAgIHNob3dQYW5lbChvbGRJbmRleCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSBcclxuXHJcbiAgICAgIH0sIDEwMCk7ICAgICAgXHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Directive, Host, Input } from '@angular/core';
|
|
2
|
+
import { setFocus } from '../utils/focusable';
|
|
2
3
|
import * as i0 from "@angular/core";
|
|
3
4
|
import * as i1 from "ngx-sirio-lib";
|
|
4
5
|
export class TabDirective {
|
|
@@ -10,27 +11,36 @@ export class TabDirective {
|
|
|
10
11
|
ngOnChanges(changes) {
|
|
11
12
|
if (changes["tabCount"]) {
|
|
12
13
|
const previous = changes["tabCount"].previousValue;
|
|
13
|
-
if (previous === undefined)
|
|
14
|
-
return;
|
|
15
14
|
const current = changes["tabCount"].currentValue;
|
|
15
|
+
const showPanel = (index) => {
|
|
16
|
+
this.sirioTab.setActiveIndex(index);
|
|
17
|
+
setTimeout(() => {
|
|
18
|
+
const containerRef = this.sirioTab.tabItems[index].viewContainerRef;
|
|
19
|
+
if (containerRef)
|
|
20
|
+
setFocus(containerRef.element.nativeElement);
|
|
21
|
+
}, 100);
|
|
22
|
+
};
|
|
16
23
|
setTimeout(() => {
|
|
17
24
|
this.sirioTab.setContentItemIndex();
|
|
18
25
|
this.sirioTab.showArrowIfNeeded();
|
|
19
|
-
if (previous
|
|
20
|
-
|
|
26
|
+
if (previous === undefined) {
|
|
27
|
+
showPanel(0);
|
|
28
|
+
}
|
|
29
|
+
else if (previous < current) {
|
|
30
|
+
showPanel(current - 1);
|
|
21
31
|
}
|
|
22
32
|
else {
|
|
23
33
|
if (this.sirioTab.oldIndex == current) {
|
|
24
34
|
// remove last
|
|
25
|
-
|
|
35
|
+
showPanel(current - 1);
|
|
26
36
|
}
|
|
27
37
|
else if (this.sirioTab.oldIndex < current) {
|
|
28
38
|
// remove middle
|
|
29
|
-
|
|
39
|
+
showPanel(this.sirioTab.oldIndex);
|
|
30
40
|
}
|
|
31
41
|
else {
|
|
32
42
|
// remove many
|
|
33
|
-
|
|
43
|
+
showPanel(current - 1);
|
|
34
44
|
}
|
|
35
45
|
}
|
|
36
46
|
});
|
|
@@ -50,4 +60,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
50
60
|
}] }], propDecorators: { tabCount: [{
|
|
51
61
|
type: Input
|
|
52
62
|
}] } });
|
|
53
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
63
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zaXJpby9zcmMvbGliL2RpcmVjdGl2ZXMvdGFiLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQThDLE1BQU0sZUFBZSxDQUFDO0FBRW5HLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7O0FBTzlDLE1BQU0sT0FBTyxZQUFZO0lBSUw7SUFIVCxRQUFRLEdBQVcsQ0FBQyxDQUFDO0lBRTlCLFlBQ2tCLFFBQTJCO1FBQTNCLGFBQVEsR0FBUixRQUFRLENBQW1CO0lBQ3pDLENBQUM7SUFFTCxXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSSxPQUFPLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztZQUN4QixNQUFNLFFBQVEsR0FBRyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUMsYUFBYSxDQUFDO1lBRW5ELE1BQU0sT0FBTyxHQUFHLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQyxZQUFZLENBQUM7WUFFakQsTUFBTSxTQUFTLEdBQUcsQ0FBQyxLQUFhLEVBQUUsRUFBRTtnQkFDbEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ3BDLFVBQVUsQ0FBQyxHQUFHLEVBQUU7b0JBQ2QsTUFBTSxZQUFZLEdBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFTLENBQUMsZ0JBQW9DLENBQUM7b0JBQ2pHLElBQUksWUFBWTt3QkFDZCxRQUFRLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxhQUE0QixDQUFDLENBQUM7Z0JBQ2hFLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztZQUNWLENBQUMsQ0FBQTtZQUVELFVBQVUsQ0FBQyxHQUFHLEVBQUU7Z0JBQ2QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO2dCQUNwQyxJQUFJLENBQUMsUUFBUSxDQUFDLGlCQUFpQixFQUFFLENBQUM7Z0JBRWxDLElBQUksUUFBUSxLQUFLLFNBQVMsRUFBRSxDQUFDO29CQUMzQixTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ2YsQ0FBQztxQkFDSSxJQUFJLFFBQVEsR0FBRyxPQUFPLEVBQUUsQ0FBQztvQkFDNUIsU0FBUyxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUMsQ0FBQztnQkFDekIsQ0FBQztxQkFDSSxDQUFDO29CQUNKLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLElBQUksT0FBTyxFQUFFLENBQUM7d0JBQ3RDLGNBQWM7d0JBQ2QsU0FBUyxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUMsQ0FBQztvQkFDekIsQ0FBQzt5QkFDSSxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxHQUFHLE9BQU8sRUFBRSxDQUFDO3dCQUMxQyxnQkFBZ0I7d0JBQ2hCLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDO29CQUNwQyxDQUFDO3lCQUNJLENBQUM7d0JBQ0osY0FBYzt3QkFDZCxTQUFTLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQyxDQUFDO29CQUN6QixDQUFDO2dCQUNILENBQUM7WUFDSCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUM7SUFDSCxDQUFDO3dHQWhEVSxZQUFZOzRGQUFaLFlBQVk7OzRGQUFaLFlBQVk7a0JBSnhCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLFlBQVk7b0JBQ3RCLFVBQVUsRUFBRSxJQUFJO2lCQUNqQjs7MEJBS0ksSUFBSTt5Q0FIRSxRQUFRO3NCQUFoQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBIb3N0LCBJbnB1dCwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzLCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFNpcmlvVGFiQ29tcG9uZW50IH0gZnJvbSAnbmd4LXNpcmlvLWxpYic7XHJcbmltcG9ydCB7IHNldEZvY3VzIH0gZnJvbSAnLi4vdXRpbHMvZm9jdXNhYmxlJztcclxuXHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICBzZWxlY3RvcjogJ1t0YWJDb3VudF0nLFxyXG4gIHN0YW5kYWxvbmU6IHRydWVcclxufSlcclxuZXhwb3J0IGNsYXNzIFRhYkRpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XHJcbiAgQElucHV0KCkgdGFiQ291bnQ6IG51bWJlciA9IDA7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgQEhvc3QoKSBwcml2YXRlIHNpcmlvVGFiOiBTaXJpb1RhYkNvbXBvbmVudFxyXG4gICkgeyB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgIGlmIChjaGFuZ2VzW1widGFiQ291bnRcIl0pIHtcclxuICAgICAgY29uc3QgcHJldmlvdXMgPSBjaGFuZ2VzW1widGFiQ291bnRcIl0ucHJldmlvdXNWYWx1ZTtcclxuXHJcbiAgICAgIGNvbnN0IGN1cnJlbnQgPSBjaGFuZ2VzW1widGFiQ291bnRcIl0uY3VycmVudFZhbHVlO1xyXG5cclxuICAgICAgY29uc3Qgc2hvd1BhbmVsID0gKGluZGV4OiBudW1iZXIpID0+IHtcclxuICAgICAgICB0aGlzLnNpcmlvVGFiLnNldEFjdGl2ZUluZGV4KGluZGV4KTtcclxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgIGNvbnN0IGNvbnRhaW5lclJlZiA9ICh0aGlzLnNpcmlvVGFiLnRhYkl0ZW1zW2luZGV4XSBhcyBhbnkpLnZpZXdDb250YWluZXJSZWYgYXMgVmlld0NvbnRhaW5lclJlZjtcclxuICAgICAgICAgIGlmIChjb250YWluZXJSZWYpXHJcbiAgICAgICAgICAgIHNldEZvY3VzKGNvbnRhaW5lclJlZi5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQpO1xyXG4gICAgICAgIH0sIDEwMCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuc2lyaW9UYWIuc2V0Q29udGVudEl0ZW1JbmRleCgpO1xyXG4gICAgICAgIHRoaXMuc2lyaW9UYWIuc2hvd0Fycm93SWZOZWVkZWQoKTtcclxuXHJcbiAgICAgICAgaWYgKHByZXZpb3VzID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgIHNob3dQYW5lbCgwKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZiAocHJldmlvdXMgPCBjdXJyZW50KSB7XHJcbiAgICAgICAgICBzaG93UGFuZWwoY3VycmVudCAtIDEpO1xyXG4gICAgICAgIH0gICAgICAgIFxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgaWYgKHRoaXMuc2lyaW9UYWIub2xkSW5kZXggPT0gY3VycmVudCkge1xyXG4gICAgICAgICAgICAvLyByZW1vdmUgbGFzdFxyXG4gICAgICAgICAgICBzaG93UGFuZWwoY3VycmVudCAtIDEpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgZWxzZSBpZiAodGhpcy5zaXJpb1RhYi5vbGRJbmRleCA8IGN1cnJlbnQpIHtcclxuICAgICAgICAgICAgLy8gcmVtb3ZlIG1pZGRsZVxyXG4gICAgICAgICAgICBzaG93UGFuZWwodGhpcy5zaXJpb1RhYi5vbGRJbmRleCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgLy8gcmVtb3ZlIG1hbnlcclxuICAgICAgICAgICAgc2hvd1BhbmVsKGN1cnJlbnQgLSAxKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9ICAgICAgICBcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=
|