@agorapulse/ui-components 18.0.13 → 18.0.15
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/agorapulse-ui-components-18.0.15.tgz +0 -0
- package/avatar/avatar.component.d.ts +1 -1
- package/checkbox/checkbox.component.d.ts +1 -1
- package/esm2022/add-comment/add-comment.component.mjs +3 -3
- package/esm2022/checkbox/checkbox.component.mjs +5 -4
- package/esm2022/datepicker/datepicker.component.mjs +3 -3
- package/esm2022/labels/label-list.component.mjs +3 -3
- package/esm2022/labels-selector/labels-selector.component.mjs +3 -3
- package/esm2022/media-display-overlay/media-display-overlay-dialog.component.mjs +3 -3
- package/esm2022/modal/modal.component.mjs +3 -3
- package/esm2022/nav-selector/directives/nav-selector-popover-trigger.directive.mjs +71 -0
- package/esm2022/nav-selector/nav-selector-category/nav-selector-category.component.mjs +15 -12
- package/esm2022/nav-selector/nav-selector-group/nav-selector-group.component.mjs +17 -14
- package/esm2022/nav-selector/nav-selector-leaf/nav-selector-leaf.component.mjs +38 -94
- package/esm2022/nav-selector/nav-selector-leaf/nav-selector-leaf.presenter.mjs +2 -2
- package/esm2022/nav-selector/nav-selector-leaf-detail/nav-selector-leaf-detail.component.mjs +6 -6
- package/esm2022/nav-selector/nav-selector-leaf-details/nav-selector-leaf-details.component.mjs +12 -9
- package/esm2022/nav-selector/nav-selector-popover/nav-selector-popover-item.component.mjs +14 -0
- package/esm2022/nav-selector/nav-selector-popover/nav-selector-popover.component.mjs +127 -0
- package/esm2022/nav-selector/nav-selector.component.mjs +45 -23
- package/esm2022/nav-selector/nav-selector.mjs +1 -1
- package/esm2022/nav-selector/nav-selector.state.mjs +35 -11
- package/esm2022/nav-selector/utils/leaf.utils.mjs +12 -3
- package/esm2022/nav-selector/utils/nav-selector.accessibility.mjs +22 -14
- package/esm2022/nav-selector/utils/nav-selector.builder.mjs +4 -2
- package/esm2022/nav-selector/utils/nav-selector.filter.mjs +49 -11
- package/esm2022/nav-selector/utils/nav-selector.folding.mjs +26 -23
- package/esm2022/nav-selector/utils/nav-selector.merger.mjs +76 -0
- package/esm2022/nav-selector/utils/nav-selector.minifying.mjs +14 -9
- package/esm2022/nav-selector/utils/nav-selector.multi-select.mjs +2 -2
- package/esm2022/nav-selector/utils/nav-selector.single-select.mjs +46 -23
- package/esm2022/neo-datepicker/neo-datepicker.component.mjs +3 -3
- package/esm2022/notification/notification.component.mjs +3 -3
- package/esm2022/paginator/paginator-button/paginator-button.component.mjs +2 -2
- package/esm2022/password-input/password-input.component.mjs +3 -3
- package/esm2022/popmenu/popmenu.component.mjs +3 -3
- package/esm2022/slide-toggle/slide-toggle.component.mjs +3 -3
- package/esm2022/snackbars-thread/component/snackbars-thread.component.mjs +3 -3
- package/esm2022/stepper/stepper.component.mjs +3 -3
- package/fesm2022/agorapulse-ui-components-add-comment.mjs +2 -2
- package/fesm2022/agorapulse-ui-components-add-comment.mjs.map +1 -1
- package/fesm2022/agorapulse-ui-components-checkbox.mjs +4 -3
- package/fesm2022/agorapulse-ui-components-checkbox.mjs.map +1 -1
- package/fesm2022/agorapulse-ui-components-datepicker.mjs +2 -2
- package/fesm2022/agorapulse-ui-components-datepicker.mjs.map +1 -1
- package/fesm2022/agorapulse-ui-components-labels-selector.mjs +2 -2
- package/fesm2022/agorapulse-ui-components-labels-selector.mjs.map +1 -1
- package/fesm2022/agorapulse-ui-components-labels.mjs +2 -2
- package/fesm2022/agorapulse-ui-components-labels.mjs.map +1 -1
- package/fesm2022/agorapulse-ui-components-media-display-overlay.mjs +2 -2
- package/fesm2022/agorapulse-ui-components-media-display-overlay.mjs.map +1 -1
- package/fesm2022/agorapulse-ui-components-modal.mjs +2 -2
- package/fesm2022/agorapulse-ui-components-modal.mjs.map +1 -1
- package/fesm2022/agorapulse-ui-components-nav-selector.mjs +599 -238
- package/fesm2022/agorapulse-ui-components-nav-selector.mjs.map +1 -1
- package/fesm2022/agorapulse-ui-components-neo-datepicker.mjs +2 -2
- package/fesm2022/agorapulse-ui-components-neo-datepicker.mjs.map +1 -1
- package/fesm2022/agorapulse-ui-components-notification.mjs +2 -2
- package/fesm2022/agorapulse-ui-components-notification.mjs.map +1 -1
- package/fesm2022/agorapulse-ui-components-paginator.mjs +2 -2
- package/fesm2022/agorapulse-ui-components-paginator.mjs.map +1 -1
- package/fesm2022/agorapulse-ui-components-password-input.mjs +2 -2
- package/fesm2022/agorapulse-ui-components-password-input.mjs.map +1 -1
- package/fesm2022/agorapulse-ui-components-popmenu.mjs +2 -2
- package/fesm2022/agorapulse-ui-components-popmenu.mjs.map +1 -1
- package/fesm2022/agorapulse-ui-components-slide-toggle.mjs +2 -2
- package/fesm2022/agorapulse-ui-components-slide-toggle.mjs.map +1 -1
- package/fesm2022/agorapulse-ui-components-snackbars-thread.mjs +2 -2
- package/fesm2022/agorapulse-ui-components-snackbars-thread.mjs.map +1 -1
- package/fesm2022/agorapulse-ui-components-stepper.mjs +2 -2
- package/fesm2022/agorapulse-ui-components-stepper.mjs.map +1 -1
- package/nav-selector/directives/nav-selector-popover-trigger.directive.d.ts +25 -0
- package/nav-selector/nav-selector-group/nav-selector-group.component.d.ts +1 -1
- package/nav-selector/nav-selector-leaf/nav-selector-leaf.component.d.ts +5 -20
- package/nav-selector/nav-selector-leaf/nav-selector-leaf.presenter.d.ts +1 -1
- package/nav-selector/nav-selector-leaf-detail/nav-selector-leaf-detail.component.d.ts +1 -1
- package/nav-selector/nav-selector-popover/nav-selector-popover-item.component.d.ts +6 -0
- package/nav-selector/nav-selector-popover/nav-selector-popover.component.d.ts +39 -0
- package/nav-selector/nav-selector.component.d.ts +6 -4
- package/nav-selector/nav-selector.d.ts +6 -0
- package/nav-selector/nav-selector.state.d.ts +3 -2
- package/nav-selector/utils/leaf.utils.d.ts +15 -2
- package/nav-selector/utils/nav-selector.accessibility.d.ts +1 -1
- package/nav-selector/utils/nav-selector.filter.d.ts +3 -1
- package/nav-selector/utils/nav-selector.folding.d.ts +6 -3
- package/nav-selector/utils/nav-selector.merger.d.ts +23 -0
- package/nav-selector/utils/nav-selector.minifying.d.ts +4 -2
- package/nav-selector/utils/nav-selector.single-select.d.ts +2 -0
- package/package.json +1 -1
- package/agorapulse-ui-components-18.0.13.tgz +0 -0
|
@@ -22,38 +22,52 @@ export class NavSelectorFilter {
|
|
|
22
22
|
*
|
|
23
23
|
* @param entries The entries to filter.
|
|
24
24
|
* @param search The search string.
|
|
25
|
+
* @param multipleMode to update the focusable state of leaves correctly.
|
|
25
26
|
* @returns The filtered entries.
|
|
26
27
|
*/
|
|
27
|
-
static filter(entries, search) {
|
|
28
|
+
static filter(entries, search, multipleMode) {
|
|
28
29
|
const formattedSearch = this.cleanValue(search);
|
|
29
30
|
if (!formattedSearch) {
|
|
30
|
-
return entries;
|
|
31
|
+
return this.resetState(entries);
|
|
31
32
|
}
|
|
32
|
-
return this.filterEntries(entries, formattedSearch);
|
|
33
|
+
return this.filterEntries(entries, formattedSearch, multipleMode);
|
|
33
34
|
}
|
|
34
|
-
static filterEntries(entries, formattedSearch) {
|
|
35
|
+
static filterEntries(entries, formattedSearch, multipleMode) {
|
|
35
36
|
const newEntries = entries.map(entry => {
|
|
36
37
|
if (this.matches(entry.alias, formattedSearch)) {
|
|
37
|
-
return this.recursivelyUnfoldEntry(entry);
|
|
38
|
+
return this.recursivelyUnfoldEntry(entry, multipleMode);
|
|
38
39
|
}
|
|
39
40
|
if (isInternalNavSelectorEntryANode(entry)) {
|
|
40
|
-
const children = this.filterEntries(entry.children, formattedSearch);
|
|
41
|
+
const children = this.filterEntries(entry.children, formattedSearch, multipleMode);
|
|
41
42
|
if (children.every(({ hidden }) => hidden)) {
|
|
42
43
|
return {
|
|
43
44
|
...entry,
|
|
44
45
|
children,
|
|
46
|
+
focusable: false,
|
|
45
47
|
hidden: true,
|
|
46
48
|
};
|
|
47
49
|
}
|
|
48
50
|
return {
|
|
49
51
|
...entry,
|
|
50
52
|
hidden: false,
|
|
53
|
+
focusable: true,
|
|
51
54
|
displayCounter: false,
|
|
52
55
|
displayTokenInvalid: false,
|
|
53
56
|
folded: false,
|
|
54
57
|
children,
|
|
55
58
|
};
|
|
56
59
|
}
|
|
60
|
+
if (isInternalNavSelectorEntryALeaf(entry)) {
|
|
61
|
+
return {
|
|
62
|
+
...entry,
|
|
63
|
+
focusable: false,
|
|
64
|
+
hidden: true,
|
|
65
|
+
details: entry.details.map(detail => ({
|
|
66
|
+
...detail,
|
|
67
|
+
focusable: false,
|
|
68
|
+
})),
|
|
69
|
+
};
|
|
70
|
+
}
|
|
57
71
|
return {
|
|
58
72
|
...entry,
|
|
59
73
|
focusable: false,
|
|
@@ -62,29 +76,36 @@ export class NavSelectorFilter {
|
|
|
62
76
|
});
|
|
63
77
|
return NavSelectorAccessibility.resetFocus(newEntries);
|
|
64
78
|
}
|
|
65
|
-
static recursivelyUnfoldEntry(entry) {
|
|
79
|
+
static recursivelyUnfoldEntry(entry, multipleMode) {
|
|
66
80
|
if (isInternalNavSelectorEntryAGroup(entry)) {
|
|
67
|
-
const children = entry.children.map(child => this.recursivelyUnfoldEntry(child));
|
|
81
|
+
const children = entry.children.map(child => this.recursivelyUnfoldEntry(child, multipleMode));
|
|
68
82
|
return {
|
|
69
83
|
...entry,
|
|
70
84
|
folded: false,
|
|
85
|
+
focusable: true,
|
|
71
86
|
children,
|
|
72
87
|
displayCounter: false,
|
|
73
88
|
displayTokenInvalid: false,
|
|
74
89
|
};
|
|
75
90
|
}
|
|
76
91
|
else if (isInternalNavSelectorEntryALeaf(entry)) {
|
|
92
|
+
const leafFocusable = isInternalNavSelectorEntryALeafFocusable(entry, { parentFolded: false, multipleMode });
|
|
77
93
|
return {
|
|
78
94
|
...entry,
|
|
79
95
|
hidden: false,
|
|
80
|
-
focusable:
|
|
96
|
+
focusable: leafFocusable,
|
|
81
97
|
displayCounter: entry.counterDisplayable,
|
|
98
|
+
details: entry.details.map(detail => ({
|
|
99
|
+
...detail,
|
|
100
|
+
focusable: !entry.folded,
|
|
101
|
+
})),
|
|
82
102
|
};
|
|
83
103
|
}
|
|
84
104
|
else if (isInternalNavSelectorEntryACategory(entry)) {
|
|
85
|
-
const children = entry.children.map(child => this.recursivelyUnfoldEntry(child));
|
|
105
|
+
const children = entry.children.map(child => this.recursivelyUnfoldEntry(child, multipleMode));
|
|
86
106
|
return {
|
|
87
107
|
...entry,
|
|
108
|
+
focusable: true,
|
|
88
109
|
folded: false,
|
|
89
110
|
hidden: false,
|
|
90
111
|
children,
|
|
@@ -98,5 +119,22 @@ export class NavSelectorFilter {
|
|
|
98
119
|
static cleanValue(value) {
|
|
99
120
|
return value.trim().normalize('NFKC').toLowerCase();
|
|
100
121
|
}
|
|
122
|
+
static resetState(entries, parentFolded = false) {
|
|
123
|
+
return entries.map(entry => {
|
|
124
|
+
if (isInternalNavSelectorEntryANode(entry)) {
|
|
125
|
+
return {
|
|
126
|
+
...entry,
|
|
127
|
+
hidden: false,
|
|
128
|
+
focusable: !parentFolded,
|
|
129
|
+
children: this.resetState(entry.children, entry.folded),
|
|
130
|
+
};
|
|
131
|
+
}
|
|
132
|
+
return {
|
|
133
|
+
...entry,
|
|
134
|
+
focusable: !parentFolded,
|
|
135
|
+
hidden: false,
|
|
136
|
+
};
|
|
137
|
+
});
|
|
138
|
+
}
|
|
101
139
|
}
|
|
102
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2LXNlbGVjdG9yLmZpbHRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvdWktY29tcG9uZW50cy9uYXYtc2VsZWN0b3Ivc3JjL3V0aWxzL25hdi1zZWxlY3Rvci5maWx0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUlILG1DQUFtQyxFQUNuQyxnQ0FBZ0MsRUFDaEMsK0JBQStCLEVBQy9CLCtCQUErQixHQUNsQyxNQUFNLGlCQUFpQixDQUFDO0FBQ3pCLE9BQU8sRUFBRSx3Q0FBd0MsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQy9FLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBRS9FOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGlCQUFpQjtJQUMxQjs7Ozs7Ozs7Ozs7Ozs7Ozs7O09Ba0JHO0lBQ0gsTUFBTSxDQUFDLE1BQU0sQ0FBQyxPQUFtQyxFQUFFLE1BQWM7UUFDN0QsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNoRCxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDbkIsT0FBTyxPQUFPLENBQUM7UUFDbkIsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLEVBQUUsZUFBZSxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVPLE1BQU0sQ0FBQyxhQUFhLENBQXFDLE9BQVksRUFBRSxlQUF1QjtRQUNsRyxNQUFNLFVBQVUsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ25DLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLGVBQWUsQ0FBQyxFQUFFLENBQUM7Z0JBQzdDLE9BQU8sSUFBSSxDQUFDLHNCQUFzQixDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzlDLENBQUM7WUFDRCxJQUFJLCtCQUErQixDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQ3pDLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxlQUFlLENBQUMsQ0FBQztnQkFDckUsSUFBSSxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztvQkFDekMsT0FBTzt3QkFDSCxHQUFHLEtBQUs7d0JBQ1IsUUFBUTt3QkFDUixNQUFNLEVBQUUsSUFBSTtxQkFDZixDQUFDO2dCQUNOLENBQUM7Z0JBQ0QsT0FBTztvQkFDSCxHQUFHLEtBQUs7b0JBQ1IsTUFBTSxFQUFFLEtBQUs7b0JBQ2IsY0FBYyxFQUFFLEtBQUs7b0JBQ3JCLG1CQUFtQixFQUFFLEtBQUs7b0JBQzFCLE1BQU0sRUFBRSxLQUFLO29CQUNiLFFBQVE7aUJBQ1gsQ0FBQztZQUNOLENBQUM7WUFDRCxPQUFPO2dCQUNILEdBQUcsS0FBSztnQkFDUixTQUFTLEVBQUUsS0FBSztnQkFDaEIsTUFBTSxFQUFFLElBQUk7YUFDZixDQUFDO1FBQ04sQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLHdCQUF3QixDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBRU8sTUFBTSxDQUFDLHNCQUFzQixDQUFDLEtBQStCO1FBQ2pFLElBQUksZ0NBQWdDLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUMxQyxNQUFNLFFBQVEsR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxLQUFLLENBQTRCLENBQUMsQ0FBQztZQUM1RyxPQUFPO2dCQUNILEdBQUcsS0FBSztnQkFDUixNQUFNLEVBQUUsS0FBSztnQkFDYixRQUFRO2dCQUNSLGNBQWMsRUFBRSxLQUFLO2dCQUNyQixtQkFBbUIsRUFBRSxLQUFLO2FBQzdCLENBQUM7UUFDTixDQUFDO2FBQU0sSUFBSSwrQkFBK0IsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ2hELE9BQU87Z0JBQ0gsR0FBRyxLQUFLO2dCQUNSLE1BQU0sRUFBRSxLQUFLO2dCQUNiLFNBQVMsRUFBRSx3Q0FBd0MsQ0FBQyxLQUFLLEVBQUUsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsQ0FBQztnQkFDcEcsY0FBYyxFQUFFLEtBQUssQ0FBQyxrQkFBa0I7YUFDM0MsQ0FBQztRQUNOLENBQUM7YUFBTSxJQUFJLG1DQUFtQyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDcEQsTUFBTSxRQUFRLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQy9CLEtBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEtBQUssQ0FBdUQsQ0FDcEcsQ0FBQztZQUNGLE9BQU87Z0JBQ0gsR0FBRyxLQUFLO2dCQUNSLE1BQU0sRUFBRSxLQUFLO2dCQUNiLE1BQU0sRUFBRSxLQUFLO2dCQUNiLFFBQVE7YUFDWCxDQUFDO1FBQ04sQ0FBQztRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7SUFFTyxNQUFNLENBQUMsT0FBTyxDQUFDLEtBQWEsRUFBRSxlQUF1QjtRQUN6RCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFTyxNQUFNLENBQUMsVUFBVSxDQUFDLEtBQWE7UUFDbkMsT0FBTyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3hELENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgSW50ZXJuYWxOYXZTZWxlY3RvckVudHJ5LFxuICAgIEludGVybmFsTmF2U2VsZWN0b3JHcm91cCxcbiAgICBJbnRlcm5hbE5hdlNlbGVjdG9yTGVhZixcbiAgICBpc0ludGVybmFsTmF2U2VsZWN0b3JFbnRyeUFDYXRlZ29yeSxcbiAgICBpc0ludGVybmFsTmF2U2VsZWN0b3JFbnRyeUFHcm91cCxcbiAgICBpc0ludGVybmFsTmF2U2VsZWN0b3JFbnRyeUFMZWFmLFxuICAgIGlzSW50ZXJuYWxOYXZTZWxlY3RvckVudHJ5QU5vZGUsXG59IGZyb20gJy4uL25hdi1zZWxlY3Rvcic7XG5pbXBvcnQgeyBpc0ludGVybmFsTmF2U2VsZWN0b3JFbnRyeUFMZWFmRm9jdXNhYmxlIH0gZnJvbSAnLi4vdXRpbHMvbGVhZi51dGlscyc7XG5pbXBvcnQgeyBOYXZTZWxlY3RvckFjY2Vzc2liaWxpdHkgfSBmcm9tICcuLi91dGlscy9uYXYtc2VsZWN0b3IuYWNjZXNzaWJpbGl0eSc7XG5cbi8qKlxuICogTmF2U2VsZWN0b3JGaWx0ZXIgaXMgYSB1dGlsaXR5IGNsYXNzIHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBmaWx0ZXIgZW50cmllc1xuICovXG5leHBvcnQgY2xhc3MgTmF2U2VsZWN0b3JGaWx0ZXIge1xuICAgIC8qKlxuICAgICAqIEZpbHRlcnMgdGhlIGVudHJpZXMgYmFzZWQgb24gdGhlIHNlYXJjaCBzdHJpbmdcbiAgICAgKlxuICAgICAqIFRoZSBzZWFyY2ggc3RyaW5nIGlzIG5vcm1hbGl6ZWQgYW5kIGxvd2VyY2FzZSBhbmQgdHJpbW1lZC5cbiAgICAgKlxuICAgICAqIElmIGEgY2F0ZWdvcnkgbWF0Y2hlcyB0aGUgc2VhcmNoIHN0cmluZywgYWxsIGl0cyBjaGlsZHJlbiBhcmUgdW5mb2xkZWQsIG1hcmtlZCBhcyBmb2N1c2FibGUsIGFuZCBub3QgaGlkZGVuLlxuICAgICAqXG4gICAgICogSWYgYSBncm91cCBtYXRjaGVzIHRoZSBzZWFyY2ggc3RyaW5nLCB0aGUgZ3JvdXAgaXMgdW5mb2xkZWQgYW5kIGFsbCBpdHMgY2hpbGRyZW4gYXJlIHVuZm9sZGVkLCBtYXJrZWQgYXMgZm9jdXNhYmxlLCBhbmQgbm90IGhpZGRlbi5cbiAgICAgKlxuICAgICAqIElmIGEgbGVhZiBtYXRjaGVzIHRoZSBzZWFyY2ggc3RyaW5nLCBpdCBpcyBtYXJrZWQgYXMgbm90IGhpZGRlbiBhbmQgZm9jdXNhYmxlLlxuICAgICAqXG4gICAgICogRWxzZSB0aGUgZW50cnkgbWFya2VkIGFzIGhpZGRlbiBhbmQgbm90IGZvY3VzYWJsZS5cbiAgICAgKlxuICAgICAqIEl0IGFsc28gZGV0ZXJtaW5lcyB3aGVuZXZlciBjb3VudGVyIGFuZCB0b2tlbiBpbnZhbGlkIHNob3VsZCBiZSBkaXNwbGF5ZWQgb24gZ3JvdXBzIGFuZCBsZWF2ZXMuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gZW50cmllcyBUaGUgZW50cmllcyB0byBmaWx0ZXIuXG4gICAgICogQHBhcmFtIHNlYXJjaCBUaGUgc2VhcmNoIHN0cmluZy5cbiAgICAgKiBAcmV0dXJucyBUaGUgZmlsdGVyZWQgZW50cmllcy5cbiAgICAgKi9cbiAgICBzdGF0aWMgZmlsdGVyKGVudHJpZXM6IEludGVybmFsTmF2U2VsZWN0b3JFbnRyeVtdLCBzZWFyY2g6IHN0cmluZyk6IEludGVybmFsTmF2U2VsZWN0b3JFbnRyeVtdIHtcbiAgICAgICAgY29uc3QgZm9ybWF0dGVkU2VhcmNoID0gdGhpcy5jbGVhblZhbHVlKHNlYXJjaCk7XG4gICAgICAgIGlmICghZm9ybWF0dGVkU2VhcmNoKSB7XG4gICAgICAgICAgICByZXR1cm4gZW50cmllcztcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5maWx0ZXJFbnRyaWVzKGVudHJpZXMsIGZvcm1hdHRlZFNlYXJjaCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzdGF0aWMgZmlsdGVyRW50cmllczxUIGV4dGVuZHMgSW50ZXJuYWxOYXZTZWxlY3RvckVudHJ5PihlbnRyaWVzOiBUW10sIGZvcm1hdHRlZFNlYXJjaDogc3RyaW5nKTogSW50ZXJuYWxOYXZTZWxlY3RvckVudHJ5W10ge1xuICAgICAgICBjb25zdCBuZXdFbnRyaWVzID0gZW50cmllcy5tYXAoZW50cnkgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMubWF0Y2hlcyhlbnRyeS5hbGlhcywgZm9ybWF0dGVkU2VhcmNoKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnJlY3Vyc2l2ZWx5VW5mb2xkRW50cnkoZW50cnkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGlzSW50ZXJuYWxOYXZTZWxlY3RvckVudHJ5QU5vZGUoZW50cnkpKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgY2hpbGRyZW4gPSB0aGlzLmZpbHRlckVudHJpZXMoZW50cnkuY2hpbGRyZW4sIGZvcm1hdHRlZFNlYXJjaCk7XG4gICAgICAgICAgICAgICAgaWYgKGNoaWxkcmVuLmV2ZXJ5KCh7IGhpZGRlbiB9KSA9PiBoaWRkZW4pKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAuLi5lbnRyeSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNoaWxkcmVuLFxuICAgICAgICAgICAgICAgICAgICAgICAgaGlkZGVuOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAuLi5lbnRyeSxcbiAgICAgICAgICAgICAgICAgICAgaGlkZGVuOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheUNvdW50ZXI6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5VG9rZW5JbnZhbGlkOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgZm9sZGVkOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW4sXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgLi4uZW50cnksXG4gICAgICAgICAgICAgICAgZm9jdXNhYmxlOiBmYWxzZSxcbiAgICAgICAgICAgICAgICBoaWRkZW46IHRydWUsXG4gICAgICAgICAgICB9O1xuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIE5hdlNlbGVjdG9yQWNjZXNzaWJpbGl0eS5yZXNldEZvY3VzKG5ld0VudHJpZXMpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc3RhdGljIHJlY3Vyc2l2ZWx5VW5mb2xkRW50cnkoZW50cnk6IEludGVybmFsTmF2U2VsZWN0b3JFbnRyeSk6IEludGVybmFsTmF2U2VsZWN0b3JFbnRyeSB7XG4gICAgICAgIGlmIChpc0ludGVybmFsTmF2U2VsZWN0b3JFbnRyeUFHcm91cChlbnRyeSkpIHtcbiAgICAgICAgICAgIGNvbnN0IGNoaWxkcmVuID0gZW50cnkuY2hpbGRyZW4ubWFwKGNoaWxkID0+IHRoaXMucmVjdXJzaXZlbHlVbmZvbGRFbnRyeShjaGlsZCkgYXMgSW50ZXJuYWxOYXZTZWxlY3RvckxlYWYpO1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAuLi5lbnRyeSxcbiAgICAgICAgICAgICAgICBmb2xkZWQ6IGZhbHNlLFxuICAgICAgICAgICAgICAgIGNoaWxkcmVuLFxuICAgICAgICAgICAgICAgIGRpc3BsYXlDb3VudGVyOiBmYWxzZSxcbiAgICAgICAgICAgICAgICBkaXNwbGF5VG9rZW5JbnZhbGlkOiBmYWxzZSxcbiAgICAgICAgICAgIH07XG4gICAgICAgIH0gZWxzZSBpZiAoaXNJbnRlcm5hbE5hdlNlbGVjdG9yRW50cnlBTGVhZihlbnRyeSkpIHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgLi4uZW50cnksXG4gICAgICAgICAgICAgICAgaGlkZGVuOiBmYWxzZSxcbiAgICAgICAgICAgICAgICBmb2N1c2FibGU6IGlzSW50ZXJuYWxOYXZTZWxlY3RvckVudHJ5QUxlYWZGb2N1c2FibGUoZW50cnksIHsgcGFyZW50Rm9sZGVkOiBmYWxzZSwgbWluaWZpZWQ6IGZhbHNlIH0pLFxuICAgICAgICAgICAgICAgIGRpc3BsYXlDb3VudGVyOiBlbnRyeS5jb3VudGVyRGlzcGxheWFibGUsXG4gICAgICAgICAgICB9O1xuICAgICAgICB9IGVsc2UgaWYgKGlzSW50ZXJuYWxOYXZTZWxlY3RvckVudHJ5QUNhdGVnb3J5KGVudHJ5KSkge1xuICAgICAgICAgICAgY29uc3QgY2hpbGRyZW4gPSBlbnRyeS5jaGlsZHJlbi5tYXAoXG4gICAgICAgICAgICAgICAgY2hpbGQgPT4gdGhpcy5yZWN1cnNpdmVseVVuZm9sZEVudHJ5KGNoaWxkKSBhcyBJbnRlcm5hbE5hdlNlbGVjdG9yR3JvdXAgfCBJbnRlcm5hbE5hdlNlbGVjdG9yTGVhZlxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgLi4uZW50cnksXG4gICAgICAgICAgICAgICAgZm9sZGVkOiBmYWxzZSxcbiAgICAgICAgICAgICAgICBoaWRkZW46IGZhbHNlLFxuICAgICAgICAgICAgICAgIGNoaWxkcmVuLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZW50cnk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzdGF0aWMgbWF0Y2hlcyhhbGlhczogc3RyaW5nLCBmb3JtYXR0ZWRTZWFyY2g6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jbGVhblZhbHVlKGFsaWFzKS5pbmNsdWRlcyhmb3JtYXR0ZWRTZWFyY2gpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc3RhdGljIGNsZWFuVmFsdWUodmFsdWU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB2YWx1ZS50cmltKCkubm9ybWFsaXplKCdORktDJykudG9Mb3dlckNhc2UoKTtcbiAgICB9XG59XG4iXX0=
|
|
140
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2LXNlbGVjdG9yLmZpbHRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvdWktY29tcG9uZW50cy9uYXYtc2VsZWN0b3Ivc3JjL3V0aWxzL25hdi1zZWxlY3Rvci5maWx0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUlILG1DQUFtQyxFQUNuQyxnQ0FBZ0MsRUFDaEMsK0JBQStCLEVBQy9CLCtCQUErQixHQUNsQyxNQUFNLGlCQUFpQixDQUFDO0FBQ3pCLE9BQU8sRUFBRSx3Q0FBd0MsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQy9FLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBRS9FOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGlCQUFpQjtJQUMxQjs7Ozs7Ozs7Ozs7Ozs7Ozs7OztPQW1CRztJQUNILE1BQU0sQ0FBQyxNQUFNLENBQUMsT0FBbUMsRUFBRSxNQUFjLEVBQUUsWUFBcUI7UUFDcEYsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNoRCxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDbkIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3BDLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxZQUFZLENBQUMsQ0FBQztJQUN0RSxDQUFDO0lBRU8sTUFBTSxDQUFDLGFBQWEsQ0FDeEIsT0FBWSxFQUNaLGVBQXVCLEVBQ3ZCLFlBQXFCO1FBRXJCLE1BQU0sVUFBVSxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDbkMsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsZUFBZSxDQUFDLEVBQUUsQ0FBQztnQkFDN0MsT0FBTyxJQUFJLENBQUMsc0JBQXNCLENB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dCI6WyJpbXBvcnQge1xuICAgIEludGVybmFsTmF2U2VsZWN0b3JFbnRyeSxcbiAgICBJbnRlcm5hbE5hdlNlbGVjdG9yR3JvdXAsXG4gICAgSW50ZXJuYWxOYXZTZWxlY3RvckxlYWYsXG4gICAgaXNJbnRlcm5hbE5hdlNlbGVjdG9yRW50cnlBQ2F0ZWdvcnksXG4gICAgaXNJbnRlcm5hbE5hdlNlbGVjdG9yRW50cnlBR3JvdXAsXG4gICAgaXNJbnRlcm5hbE5hdlNlbGVjdG9yRW50cnlBTGVhZixcbiAgICBpc0ludGVybmFsTmF2U2VsZWN0b3JFbnRyeUFOb2RlLFxufSBmcm9tICcuLi9uYXYtc2VsZWN0b3InO1xuaW1wb3J0IHsgaXNJbnRlcm5hbE5hdlNlbGVjdG9yRW50cnlBTGVhZkZvY3VzYWJsZSB9IGZyb20gJy4uL3V0aWxzL2xlYWYudXRpbHMnO1xuaW1wb3J0IHsgTmF2U2VsZWN0b3JBY2Nlc3NpYmlsaXR5IH0gZnJvbSAnLi4vdXRpbHMvbmF2LXNlbGVjdG9yLmFjY2Vzc2liaWxpdHknO1xuXG4vKipcbiAqIE5hdlNlbGVjdG9yRmlsdGVyIGlzIGEgdXRpbGl0eSBjbGFzcyB0aGF0IHByb3ZpZGVzIG1ldGhvZHMgdG8gZmlsdGVyIGVudHJpZXNcbiAqL1xuZXhwb3J0IGNsYXNzIE5hdlNlbGVjdG9yRmlsdGVyIHtcbiAgICAvKipcbiAgICAgKiBGaWx0ZXJzIHRoZSBlbnRyaWVzIGJhc2VkIG9uIHRoZSBzZWFyY2ggc3RyaW5nXG4gICAgICpcbiAgICAgKiBUaGUgc2VhcmNoIHN0cmluZyBpcyBub3JtYWxpemVkIGFuZCBsb3dlcmNhc2UgYW5kIHRyaW1tZWQuXG4gICAgICpcbiAgICAgKiBJZiBhIGNhdGVnb3J5IG1hdGNoZXMgdGhlIHNlYXJjaCBzdHJpbmcsIGFsbCBpdHMgY2hpbGRyZW4gYXJlIHVuZm9sZGVkLCBtYXJrZWQgYXMgZm9jdXNhYmxlLCBhbmQgbm90IGhpZGRlbi5cbiAgICAgKlxuICAgICAqIElmIGEgZ3JvdXAgbWF0Y2hlcyB0aGUgc2VhcmNoIHN0cmluZywgdGhlIGdyb3VwIGlzIHVuZm9sZGVkIGFuZCBhbGwgaXRzIGNoaWxkcmVuIGFyZSB1bmZvbGRlZCwgbWFya2VkIGFzIGZvY3VzYWJsZSwgYW5kIG5vdCBoaWRkZW4uXG4gICAgICpcbiAgICAgKiBJZiBhIGxlYWYgbWF0Y2hlcyB0aGUgc2VhcmNoIHN0cmluZywgaXQgaXMgbWFya2VkIGFzIG5vdCBoaWRkZW4gYW5kIGZvY3VzYWJsZS5cbiAgICAgKlxuICAgICAqIEVsc2UgdGhlIGVudHJ5IG1hcmtlZCBhcyBoaWRkZW4gYW5kIG5vdCBmb2N1c2FibGUuXG4gICAgICpcbiAgICAgKiBJdCBhbHNvIGRldGVybWluZXMgd2hlbmV2ZXIgY291bnRlciBhbmQgdG9rZW4gaW52YWxpZCBzaG91bGQgYmUgZGlzcGxheWVkIG9uIGdyb3VwcyBhbmQgbGVhdmVzLlxuICAgICAqXG4gICAgICogQHBhcmFtIGVudHJpZXMgVGhlIGVudHJpZXMgdG8gZmlsdGVyLlxuICAgICAqIEBwYXJhbSBzZWFyY2ggVGhlIHNlYXJjaCBzdHJpbmcuXG4gICAgICogQHBhcmFtIG11bHRpcGxlTW9kZSB0byB1cGRhdGUgdGhlIGZvY3VzYWJsZSBzdGF0ZSBvZiBsZWF2ZXMgY29ycmVjdGx5LlxuICAgICAqIEByZXR1cm5zIFRoZSBmaWx0ZXJlZCBlbnRyaWVzLlxuICAgICAqL1xuICAgIHN0YXRpYyBmaWx0ZXIoZW50cmllczogSW50ZXJuYWxOYXZTZWxlY3RvckVudHJ5W10sIHNlYXJjaDogc3RyaW5nLCBtdWx0aXBsZU1vZGU6IGJvb2xlYW4pOiBJbnRlcm5hbE5hdlNlbGVjdG9yRW50cnlbXSB7XG4gICAgICAgIGNvbnN0IGZvcm1hdHRlZFNlYXJjaCA9IHRoaXMuY2xlYW5WYWx1ZShzZWFyY2gpO1xuICAgICAgICBpZiAoIWZvcm1hdHRlZFNlYXJjaCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMucmVzZXRTdGF0ZShlbnRyaWVzKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5maWx0ZXJFbnRyaWVzKGVudHJpZXMsIGZvcm1hdHRlZFNlYXJjaCwgbXVsdGlwbGVNb2RlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHN0YXRpYyBmaWx0ZXJFbnRyaWVzPFQgZXh0ZW5kcyBJbnRlcm5hbE5hdlNlbGVjdG9yRW50cnk+KFxuICAgICAgICBlbnRyaWVzOiBUW10sXG4gICAgICAgIGZvcm1hdHRlZFNlYXJjaDogc3RyaW5nLFxuICAgICAgICBtdWx0aXBsZU1vZGU6IGJvb2xlYW5cbiAgICApOiBJbnRlcm5hbE5hdlNlbGVjdG9yRW50cnlbXSB7XG4gICAgICAgIGNvbnN0IG5ld0VudHJpZXMgPSBlbnRyaWVzLm1hcChlbnRyeSA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy5tYXRjaGVzKGVudHJ5LmFsaWFzLCBmb3JtYXR0ZWRTZWFyY2gpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMucmVjdXJzaXZlbHlVbmZvbGRFbnRyeShlbnRyeSwgbXVsdGlwbGVNb2RlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChpc0ludGVybmFsTmF2U2VsZWN0b3JFbnRyeUFOb2RlKGVudHJ5KSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGNoaWxkcmVuID0gdGhpcy5maWx0ZXJFbnRyaWVzKGVudHJ5LmNoaWxkcmVuLCBmb3JtYXR0ZWRTZWFyY2gsIG11bHRpcGxlTW9kZSk7XG4gICAgICAgICAgICAgICAgaWYgKGNoaWxkcmVuLmV2ZXJ5KCh7IGhpZGRlbiB9KSA9PiBoaWRkZW4pKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAuLi5lbnRyeSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNoaWxkcmVuLFxuICAgICAgICAgICAgICAgICAgICAgICAgZm9jdXNhYmxlOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGhpZGRlbjogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgLi4uZW50cnksXG4gICAgICAgICAgICAgICAgICAgIGhpZGRlbjogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgIGZvY3VzYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheUNvdW50ZXI6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5VG9rZW5JbnZhbGlkOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgZm9sZGVkOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW4sXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKGlzSW50ZXJuYWxOYXZTZWxlY3RvckVudHJ5QUxlYWYoZW50cnkpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgLi4uZW50cnksXG4gICAgICAgICAgICAgICAgICAgIGZvY3VzYWJsZTogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgIGhpZGRlbjogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgZGV0YWlsczogZW50cnkuZGV0YWlscy5tYXAoZGV0YWlsID0+ICh7XG4gICAgICAgICAgICAgICAgICAgICAgICAuLi5kZXRhaWwsXG4gICAgICAgICAgICAgICAgICAgICAgICBmb2N1c2FibGU6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICB9KSksXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAuLi5lbnRyeSxcbiAgICAgICAgICAgICAgICBmb2N1c2FibGU6IGZhbHNlLFxuICAgICAgICAgICAgICAgIGhpZGRlbjogdHJ1ZSxcbiAgICAgICAgICAgIH07XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gTmF2U2VsZWN0b3JBY2Nlc3NpYmlsaXR5LnJlc2V0Rm9jdXMobmV3RW50cmllcyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzdGF0aWMgcmVjdXJzaXZlbHlVbmZvbGRFbnRyeShlbnRyeTogSW50ZXJuYWxOYXZTZWxlY3RvckVudHJ5LCBtdWx0aXBsZU1vZGU6IGJvb2xlYW4pOiBJbnRlcm5hbE5hdlNlbGVjdG9yRW50cnkge1xuICAgICAgICBpZiAoaXNJbnRlcm5hbE5hdlNlbGVjdG9yRW50cnlBR3JvdXAoZW50cnkpKSB7XG4gICAgICAgICAgICBjb25zdCBjaGlsZHJlbiA9IGVudHJ5LmNoaWxkcmVuLm1hcChjaGlsZCA9PiB0aGlzLnJlY3Vyc2l2ZWx5VW5mb2xkRW50cnkoY2hpbGQsIG11bHRpcGxlTW9kZSkgYXMgSW50ZXJuYWxOYXZTZWxlY3RvckxlYWYpO1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAuLi5lbnRyeSxcbiAgICAgICAgICAgICAgICBmb2xkZWQ6IGZhbHNlLFxuICAgICAgICAgICAgICAgIGZvY3VzYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICBjaGlsZHJlbixcbiAgICAgICAgICAgICAgICBkaXNwbGF5Q291bnRlcjogZmFsc2UsXG4gICAgICAgICAgICAgICAgZGlzcGxheVRva2VuSW52YWxpZDogZmFsc2UsXG4gICAgICAgICAgICB9O1xuICAgICAgICB9IGVsc2UgaWYgKGlzSW50ZXJuYWxOYXZTZWxlY3RvckVudHJ5QUxlYWYoZW50cnkpKSB7XG4gICAgICAgICAgICBjb25zdCBsZWFmRm9jdXNhYmxlID0gaXNJbnRlcm5hbE5hdlNlbGVjdG9yRW50cnlBTGVhZkZvY3VzYWJsZShlbnRyeSwgeyBwYXJlbnRGb2xkZWQ6IGZhbHNlLCBtdWx0aXBsZU1vZGUgfSk7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIC4uLmVudHJ5LFxuICAgICAgICAgICAgICAgIGhpZGRlbjogZmFsc2UsXG4gICAgICAgICAgICAgICAgZm9jdXNhYmxlOiBsZWFmRm9jdXNhYmxlLFxuICAgICAgICAgICAgICAgIGRpc3BsYXlDb3VudGVyOiBlbnRyeS5jb3VudGVyRGlzcGxheWFibGUsXG4gICAgICAgICAgICAgICAgZGV0YWlsczogZW50cnkuZGV0YWlscy5tYXAoZGV0YWlsID0+ICh7XG4gICAgICAgICAgICAgICAgICAgIC4uLmRldGFpbCxcbiAgICAgICAgICAgICAgICAgICAgZm9jdXNhYmxlOiAhZW50cnkuZm9sZGVkLFxuICAgICAgICAgICAgICAgIH0pKSxcbiAgICAgICAgICAgIH07XG4gICAgICAgIH0gZWxzZSBpZiAoaXNJbnRlcm5hbE5hdlNlbGVjdG9yRW50cnlBQ2F0ZWdvcnkoZW50cnkpKSB7XG4gICAgICAgICAgICBjb25zdCBjaGlsZHJlbiA9IGVudHJ5LmNoaWxkcmVuLm1hcChcbiAgICAgICAgICAgICAgICBjaGlsZCA9PiB0aGlzLnJlY3Vyc2l2ZWx5VW5mb2xkRW50cnkoY2hpbGQsIG11bHRpcGxlTW9kZSkgYXMgSW50ZXJuYWxOYXZTZWxlY3Rvckdyb3VwIHwgSW50ZXJuYWxOYXZTZWxlY3RvckxlYWZcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIC4uLmVudHJ5LFxuICAgICAgICAgICAgICAgIGZvY3VzYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICBmb2xkZWQ6IGZhbHNlLFxuICAgICAgICAgICAgICAgIGhpZGRlbjogZmFsc2UsXG4gICAgICAgICAgICAgICAgY2hpbGRyZW4sXG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBlbnRyeTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHN0YXRpYyBtYXRjaGVzKGFsaWFzOiBzdHJpbmcsIGZvcm1hdHRlZFNlYXJjaDogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNsZWFuVmFsdWUoYWxpYXMpLmluY2x1ZGVzKGZvcm1hdHRlZFNlYXJjaCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzdGF0aWMgY2xlYW5WYWx1ZSh2YWx1ZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHZhbHVlLnRyaW0oKS5ub3JtYWxpemUoJ05GS0MnKS50b0xvd2VyQ2FzZSgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc3RhdGljIHJlc2V0U3RhdGU8VCBleHRlbmRzIEludGVybmFsTmF2U2VsZWN0b3JFbnRyeT4oZW50cmllczogVFtdLCBwYXJlbnRGb2xkZWQ6IGJvb2xlYW4gPSBmYWxzZSk6IEludGVybmFsTmF2U2VsZWN0b3JFbnRyeVtdIHtcbiAgICAgICAgcmV0dXJuIGVudHJpZXMubWFwKGVudHJ5ID0+IHtcbiAgICAgICAgICAgIGlmIChpc0ludGVybmFsTmF2U2VsZWN0b3JFbnRyeUFOb2RlKGVudHJ5KSkge1xuICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgIC4uLmVudHJ5LFxuICAgICAgICAgICAgICAgICAgICBoaWRkZW46IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICBmb2N1c2FibGU6ICFwYXJlbnRGb2xkZWQsXG4gICAgICAgICAgICAgICAgICAgIGNoaWxkcmVuOiB0aGlzLnJlc2V0U3RhdGUoZW50cnkuY2hpbGRyZW4sIGVudHJ5LmZvbGRlZCksXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgLi4uZW50cnksXG4gICAgICAgICAgICAgICAgZm9jdXNhYmxlOiAhcGFyZW50Rm9sZGVkLFxuICAgICAgICAgICAgICAgIGhpZGRlbjogZmFsc2UsXG4gICAgICAgICAgICB9O1xuICAgICAgICB9KTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -11,10 +11,11 @@ export class NavSelectorFolding {
|
|
|
11
11
|
*
|
|
12
12
|
* @param entries nav selector entries
|
|
13
13
|
* @param entryUid the entry uid to toggle
|
|
14
|
+
* @param multipleMode to update the focusable state of leaves and details correctly.
|
|
14
15
|
* @param minified true if the nav selector is minified. Needed for leaf as they are not foldable in minified mode
|
|
15
16
|
*/
|
|
16
|
-
static toggleFolding(entries, entryUid, minified) {
|
|
17
|
-
return this.toggleEntryFolding(entries, entryUid, minified);
|
|
17
|
+
static toggleFolding(entries, entryUid, multipleMode, minified) {
|
|
18
|
+
return this.toggleEntryFolding(entries, entryUid, multipleMode, minified);
|
|
18
19
|
}
|
|
19
20
|
/**
|
|
20
21
|
* Fold an entry.
|
|
@@ -24,10 +25,11 @@ export class NavSelectorFolding {
|
|
|
24
25
|
*
|
|
25
26
|
* @param entries nav selector entries
|
|
26
27
|
* @param entryUid the entry uid to fold
|
|
28
|
+
* @param multipleMode to update the focusable state of leaves and details correctly.
|
|
27
29
|
* @param minified true if the nav selector is minified. Needed for leaf as they are not foldable in minified mode
|
|
28
30
|
*/
|
|
29
|
-
static fold(entries, entryUid, minified) {
|
|
30
|
-
return this.foldEntry(entries, entryUid, minified);
|
|
31
|
+
static fold(entries, entryUid, multipleMode, minified) {
|
|
32
|
+
return this.foldEntry(entries, entryUid, multipleMode, minified);
|
|
31
33
|
}
|
|
32
34
|
/**
|
|
33
35
|
* Unfold an entry.
|
|
@@ -37,12 +39,13 @@ export class NavSelectorFolding {
|
|
|
37
39
|
*
|
|
38
40
|
* @param entries nav selector entries
|
|
39
41
|
* @param entryUid the entry uid to unfold
|
|
42
|
+
* @param multipleMode to update the focusable state of leaves and details correctly.
|
|
40
43
|
* @param minified true if the nav selector is minified. Needed for leaf as they are not foldable in minified mode
|
|
41
44
|
*/
|
|
42
|
-
static unfold(entries, entryUid, minified) {
|
|
43
|
-
return this.unfoldEntry(entries, entryUid, minified);
|
|
45
|
+
static unfold(entries, entryUid, multipleMode, minified) {
|
|
46
|
+
return this.unfoldEntry(entries, entryUid, multipleMode, minified);
|
|
44
47
|
}
|
|
45
|
-
static toggleEntryFolding(entries, entryUid, minified, parentFolded = false) {
|
|
48
|
+
static toggleEntryFolding(entries, entryUid, multipleMode, minified, parentFolded = false) {
|
|
46
49
|
return entries.map(entry => {
|
|
47
50
|
if (isInternalNavSelectorEntryACategory(entry)) {
|
|
48
51
|
if (entry.uid === entryUid) {
|
|
@@ -63,10 +66,10 @@ export class NavSelectorFolding {
|
|
|
63
66
|
if (entry.uid === entryUid) {
|
|
64
67
|
const folded = !entry.folded;
|
|
65
68
|
if (folded) {
|
|
66
|
-
return this.foldGroup(entry, minified);
|
|
69
|
+
return this.foldGroup(entry, multipleMode, minified);
|
|
67
70
|
}
|
|
68
71
|
else {
|
|
69
|
-
return this.unfoldGroup(entry, minified);
|
|
72
|
+
return this.unfoldGroup(entry, multipleMode, minified);
|
|
70
73
|
}
|
|
71
74
|
}
|
|
72
75
|
return {
|
|
@@ -86,13 +89,13 @@ export class NavSelectorFolding {
|
|
|
86
89
|
}
|
|
87
90
|
return {
|
|
88
91
|
...entry,
|
|
89
|
-
focusable: isInternalNavSelectorEntryALeafFocusable(entry, {
|
|
92
|
+
focusable: isInternalNavSelectorEntryALeafFocusable(entry, { parentFolded, multipleMode }),
|
|
90
93
|
};
|
|
91
94
|
}
|
|
92
95
|
return { ...entry, focusable: !parentFolded };
|
|
93
96
|
});
|
|
94
97
|
}
|
|
95
|
-
static foldEntry(entries, entryUid, minified, parentFolded = false) {
|
|
98
|
+
static foldEntry(entries, entryUid, multipleMode, minified, parentFolded = false) {
|
|
96
99
|
return entries.map(entry => {
|
|
97
100
|
if (isInternalNavSelectorEntryACategory(entry)) {
|
|
98
101
|
if (entry.uid === entryUid) {
|
|
@@ -105,7 +108,7 @@ export class NavSelectorFolding {
|
|
|
105
108
|
}
|
|
106
109
|
if (isInternalNavSelectorEntryAGroup(entry)) {
|
|
107
110
|
if (entry.uid === entryUid) {
|
|
108
|
-
return this.foldGroup(entry, minified);
|
|
111
|
+
return this.foldGroup(entry, multipleMode, minified);
|
|
109
112
|
}
|
|
110
113
|
return {
|
|
111
114
|
...entry,
|
|
@@ -119,13 +122,13 @@ export class NavSelectorFolding {
|
|
|
119
122
|
}
|
|
120
123
|
return {
|
|
121
124
|
...entry,
|
|
122
|
-
focusable: isInternalNavSelectorEntryALeafFocusable(entry, {
|
|
125
|
+
focusable: isInternalNavSelectorEntryALeafFocusable(entry, { parentFolded, multipleMode }),
|
|
123
126
|
};
|
|
124
127
|
}
|
|
125
128
|
return { ...entry, focusable: !parentFolded };
|
|
126
129
|
});
|
|
127
130
|
}
|
|
128
|
-
static unfoldEntry(entries, entryUid, minified, parentFolded = false) {
|
|
131
|
+
static unfoldEntry(entries, entryUid, multipleMode, minified, parentFolded = false) {
|
|
129
132
|
return entries.map(entry => {
|
|
130
133
|
if (isInternalNavSelectorEntryACategory(entry)) {
|
|
131
134
|
if (entry.uid === entryUid) {
|
|
@@ -133,16 +136,16 @@ export class NavSelectorFolding {
|
|
|
133
136
|
}
|
|
134
137
|
return {
|
|
135
138
|
...entry,
|
|
136
|
-
children: this.unfoldEntry(entry.children, entryUid, minified, entry.folded),
|
|
139
|
+
children: this.unfoldEntry(entry.children, entryUid, multipleMode, minified, entry.folded),
|
|
137
140
|
};
|
|
138
141
|
}
|
|
139
142
|
if (isInternalNavSelectorEntryAGroup(entry)) {
|
|
140
143
|
if (entry.uid === entryUid) {
|
|
141
|
-
return this.unfoldGroup(entry, minified);
|
|
144
|
+
return this.unfoldGroup(entry, multipleMode, minified);
|
|
142
145
|
}
|
|
143
146
|
return {
|
|
144
147
|
...entry,
|
|
145
|
-
children: this.unfoldEntry(entry.children, entryUid, minified, parentFolded || entry.folded),
|
|
148
|
+
children: this.unfoldEntry(entry.children, entryUid, multipleMode, minified, parentFolded || entry.folded),
|
|
146
149
|
focusable: !parentFolded,
|
|
147
150
|
};
|
|
148
151
|
}
|
|
@@ -152,7 +155,7 @@ export class NavSelectorFolding {
|
|
|
152
155
|
}
|
|
153
156
|
return {
|
|
154
157
|
...entry,
|
|
155
|
-
focusable: isInternalNavSelectorEntryALeafFocusable(entry, {
|
|
158
|
+
focusable: isInternalNavSelectorEntryALeafFocusable(entry, { parentFolded, multipleMode }),
|
|
156
159
|
};
|
|
157
160
|
}
|
|
158
161
|
return { ...entry, focusable: !parentFolded };
|
|
@@ -172,20 +175,20 @@ export class NavSelectorFolding {
|
|
|
172
175
|
children: this.unfoldEntry(category.children, category.uid, minified, false),
|
|
173
176
|
};
|
|
174
177
|
}
|
|
175
|
-
static foldGroup(group, minified) {
|
|
178
|
+
static foldGroup(group, multipleMode, minified) {
|
|
176
179
|
return {
|
|
177
180
|
...group,
|
|
178
181
|
folded: true,
|
|
179
|
-
children: this.foldEntry(group.children, group.uid, minified, true),
|
|
182
|
+
children: this.foldEntry(group.children, group.uid, multipleMode, minified, true),
|
|
180
183
|
displayCounter: !!group.counter,
|
|
181
184
|
displayTokenInvalid: group.children.some(({ displayTokenInvalid }) => displayTokenInvalid),
|
|
182
185
|
};
|
|
183
186
|
}
|
|
184
|
-
static unfoldGroup(group, minified) {
|
|
187
|
+
static unfoldGroup(group, multipleMode, minified) {
|
|
185
188
|
return {
|
|
186
189
|
...group,
|
|
187
190
|
folded: false,
|
|
188
|
-
children: this.unfoldEntry(group.children, group.uid, minified, false),
|
|
191
|
+
children: this.unfoldEntry(group.children, group.uid, multipleMode, minified, false),
|
|
189
192
|
displayCounter: false,
|
|
190
193
|
displayTokenInvalid: false,
|
|
191
194
|
};
|
|
@@ -216,4 +219,4 @@ export class NavSelectorFolding {
|
|
|
216
219
|
};
|
|
217
220
|
}
|
|
218
221
|
}
|
|
219
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2LXNlbGVjdG9yLmZvbGRpbmcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL3VpLWNvbXBvbmVudHMvbmF2LXNlbGVjdG9yL3NyYy91dGlscy9uYXYtc2VsZWN0b3IuZm9sZGluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBS0gsbUNBQW1DLEVBQ25DLGdDQUFnQyxFQUNoQywrQkFBK0IsR0FDbEMsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QixPQUFPLEVBQUUsd0NBQXdDLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUUvRTs7R0FFRztBQUNILE1BQU0sT0FBTyxrQkFBa0I7SUFDM0I7Ozs7Ozs7O09BUUc7SUFDSCxNQUFNLENBQUMsYUFBYSxDQUNoQixPQUFZLEVBQ1osUUFBZ0IsRUFDaEIsUUFBaUI7UUFFakIsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUNoRSxDQUFDO0lBRUQ7Ozs7Ozs7OztPQVNHO0lBQ0gsTUFBTSxDQUFDLElBQUksQ0FBcUMsT0FBWSxFQUFFLFFBQWdCLEVBQUUsUUFBaUI7UUFDN0YsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxRQUFRLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVEOzs7Ozs7Ozs7T0FTRztJQUNILE1BQU0sQ0FBQyxNQUFNLENBQXFDLE9BQVksRUFBRSxRQUFnQixFQUFFLFFBQWlCO1FBQy9GLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLEVBQUUsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFTyxNQUFNLENBQUMsa0JBQWtCLENBQzdCLE9BQVksRUFDWixRQUFnQixFQUNoQixRQUFpQixFQUNqQixZQUFZLEdBQUcsS0FBSztRQUVwQixPQUFPLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUU7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QkFBNkI7YUFDdEQsQ0FBQyxDQUFDO1NBQ04sQ0FBQztJQUNOLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgSW50ZXJuYWxOYXZTZWxlY3RvckNhdGVnb3J5LFxuICAgIEludGVybmFsTmF2U2VsZWN0b3JFbnRyeSxcbiAgICBJbnRlcm5hbE5hdlNlbGVjdG9yR3JvdXAsXG4gICAgSW50ZXJuYWxOYXZTZWxlY3RvckxlYWYsXG4gICAgaXNJbnRlcm5hbE5hdlNlbGVjdG9yRW50cnlBQ2F0ZWdvcnksXG4gICAgaXNJbnRlcm5hbE5hdlNlbGVjdG9yRW50cnlBR3JvdXAsXG4gICAgaXNJbnRlcm5hbE5hdlNlbGVjdG9yRW50cnlBTGVhZixcbn0gZnJvbSAnLi4vbmF2LXNlbGVjdG9yJztcbmltcG9ydCB7IGlzSW50ZXJuYWxOYXZTZWxlY3RvckVudHJ5QUxlYWZGb2N1c2FibGUgfSBmcm9tICcuLi91dGlscy9sZWFmLnV0aWxzJztcblxuLyoqXG4gKiBDbGFzcyB0byBoYW5kbGUgdGhlIGZvbGRpbmcgYW5kIHVuZm9sZGluZyBvZiBuYXYgc2VsZWN0b3IgZW50cmllcy5cbiAqL1xuZXhwb3J0IGNsYXNzIE5hdlNlbGVjdG9yRm9sZGluZyB7XG4gICAgLyoqXG4gICAgICogVG9nZ2xlIHRoZSBmb2xkaW5nIHN0YXRlIG9mIGFuIGVudHJ5LlxuICAgICAqXG4gICAgICogQHNlZSB7QGxpbmsgTmF2U2VsZWN0b3JGb2xkaW5nLmZvbGR9IGFuZCB7QGxpbmsgTmF2U2VsZWN0b3JGb2xkaW5nLnVuZm9sZH0gZm9yIG1vcmUgaW5mb3JtYXRpb24gb24gZm9sZGluZyBhbmQgdW5mb2xkaW5nLlxuICAgICAqXG4gICAgICogQHBhcmFtIGVudHJpZXMgbmF2IHNlbGVjdG9yIGVudHJpZXNcbiAgICAgKiBAcGFyYW0gZW50cnlVaWQgdGhlIGVudHJ5IHVpZCB0byB0b2dnbGVcbiAgICAgKiBAcGFyYW0gbWluaWZpZWQgdHJ1ZSBpZiB0aGUgbmF2IHNlbGVjdG9yIGlzIG1pbmlmaWVkLiBOZWVkZWQgZm9yIGxlYWYgYXMgdGhleSBhcmUgbm90IGZvbGRhYmxlIGluIG1pbmlmaWVkIG1vZGVcbiAgICAgKi9cbiAgICBzdGF0aWMgdG9nZ2xlRm9sZGluZzxUIGV4dGVuZHMgSW50ZXJuYWxOYXZTZWxlY3RvckVudHJ5PihcbiAgICAgICAgZW50cmllczogVFtdLFxuICAgICAgICBlbnRyeVVpZDogc3RyaW5nLFxuICAgICAgICBtaW5pZmllZDogYm9vbGVhblxuICAgICk6IEludGVybmFsTmF2U2VsZWN0b3JFbnRyeVtdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudG9nZ2xlRW50cnlGb2xkaW5nKGVudHJpZXMsIGVudHJ5VWlkLCBtaW5pZmllZCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRm9sZCBhbiBlbnRyeS5cbiAgICAgKlxuICAgICAqIFNldCB1bmZvY3VzYWJsZSBvbiBhbGwgY2hpbGRyZW4gb2YgdGhlIGZvbGRlZCBlbnRyeS5cbiAgICAgKiBDb21wdXRlIHdoZW5ldmVyIHRoZSBjb3VudGVyIGFuZCB0b2tlbiBpbnZhbGlkIHNob3VsZCBiZSBkaXNwbGF5ZWQgb24gZ3JvdXBzIGFuZCBsZWF2ZXMuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gZW50cmllcyBuYXYgc2VsZWN0b3IgZW50cmllc1xuICAgICAqIEBwYXJhbSBlbnRyeVVpZCB0aGUgZW50cnkgdWlkIHRvIGZvbGRcbiAgICAgKiBAcGFyYW0gbWluaWZpZWQgdHJ1ZSBpZiB0aGUgbmF2IHNlbGVjdG9yIGlzIG1pbmlmaWVkLiBOZWVkZWQgZm9yIGxlYWYgYXMgdGhleSBhcmUgbm90IGZvbGRhYmxlIGluIG1pbmlmaWVkIG1vZGVcbiAgICAgKi9cbiAgICBzdGF0aWMgZm9sZDxUIGV4dGVuZHMgSW50ZXJuYWxOYXZTZWxlY3RvckVudHJ5PihlbnRyaWVzOiBUW10sIGVudHJ5VWlkOiBzdHJpbmcsIG1pbmlmaWVkOiBib29sZWFuKTogSW50ZXJuYWxOYXZTZWxlY3RvckVudHJ5W10ge1xuICAgICAgICByZXR1cm4gdGhpcy5mb2xkRW50cnkoZW50cmllcywgZW50cnlVaWQsIG1pbmlmaWVkKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBVbmZvbGQgYW4gZW50cnkuXG4gICAgICpcbiAgICAgKiBTZXQgZm9jdXNhYmxlIG9uIGFsbCBjaGlsZHJlbiBvZiB0aGUgZm9sZGVkIGVudHJ5LlxuICAgICAqIENvbXB1dGUgd2hlbmV2ZXIgdGhlIGNvdW50ZXIgYW5kIHRva2VuIGludmFsaWQgc2hvdWxkIGJlIGRpc3BsYXllZCBvbiBncm91cHMgYW5kIGxlYXZlcy5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBlbnRyaWVzIG5hdiBzZWxlY3RvciBlbnRyaWVzXG4gICAgICogQHBhcmFtIGVudHJ5VWlkIHRoZSBlbnRyeSB1aWQgdG8gdW5mb2xkXG4gICAgICogQHBhcmFtIG1pbmlmaWVkIHRydWUgaWYgdGhlIG5hdiBzZWxlY3RvciBpcyBtaW5pZmllZC4gTmVlZGVkIGZvciBsZWFmIGFzIHRoZXkgYXJlIG5vdCBmb2xkYWJsZSBpbiBtaW5pZmllZCBtb2RlXG4gICAgICovXG4gICAgc3RhdGljIHVuZm9sZDxUIGV4dGVuZHMgSW50ZXJuYWxOYXZTZWxlY3RvckVudHJ5PihlbnRyaWVzOiBUW10sIGVudHJ5VWlkOiBzdHJpbmcsIG1pbmlmaWVkOiBib29sZWFuKTogSW50ZXJuYWxOYXZTZWxlY3RvckVudHJ5W10ge1xuICAgICAgICByZXR1cm4gdGhpcy51bmZvbGRFbnRyeShlbnRyaWVzLCBlbnRyeVVpZCwgbWluaWZpZWQpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc3RhdGljIHRvZ2dsZUVudHJ5Rm9sZGluZzxUIGV4dGVuZHMgSW50ZXJuYWxOYXZTZWxlY3RvckVudHJ5PihcbiAgICAgICAgZW50cmllczogVFtdLFxuICAgICAgICBlbnRyeVVpZDogc3RyaW5nLFxuICAgICAgICBtaW5pZmllZDogYm9vbGVhbixcbiAgICAgICAgcGFyZW50Rm9sZGVkID0gZmFsc2VcbiAgICApOiBJbnRlcm5hbE5hdlNlbGVjdG9yRW50cnlbXSB7XG4gICAgICAgIHJldHVybiBlbnRyaWVzLm1hcChlbnRyeSA9PiB7XG4gICAgICAgICAgICBpZiAoaXNJbnRlcm5hbE5hdlNlbGVjdG9yRW50cnlBQ2F0ZWdvcnkoZW50cnkpKSB7XG4gICAgICAgICAgICAgICAgaWYgKGVudHJ5LnVpZCA9PT0gZW50cnlVaWQpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZm9sZGVkID0gIWVudHJ5LmZvbGRlZDtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGZvbGRlZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZm9sZENhdGVnb3J5KGVudHJ5LCBtaW5pZmllZCk7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy51bmZvbGRDYXRlZ29yeShlbnRyeSwgbWluaWZpZWQpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgIC4uLmVudHJ5LFxuICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbjogdGhpcy50b2dnbGVFbnRyeUZvbGRpbmcoZW50cnkuY2hpbGRyZW4sIGVudHJ5VWlkLCBtaW5pZmllZCwgZW50cnkuZm9sZGVkKSxcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGlzSW50ZXJuYWxOYXZTZWxlY3RvckVudHJ5QUdyb3VwKGVudHJ5KSkge1xuICAgICAgICAgICAgICAgIGlmIChlbnRyeS51aWQgPT09IGVudHJ5VWlkKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGZvbGRlZCA9ICFlbnRyeS5mb2xkZWQ7XG4gICAgICAgICAgICAgICAgICAgIGlmIChmb2xkZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmZvbGRHcm91cChlbnRyeSwgbWluaWZpZWQpO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMudW5mb2xkR3JvdXAoZW50cnksIG1pbmlmaWVkKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAuLi5lbnRyeSxcbiAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW46IHRoaXMudG9nZ2xlRW50cnlGb2xkaW5nKGVudHJ5LmNoaWxkcmVuLCBlbnRyeVVpZCwgbWluaWZpZWQsIHBhcmVudEZvbGRlZCB8fCBlbnRyeS5mb2xkZWQpLFxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoaXNJbnRlcm5hbE5hdlNlbGVjdG9yRW50cnlBTGVhZihlbnRyeSkpIHtcbiAgICAgICAgICAgICAgICBpZiAoZW50cnkudWlkID09PSBlbnRyeVVpZCkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBmb2xkZWQgPSAhZW50cnkuZm9sZGVkO1xuICAgICAgICAgICAgICAgICAgICBpZiAoZm9sZGVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5mb2xkTGVhZihlbnRyeSwgbWluaWZpZWQpO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMudW5mb2xkTGVhZihlbnRyeSwgbWluaWZpZWQpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgIC4uLmVudHJ5LFxuICAgICAgICAgICAgICAgICAgICBmb2N1c2FibGU6IGlzSW50ZXJuYWxOYXZTZWxlY3RvckVudHJ5QUxlYWZGb2N1c2FibGUoZW50cnksIHsgbWluaWZpZWQsIHBhcmVudEZvbGRlZCB9KSxcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHsgLi4uZW50cnksIGZvY3VzYWJsZTogIXBhcmVudEZvbGRlZCB9O1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHN0YXRpYyBmb2xkRW50cnk8VCBleHRlbmRzIEludGVybmFsTmF2U2VsZWN0b3JFbnRyeT4oXG4gICAgICAgIGVudHJpZXM6IFRbXSxcbiAgICAgICAgZW50cnlVaWQ6IHN0cmluZyxcbiAgICAgICAgbWluaWZpZWQ6IGJvb2xlYW4sXG4gICAgICAgIHBhcmVudEZvbGRlZCA9IGZhbHNlXG4gICAgKTogSW50ZXJuYWxOYXZTZWxlY3RvckVudHJ5W10ge1xuICAgICAgICByZXR1cm4gZW50cmllcy5tYXAoZW50cnkgPT4ge1xuICAgICAgICAgICAgaWYgKGlzSW50ZXJuYWxOYXZTZWxlY3RvckVudHJ5QUNhdGVnb3J5KGVudHJ5KSkge1xuICAgICAgICAgICAgICAgIGlmIChlbnRyeS51aWQgPT09IGVudHJ5VWlkKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmZvbGRDYXRlZ29yeShlbnRyeSwgbWluaWZpZWQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAuLi5lbnRyeSxcbiAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW46IHRoaXMuZm9sZEVudHJ5KGVudHJ5LmNoaWxkcmVuLCBlbnRyeVVpZCwgbWluaWZpZWQsIGVudHJ5LmZvbGRlZCksXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChpc0ludGVybmFsTmF2U2VsZWN0b3JFbnRyeUFHcm91cChlbnRyeSkpIHtcbiAgICAgICAgICAgICAgICBpZiAoZW50cnkudWlkID09PSBlbnRyeVVpZCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5mb2xkR3JvdXAoZW50cnksIG1pbmlmaWVkKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgLi4uZW50cnksXG4gICAgICAgICAgICAgICAgICAgIGZvY3VzYWJsZTogIXBhcmVudEZvbGRlZCxcbiAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW46IHRoaXMuZm9sZEVudHJ5KGVudHJ5LmNoaWxkcmVuLCBlbnRyeVVpZCwgbWluaWZpZWQsIHBhcmVudEZvbGRlZCB8fCBlbnRyeS5mb2xkZWQpLFxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoaXNJbnRlcm5hbE5hdlNlbGVjdG9yRW50cnlBTGVhZihlbnRyeSkpIHtcbiAgICAgICAgICAgICAgICBpZiAoZW50cnkudWlkID09PSBlbnRyeVVpZCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5mb2xkTGVhZihlbnRyeSwgbWluaWZpZWQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAuLi5lbnRyeSxcbiAgICAgICAgICAgICAgICAgICAgZm9jdXNhYmxlOiBpc0ludGVybmFsTmF2U2VsZWN0b3JFbnRyeUFMZWFmRm9jdXNhYmxlKGVudHJ5LCB7IG1pbmlmaWVkLCBwYXJlbnRGb2xkZWQgfSksXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiB7IC4uLmVudHJ5LCBmb2N1c2FibGU6ICFwYXJlbnRGb2xkZWQgfTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzdGF0aWMgdW5mb2xkRW50cnk8VCBleHRlbmRzIEludGVybmFsTmF2U2VsZWN0b3JFbnRyeT4oXG4gICAgICAgIGVudHJpZXM6IFRbXSxcbiAgICAgICAgZW50cnlVaWQ6IHN0cmluZyxcbiAgICAgICAgbWluaWZpZWQ6IGJvb2xlYW4sXG4gICAgICAgIHBhcmVudEZvbGRlZCA9IGZhbHNlXG4gICAgKTogSW50ZXJuYWxOYXZTZWxlY3RvckVudHJ5W10ge1xuICAgICAgICByZXR1cm4gZW50cmllcy5tYXAoZW50cnkgPT4ge1xuICAgICAgICAgICAgaWYgKGlzSW50ZXJuYWxOYXZTZWxlY3RvckVudHJ5QUNhdGVnb3J5KGVudHJ5KSkge1xuICAgICAgICAgICAgICAgIGlmIChlbnRyeS51aWQgPT09IGVudHJ5VWlkKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnVuZm9sZENhdGVnb3J5KGVudHJ5LCBtaW5pZmllZCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgIC4uLmVudHJ5LFxuICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbjogdGhpcy51bmZvbGRFbnRyeShlbnRyeS5jaGlsZHJlbiwgZW50cnlVaWQsIG1pbmlmaWVkLCBlbnRyeS5mb2xkZWQpLFxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoaXNJbnRlcm5hbE5hdlNlbGVjdG9yRW50cnlBR3JvdXAoZW50cnkpKSB7XG4gICAgICAgICAgICAgICAgaWYgKGVudHJ5LnVpZCA9PT0gZW50cnlVaWQpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMudW5mb2xkR3JvdXAoZW50cnksIG1pbmlmaWVkKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgLi4uZW50cnksXG4gICAgICAgICAgICAgICAgICAgIGNoaWxkcmVuOiB0aGlzLnVuZm9sZEVudHJ5KGVudHJ5LmNoaWxkcmVuLCBlbnRyeVVpZCwgbWluaWZpZWQsIHBhcmVudEZvbGRlZCB8fCBlbnRyeS5mb2xkZWQpLFxuICAgICAgICAgICAgICAgICAgICBmb2N1c2FibGU6ICFwYXJlbnRGb2xkZWQsXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChpc0ludGVybmFsTmF2U2VsZWN0b3JFbnRyeUFMZWFmKGVudHJ5KSkge1xuICAgICAgICAgICAgICAgIGlmIChlbnRyeS51aWQgPT09IGVudHJ5VWlkKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnVuZm9sZExlYWYoZW50cnksIG1pbmlmaWVkKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgLi4uZW50cnksXG4gICAgICAgICAgICAgICAgICAgIGZvY3VzYWJsZTogaXNJbnRlcm5hbE5hdlNlbGVjdG9yRW50cnlBTGVhZkZvY3VzYWJsZShlbnRyeSwgeyBtaW5pZmllZCwgcGFyZW50Rm9sZGVkIH0pLFxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4geyAuLi5lbnRyeSwgZm9jdXNhYmxlOiAhcGFyZW50Rm9sZGVkIH07XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgc3RhdGljIGZvbGRDYXRlZ29yeShjYXRlZ29yeTogSW50ZXJuYWxOYXZTZWxlY3RvckNhdGVnb3J5LCBtaW5pZmllZDogYm9vbGVhbik6IEludGVybmFsTmF2U2VsZWN0b3JDYXRlZ29yeSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAuLi5jYXRlZ29yeSxcbiAgICAgICAgICAgIGZvbGRlZDogdHJ1ZSxcbiAgICAgICAgICAgIGNoaWxkcmVuOiB0aGlzLmZvbGRFbnRyeShjYXRlZ29yeS5jaGlsZHJlbiwgY2F0ZWdvcnkudWlkLCBtaW5pZmllZCwgdHJ1ZSkgYXMgKFxuICAgICAgICAgICAgICAgIHwgSW50ZXJuYWxOYXZTZWxlY3RvckxlYWZcbiAgICAgICAgICAgICAgICB8IEludGVybmFsTmF2U2VsZWN0b3JHcm91cFxuICAgICAgICAgICAgKVtdLFxuICAgICAgICB9O1xuICAgIH1cblxuICAgIHByaXZhdGUgc3RhdGljIHVuZm9sZENhdGVnb3J5KGNhdGVnb3J5OiBJbnRlcm5hbE5hdlNlbGVjdG9yQ2F0ZWdvcnksIG1pbmlmaWVkOiBib29sZWFuKTogSW50ZXJuYWxOYXZTZWxlY3RvckNhdGVnb3J5IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIC4uLmNhdGVnb3J5LFxuICAgICAgICAgICAgZm9sZGVkOiBmYWxzZSxcbiAgICAgICAgICAgIGNoaWxkcmVuOiB0aGlzLnVuZm9sZEVudHJ5KGNhdGVnb3J5LmNoaWxkcmVuLCBjYXRlZ29yeS51aWQsIG1pbmlmaWVkLCBmYWxzZSkgYXMgKFxuICAgICAgICAgICAgICAgIHwgSW50ZXJuYWxOYXZTZWxlY3RvckxlYWZcbiAgICAgICAgICAgICAgICB8IEludGVybmFsTmF2U2VsZWN0b3JHcm91cFxuICAgICAgICAgICAgKVtdLFxuICAgICAgICB9O1xuICAgIH1cblxuICAgIHByaXZhdGUgc3RhdGljIGZvbGRHcm91cChncm91cDogSW50ZXJuYWxOYXZTZWxlY3Rvckdyb3VwLCBtaW5pZmllZDogYm9vbGVhbik6IEludGVybmFsTmF2U2VsZWN0b3JHcm91cCB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAuLi5ncm91cCxcbiAgICAgICAgICAgIGZvbGRlZDogdHJ1ZSxcbiAgICAgICAgICAgIGNoaWxkcmVuOiB0aGlzLmZvbGRFbnRyeShncm91cC5jaGlsZHJlbiwgZ3JvdXAudWlkLCBtaW5pZmllZCwgdHJ1ZSkgYXMgSW50ZXJuYWxOYXZTZWxlY3RvckxlYWZbXSxcbiAgICAgICAgICAgIGRpc3BsYXlDb3VudGVyOiAhIWdyb3VwLmNvdW50ZXIsXG4gICAgICAgICAgICBkaXNwbGF5VG9rZW5JbnZhbGlkOiBncm91cC5jaGlsZHJlbi5zb21lKCh7IGRpc3BsYXlUb2tlbkludmFsaWQgfSkgPT4gZGlzcGxheVRva2VuSW52YWxpZCksXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzdGF0aWMgdW5mb2xkR3JvdXAoZ3JvdXA6IEludGVybmFsTmF2U2VsZWN0b3JHcm91cCwgbWluaWZpZWQ6IGJvb2xlYW4pOiBJbnRlcm5hbE5hdlNlbGVjdG9yR3JvdXAge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgLi4uZ3JvdXAsXG4gICAgICAgICAgICBmb2xkZWQ6IGZhbHNlLFxuICAgICAgICAgICAgY2hpbGRyZW46IHRoaXMudW5mb2xkRW50cnkoZ3JvdXAuY2hpbGRyZW4sIGdyb3VwLnVpZCwgbWluaWZpZWQsIGZhbHNlKSBhcyBJbnRlcm5hbE5hdlNlbGVjdG9yTGVhZltdLFxuICAgICAgICAgICAgZGlzcGxheUNvdW50ZXI6IGZhbHNlLFxuICAgICAgICAgICAgZGlzcGxheVRva2VuSW52YWxpZDogZmFsc2UsXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzdGF0aWMgZm9sZExlYWYobGVhZjogSW50ZXJuYWxOYXZTZWxlY3RvckxlYWYsIG1pbmlmaWVkOiBib29sZWFuKTogSW50ZXJuYWxOYXZTZWxlY3RvckxlYWYge1xuICAgICAgICBpZiAoIWxlYWYuZm9sZGFibGUgfHwgbWluaWZpZWQpIHtcbiAgICAgICAgICAgIHJldHVybiBsZWFmO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAuLi5sZWFmLFxuICAgICAgICAgICAgZGlzcGxheUNvdW50ZXI6IHRydWUsXG4gICAgICAgICAgICBmb2xkZWQ6IHRydWUsXG4gICAgICAgICAgICBkZXRhaWxzOiBsZWFmLmRldGFpbHMubWFwKGRldGFpbCA9PiAoeyAuLi5kZXRhaWwsIGZvY3VzYWJsZTogZmFsc2UgfSkpLFxuICAgICAgICB9O1xuICAgIH1cblxuICAgIHByaXZhdGUgc3RhdGljIHVuZm9sZExlYWYobGVhZjogSW50ZXJuYWxOYXZTZWxlY3RvckxlYWYsIG1pbmlmaWVkOiBib29sZWFuKTogSW50ZXJuYWxOYXZTZWxlY3RvckxlYWYge1xuICAgICAgICBpZiAoIWxlYWYuZm9sZGFibGUgfHwgbWluaWZpZWQpIHtcbiAgICAgICAgICAgIHJldHVybiBsZWFmO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAuLi5sZWFmLFxuICAgICAgICAgICAgZGlzcGxheUNvdW50ZXI6IGZhbHNlLFxuICAgICAgICAgICAgZm9sZGVkOiBmYWxzZSxcbiAgICAgICAgICAgIGRldGFpbHM6IGxlYWYuZGV0YWlscy5tYXAoKGRldGFpbCwgaWR4KSA9PiAoe1xuICAgICAgICAgICAgICAgIC4uLmRldGFpbCxcbiAgICAgICAgICAgICAgICBmb2N1c2FibGU6IGlkeCA8IGxlYWYudmlld01vcmVEZXRhaWxzRGlzcGxheWVkTGltaXQsXG4gICAgICAgICAgICB9KSksXG4gICAgICAgIH07XG4gICAgfVxufVxuIl19
|
|
222
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2LXNlbGVjdG9yLmZvbGRpbmcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL3VpLWNvbXBvbmVudHMvbmF2LXNlbGVjdG9yL3NyYy91dGlscy9uYXYtc2VsZWN0b3IuZm9sZGluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBS0gsbUNBQW1DLEVBQ25DLGdDQUFnQyxFQUNoQywrQkFBK0IsR0FDbEMsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QixPQUFPLEVBQUUsd0NBQXdDLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUUvRTs7R0FFRztBQUNILE1BQU0sT0FBTyxrQkFBa0I7SUFDM0I7Ozs7Ozs7OztPQVNHO0lBQ0gsTUFBTSxDQUFDLGFBQWEsQ0FDaEIsT0FBWSxFQUNaLFFBQWdCLEVBQ2hCLFlBQXFCLEVBQ3JCLFFBQWlCO1FBRWpCLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLE9BQU8sRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQzlFLENBQUM7SUFFRDs7Ozs7Ozs7OztPQVVHO0lBQ0gsTUFBTSxDQUFDLElBQUksQ0FDUCxPQUFZLEVBQ1osUUFBZ0IsRUFDaEIsWUFBcUIsRUFDckIsUUFBaUI7UUFFakIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ3JFLENBQUM7SUFFRDs7Ozs7Ozs7OztPQVVHO0lBQ0gsTUFBTSxDQUFDLE1BQU0sQ0FDVCxPQUFZLEVBQ1osUUFBZ0IsRUFDaEIsWUFBcUIsRUFDckIsUUFBaUI7UUFFakIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7SUFFTyxNQUFNLENBQUMsa0JBQWtCLENBQzdCLE9BQVksRUFDWixRQUFnQixFQUNoQixZQUFx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QztRQUNELE9BQU87WUFDSCxHQUFHLElBQUk7WUFDUCxjQUFjLEVBQUUsS0FBSztZQUNyQixNQUFNLEVBQUUsS0FBSztZQUNiLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUM7Z0JBQ3hDLEdBQUcsTUFBTTtnQkFDVCxTQUFTLEVBQUUsR0FBRyxHQUFHLElBQUksQ0FBQyw2QkFBNkI7YUFDdEQsQ0FBQyxDQUFDO1NBQ04sQ0FBQztJQUNOLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgSW50ZXJuYWxOYXZTZWxlY3RvckNhdGVnb3J5LFxuICAgIEludGVybmFsTmF2U2VsZWN0b3JFbnRyeSxcbiAgICBJbnRlcm5hbE5hdlNlbGVjdG9yR3JvdXAsXG4gICAgSW50ZXJuYWxOYXZTZWxlY3RvckxlYWYsXG4gICAgaXNJbnRlcm5hbE5hdlNlbGVjdG9yRW50cnlBQ2F0ZWdvcnksXG4gICAgaXNJbnRlcm5hbE5hdlNlbGVjdG9yRW50cnlBR3JvdXAsXG4gICAgaXNJbnRlcm5hbE5hdlNlbGVjdG9yRW50cnlBTGVhZixcbn0gZnJvbSAnLi4vbmF2LXNlbGVjdG9yJztcbmltcG9ydCB7IGlzSW50ZXJuYWxOYXZTZWxlY3RvckVudHJ5QUxlYWZGb2N1c2FibGUgfSBmcm9tICcuLi91dGlscy9sZWFmLnV0aWxzJztcblxuLyoqXG4gKiBDbGFzcyB0byBoYW5kbGUgdGhlIGZvbGRpbmcgYW5kIHVuZm9sZGluZyBvZiBuYXYgc2VsZWN0b3IgZW50cmllcy5cbiAqL1xuZXhwb3J0IGNsYXNzIE5hdlNlbGVjdG9yRm9sZGluZyB7XG4gICAgLyoqXG4gICAgICogVG9nZ2xlIHRoZSBmb2xkaW5nIHN0YXRlIG9mIGFuIGVudHJ5LlxuICAgICAqXG4gICAgICogQHNlZSB7QGxpbmsgTmF2U2VsZWN0b3JGb2xkaW5nLmZvbGR9IGFuZCB7QGxpbmsgTmF2U2VsZWN0b3JGb2xkaW5nLnVuZm9sZH0gZm9yIG1vcmUgaW5mb3JtYXRpb24gb24gZm9sZGluZyBhbmQgdW5mb2xkaW5nLlxuICAgICAqXG4gICAgICogQHBhcmFtIGVudHJpZXMgbmF2IHNlbGVjdG9yIGVudHJpZXNcbiAgICAgKiBAcGFyYW0gZW50cnlVaWQgdGhlIGVudHJ5IHVpZCB0byB0b2dnbGVcbiAgICAgKiBAcGFyYW0gbXVsdGlwbGVNb2RlIHRvIHVwZGF0ZSB0aGUgZm9jdXNhYmxlIHN0YXRlIG9mIGxlYXZlcyBhbmQgZGV0YWlscyBjb3JyZWN0bHkuXG4gICAgICogQHBhcmFtIG1pbmlmaWVkIHRydWUgaWYgdGhlIG5hdiBzZWxlY3RvciBpcyBtaW5pZmllZC4gTmVlZGVkIGZvciBsZWFmIGFzIHRoZXkgYXJlIG5vdCBmb2xkYWJsZSBpbiBtaW5pZmllZCBtb2RlXG4gICAgICovXG4gICAgc3RhdGljIHRvZ2dsZUZvbGRpbmc8VCBleHRlbmRzIEludGVybmFsTmF2U2VsZWN0b3JFbnRyeT4oXG4gICAgICAgIGVudHJpZXM6IFRbXSxcbiAgICAgICAgZW50cnlVaWQ6IHN0cmluZyxcbiAgICAgICAgbXVsdGlwbGVNb2RlOiBib29sZWFuLFxuICAgICAgICBtaW5pZmllZDogYm9vbGVhblxuICAgICk6IEludGVybmFsTmF2U2VsZWN0b3JFbnRyeVtdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudG9nZ2xlRW50cnlGb2xkaW5nKGVudHJpZXMsIGVudHJ5VWlkLCBtdWx0aXBsZU1vZGUsIG1pbmlmaWVkKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBGb2xkIGFuIGVudHJ5LlxuICAgICAqXG4gICAgICogU2V0IHVuZm9jdXNhYmxlIG9uIGFsbCBjaGlsZHJlbiBvZiB0aGUgZm9sZGVkIGVudHJ5LlxuICAgICAqIENvbXB1dGUgd2hlbmV2ZXIgdGhlIGNvdW50ZXIgYW5kIHRva2VuIGludmFsaWQgc2hvdWxkIGJlIGRpc3BsYXllZCBvbiBncm91cHMgYW5kIGxlYXZlcy5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBlbnRyaWVzIG5hdiBzZWxlY3RvciBlbnRyaWVzXG4gICAgICogQHBhcmFtIGVudHJ5VWlkIHRoZSBlbnRyeSB1aWQgdG8gZm9sZFxuICAgICAqIEBwYXJhbSBtdWx0aXBsZU1vZGUgdG8gdXBkYXRlIHRoZSBmb2N1c2FibGUgc3RhdGUgb2YgbGVhdmVzIGFuZCBkZXRhaWxzIGNvcnJlY3RseS5cbiAgICAgKiBAcGFyYW0gbWluaWZpZWQgdHJ1ZSBpZiB0aGUgbmF2IHNlbGVjdG9yIGlzIG1pbmlmaWVkLiBOZWVkZWQgZm9yIGxlYWYgYXMgdGhleSBhcmUgbm90IGZvbGRhYmxlIGluIG1pbmlmaWVkIG1vZGVcbiAgICAgKi9cbiAgICBzdGF0aWMgZm9sZDxUIGV4dGVuZHMgSW50ZXJuYWxOYXZTZWxlY3RvckVudHJ5PihcbiAgICAgICAgZW50cmllczogVFtdLFxuICAgICAgICBlbnRyeVVpZDogc3RyaW5nLFxuICAgICAgICBtdWx0aXBsZU1vZGU6IGJvb2xlYW4sXG4gICAgICAgIG1pbmlmaWVkOiBib29sZWFuXG4gICAgKTogSW50ZXJuYWxOYXZTZWxlY3RvckVudHJ5W10ge1xuICAgICAgICByZXR1cm4gdGhpcy5mb2xkRW50cnkoZW50cmllcywgZW50cnlVaWQsIG11bHRpcGxlTW9kZSwgbWluaWZpZWQpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFVuZm9sZCBhbiBlbnRyeS5cbiAgICAgKlxuICAgICAqIFNldCBmb2N1c2FibGUgb24gYWxsIGNoaWxkcmVuIG9mIHRoZSBmb2xkZWQgZW50cnkuXG4gICAgICogQ29tcHV0ZSB3aGVuZXZlciB0aGUgY291bnRlciBhbmQgdG9rZW4gaW52YWxpZCBzaG91bGQgYmUgZGlzcGxheWVkIG9uIGdyb3VwcyBhbmQgbGVhdmVzLlxuICAgICAqXG4gICAgICogQHBhcmFtIGVudHJpZXMgbmF2IHNlbGVjdG9yIGVudHJpZXNcbiAgICAgKiBAcGFyYW0gZW50cnlVaWQgdGhlIGVudHJ5IHVpZCB0byB1bmZvbGRcbiAgICAgKiBAcGFyYW0gbXVsdGlwbGVNb2RlIHRvIHVwZGF0ZSB0aGUgZm9jdXNhYmxlIHN0YXRlIG9mIGxlYXZlcyBhbmQgZGV0YWlscyBjb3JyZWN0bHkuXG4gICAgICogQHBhcmFtIG1pbmlmaWVkIHRydWUgaWYgdGhlIG5hdiBzZWxlY3RvciBpcyBtaW5pZmllZC4gTmVlZGVkIGZvciBsZWFmIGFzIHRoZXkgYXJlIG5vdCBmb2xkYWJsZSBpbiBtaW5pZmllZCBtb2RlXG4gICAgICovXG4gICAgc3RhdGljIHVuZm9sZDxUIGV4dGVuZHMgSW50ZXJuYWxOYXZTZWxlY3RvckVudHJ5PihcbiAgICAgICAgZW50cmllczogVFtdLFxuICAgICAgICBlbnRyeVVpZDogc3RyaW5nLFxuICAgICAgICBtdWx0aXBsZU1vZGU6IGJvb2xlYW4sXG4gICAgICAgIG1pbmlmaWVkOiBib29sZWFuXG4gICAgKTogSW50ZXJuYWxOYXZTZWxlY3RvckVudHJ5W10ge1xuICAgICAgICByZXR1cm4gdGhpcy51bmZvbGRFbnRyeShlbnRyaWVzLCBlbnRyeVVpZCwgbXVsdGlwbGVNb2RlLCBtaW5pZmllZCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzdGF0aWMgdG9nZ2xlRW50cnlGb2xkaW5nPFQgZXh0ZW5kcyBJbnRlcm5hbE5hdlNlbGVjdG9yRW50cnk+KFxuICAgICAgICBlbnRyaWVzOiBUW10sXG4gICAgICAgIGVudHJ5VWlkOiBzdHJpbmcsXG4gICAgICAgIG11bHRpcGxlTW9kZTogYm9vbGVhbixcbiAgICAgICAgbWluaWZpZWQ6IGJvb2xlYW4sXG4gICAgICAgIHBhcmVudEZvbGRlZCA9IGZhbHNlXG4gICAgKTogSW50ZXJuYWxOYXZTZWxlY3RvckVudHJ5W10ge1xuICAgICAgICByZXR1cm4gZW50cmllcy5tYXAoZW50cnkgPT4ge1xuICAgICAgICAgICAgaWYgKGlzSW50ZXJuYWxOYXZTZWxlY3RvckVudHJ5QUNhdGVnb3J5KGVudHJ5KSkge1xuICAgICAgICAgICAgICAgIGlmIChlbnRyeS51aWQgPT09IGVudHJ5VWlkKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGZvbGRlZCA9ICFlbnRyeS5mb2xkZWQ7XG4gICAgICAgICAgICAgICAgICAgIGlmIChmb2xkZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmZvbGRDYXRlZ29yeShlbnRyeSwgbWluaWZpZWQpO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMudW5mb2xkQ2F0ZWdvcnkoZW50cnksIG1pbmlmaWVkKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAuLi5lbnRyeSxcbiAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW46IHRoaXMudG9nZ2xlRW50cnlGb2xkaW5nKGVudHJ5LmNoaWxkcmVuLCBlbnRyeVVpZCwgbWluaWZpZWQsIGVudHJ5LmZvbGRlZCksXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChpc0ludGVybmFsTmF2U2VsZWN0b3JFbnRyeUFHcm91cChlbnRyeSkpIHtcbiAgICAgICAgICAgICAgICBpZiAoZW50cnkudWlkID09PSBlbnRyeVVpZCkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBmb2xkZWQgPSAhZW50cnkuZm9sZGVkO1xuICAgICAgICAgICAgICAgICAgICBpZiAoZm9sZGVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5mb2xkR3JvdXAoZW50cnksIG11bHRpcGxlTW9kZSwgbWluaWZpZWQpO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMudW5mb2xkR3JvdXAoZW50cnksIG11bHRpcGxlTW9kZSwgbWluaWZpZWQpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgIC4uLmVudHJ5LFxuICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbjogdGhpcy50b2dnbGVFbnRyeUZvbGRpbmcoZW50cnkuY2hpbGRyZW4sIGVudHJ5VWlkLCBtaW5pZmllZCwgcGFyZW50Rm9sZGVkIHx8IGVudHJ5LmZvbGRlZCksXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChpc0ludGVybmFsTmF2U2VsZWN0b3JFbnRyeUFMZWFmKGVudHJ5KSkge1xuICAgICAgICAgICAgICAgIGlmIChlbnRyeS51aWQgPT09IGVudHJ5VWlkKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGZvbGRlZCA9ICFlbnRyeS5mb2xkZWQ7XG4gICAgICAgICAgICAgICAgICAgIGlmIChmb2xkZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmZvbGRMZWFmKGVudHJ5LCBtaW5pZmllZCk7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy51bmZvbGRMZWFmKGVudHJ5LCBtaW5pZmllZCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgLi4uZW50cnksXG4gICAgICAgICAgICAgICAgICAgIGZvY3VzYWJsZTogaXNJbnRlcm5hbE5hdlNlbGVjdG9yRW50cnlBTGVhZkZvY3VzYWJsZShlbnRyeSwgeyBwYXJlbnRGb2xkZWQsIG11bHRpcGxlTW9kZSB9KSxcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHsgLi4uZW50cnksIGZvY3VzYWJsZTogIXBhcmVudEZvbGRlZCB9O1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHN0YXRpYyBmb2xkRW50cnk8VCBleHRlbmRzIEludGVybmFsTmF2U2VsZWN0b3JFbnRyeT4oXG4gICAgICAgIGVudHJpZXM6IFRbXSxcbiAgICAgICAgZW50cnlVaWQ6IHN0cmluZyxcbiAgICAgICAgbXVsdGlwbGVNb2RlOiBib29sZWFuLFxuICAgICAgICBtaW5pZmllZDogYm9vbGVhbixcbiAgICAgICAgcGFyZW50Rm9sZGVkID0gZmFsc2VcbiAgICApOiBJbnRlcm5hbE5hdlNlbGVjdG9yRW50cnlbXSB7XG4gICAgICAgIHJldHVybiBlbnRyaWVzLm1hcChlbnRyeSA9PiB7XG4gICAgICAgICAgICBpZiAoaXNJbnRlcm5hbE5hdlNlbGVjdG9yRW50cnlBQ2F0ZWdvcnkoZW50cnkpKSB7XG4gICAgICAgICAgICAgICAgaWYgKGVudHJ5LnVpZCA9PT0gZW50cnlVaWQpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZm9sZENhdGVnb3J5KGVudHJ5LCBtaW5pZmllZCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgIC4uLmVudHJ5LFxuICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbjogdGhpcy5mb2xkRW50cnkoZW50cnkuY2hpbGRyZW4sIGVudHJ5VWlkLCBtaW5pZmllZCwgZW50cnkuZm9sZGVkKSxcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGlzSW50ZXJuYWxOYXZTZWxlY3RvckVudHJ5QUdyb3VwKGVudHJ5KSkge1xuICAgICAgICAgICAgICAgIGlmIChlbnRyeS51aWQgPT09IGVudHJ5VWlkKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmZvbGRHcm91cChlbnRyeSwgbXVsdGlwbGVNb2RlLCBtaW5pZmllZCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgIC4uLmVudHJ5LFxuICAgICAgICAgICAgICAgICAgICBmb2N1c2FibGU6ICFwYXJlbnRGb2xkZWQsXG4gICAgICAgICAgICAgICAgICAgIGNoaWxkcmVuOiB0aGlzLmZvbGRFbnRyeShlbnRyeS5jaGlsZHJlbiwgZW50cnlVaWQsIG1pbmlmaWVkLCBwYXJlbnRGb2xkZWQgfHwgZW50cnkuZm9sZGVkKSxcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGlzSW50ZXJuYWxOYXZTZWxlY3RvckVudHJ5QUxlYWYoZW50cnkpKSB7XG4gICAgICAgICAgICAgICAgaWYgKGVudHJ5LnVpZCA9PT0gZW50cnlVaWQpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZm9sZExlYWYoZW50cnksIG1pbmlmaWVkKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgLi4uZW50cnksXG4gICAgICAgICAgICAgICAgICAgIGZvY3VzYWJsZTogaXNJbnRlcm5hbE5hdlNlbGVjdG9yRW50cnlBTGVhZkZvY3VzYWJsZShlbnRyeSwgeyBwYXJlbnRGb2xkZWQsIG11bHRpcGxlTW9kZSB9KSxcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHsgLi4uZW50cnksIGZvY3VzYWJsZTogIXBhcmVudEZvbGRlZCB9O1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHN0YXRpYyB1bmZvbGRFbnRyeTxUIGV4dGVuZHMgSW50ZXJuYWxOYXZTZWxlY3RvckVudHJ5PihcbiAgICAgICAgZW50cmllczogVFtdLFxuICAgICAgICBlbnRyeVVpZDogc3RyaW5nLFxuICAgICAgICBtdWx0aXBsZU1vZGU6IGJvb2xlYW4sXG4gICAgICAgIG1pbmlmaWVkOiBib29sZWFuLFxuICAgICAgICBwYXJlbnRGb2xkZWQgPSBmYWxzZVxuICAgICk6IEludGVybmFsTmF2U2VsZWN0b3JFbnRyeVtdIHtcbiAgICAgICAgcmV0dXJuIGVudHJpZXMubWFwKGVudHJ5ID0+IHtcbiAgICAgICAgICAgIGlmIChpc0ludGVybmFsTmF2U2VsZWN0b3JFbnRyeUFDYXRlZ29yeShlbnRyeSkpIHtcbiAgICAgICAgICAgICAgICBpZiAoZW50cnkudWlkID09PSBlbnRyeVVpZCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy51bmZvbGRDYXRlZ29yeShlbnRyeSwgbWluaWZpZWQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAuLi5lbnRyeSxcbiAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW46IHRoaXMudW5mb2xkRW50cnkoZW50cnkuY2hpbGRyZW4sIGVudHJ5VWlkLCBtdWx0aXBsZU1vZGUsIG1pbmlmaWVkLCBlbnRyeS5mb2xkZWQpLFxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoaXNJbnRlcm5hbE5hdlNlbGVjdG9yRW50cnlBR3JvdXAoZW50cnkpKSB7XG4gICAgICAgICAgICAgICAgaWYgKGVudHJ5LnVpZCA9PT0gZW50cnlVaWQpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMudW5mb2xkR3JvdXAoZW50cnksIG11bHRpcGxlTW9kZSwgbWluaWZpZWQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAuLi5lbnRyeSxcbiAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW46IHRoaXMudW5mb2xkRW50cnkoZW50cnkuY2hpbGRyZW4sIGVudHJ5VWlkLCBtdWx0aXBsZU1vZGUsIG1pbmlmaWVkLCBwYXJlbnRGb2xkZWQgfHwgZW50cnkuZm9sZGVkKSxcbiAgICAgICAgICAgICAgICAgICAgZm9jdXNhYmxlOiAhcGFyZW50Rm9sZGVkLFxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoaXNJbnRlcm5hbE5hdlNlbGVjdG9yRW50cnlBTGVhZihlbnRyeSkpIHtcbiAgICAgICAgICAgICAgICBpZiAoZW50cnkudWlkID09PSBlbnRyeVVpZCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy51bmZvbGRMZWFmKGVudHJ5LCBtaW5pZmllZCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgIC4uLmVudHJ5LFxuICAgICAgICAgICAgICAgICAgICBmb2N1c2FibGU6IGlzSW50ZXJuYWxOYXZTZWxlY3RvckVudHJ5QUxlYWZGb2N1c2FibGUoZW50cnksIHsgcGFyZW50Rm9sZGVkLCBtdWx0aXBsZU1vZGUgfSksXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiB7IC4uLmVudHJ5LCBmb2N1c2FibGU6ICFwYXJlbnRGb2xkZWQgfTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzdGF0aWMgZm9sZENhdGVnb3J5KGNhdGVnb3J5OiBJbnRlcm5hbE5hdlNlbGVjdG9yQ2F0ZWdvcnksIG1pbmlmaWVkOiBib29sZWFuKTogSW50ZXJuYWxOYXZTZWxlY3RvckNhdGVnb3J5IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIC4uLmNhdGVnb3J5LFxuICAgICAgICAgICAgZm9sZGVkOiB0cnVlLFxuICAgICAgICAgICAgY2hpbGRyZW46IHRoaXMuZm9sZEVudHJ5KGNhdGVnb3J5LmNoaWxkcmVuLCBjYXRlZ29yeS51aWQsIG1pbmlmaWVkLCB0cnVlKSBhcyAoXG4gICAgICAgICAgICAgICAgfCBJbnRlcm5hbE5hdlNlbGVjdG9yTGVhZlxuICAgICAgICAgICAgICAgIHwgSW50ZXJuYWxOYXZTZWxlY3Rvckdyb3VwXG4gICAgICAgICAgICApW10sXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzdGF0aWMgdW5mb2xkQ2F0ZWdvcnkoY2F0ZWdvcnk6IEludGVybmFsTmF2U2VsZWN0b3JDYXRlZ29yeSwgbWluaWZpZWQ6IGJvb2xlYW4pOiBJbnRlcm5hbE5hdlNlbGVjdG9yQ2F0ZWdvcnkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgLi4uY2F0ZWdvcnksXG4gICAgICAgICAgICBmb2xkZWQ6IGZhbHNlLFxuICAgICAgICAgICAgY2hpbGRyZW46IHRoaXMudW5mb2xkRW50cnkoY2F0ZWdvcnkuY2hpbGRyZW4sIGNhdGVnb3J5LnVpZCwgbWluaWZpZWQsIGZhbHNlKSBhcyAoXG4gICAgICAgICAgICAgICAgfCBJbnRlcm5hbE5hdlNlbGVjdG9yTGVhZlxuICAgICAgICAgICAgICAgIHwgSW50ZXJuYWxOYXZTZWxlY3Rvckdyb3VwXG4gICAgICAgICAgICApW10sXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzdGF0aWMgZm9sZEdyb3VwKGdyb3VwOiBJbnRlcm5hbE5hdlNlbGVjdG9yR3JvdXAsIG11bHRpcGxlTW9kZTogYm9vbGVhbiwgbWluaWZpZWQ6IGJvb2xlYW4pOiBJbnRlcm5hbE5hdlNlbGVjdG9yR3JvdXAge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgLi4uZ3JvdXAsXG4gICAgICAgICAgICBmb2xkZWQ6IHRydWUsXG4gICAgICAgICAgICBjaGlsZHJlbjogdGhpcy5mb2xkRW50cnkoZ3JvdXAuY2hpbGRyZW4sIGdyb3VwLnVpZCwgbXVsdGlwbGVNb2RlLCBtaW5pZmllZCwgdHJ1ZSkgYXMgSW50ZXJuYWxOYXZTZWxlY3RvckxlYWZbXSxcbiAgICAgICAgICAgIGRpc3BsYXlDb3VudGVyOiAhIWdyb3VwLmNvdW50ZXIsXG4gICAgICAgICAgICBkaXNwbGF5VG9rZW5JbnZhbGlkOiBncm91cC5jaGlsZHJlbi5zb21lKCh7IGRpc3BsYXlUb2tlbkludmFsaWQgfSkgPT4gZGlzcGxheVRva2VuSW52YWxpZCksXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzdGF0aWMgdW5mb2xkR3JvdXAoZ3JvdXA6IEludGVybmFsTmF2U2VsZWN0b3JHcm91cCwgbXVsdGlwbGVNb2RlOiBib29sZWFuLCBtaW5pZmllZDogYm9vbGVhbik6IEludGVybmFsTmF2U2VsZWN0b3JHcm91cCB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAuLi5ncm91cCxcbiAgICAgICAgICAgIGZvbGRlZDogZmFsc2UsXG4gICAgICAgICAgICBjaGlsZHJlbjogdGhpcy51bmZvbGRFbnRyeShncm91cC5jaGlsZHJlbiwgZ3JvdXAudWlkLCBtdWx0aXBsZU1vZGUsIG1pbmlmaWVkLCBmYWxzZSkgYXMgSW50ZXJuYWxOYXZTZWxlY3RvckxlYWZbXSxcbiAgICAgICAgICAgIGRpc3BsYXlDb3VudGVyOiBmYWxzZSxcbiAgICAgICAgICAgIGRpc3BsYXlUb2tlbkludmFsaWQ6IGZhbHNlLFxuICAgICAgICB9O1xuICAgIH1cblxuICAgIHByaXZhdGUgc3RhdGljIGZvbGRMZWFmKGxlYWY6IEludGVybmFsTmF2U2VsZWN0b3JMZWFmLCBtaW5pZmllZDogYm9vbGVhbik6IEludGVybmFsTmF2U2VsZWN0b3JMZWFmIHtcbiAgICAgICAgaWYgKCFsZWFmLmZvbGRhYmxlIHx8IG1pbmlmaWVkKSB7XG4gICAgICAgICAgICByZXR1cm4gbGVhZjtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgLi4ubGVhZixcbiAgICAgICAgICAgIGRpc3BsYXlDb3VudGVyOiB0cnVlLFxuICAgICAgICAgICAgZm9sZGVkOiB0cnVlLFxuICAgICAgICAgICAgZGV0YWlsczogbGVhZi5kZXRhaWxzLm1hcChkZXRhaWwgPT4gKHsgLi4uZGV0YWlsLCBmb2N1c2FibGU6IGZhbHNlIH0pKSxcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHN0YXRpYyB1bmZvbGRMZWFmKGxlYWY6IEludGVybmFsTmF2U2VsZWN0b3JMZWFmLCBtaW5pZmllZDogYm9vbGVhbik6IEludGVybmFsTmF2U2VsZWN0b3JMZWFmIHtcbiAgICAgICAgaWYgKCFsZWFmLmZvbGRhYmxlIHx8IG1pbmlmaWVkKSB7XG4gICAgICAgICAgICByZXR1cm4gbGVhZjtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgLi4ubGVhZixcbiAgICAgICAgICAgIGRpc3BsYXlDb3VudGVyOiBmYWxzZSxcbiAgICAgICAgICAgIGZvbGRlZDogZmFsc2UsXG4gICAgICAgICAgICBkZXRhaWxzOiBsZWFmLmRldGFpbHMubWFwKChkZXRhaWwsIGlkeCkgPT4gKHtcbiAgICAgICAgICAgICAgICAuLi5kZXRhaWwsXG4gICAgICAgICAgICAgICAgZm9jdXNhYmxlOiBpZHggPCBsZWFmLnZpZXdNb3JlRGV0YWlsc0Rpc3BsYXllZExpbWl0LFxuICAgICAgICAgICAgfSkpLFxuICAgICAgICB9O1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { associateBy } from '..//utils/leaf.utils';
|
|
2
|
+
import { isInternalNavSelectorEntryAGroup, isInternalNavSelectorEntryALeaf, isInternalNavSelectorEntryANode, } from '../nav-selector';
|
|
3
|
+
/**
|
|
4
|
+
* NavSelectorMerger is a utility class that merges old entries into new entries.
|
|
5
|
+
* It is used to keep some previous properties of the previous state. Ex: folded, selected, focused, etc.
|
|
6
|
+
*/
|
|
7
|
+
export class NavSelectorMerger {
|
|
8
|
+
/**
|
|
9
|
+
* Merges the old entries into the new entries.
|
|
10
|
+
*
|
|
11
|
+
* Modify directly the new entries as new entries are generated from scratch so no need to destructure them to have a new reference.
|
|
12
|
+
*
|
|
13
|
+
* @param newEntries
|
|
14
|
+
* @param oldEntries
|
|
15
|
+
*
|
|
16
|
+
* @returns the new entries with the old entries merged into them
|
|
17
|
+
*/
|
|
18
|
+
static mergeInternalNavSelectorEntries(newEntries, oldEntries) {
|
|
19
|
+
const oldEntryByUid = associateBy(oldEntries, 'uid');
|
|
20
|
+
for (const newEntry of newEntries) {
|
|
21
|
+
if (!oldEntryByUid[newEntry.uid]) {
|
|
22
|
+
continue;
|
|
23
|
+
}
|
|
24
|
+
this.merge(newEntry, oldEntryByUid[newEntry.uid]);
|
|
25
|
+
}
|
|
26
|
+
return newEntries;
|
|
27
|
+
}
|
|
28
|
+
static merge(newEntry, oldEntry) {
|
|
29
|
+
if (isInternalNavSelectorEntryALeaf(newEntry) && isInternalNavSelectorEntryALeaf(oldEntry)) {
|
|
30
|
+
this.mergeLeaf(newEntry, oldEntry);
|
|
31
|
+
}
|
|
32
|
+
else if (isInternalNavSelectorEntryANode(newEntry) && isInternalNavSelectorEntryANode(oldEntry)) {
|
|
33
|
+
this.mergeInternalNavSelectorEntries(newEntry.children, oldEntry.children);
|
|
34
|
+
this.mergeNode(newEntry, oldEntry);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
static mergeNode(newNode, oldNode) {
|
|
38
|
+
newNode.folded = oldNode.folded;
|
|
39
|
+
newNode.accessibility.tabIndex = oldNode.accessibility.tabIndex;
|
|
40
|
+
if (isInternalNavSelectorEntryAGroup(newNode) && isInternalNavSelectorEntryAGroup(oldNode)) {
|
|
41
|
+
this.mergeGroup(newNode, oldNode);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
static mergeGroup(newGroup, oldGroup) {
|
|
45
|
+
newGroup.displayCounter = oldGroup.displayCounter;
|
|
46
|
+
newGroup.displayTokenInvalid = oldGroup.displayTokenInvalid;
|
|
47
|
+
}
|
|
48
|
+
static mergeLeaf(newLeaf, oldLeaf) {
|
|
49
|
+
if (this.isInternalLeafLogicValid(newLeaf)) {
|
|
50
|
+
newLeaf.viewMoreDisplayable = oldLeaf.viewMoreDisplayable;
|
|
51
|
+
newLeaf.viewMoreDisplayed = oldLeaf.viewMoreDisplayed;
|
|
52
|
+
newLeaf.displayCounter = oldLeaf.displayCounter;
|
|
53
|
+
newLeaf.folded = oldLeaf.folded;
|
|
54
|
+
newLeaf.selected = oldLeaf.selected;
|
|
55
|
+
newLeaf.accessibility.tabIndex = oldLeaf.accessibility.tabIndex;
|
|
56
|
+
const oldDetailByUId = associateBy(oldLeaf.details, 'uid');
|
|
57
|
+
newLeaf.details.forEach(newDetail => {
|
|
58
|
+
if (!oldDetailByUId[newDetail.uid] || newDetail.errorReason) {
|
|
59
|
+
return;
|
|
60
|
+
}
|
|
61
|
+
newDetail.selected = oldDetailByUId[newDetail.uid].selected;
|
|
62
|
+
newDetail.accessibility.tabIndex = oldDetailByUId[newDetail.uid].accessibility.tabIndex;
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
else {
|
|
66
|
+
const oldDetailHasFocused = oldLeaf.details.some(oldDetail => oldDetail.accessibility.tabIndex === 0);
|
|
67
|
+
if (oldDetailHasFocused) {
|
|
68
|
+
newLeaf.accessibility.tabIndex = 0;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
static isInternalLeafLogicValid(leaf) {
|
|
73
|
+
return !leaf.disabled && !leaf.displayTokenInvalid && !leaf.displayFeatureLocked;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2LXNlbGVjdG9yLm1lcmdlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvdWktY29tcG9uZW50cy9uYXYtc2VsZWN0b3Ivc3JjL3V0aWxzL25hdi1zZWxlY3Rvci5tZXJnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ25ELE9BQU8sRUFLSCxnQ0FBZ0MsRUFDaEMsK0JBQStCLEVBQy9CLCtCQUErQixHQUNsQyxNQUFNLGlCQUFpQixDQUFDO0FBRXpCOzs7R0FHRztBQUNILE1BQU0sT0FBTyxpQkFBaUI7SUFDMUI7Ozs7Ozs7OztPQVNHO0lBQ0ksTUFBTSxDQUFDLCtCQUErQixDQUN6QyxVQUFzQyxFQUN0QyxVQUFzQztRQUV0QyxNQUFNLGFBQWEsR0FBRyxXQUFXLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBRXJELEtBQUssTUFBTSxRQUFRLElBQUksVUFBVSxFQUFFLENBQUM7WUFDaEMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDL0IsU0FBUztZQUNiLENBQUM7WUFDRCxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxhQUFhLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDdEQsQ0FBQztRQUVELE9BQU8sVUFBVSxDQUFDO0lBQ3RCLENBQUM7SUFFTyxNQUFNLENBQUMsS0FBSyxDQUFDLFFBQWtDLEVBQUUsUUFBa0M7UUFDdkYsSUFBSSwrQkFBK0IsQ0FBQyxRQUFRLENBQUMsSUFBSSwrQkFBK0IsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO1lBQ3pGLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQ3ZDLENBQUM7YUFBTSxJQUFJLCtCQUErQixDQUFDLFFBQVEsQ0FBQyxJQUFJLCtCQUEr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Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYXNzb2NpYXRlQnkgfSBmcm9tICcuLi8vdXRpbHMvbGVhZi51dGlscyc7XG5pbXBvcnQge1xuICAgIEludGVybmFsTmF2U2VsZWN0b3JDYXRlZ29yeSxcbiAgICBJbnRlcm5hbE5hdlNlbGVjdG9yRW50cnksXG4gICAgSW50ZXJuYWxOYXZTZWxlY3Rvckdyb3VwLFxuICAgIEludGVybmFsTmF2U2VsZWN0b3JMZWFmLFxuICAgIGlzSW50ZXJuYWxOYXZTZWxlY3RvckVudHJ5QUdyb3VwLFxuICAgIGlzSW50ZXJuYWxOYXZTZWxlY3RvckVudHJ5QUxlYWYsXG4gICAgaXNJbnRlcm5hbE5hdlNlbGVjdG9yRW50cnlBTm9kZSxcbn0gZnJvbSAnLi4vbmF2LXNlbGVjdG9yJztcblxuLyoqXG4gKiBOYXZTZWxlY3Rvck1lcmdlciBpcyBhIHV0aWxpdHkgY2xhc3MgdGhhdCBtZXJnZXMgb2xkIGVudHJpZXMgaW50byBuZXcgZW50cmllcy5cbiAqIEl0IGlzIHVzZWQgdG8ga2VlcCBzb21lIHByZXZpb3VzIHByb3BlcnRpZXMgb2YgdGhlIHByZXZpb3VzIHN0YXRlLiBFeDogZm9sZGVkLCBzZWxlY3RlZCwgZm9jdXNlZCwgZXRjLlxuICovXG5leHBvcnQgY2xhc3MgTmF2U2VsZWN0b3JNZXJnZXIge1xuICAgIC8qKlxuICAgICAqIE1lcmdlcyB0aGUgb2xkIGVudHJpZXMgaW50byB0aGUgbmV3IGVudHJpZXMuXG4gICAgICpcbiAgICAgKiBNb2RpZnkgZGlyZWN0bHkgdGhlIG5ldyBlbnRyaWVzIGFzIG5ldyBlbnRyaWVzIGFyZSBnZW5lcmF0ZWQgZnJvbSBzY3JhdGNoIHNvIG5vIG5lZWQgdG8gZGVzdHJ1Y3R1cmUgdGhlbSB0byBoYXZlIGEgbmV3IHJlZmVyZW5jZS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBuZXdFbnRyaWVzXG4gICAgICogQHBhcmFtIG9sZEVudHJpZXNcbiAgICAgKlxuICAgICAqIEByZXR1cm5zIHRoZSBuZXcgZW50cmllcyB3aXRoIHRoZSBvbGQgZW50cmllcyBtZXJnZWQgaW50byB0aGVtXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyBtZXJnZUludGVybmFsTmF2U2VsZWN0b3JFbnRyaWVzKFxuICAgICAgICBuZXdFbnRyaWVzOiBJbnRlcm5hbE5hdlNlbGVjdG9yRW50cnlbXSxcbiAgICAgICAgb2xkRW50cmllczogSW50ZXJuYWxOYXZTZWxlY3RvckVudHJ5W11cbiAgICApOiBJbnRlcm5hbE5hdlNlbGVjdG9yRW50cnlbXSB7XG4gICAgICAgIGNvbnN0IG9sZEVudHJ5QnlVaWQgPSBhc3NvY2lhdGVCeShvbGRFbnRyaWVzLCAndWlkJyk7XG5cbiAgICAgICAgZm9yIChjb25zdCBuZXdFbnRyeSBvZiBuZXdFbnRyaWVzKSB7XG4gICAgICAgICAgICBpZiAoIW9sZEVudHJ5QnlVaWRbbmV3RW50cnkudWlkXSkge1xuICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5tZXJnZShuZXdFbnRyeSwgb2xkRW50cnlCeVVpZFtuZXdFbnRyeS51aWRdKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBuZXdFbnRyaWVzO1xuICAgIH1cblxuICAgIHByaXZhdGUgc3RhdGljIG1lcmdlKG5ld0VudHJ5OiBJbnRlcm5hbE5hdlNlbGVjdG9yRW50cnksIG9sZEVudHJ5OiBJbnRlcm5hbE5hdlNlbGVjdG9yRW50cnkpIHtcbiAgICAgICAgaWYgKGlzSW50ZXJuYWxOYXZTZWxlY3RvckVudHJ5QUxlYWYobmV3RW50cnkpICYmIGlzSW50ZXJuYWxOYXZTZWxlY3RvckVudHJ5QUxlYWYob2xkRW50cnkpKSB7XG4gICAgICAgICAgICB0aGlzLm1lcmdlTGVhZihuZXdFbnRyeSwgb2xkRW50cnkpO1xuICAgICAgICB9IGVsc2UgaWYgKGlzSW50ZXJuYWxOYXZTZWxlY3RvckVudHJ5QU5vZGUobmV3RW50cnkpICYmIGlzSW50ZXJuYWxOYXZTZWxlY3RvckVudHJ5QU5vZGUob2xkRW50cnkpKSB7XG4gICAgICAgICAgICB0aGlzLm1lcmdlSW50ZXJuYWxOYXZTZWxlY3RvckVudHJpZXMobmV3RW50cnkuY2hpbGRyZW4sIG9sZEVudHJ5LmNoaWxkcmVuKTtcbiAgICAgICAgICAgIHRoaXMubWVyZ2VOb2RlKG5ld0VudHJ5LCBvbGRFbnRyeSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHN0YXRpYyBtZXJnZU5vZGUoXG4gICAgICAgIG5ld05vZGU6IEludGVybmFsTmF2U2VsZWN0b3JHcm91cCB8IEludGVybmFsTmF2U2VsZWN0b3JDYXRlZ29yeSxcbiAgICAgICAgb2xkTm9kZTogSW50ZXJuYWxOYXZTZWxlY3Rvckdyb3VwIHwgSW50ZXJuYWxOYXZTZWxlY3RvckNhdGVnb3J5XG4gICAgKSB7XG4gICAgICAgIG5ld05vZGUuZm9sZGVkID0gb2xkTm9kZS5mb2xkZWQ7XG4gICAgICAgIG5ld05vZGUuYWNjZXNzaWJpbGl0eS50YWJJbmRleCA9IG9sZE5vZGUuYWNjZXNzaWJpbGl0eS50YWJJbmRleDtcblxuICAgICAgICBpZiAoaXNJbnRlcm5hbE5hdlNlbGVjdG9yRW50cnlBR3JvdXAobmV3Tm9kZSkgJiYgaXNJbnRlcm5hbE5hdlNlbGVjdG9yRW50cnlBR3JvdXAob2xkTm9kZSkpIHtcbiAgICAgICAgICAgIHRoaXMubWVyZ2VHcm91cChuZXdOb2RlLCBvbGROb2RlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgc3RhdGljIG1lcmdlR3JvdXAobmV3R3JvdXA6IEludGVybmFsTmF2U2VsZWN0b3JHcm91cCwgb2xkR3JvdXA6IEludGVybmFsTmF2U2VsZWN0b3JHcm91cCkge1xuICAgICAgICBuZXdHcm91cC5kaXNwbGF5Q291bnRlciA9IG9sZEdyb3VwLmRpc3BsYXlDb3VudGVyO1xuICAgICAgICBuZXdHcm91cC5kaXNwbGF5VG9rZW5JbnZhbGlkID0gb2xkR3JvdXAuZGlzcGxheVRva2VuSW52YWxpZDtcbiAgICB9XG5cbiAgICBwcml2YXRlIHN0YXRpYyBtZXJnZUxlYWYobmV3TGVhZjogSW50ZXJuYWxOYXZTZWxlY3RvckxlYWYsIG9sZExlYWY6IEludGVybmFsTmF2U2VsZWN0b3JMZWFmKSB7XG4gICAgICAgIGlmICh0aGlzLmlzSW50ZXJuYWxMZWFmTG9naWNWYWxpZChuZXdMZWFmKSkge1xuICAgICAgICAgICAgbmV3TGVhZi52aWV3TW9yZURpc3BsYXlhYmxlID0gb2xkTGVhZi52aWV3TW9yZURpc3BsYXlhYmxlO1xuICAgICAgICAgICAgbmV3TGVhZi52aWV3TW9yZURpc3BsYXllZCA9IG9sZExlYWYudmlld01vcmVEaXNwbGF5ZWQ7XG5cbiAgICAgICAgICAgIG5ld0xlYWYuZGlzcGxheUNvdW50ZXIgPSBvbGRMZWFmLmRpc3BsYXlDb3VudGVyO1xuICAgICAgICAgICAgbmV3TGVhZi5mb2xkZWQgPSBvbGRMZWFmLmZvbGRlZDtcbiAgICAgICAgICAgIG5ld0xlYWYuc2VsZWN0ZWQgPSBvbGRMZWFmLnNlbGVjdGVkO1xuXG4gICAgICAgICAgICBuZXdMZWFmLmFjY2Vzc2liaWxpdHkudGFiSW5kZXggPSBvbGRMZWFmLmFjY2Vzc2liaWxpdHkudGFiSW5kZXg7XG5cbiAgICAgICAgICAgIGNvbnN0IG9sZERldGFpbEJ5VUlkID0gYXNzb2NpYXRlQnkob2xkTGVhZi5kZXRhaWxzLCAndWlkJyk7XG4gICAgICAgICAgICBuZXdMZWFmLmRldGFpbHMuZm9yRWFjaChuZXdEZXRhaWwgPT4ge1xuICAgICAgICAgICAgICAgIGlmICghb2xkRGV0YWlsQnlVSWRbbmV3RGV0YWlsLnVpZF0gfHwgbmV3RGV0YWlsLmVycm9yUmVhc29uKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgbmV3RGV0YWlsLnNlbGVjdGVkID0gb2xkRGV0YWlsQnlVSWRbbmV3RGV0YWlsLnVpZF0uc2VsZWN0ZWQ7XG4gICAgICAgICAgICAgICAgbmV3RGV0YWlsLmFjY2Vzc2liaWxpdHkudGFiSW5kZXggPSBvbGREZXRhaWxCeVVJZFtuZXdEZXRhaWwudWlkXS5hY2Nlc3NpYmlsaXR5LnRhYkluZGV4O1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zdCBvbGREZXRhaWxIYXNGb2N1c2VkID0gb2xkTGVhZi5kZXRhaWxzLnNvbWUob2xkRGV0YWlsID0+IG9sZERldGFpbC5hY2Nlc3NpYmlsaXR5LnRhYkluZGV4ID09PSAwKTtcbiAgICAgICAgICAgIGlmIChvbGREZXRhaWxIYXNGb2N1c2VkKSB7XG4gICAgICAgICAgICAgICAgbmV3TGVhZi5hY2Nlc3NpYmlsaXR5LnRhYkluZGV4ID0gMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgc3RhdGljIGlzSW50ZXJuYWxMZWFmTG9naWNWYWxpZChsZWFmOiBJbnRlcm5hbE5hdlNlbGVjdG9yTGVhZik6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gIWxlYWYuZGlzYWJsZWQgJiYgIWxlYWYuZGlzcGxheVRva2VuSW52YWxpZCAmJiAhbGVhZi5kaXNwbGF5RmVhdHVyZUxvY2tlZDtcbiAgICB9XG59XG4iXX0=
|
|
@@ -11,10 +11,11 @@ export class NavSelectorMinifying {
|
|
|
11
11
|
* Detail are not focusable when minified.
|
|
12
12
|
*
|
|
13
13
|
* @param entries The entries to minify.
|
|
14
|
+
* @param multipleMode to update the focusable state of leaves correctly.
|
|
14
15
|
* @returns The modified entries.
|
|
15
16
|
*/
|
|
16
|
-
static minify(entries) {
|
|
17
|
-
return this.compute(entries, true);
|
|
17
|
+
static minify(entries, multipleMode) {
|
|
18
|
+
return this.compute(entries, multipleMode, true);
|
|
18
19
|
}
|
|
19
20
|
/**
|
|
20
21
|
* When expanding the nav selector, compute the focusable state of the entries.
|
|
@@ -23,12 +24,13 @@ export class NavSelectorMinifying {
|
|
|
23
24
|
* Detail are focusable when expanded.
|
|
24
25
|
*
|
|
25
26
|
* @param entries The entries to minify.
|
|
27
|
+
* @param multipleMode to update the focusable state of leaves and details correctly.
|
|
26
28
|
* @returns The modified entries.
|
|
27
29
|
*/
|
|
28
|
-
static expand(entries) {
|
|
29
|
-
return this.compute(entries, false);
|
|
30
|
+
static expand(entries, multipleMode) {
|
|
31
|
+
return this.compute(entries, multipleMode, false);
|
|
30
32
|
}
|
|
31
|
-
static compute(entries, minified, parent = null) {
|
|
33
|
+
static compute(entries, multipleMode, minified, parent = null) {
|
|
32
34
|
return entries.map(entry => {
|
|
33
35
|
if (isInternalNavSelectorEntryALeafDetails(entry)) {
|
|
34
36
|
return { ...entry, focusable: !minified };
|
|
@@ -36,15 +38,18 @@ export class NavSelectorMinifying {
|
|
|
36
38
|
if (isInternalNavSelectorEntryANode(entry)) {
|
|
37
39
|
return {
|
|
38
40
|
...entry,
|
|
39
|
-
children: this.compute(entry.children, minified, entry),
|
|
41
|
+
children: this.compute(entry.children, multipleMode, minified, entry),
|
|
40
42
|
};
|
|
41
43
|
}
|
|
42
44
|
return {
|
|
43
45
|
...entry,
|
|
44
|
-
focusable: isInternalNavSelectorEntryALeafFocusable(entry, {
|
|
45
|
-
|
|
46
|
+
focusable: isInternalNavSelectorEntryALeafFocusable(entry, {
|
|
47
|
+
parentFolded: parent?.folded === true,
|
|
48
|
+
multipleMode,
|
|
49
|
+
}),
|
|
50
|
+
details: this.compute(entry.details, multipleMode, minified),
|
|
46
51
|
};
|
|
47
52
|
});
|
|
48
53
|
}
|
|
49
54
|
}
|
|
50
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2LXNlbGVjdG9yLm1pbmlmeWluZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvdWktY29tcG9uZW50cy9uYXYtc2VsZWN0b3Ivc3JjL3V0aWxzL25hdi1zZWxlY3Rvci5taW5pZnlpbmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUlILHNDQUFzQyxFQUN0QywrQkFBK0IsR0FDbEMsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QixPQUFPLEVBQUUsd0NBQXdDLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUUvRTs7R0FFRztBQUNILE1BQU0sT0FBTyxvQkFBb0I7SUFDN0I7Ozs7Ozs7OztPQVNHO0lBQ0gsTUFBTSxDQUFDLE1BQU0sQ0FBcUMsT0FBWSxFQUFFLFlBQXFCO1FBQ2pGLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsWUFBWSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFFRDs7Ozs7Ozs7O09BU0c7SUFDSCxNQUFNLENBQUMsTUFBTSxDQUFxQyxPQUFZLEVBQUUsWUFBcUI7UUFDakYsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxZQUFZLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVPLE1BQU0sQ0FBQyxPQUFPLENBQ2xCLE9BQVksRUFDWixZQUFxQixFQUNyQixRQUFpQixFQUNqQixTQUF3RSxJQUFJO1FBRTVFLE9BQU8sT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUN2QixJQUFJLHNDQUFzQyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQ2hELE9BQU8sRUFBRSxHQUFHLEtBQUssRUFBRSxTQUFTLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUM5QyxDQUFDO1lBQ0QsSUFBSSwrQkFBK0IsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO2dCQUN6QyxPQUFPO29CQUNILEdBQUcsS0FBSztvQkFDUixRQUFRLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsS0FBSyxDQUFDO2lCQUN4RSxDQUFDO1lBQ04sQ0FBQztZQUVELE9BQU87Z0JBQ0gsR0FBRyxLQUFLO2dCQUNSLFNBQVMsRUFBRSx3Q0FBd0MsQ0FBQyxLQUFLLEVBQUU7b0JBQ3ZELFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxLQUFLLElBQUk7b0JBQ3JDLFlBQVk7aUJBQ2YsQ0FBQztnQkFDRixPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLFlBQVksRUFBRSxRQUFRLENBQUM7YUFDL0QsQ0FBQztRQUNOLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBJbnRlcm5hbE5hdlNlbGVjdG9yQ2F0ZWdvcnksXG4gICAgSW50ZXJuYWxOYXZTZWxlY3RvckVudHJ5LFxuICAgIEludGVybmFsTmF2U2VsZWN0b3JHcm91cCxcbiAgICBpc0ludGVybmFsTmF2U2VsZWN0b3JFbnRyeUFMZWFmRGV0YWlscyxcbiAgICBpc0ludGVybmFsTmF2U2VsZWN0b3JFbnRyeUFOb2RlLFxufSBmcm9tICcuLi9uYXYtc2VsZWN0b3InO1xuaW1wb3J0IHsgaXNJbnRlcm5hbE5hdlNlbGVjdG9yRW50cnlBTGVhZkZvY3VzYWJsZSB9IGZyb20gJy4uL3V0aWxzL2xlYWYudXRpbHMnO1xuXG4vKipcbiAqIE5hdlNlbGVjdG9yTWluaWZ5aW5nIGlzIGEgdXRpbGl0eSBjbGFzcyB0aGF0IHByb3ZpZGVzIG1ldGhvZHMgdG8gYXBwbHkgcnVsZXMgb24gZW50cmllcyB3aGVuIG1pbmlmeWluZyBvciBleHBhbmRlZCBuYXYgc2VsZWN0b3IuXG4gKi9cbmV4cG9ydCBjbGFzcyBOYXZTZWxlY3Rvck1pbmlmeWluZyB7XG4gICAgLyoqXG4gICAgICogV2hlbiBtaW5pZnlpbmcgdGhlIG5hdiBzZWxlY3RvciwgY29tcHV0ZSB0aGUgZm9jdXNhYmxlIHN0YXRlIG9mIHRoZSBlbnRyaWVzLlxuICAgICAqXG4gICAgICogTGVhZiBhcmUgbm90IGZvY3VzYWJsZSBpbiBhbnkgZXJyb3Igc3RhdGUgd2hlbiBtaW5pZmllZC5cbiAgICAgKiBEZXRhaWwgYXJlIG5vdCBmb2N1c2FibGUgd2hlbiBtaW5pZmllZC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBlbnRyaWVzIFRoZSBlbnRyaWVzIHRvIG1pbmlmeS5cbiAgICAgKiBAcGFyYW0gbXVsdGlwbGVNb2RlIHRvIHVwZGF0ZSB0aGUgZm9jdXNhYmxlIHN0YXRlIG9mIGxlYXZlcyBjb3JyZWN0bHkuXG4gICAgICogQHJldHVybnMgVGhlIG1vZGlmaWVkIGVudHJpZXMuXG4gICAgICovXG4gICAgc3RhdGljIG1pbmlmeTxUIGV4dGVuZHMgSW50ZXJuYWxOYXZTZWxlY3RvckVudHJ5PihlbnRyaWVzOiBUW10sIG11bHRpcGxlTW9kZTogYm9vbGVhbik6IEludGVybmFsTmF2U2VsZWN0b3JFbnRyeVtdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29tcHV0ZShlbnRyaWVzLCBtdWx0aXBsZU1vZGUsIHRydWUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFdoZW4gZXhwYW5kaW5nIHRoZSBuYXYgc2VsZWN0b3IsIGNvbXB1dGUgdGhlIGZvY3VzYWJsZSBzdGF0ZSBvZiB0aGUgZW50cmllcy5cbiAgICAgKlxuICAgICAqIExlYWYgYXJlIG5vdCBmb2N1c2FibGUgaW4gZGlzYWJsZWQgc3RhdGUgd2hlbiBleHBhbmRlZC5cbiAgICAgKiBEZXRhaWwgYXJlIGZvY3VzYWJsZSB3aGVuIGV4cGFuZGVkLlxuICAgICAqXG4gICAgICogQHBhcmFtIGVudHJpZXMgVGhlIGVudHJpZXMgdG8gbWluaWZ5LlxuICAgICAqIEBwYXJhbSBtdWx0aXBsZU1vZGUgdG8gdXBkYXRlIHRoZSBmb2N1c2FibGUgc3RhdGUgb2YgbGVhdmVzIGFuZCBkZXRhaWxzIGNvcnJlY3RseS5cbiAgICAgKiBAcmV0dXJucyBUaGUgbW9kaWZpZWQgZW50cmllcy5cbiAgICAgKi9cbiAgICBzdGF0aWMgZXhwYW5kPFQgZXh0ZW5kcyBJbnRlcm5hbE5hdlNlbGVjdG9yRW50cnk+KGVudHJpZXM6IFRbXSwgbXVsdGlwbGVNb2RlOiBib29sZWFuKTogSW50ZXJuYWxOYXZTZWxlY3RvckVudHJ5W10ge1xuICAgICAgICByZXR1cm4gdGhpcy5jb21wdXRlKGVudHJpZXMsIG11bHRpcGxlTW9kZSwgZmFsc2UpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc3RhdGljIGNvbXB1dGU8VCBleHRlbmRzIEludGVybmFsTmF2U2VsZWN0b3JFbnRyeT4oXG4gICAgICAgIGVudHJpZXM6IFRbXSxcbiAgICAgICAgbXVsdGlwbGVNb2RlOiBib29sZWFuLFxuICAgICAgICBtaW5pZmllZDogYm9vbGVhbixcbiAgICAgICAgcGFyZW50OiBJbnRlcm5hbE5hdlNlbGVjdG9yR3JvdXAgfCBJbnRlcm5hbE5hdlNlbGVjdG9yQ2F0ZWdvcnkgfCBudWxsID0gbnVsbFxuICAgICk6IEludGVybmFsTmF2U2VsZWN0b3JFbnRyeVtdIHtcbiAgICAgICAgcmV0dXJuIGVudHJpZXMubWFwKGVudHJ5ID0+IHtcbiAgICAgICAgICAgIGlmIChpc0ludGVybmFsTmF2U2VsZWN0b3JFbnRyeUFMZWFmRGV0YWlscyhlbnRyeSkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4geyAuLi5lbnRyeSwgZm9jdXNhYmxlOiAhbWluaWZpZWQgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChpc0ludGVybmFsTmF2U2VsZWN0b3JFbnRyeUFOb2RlKGVudHJ5KSkge1xuICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgIC4uLmVudHJ5LFxuICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbjogdGhpcy5jb21wdXRlKGVudHJ5LmNoaWxkcmVuLCBtdWx0aXBsZU1vZGUsIG1pbmlmaWVkLCBlbnRyeSksXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAuLi5lbnRyeSxcbiAgICAgICAgICAgICAgICBmb2N1c2FibGU6IGlzSW50ZXJuYWxOYXZTZWxlY3RvckVudHJ5QUxlYWZGb2N1c2FibGUoZW50cnksIHtcbiAgICAgICAgICAgICAgICAgICAgcGFyZW50Rm9sZGVkOiBwYXJlbnQ/LmZvbGRlZCA9PT0gdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgbXVsdGlwbGVNb2RlLFxuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIGRldGFpbHM6IHRoaXMuY29tcHV0ZShlbnRyeS5kZXRhaWxzLCBtdWx0aXBsZU1vZGUsIG1pbmlmaWVkKSxcbiAgICAgICAgICAgIH07XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiJdfQ==
|