@3kles/kles-material-dynamicforms 17.2.3 → 17.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/directive/dynamic-component.directive.mjs +3 -3
- package/esm2022/lib/directive/dynamic-field.directive.mjs +3 -3
- package/esm2022/lib/dynamic-form.component.mjs +3 -3
- package/esm2022/lib/fields/array.component.mjs +3 -3
- package/esm2022/lib/fields/badge.component.mjs +3 -3
- package/esm2022/lib/fields/button-fab.component.mjs +3 -3
- package/esm2022/lib/fields/button-form.component.mjs +3 -3
- package/esm2022/lib/fields/button-icon.component.mjs +3 -3
- package/esm2022/lib/fields/button-mini-fab.component.mjs +3 -3
- package/esm2022/lib/fields/button-toogle-group.component.mjs +3 -3
- package/esm2022/lib/fields/buttonchecker-form.component.mjs +3 -3
- package/esm2022/lib/fields/buttonfile-form.component.mjs +3 -3
- package/esm2022/lib/fields/checkbox.component.mjs +3 -3
- package/esm2022/lib/fields/chip.component.mjs +3 -3
- package/esm2022/lib/fields/clear.component.mjs +3 -3
- package/esm2022/lib/fields/color.component.mjs +3 -3
- package/esm2022/lib/fields/date-time.component.mjs +3 -3
- package/esm2022/lib/fields/date.component.mjs +3 -3
- package/esm2022/lib/fields/field.abstract.mjs +3 -3
- package/esm2022/lib/fields/group.component.mjs +3 -3
- package/esm2022/lib/fields/icon.component.mjs +3 -3
- package/esm2022/lib/fields/input.clearable.component.mjs +3 -3
- package/esm2022/lib/fields/input.component.mjs +3 -3
- package/esm2022/lib/fields/label.component.mjs +3 -3
- package/esm2022/lib/fields/line-break.component.mjs +3 -3
- package/esm2022/lib/fields/link.component.mjs +3 -3
- package/esm2022/lib/fields/list-field.component.mjs +3 -3
- package/esm2022/lib/fields/radio.component.mjs +3 -3
- package/esm2022/lib/fields/range.component.mjs +3 -3
- package/esm2022/lib/fields/select.component.mjs +3 -3
- package/esm2022/lib/fields/select.lazy-search.component.mjs +3 -3
- package/esm2022/lib/fields/select.search.component.mjs +3 -3
- package/esm2022/lib/fields/selection-list.component.mjs +109 -33
- package/esm2022/lib/fields/selection-list.search.component.mjs +188 -0
- package/esm2022/lib/fields/slide-toggle.component.mjs +3 -3
- package/esm2022/lib/fields/text.component.mjs +3 -3
- package/esm2022/lib/fields/textarea.component.mjs +3 -3
- package/esm2022/lib/forms/button-control-base.mjs +3 -3
- package/esm2022/lib/forms/button-control.component.mjs +3 -3
- package/esm2022/lib/forms/buttonchecker-control.component.mjs +3 -3
- package/esm2022/lib/forms/buttonfile-control.component.mjs +3 -3
- package/esm2022/lib/forms/fab-control.component.mjs +3 -3
- package/esm2022/lib/forms/icon-button-control.component.mjs +3 -3
- package/esm2022/lib/forms/mini-fab-control.component.mjs +3 -3
- package/esm2022/lib/kles-material-dynamicforms.module.mjs +12 -8
- package/esm2022/lib/matcher/form-error.matcher.mjs +3 -3
- package/esm2022/lib/modules/material.module.mjs +4 -4
- package/esm2022/lib/pipe/array.pipe.mjs +3 -3
- package/esm2022/lib/pipe/transform.pipe.mjs +3 -3
- package/esm2022/lib/selection/selection-model.mjs +232 -0
- package/esm2022/public-api.mjs +2 -1
- package/fesm2022/3kles-kles-material-dynamicforms.mjs +654 -178
- package/fesm2022/3kles-kles-material-dynamicforms.mjs.map +1 -1
- package/lib/fields/selection-list.component.d.ts +4 -0
- package/lib/fields/selection-list.search.component.d.ts +18 -0
- package/lib/kles-material-dynamicforms.module.d.ts +13 -12
- package/lib/selection/selection-model.d.ts +102 -0
- package/package.json +1 -1
- package/public-api.d.ts +1 -0
|
@@ -39,8 +39,8 @@ import { CdkScrollable } from '@angular/cdk/scrolling';
|
|
|
39
39
|
import { PortalModule } from '@angular/cdk/portal';
|
|
40
40
|
import * as i0 from "@angular/core";
|
|
41
41
|
export class MaterialModule {
|
|
42
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.
|
|
43
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.
|
|
42
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: MaterialModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
43
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.7", ngImport: i0, type: MaterialModule, imports: [CommonModule,
|
|
44
44
|
MatSliderModule,
|
|
45
45
|
MatButtonModule,
|
|
46
46
|
MatToolbarModule,
|
|
@@ -113,7 +113,7 @@ export class MaterialModule {
|
|
|
113
113
|
CdkScrollable,
|
|
114
114
|
MatButtonToggleModule,
|
|
115
115
|
PortalModule] }); }
|
|
116
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.
|
|
116
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: MaterialModule, providers: [
|
|
117
117
|
MatDatepickerModule,
|
|
118
118
|
MatDialogModule
|
|
119
119
|
], imports: [CommonModule,
|
|
@@ -189,7 +189,7 @@ export class MaterialModule {
|
|
|
189
189
|
MatButtonToggleModule,
|
|
190
190
|
PortalModule] }); }
|
|
191
191
|
}
|
|
192
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.
|
|
192
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: MaterialModule, decorators: [{
|
|
193
193
|
type: NgModule,
|
|
194
194
|
args: [{
|
|
195
195
|
imports: [
|
|
@@ -12,10 +12,10 @@ export class ArrayFormatPipe {
|
|
|
12
12
|
}
|
|
13
13
|
return '';
|
|
14
14
|
}
|
|
15
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.
|
|
16
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.0.
|
|
15
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: ArrayFormatPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
16
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.0.7", ngImport: i0, type: ArrayFormatPipe, name: "arrayFormat" }); }
|
|
17
17
|
}
|
|
18
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.
|
|
18
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: ArrayFormatPipe, decorators: [{
|
|
19
19
|
type: Pipe,
|
|
20
20
|
args: [{ name: 'arrayFormat' }]
|
|
21
21
|
}] });
|
|
@@ -17,10 +17,10 @@ export class KlesTransformPipe {
|
|
|
17
17
|
}
|
|
18
18
|
return value;
|
|
19
19
|
}
|
|
20
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.
|
|
21
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.0.
|
|
20
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: KlesTransformPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
21
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.0.7", ngImport: i0, type: KlesTransformPipe, name: "klesTransform" }); }
|
|
22
22
|
}
|
|
23
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.
|
|
23
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: KlesTransformPipe, decorators: [{
|
|
24
24
|
type: Pipe,
|
|
25
25
|
args: [{ name: 'klesTransform' }]
|
|
26
26
|
}] });
|
|
@@ -0,0 +1,232 @@
|
|
|
1
|
+
import { getMultipleValuesInSingleSelectionError } from "@angular/cdk/collections";
|
|
2
|
+
import { Subject } from "rxjs";
|
|
3
|
+
/**
|
|
4
|
+
* Copy and past from https://github.com/angular/components/blob/17.0.x/src/cdk/collections/selection-model.ts
|
|
5
|
+
* (They put everything in private, thanks to angular team)
|
|
6
|
+
*/
|
|
7
|
+
export class KlesSelectionModel {
|
|
8
|
+
/** Selected values. */
|
|
9
|
+
get selected() {
|
|
10
|
+
if (!this._selected) {
|
|
11
|
+
this._selected = Array.from(this._selection.values());
|
|
12
|
+
}
|
|
13
|
+
return this._selected;
|
|
14
|
+
}
|
|
15
|
+
constructor(_multiple = false, initiallySelectedValues, _emitChanges = true, compareWith) {
|
|
16
|
+
this._multiple = _multiple;
|
|
17
|
+
this._emitChanges = _emitChanges;
|
|
18
|
+
this.compareWith = compareWith;
|
|
19
|
+
/** Currently-selected values. */
|
|
20
|
+
this._selection = new Set();
|
|
21
|
+
/** Keeps track of the deselected options that haven't been emitted by the change event. */
|
|
22
|
+
this._deselectedToEmit = [];
|
|
23
|
+
/** Keeps track of the selected options that haven't been emitted by the change event. */
|
|
24
|
+
this._selectedToEmit = [];
|
|
25
|
+
/** Event emitted when the value has changed. */
|
|
26
|
+
this.changed = new Subject();
|
|
27
|
+
if (initiallySelectedValues && initiallySelectedValues.length) {
|
|
28
|
+
if (_multiple) {
|
|
29
|
+
initiallySelectedValues.forEach(value => this._markSelected(value));
|
|
30
|
+
}
|
|
31
|
+
else {
|
|
32
|
+
this._markSelected(initiallySelectedValues[0]);
|
|
33
|
+
}
|
|
34
|
+
// Clear the array in order to avoid firing the change event for preselected values.
|
|
35
|
+
this._selectedToEmit.length = 0;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Selects a value or an array of values.
|
|
40
|
+
* @param values The values to select
|
|
41
|
+
* @return Whether the selection changed as a result of this call
|
|
42
|
+
* @breaking-change 16.0.0 make return type boolean
|
|
43
|
+
*/
|
|
44
|
+
select(values, option) {
|
|
45
|
+
this._verifyValueAssignment(values);
|
|
46
|
+
console.log(values);
|
|
47
|
+
values.forEach(value => this._markSelected(value));
|
|
48
|
+
const changed = this._hasQueuedChanges();
|
|
49
|
+
if (!option || option?.emitEvent) {
|
|
50
|
+
this._emitChangeEvent();
|
|
51
|
+
}
|
|
52
|
+
else {
|
|
53
|
+
this._selected = null;
|
|
54
|
+
}
|
|
55
|
+
return changed;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Deselects a value or an array of values.
|
|
59
|
+
* @param values The values to deselect
|
|
60
|
+
* @return Whether the selection changed as a result of this call
|
|
61
|
+
* @breaking-change 16.0.0 make return type boolean
|
|
62
|
+
*/
|
|
63
|
+
deselect(values, option) {
|
|
64
|
+
this._verifyValueAssignment(values);
|
|
65
|
+
values.forEach(value => this._unmarkSelected(value));
|
|
66
|
+
const changed = this._hasQueuedChanges();
|
|
67
|
+
if (!option || option?.emitEvent) {
|
|
68
|
+
this._emitChangeEvent();
|
|
69
|
+
}
|
|
70
|
+
else {
|
|
71
|
+
this._selected = null;
|
|
72
|
+
}
|
|
73
|
+
return changed;
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Sets the selected values
|
|
77
|
+
* @param values The new selected values
|
|
78
|
+
* @return Whether the selection changed as a result of this call
|
|
79
|
+
* @breaking-change 16.0.0 make return type boolean
|
|
80
|
+
*/
|
|
81
|
+
setSelection(values, option) {
|
|
82
|
+
this._verifyValueAssignment(values);
|
|
83
|
+
const oldValues = this.selected;
|
|
84
|
+
const newSelectedSet = new Set(values.map((value) => this._getConcreteValue(value)));
|
|
85
|
+
values.forEach(value => this._markSelected(value));
|
|
86
|
+
oldValues
|
|
87
|
+
.filter(value => !newSelectedSet.has(value))
|
|
88
|
+
.forEach(value => this._unmarkSelected(value));
|
|
89
|
+
const changed = this._hasQueuedChanges();
|
|
90
|
+
if (!option || option?.emitEvent) {
|
|
91
|
+
this._emitChangeEvent();
|
|
92
|
+
}
|
|
93
|
+
else {
|
|
94
|
+
this._selected = null;
|
|
95
|
+
}
|
|
96
|
+
return changed;
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Toggles a value between selected and deselected.
|
|
100
|
+
* @param value The value to toggle
|
|
101
|
+
* @return Whether the selection changed as a result of this call
|
|
102
|
+
* @breaking-change 16.0.0 make return type boolean
|
|
103
|
+
*/
|
|
104
|
+
toggle(value) {
|
|
105
|
+
if (Array.isArray(value)) {
|
|
106
|
+
return this.isSelected(value) ? this.deselect(value) : this.select(value);
|
|
107
|
+
}
|
|
108
|
+
else {
|
|
109
|
+
return this.isSelected(value) ? this.deselect([value]) : this.select([value]);
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Clears all of the selected values.
|
|
114
|
+
* @param flushEvent Whether to flush the changes in an event.
|
|
115
|
+
* If false, the changes to the selection will be flushed along with the next event.
|
|
116
|
+
* @return Whether the selection changed as a result of this call
|
|
117
|
+
* @breaking-change 16.0.0 make return type boolean
|
|
118
|
+
*/
|
|
119
|
+
clear(flushEvent = true) {
|
|
120
|
+
this._unmarkAll();
|
|
121
|
+
const changed = this._hasQueuedChanges();
|
|
122
|
+
if (flushEvent) {
|
|
123
|
+
this._emitChangeEvent();
|
|
124
|
+
}
|
|
125
|
+
return changed;
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Determines whether a value is selected.
|
|
129
|
+
*/
|
|
130
|
+
isSelected(value) {
|
|
131
|
+
return this._selection.has(this._getConcreteValue(value));
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* Determines whether the model does not have a value.
|
|
135
|
+
*/
|
|
136
|
+
isEmpty() {
|
|
137
|
+
return this._selection.size === 0;
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* Determines whether the model has a value.
|
|
141
|
+
*/
|
|
142
|
+
hasValue() {
|
|
143
|
+
return !this.isEmpty();
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* Sorts the selected values based on a predicate function.
|
|
147
|
+
*/
|
|
148
|
+
sort(predicate) {
|
|
149
|
+
if (this._multiple && this.selected) {
|
|
150
|
+
this._selected.sort(predicate);
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* Gets whether multiple values can be selected.
|
|
155
|
+
*/
|
|
156
|
+
isMultipleSelection() {
|
|
157
|
+
return this._multiple;
|
|
158
|
+
}
|
|
159
|
+
/** Emits a change event and clears the records of selected and deselected values. */
|
|
160
|
+
_emitChangeEvent() {
|
|
161
|
+
// Clear the selected values so they can be re-cached.
|
|
162
|
+
this._selected = null;
|
|
163
|
+
if (this._selectedToEmit.length || this._deselectedToEmit.length) {
|
|
164
|
+
this.changed.next({
|
|
165
|
+
source: this,
|
|
166
|
+
added: this._selectedToEmit,
|
|
167
|
+
removed: this._deselectedToEmit,
|
|
168
|
+
});
|
|
169
|
+
this._deselectedToEmit = [];
|
|
170
|
+
this._selectedToEmit = [];
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
/** Selects a value. */
|
|
174
|
+
_markSelected(value) {
|
|
175
|
+
value = this._getConcreteValue(value);
|
|
176
|
+
if (!this.isSelected(value)) {
|
|
177
|
+
if (!this._multiple) {
|
|
178
|
+
this._unmarkAll();
|
|
179
|
+
}
|
|
180
|
+
if (!this.isSelected(value)) {
|
|
181
|
+
this._selection.add(value);
|
|
182
|
+
}
|
|
183
|
+
if (this._emitChanges) {
|
|
184
|
+
this._selectedToEmit.push(value);
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
/** Deselects a value. */
|
|
189
|
+
_unmarkSelected(value) {
|
|
190
|
+
value = this._getConcreteValue(value);
|
|
191
|
+
if (this.isSelected(value)) {
|
|
192
|
+
this._selection.delete(value);
|
|
193
|
+
if (this._emitChanges) {
|
|
194
|
+
this._deselectedToEmit.push(value);
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
/** Clears out the selected values. */
|
|
199
|
+
_unmarkAll() {
|
|
200
|
+
if (!this.isEmpty()) {
|
|
201
|
+
this._selection.forEach(value => this._unmarkSelected(value));
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
/**
|
|
205
|
+
* Verifies the value assignment and throws an error if the specified value array is
|
|
206
|
+
* including multiple values while the selection model is not supporting multiple values.
|
|
207
|
+
*/
|
|
208
|
+
_verifyValueAssignment(values) {
|
|
209
|
+
if (values.length > 1 && !this._multiple) {
|
|
210
|
+
throw getMultipleValuesInSingleSelectionError();
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
/** Whether there are queued up change to be emitted. */
|
|
214
|
+
_hasQueuedChanges() {
|
|
215
|
+
return !!(this._deselectedToEmit.length || this._selectedToEmit.length);
|
|
216
|
+
}
|
|
217
|
+
/** Returns a value that is comparable to inputValue by applying compareWith function, returns the same inputValue otherwise. */
|
|
218
|
+
_getConcreteValue(inputValue) {
|
|
219
|
+
if (!this.compareWith) {
|
|
220
|
+
return inputValue;
|
|
221
|
+
}
|
|
222
|
+
else {
|
|
223
|
+
for (let selectedValue of this._selection) {
|
|
224
|
+
if (this.compareWith(inputValue, selectedValue)) {
|
|
225
|
+
return selectedValue;
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
return inputValue;
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLW1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2xlcy1tYXRlcmlhbC1keW5hbWljZm9ybXMvc3JjL2xpYi9zZWxlY3Rpb24vc2VsZWN0aW9uLW1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBbUIsdUNBQXVDLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNwRyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBSS9COzs7R0FHRztBQUNILE1BQU0sT0FBTyxrQkFBa0I7SUFhM0IsdUJBQXVCO0lBQ3ZCLElBQUksUUFBUTtRQUNSLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ2pCLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7U0FDekQ7UUFFRCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDMUIsQ0FBQztJQUtELFlBQ1ksWUFBWSxLQUFLLEVBQ3pCLHVCQUE2QixFQUNyQixlQUFlLElBQUksRUFDcEIsV0FBdUM7UUFIdEMsY0FBUyxHQUFULFNBQVMsQ0FBUTtRQUVqQixpQkFBWSxHQUFaLFlBQVksQ0FBTztRQUNwQixnQkFBVyxHQUFYLFdBQVcsQ0FBNEI7UUE1QmxELGlDQUFpQztRQUN6QixlQUFVLEdBQUcsSUFBSSxHQUFHLEVBQUssQ0FBQztRQUVsQywyRkFBMkY7UUFDbkYsc0JBQWlCLEdBQVEsRUFBRSxDQUFDO1FBRXBDLHlGQUF5RjtRQUNqRixvQkFBZSxHQUFRLEVBQUUsQ0FBQztRQWNsQyxnREFBZ0Q7UUFDdkMsWUFBTyxHQUFHLElBQUksT0FBTyxFQUFPLENBQUM7UUFRbEMsSUFBSSx1QkFBdUIsSUFBSSx1QkFBdUIsQ0FBQyxNQUFNLEVBQUU7WUFDM0QsSUFBSSxTQUFTLEVBQUU7Z0JBQ1gsdUJBQXVC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QUksYUFBYSxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUU7Z0JBQ3ZDLElBQUksSUFBSSxDQUFDLFdBQVksQ0FBQyxVQUFVLEVBQUUsYUFBYSxDQUFDLEVBQUU7b0JBQzlDLE9BQU8sYUFBYSxDQUFDO2lCQUN4QjthQUNKO1lBQ0QsT0FBTyxVQUFVLENBQUM7U0FDckI7SUFDTCxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTZWxlY3Rpb25DaGFuZ2UsIGdldE11bHRpcGxlVmFsdWVzSW5TaW5nbGVTZWxlY3Rpb25FcnJvciB9IGZyb20gXCJAYW5ndWxhci9jZGsvY29sbGVjdGlvbnNcIjtcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tIFwicnhqc1wiO1xuXG5cblxuLyoqXG4gKiBDb3B5IGFuZCBwYXN0IGZyb20gaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvY29tcG9uZW50cy9ibG9iLzE3LjAueC9zcmMvY2RrL2NvbGxlY3Rpb25zL3NlbGVjdGlvbi1tb2RlbC50c1xuICogKFRoZXkgcHV0IGV2ZXJ5dGhpbmcgaW4gcHJpdmF0ZSwgdGhhbmtzIHRvIGFuZ3VsYXIgdGVhbSlcbiAqL1xuZXhwb3J0IGNsYXNzIEtsZXNTZWxlY3Rpb25Nb2RlbDxUPiB7XG4gICAgLyoqIEN1cnJlbnRseS1zZWxlY3RlZCB2YWx1ZXMuICovXG4gICAgcHJpdmF0ZSBfc2VsZWN0aW9uID0gbmV3IFNldDxUPigpO1xuXG4gICAgLyoqIEtlZXBzIHRyYWNrIG9mIHRoZSBkZXNlbGVjdGVkIG9wdGlvbnMgdGhhdCBoYXZlbid0IGJlZW4gZW1pdHRlZCBieSB0aGUgY2hhbmdlIGV2ZW50LiAqL1xuICAgIHByaXZhdGUgX2Rlc2VsZWN0ZWRUb0VtaXQ6IFRbXSA9IFtdO1xuXG4gICAgLyoqIEtlZXBzIHRyYWNrIG9mIHRoZSBzZWxlY3RlZCBvcHRpb25zIHRoYXQgaGF2ZW4ndCBiZWVuIGVtaXR0ZWQgYnkgdGhlIGNoYW5nZSBldmVudC4gKi9cbiAgICBwcml2YXRlIF9zZWxlY3RlZFRvRW1pdDogVFtdID0gW107XG5cbiAgICAvKiogQ2FjaGUgZm9yIHRoZSBhcnJheSB2YWx1ZSBvZiB0aGUgc2VsZWN0ZWQgaXRlbXMuICovXG4gICAgcHJpdmF0ZSBfc2VsZWN0ZWQ6IFRbXSB8IG51bGw7XG5cbiAgICAvKiogU2VsZWN0ZWQgdmFsdWVzLiAqL1xuICAgIGdldCBzZWxlY3RlZCgpOiBUW10ge1xuICAgICAgICBpZiAoIXRoaXMuX3NlbGVjdGVkKSB7XG4gICAgICAgICAgICB0aGlzLl9zZWxlY3RlZCA9IEFycmF5LmZyb20odGhpcy5fc2VsZWN0aW9uLnZhbHVlcygpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLl9zZWxlY3RlZDtcbiAgICB9XG5cbiAgICAvKiogRXZlbnQgZW1pdHRlZCB3aGVuIHRoZSB2YWx1ZSBoYXMgY2hhbmdlZC4gKi9cbiAgICByZWFkb25seSBjaGFuZ2VkID0gbmV3IFN1YmplY3Q8YW55PigpO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgX211bHRpcGxlID0gZmFsc2UsXG4gICAgICAgIGluaXRpYWxseVNlbGVjdGVkVmFsdWVzPzogVFtdLFxuICAgICAgICBwcml2YXRlIF9lbWl0Q2hhbmdlcyA9IHRydWUsXG4gICAgICAgIHB1YmxpYyBjb21wYXJlV2l0aD86IChvMTogVCwgbzI6IFQpID0+IGJvb2xlYW4sXG4gICAgKSB7XG4gICAgICAgIGlmIChpbml0aWFsbHlTZWxlY3RlZFZhbHVlcyAmJiBpbml0aWFsbHlTZWxlY3RlZFZhbHVlcy5sZW5ndGgpIHtcbiAgICAgICAgICAgIGlmIChfbXVsdGlwbGUpIHtcbiAgICAgICAgICAgICAgICBpbml0aWFsbHlTZWxlY3RlZFZhbHVlcy5mb3JFYWNoKHZhbHVlID0+IHRoaXMuX21hcmtTZWxlY3RlZCh2YWx1ZSkpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9tYXJrU2VsZWN0ZWQoaW5pdGlhbGx5U2VsZWN0ZWRWYWx1ZXNbMF0pO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBDbGVhciB0aGUgYXJyYXkgaW4gb3JkZXIgdG8gYXZvaWQgZmlyaW5nIHRoZSBjaGFuZ2UgZXZlbnQgZm9yIHByZXNlbGVjdGVkIHZhbHVlcy5cbiAgICAgICAgICAgIHRoaXMuX3NlbGVjdGVkVG9FbWl0Lmxlbmd0aCA9IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZWxlY3RzIGEgdmFsdWUgb3IgYW4gYXJyYXkgb2YgdmFsdWVzLlxuICAgICAqIEBwYXJhbSB2YWx1ZXMgVGhlIHZhbHVlcyB0byBzZWxlY3RcbiAgICAgKiBAcmV0dXJuIFdoZXRoZXIgdGhlIHNlbGVjdGlvbiBjaGFuZ2VkIGFzIGEgcmVzdWx0IG9mIHRoaXMgY2FsbFxuICAgICAqIEBicmVha2luZy1jaGFuZ2UgMTYuMC4wIG1ha2UgcmV0dXJuIHR5cGUgYm9vbGVhblxuICAgICAqL1xuICAgIHNlbGVjdCh2YWx1ZXM6IFRbXSwgb3B0aW9uPzogeyBlbWl0RXZlbnQ6IGJvb2xlYW4gfSk6IGJvb2xlYW4gfCB2b2lkIHtcbiAgICAgICAgdGhpcy5fdmVyaWZ5VmFsdWVBc3NpZ25tZW50KHZhbHVlcyk7XG4gICAgICAgIGNvbnNvbGUubG9nKHZhbHVlcylcbiAgICAgICAgdmFsdWVzLmZvckVhY2godmFsdWUgPT4gdGhpcy5fbWFya1NlbGVjdGVkKHZhbHVlKSk7XG4gICAgICAgIGNvbnN0IGNoYW5nZWQgPSB0aGlzLl9oYXNRdWV1ZWRDaGFuZ2VzKCk7XG4gICAgICAgIGlmICghb3B0aW9uIHx8IG9wdGlvbj8uZW1pdEV2ZW50KSB7XG4gICAgICAgICAgICB0aGlzLl9lbWl0Q2hhbmdlRXZlbnQoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuX3NlbGVjdGVkID0gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gY2hhbmdlZDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBEZXNlbGVjdHMgYSB2YWx1ZSBvciBhbiBhcnJheSBvZiB2YWx1ZXMuXG4gICAgICogQHBhcmFtIHZhbHVlcyBUaGUgdmFsdWVzIHRvIGRlc2VsZWN0XG4gICAgICogQHJldHVybiBXaGV0aGVyIHRoZSBzZWxlY3Rpb24gY2hhbmdlZCBhcyBhIHJlc3VsdCBvZiB0aGlzIGNhbGxcbiAgICAgKiBAYnJlYWtpbmctY2hhbmdlIDE2LjAuMCBtYWtlIHJldHVybiB0eXBlIGJvb2xlYW5cbiAgICAgKi9cbiAgICBkZXNlbGVjdCh2YWx1ZXM6IFRbXSwgb3B0aW9uPzogeyBlbWl0RXZlbnQ6IGJvb2xlYW4gfSk6IGJvb2xlYW4gfCB2b2lkIHtcbiAgICAgICAgdGhpcy5fdmVyaWZ5VmFsdWVBc3NpZ25tZW50KHZhbHVlcyk7XG4gICAgICAgIHZhbHVlcy5mb3JFYWNoKHZhbHVlID0+IHRoaXMuX3VubWFya1NlbGVjdGVkKHZhbHVlKSk7XG4gICAgICAgIGNvbnN0IGNoYW5nZWQgPSB0aGlzLl9oYXNRdWV1ZWRDaGFuZ2VzKCk7XG4gICAgICAgIGlmICghb3B0aW9uIHx8IG9wdGlvbj8uZW1pdEV2ZW50KSB7XG4gICAgICAgICAgICB0aGlzLl9lbWl0Q2hhbmdlRXZlbnQoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuX3NlbGVjdGVkID0gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gY2hhbmdlZDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZXRzIHRoZSBzZWxlY3RlZCB2YWx1ZXNcbiAgICAgKiBAcGFyYW0gdmFsdWVzIFRoZSBuZXcgc2VsZWN0ZWQgdmFsdWVzXG4gICAgICogQHJldHVybiBXaGV0aGVyIHRoZSBzZWxlY3Rpb24gY2hhbmdlZCBhcyBhIHJlc3VsdCBvZiB0aGlzIGNhbGxcbiAgICAgKiBAYnJlYWtpbmctY2hhbmdlIDE2LjAuMCBtYWtlIHJldHVybiB0eXBlIGJvb2xlYW5cbiAgICAgKi9cbiAgICBzZXRTZWxlY3Rpb24odmFsdWVzOiBUW10sIG9wdGlvbj86IHsgZW1pdEV2ZW50OiBib29sZWFuIH0pOiBib29sZWFuIHwgdm9pZCB7XG4gICAgICAgIHRoaXMuX3ZlcmlmeVZhbHVlQXNzaWdubWVudCh2YWx1ZXMpO1xuICAgICAgICBjb25zdCBvbGRWYWx1ZXMgPSB0aGlzLnNlbGVjdGVkO1xuICAgICAgICBjb25zdCBuZXdTZWxlY3RlZFNldCA9IG5ldyBTZXQodmFsdWVzLm1hcCgodmFsdWUpID0+IHRoaXMuX2dldENvbmNyZXRlVmFsdWUodmFsdWUpKSk7XG4gICAgICAgIHZhbHVlcy5mb3JFYWNoKHZhbHVlID0+IHRoaXMuX21hcmtTZWxlY3RlZCh2YWx1ZSkpO1xuXG4gICAgICAgIG9sZFZhbHVlc1xuICAgICAgICAgICAgLmZpbHRlcih2YWx1ZSA9PiAhbmV3U2VsZWN0ZWRTZXQuaGFzKHZhbHVlKSlcbiAgICAgICAgICAgIC5mb3JFYWNoKHZhbHVlID0+IHRoaXMuX3VubWFya1NlbGVjdGVkKHZhbHVlKSk7XG4gICAgICAgIGNvbnN0IGNoYW5nZWQgPSB0aGlzLl9oYXNRdWV1ZWRDaGFuZ2VzKCk7XG4gICAgICAgIGlmICghb3B0aW9uIHx8IG9wdGlvbj8uZW1pdEV2ZW50KSB7XG4gICAgICAgICAgICB0aGlzLl9lbWl0Q2hhbmdlRXZlbnQoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuX3NlbGVjdGVkID0gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gY2hhbmdlZDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUb2dnbGVzIGEgdmFsdWUgYmV0d2VlbiBzZWxlY3RlZCBhbmQgZGVzZWxlY3RlZC5cbiAgICAgKiBAcGFyYW0gdmFsdWUgVGhlIHZhbHVlIHRvIHRvZ2dsZVxuICAgICAqIEByZXR1cm4gV2hldGhlciB0aGUgc2VsZWN0aW9uIGNoYW5nZWQgYXMgYSByZXN1bHQgb2YgdGhpcyBjYWxsXG4gICAgICogQGJyZWFraW5nLWNoYW5nZSAxNi4wLjAgbWFrZSByZXR1cm4gdHlwZSBib29sZWFuXG4gICAgICovXG4gICAgdG9nZ2xlKHZhbHVlOiBUKTogYm9vbGVhbiB8IHZvaWQge1xuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmlzU2VsZWN0ZWQodmFsdWUpID8gdGhpcy5kZXNlbGVjdCh2YWx1ZSkgOiB0aGlzLnNlbGVjdCh2YWx1ZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5pc1NlbGVjdGVkKHZhbHVlKSA/IHRoaXMuZGVzZWxlY3QoW3ZhbHVlXSkgOiB0aGlzLnNlbGVjdChbdmFsdWVdKTtcbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2xlYXJzIGFsbCBvZiB0aGUgc2VsZWN0ZWQgdmFsdWVzLlxuICAgICAqIEBwYXJhbSBmbHVzaEV2ZW50IFdoZXRoZXIgdG8gZmx1c2ggdGhlIGNoYW5nZXMgaW4gYW4gZXZlbnQuXG4gICAgICogICBJZiBmYWxzZSwgdGhlIGNoYW5nZXMgdG8gdGhlIHNlbGVjdGlvbiB3aWxsIGJlIGZsdXNoZWQgYWxvbmcgd2l0aCB0aGUgbmV4dCBldmVudC5cbiAgICAgKiBAcmV0dXJuIFdoZXRoZXIgdGhlIHNlbGVjdGlvbiBjaGFuZ2VkIGFzIGEgcmVzdWx0IG9mIHRoaXMgY2FsbFxuICAgICAqIEBicmVha2luZy1jaGFuZ2UgMTYuMC4wIG1ha2UgcmV0dXJuIHR5cGUgYm9vbGVhblxuICAgICAqL1xuICAgIGNsZWFyKGZsdXNoRXZlbnQgPSB0cnVlKTogYm9vbGVhbiB8IHZvaWQge1xuICAgICAgICB0aGlzLl91bm1hcmtBbGwoKTtcbiAgICAgICAgY29uc3QgY2hhbmdlZCA9IHRoaXMuX2hhc1F1ZXVlZENoYW5nZXMoKTtcbiAgICAgICAgaWYgKGZsdXNoRXZlbnQpIHtcbiAgICAgICAgICAgIHRoaXMuX2VtaXRDaGFuZ2VFdmVudCgpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBjaGFuZ2VkO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIERldGVybWluZXMgd2hldGhlciBhIHZhbHVlIGlzIHNlbGVjdGVkLlxuICAgICAqL1xuICAgIGlzU2VsZWN0ZWQodmFsdWU6IFQpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3NlbGVjdGlvbi5oYXModGhpcy5fZ2V0Q29uY3JldGVWYWx1ZSh2YWx1ZSkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIERldGVybWluZXMgd2hldGhlciB0aGUgbW9kZWwgZG9lcyBub3QgaGF2ZSBhIHZhbHVlLlxuICAgICAqL1xuICAgIGlzRW1wdHkoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9zZWxlY3Rpb24uc2l6ZSA9PT0gMDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBEZXRlcm1pbmVzIHdoZXRoZXIgdGhlIG1vZGVsIGhhcyBhIHZhbHVlLlxuICAgICAqL1xuICAgIGhhc1ZhbHVlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gIXRoaXMuaXNFbXB0eSgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNvcnRzIHRoZSBzZWxlY3RlZCB2YWx1ZXMgYmFzZWQgb24gYSBwcmVkaWNhdGUgZnVuY3Rpb24uXG4gICAgICovXG4gICAgc29ydChwcmVkaWNhdGU/OiAoYTogVCwgYjogVCkgPT4gbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLl9tdWx0aXBsZSAmJiB0aGlzLnNlbGVjdGVkKSB7XG4gICAgICAgICAgICB0aGlzLl9zZWxlY3RlZCEuc29ydChwcmVkaWNhdGUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyB3aGV0aGVyIG11bHRpcGxlIHZhbHVlcyBjYW4gYmUgc2VsZWN0ZWQuXG4gICAgICovXG4gICAgaXNNdWx0aXBsZVNlbGVjdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX211bHRpcGxlO1xuICAgIH1cblxuICAgIC8qKiBFbWl0cyBhIGNoYW5nZSBldmVudCBhbmQgY2xlYXJzIHRoZSByZWNvcmRzIG9mIHNlbGVjdGVkIGFuZCBkZXNlbGVjdGVkIHZhbHVlcy4gKi9cbiAgICBwcml2YXRlIF9lbWl0Q2hhbmdlRXZlbnQoKSB7XG4gICAgICAgIC8vIENsZWFyIHRoZSBzZWxlY3RlZCB2YWx1ZXMgc28gdGhleSBjYW4gYmUgcmUtY2FjaGVkLlxuICAgICAgICB0aGlzLl9zZWxlY3RlZCA9IG51bGw7XG5cbiAgICAgICAgaWYgKHRoaXMuX3NlbGVjdGVkVG9FbWl0Lmxlbmd0aCB8fCB0aGlzLl9kZXNlbGVjdGVkVG9FbWl0Lmxlbmd0aCkge1xuICAgICAgICAgICAgdGhpcy5jaGFuZ2VkLm5leHQoe1xuICAgICAgICAgICAgICAgIHNvdXJjZTogdGhpcyxcbiAgICAgICAgICAgICAgICBhZGRlZDogdGhpcy5fc2VsZWN0ZWRUb0VtaXQsXG4gICAgICAgICAgICAgICAgcmVtb3ZlZDogdGhpcy5fZGVzZWxlY3RlZFRvRW1pdCxcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICB0aGlzLl9kZXNlbGVjdGVkVG9FbWl0ID0gW107XG4gICAgICAgICAgICB0aGlzLl9zZWxlY3RlZFRvRW1pdCA9IFtdO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIFNlbGVjdHMgYSB2YWx1ZS4gKi9cbiAgICBwcml2YXRlIF9tYXJrU2VsZWN0ZWQodmFsdWU6IFQpIHtcbiAgICAgICAgdmFsdWUgPSB0aGlzLl9nZXRDb25jcmV0ZVZhbHVlKHZhbHVlKTtcbiAgICAgICAgaWYgKCF0aGlzLmlzU2VsZWN0ZWQodmFsdWUpKSB7XG4gICAgICAgICAgICBpZiAoIXRoaXMuX211bHRpcGxlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fdW5tYXJrQWxsKCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICghdGhpcy5pc1NlbGVjdGVkKHZhbHVlKSkge1xuICAgICAgICAgICAgICAgIHRoaXMuX3NlbGVjdGlvbi5hZGQodmFsdWUpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAodGhpcy5fZW1pdENoYW5nZXMpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9zZWxlY3RlZFRvRW1pdC5wdXNoKHZhbHVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBEZXNlbGVjdHMgYSB2YWx1ZS4gKi9cbiAgICBwcml2YXRlIF91bm1hcmtTZWxlY3RlZCh2YWx1ZTogVCkge1xuICAgICAgICB2YWx1ZSA9IHRoaXMuX2dldENvbmNyZXRlVmFsdWUodmFsdWUpO1xuICAgICAgICBpZiAodGhpcy5pc1NlbGVjdGVkKHZhbHVlKSkge1xuICAgICAgICAgICAgdGhpcy5fc2VsZWN0aW9uLmRlbGV0ZSh2YWx1ZSk7XG5cbiAgICAgICAgICAgIGlmICh0aGlzLl9lbWl0Q2hhbmdlcykge1xuICAgICAgICAgICAgICAgIHRoaXMuX2Rlc2VsZWN0ZWRUb0VtaXQucHVzaCh2YWx1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQ2xlYXJzIG91dCB0aGUgc2VsZWN0ZWQgdmFsdWVzLiAqL1xuICAgIHByaXZhdGUgX3VubWFya0FsbCgpIHtcbiAgICAgICAgaWYgKCF0aGlzLmlzRW1wdHkoKSkge1xuICAgICAgICAgICAgdGhpcy5fc2VsZWN0aW9uLmZvckVhY2godmFsdWUgPT4gdGhpcy5fdW5tYXJrU2VsZWN0ZWQodmFsdWUpKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFZlcmlmaWVzIHRoZSB2YWx1ZSBhc3NpZ25tZW50IGFuZCB0aHJvd3MgYW4gZXJyb3IgaWYgdGhlIHNwZWNpZmllZCB2YWx1ZSBhcnJheSBpc1xuICAgICAqIGluY2x1ZGluZyBtdWx0aXBsZSB2YWx1ZXMgd2hpbGUgdGhlIHNlbGVjdGlvbiBtb2RlbCBpcyBub3Qgc3VwcG9ydGluZyBtdWx0aXBsZSB2YWx1ZXMuXG4gICAgICovXG4gICAgcHJpdmF0ZSBfdmVyaWZ5VmFsdWVBc3NpZ25tZW50KHZhbHVlczogVFtdKSB7XG4gICAgICAgIGlmICh2YWx1ZXMubGVuZ3RoID4gMSAmJiAhdGhpcy5fbXVsdGlwbGUpIHtcbiAgICAgICAgICAgIHRocm93IGdldE11bHRpcGxlVmFsdWVzSW5TaW5nbGVTZWxlY3Rpb25FcnJvcigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIFdoZXRoZXIgdGhlcmUgYXJlIHF1ZXVlZCB1cCBjaGFuZ2UgdG8gYmUgZW1pdHRlZC4gKi9cbiAgICBwcml2YXRlIF9oYXNRdWV1ZWRDaGFuZ2VzKCkge1xuICAgICAgICByZXR1cm4gISEodGhpcy5fZGVzZWxlY3RlZFRvRW1pdC5sZW5ndGggfHwgdGhpcy5fc2VsZWN0ZWRUb0VtaXQubGVuZ3RoKTtcbiAgICB9XG5cbiAgICAvKiogUmV0dXJucyBhIHZhbHVlIHRoYXQgaXMgY29tcGFyYWJsZSB0byBpbnB1dFZhbHVlIGJ5IGFwcGx5aW5nIGNvbXBhcmVXaXRoIGZ1bmN0aW9uLCByZXR1cm5zIHRoZSBzYW1lIGlucHV0VmFsdWUgb3RoZXJ3aXNlLiAqL1xuICAgIHByaXZhdGUgX2dldENvbmNyZXRlVmFsdWUoaW5wdXRWYWx1ZTogVCk6IFQge1xuICAgICAgICBpZiAoIXRoaXMuY29tcGFyZVdpdGgpIHtcbiAgICAgICAgICAgIHJldHVybiBpbnB1dFZhbHVlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZm9yIChsZXQgc2VsZWN0ZWRWYWx1ZSBvZiB0aGlzLl9zZWxlY3Rpb24pIHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5jb21wYXJlV2l0aCEoaW5wdXRWYWx1ZSwgc2VsZWN0ZWRWYWx1ZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNlbGVjdGVkVmFsdWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIGlucHV0VmFsdWU7XG4gICAgICAgIH1cbiAgICB9XG59Il19
|
package/esm2022/public-api.mjs
CHANGED
|
@@ -47,6 +47,7 @@ export * from './lib/fields/date-time.component';
|
|
|
47
47
|
export * from './lib/fields/button-fab.component';
|
|
48
48
|
export * from './lib/fields/button-mini-fab.component';
|
|
49
49
|
export * from './lib/fields/button-icon.component';
|
|
50
|
+
export * from './lib/fields/selection-list.search.component';
|
|
50
51
|
/**ENUMS */
|
|
51
52
|
export * from './lib/enums/type.enum';
|
|
52
53
|
export * from './lib/enums/button-attribute.enum';
|
|
@@ -76,4 +77,4 @@ export * from './lib/controls/control.interface';
|
|
|
76
77
|
export * from './lib/controls/default.control';
|
|
77
78
|
export * from './lib/controls/group.control';
|
|
78
79
|
export * from './lib/controls/range.control';
|
|
79
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
80
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2tsZXMtbWF0ZXJpYWwtZHluYW1pY2Zvcm1zL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyx5Q0FBeUMsQ0FBQztBQUV4RCxlQUFlO0FBQ2YsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLDZDQUE2QyxDQUFDO0FBRTVELFNBQVM7QUFDVCxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyx3Q0FBd0MsQ0FBQztBQUN2RCxjQUFjLDJDQUEyQyxDQUFDO0FBRTFELFlBQVk7QUFDWixjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsb0NBQW9DLENBQUM7QUFDbkQsY0FBYywyQ0FBMkMsQ0FBQztBQUMxRCxjQUFjLHdDQUF3QyxDQUFDO0FBQ3ZELGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLHdDQUF3QyxDQUFDO0FBQ3ZELGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxjQUFjLDRDQUE0QyxDQUFDO0FBQzNELGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLDhDQUE4QyxDQUFDO0FBRTdELFdBQVc7QUFDWCxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsbUNBQW1DLENBQUM7QUFFbEQsZ0JBQWdCO0FBQ2hCLGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxjQUFjLDBDQUEwQyxDQUFDO0FBRXpELGFBQWE7QUFDYixjQUFjLGtDQUFrQyxDQUFDO0FBRWpELGdCQUFnQjtBQUNoQixjQUFjLHlDQUF5QyxDQUFDO0FBRXhELFVBQVU7QUFDVixjQUFjLDhCQUE4QixDQUFDO0FBRTdDLFdBQVc7QUFDWCxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsMkJBQTJCLENBQUM7QUFFMUMsZ0JBQWdCO0FBQ2hCLGNBQWMsc0NBQXNDLENBQUM7QUFFckQsZUFBZTtBQUNmLGNBQWMsK0JBQStCLENBQUM7QUFFOUMsY0FBYztBQUNkLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyw4QkFBOEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2Yga2xlcy1tYXRlcmlhbC1keW5hbWljZm9ybXNcbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9rbGVzLW1hdGVyaWFsLWR5bmFtaWNmb3Jtcy5tb2R1bGUnO1xuXG4vKipESVJFQ1RJVkUgKi9cbmV4cG9ydCAqIGZyb20gJy4vbGliL2RpcmVjdGl2ZS9keW5hbWljLWZpZWxkLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaXJlY3RpdmUvZHluYW1pYy1jb21wb25lbnQuZGlyZWN0aXZlJztcblxuLypGT1JNUyovXG5leHBvcnQgKiBmcm9tICcuL2xpYi9mb3Jtcy9idXR0b24tY29udHJvbC1iYXNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Zvcm1zL2J1dHRvbi1jb250cm9sLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9mb3Jtcy9idXR0b25jaGVja2VyLWNvbnRyb2wuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Zvcm1zL2J1dHRvbmZpbGUtY29udHJvbC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZm9ybXMvZmFiLWNvbnRyb2wuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Zvcm1zL21pbmktZmFiLWNvbnRyb2wuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Zvcm1zL2ljb24tYnV0dG9uLWNvbnRyb2wuY29tcG9uZW50JztcblxuLyoqRklFTERTICovXG5leHBvcnQgKiBmcm9tICcuL2xpYi9maWVsZHMvYmFkZ2UuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ZpZWxkcy9idXR0b24tZm9ybS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZmllbGRzL2J1dHRvbmNoZWNrZXItZm9ybS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZmllbGRzL2J1dHRvbmZpbGUtZm9ybS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZmllbGRzL2NoZWNrYm94LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9maWVsZHMvY29sb3IuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ZpZWxkcy9kYXRlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9maWVsZHMvZmllbGQuYWJzdHJhY3QnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZmllbGRzL2lucHV0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9maWVsZHMvaW5wdXQuY2xlYXJhYmxlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9maWVsZHMvbGFiZWwuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ZpZWxkcy9saXN0LWZpZWxkLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9maWVsZHMvcmFkaW8uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ZpZWxkcy9zZWxlY3QuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ZpZWxkcy90ZXh0YXJlYS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZmllbGRzL3RleHQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ZpZWxkcy9jaGlwLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9maWVsZHMvZ3JvdXAuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ZpZWxkcy9pY29uLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9maWVsZHMvc2VsZWN0LnNlYXJjaC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZmllbGRzL2xpbmUtYnJlYWsuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ZpZWxkcy9saW5rLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9maWVsZHMvc2xpZGUtdG9nZ2xlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9maWVsZHMvc2VsZWN0aW9uLWxpc3QuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ZpZWxkcy9idXR0b24tdG9vZ2xlLWdyb3VwLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9maWVsZHMvYXJyYXkuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ZpZWxkcy9yYW5nZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZmllbGRzL2NsZWFyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9maWVsZHMvc2VsZWN0Lmxhenktc2VhcmNoLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9maWVsZHMvZGF0ZS10aW1lLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9maWVsZHMvYnV0dG9uLWZhYi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZmllbGRzL2J1dHRvbi1taW5pLWZhYi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZmllbGRzL2J1dHRvbi1pY29uLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9maWVsZHMvc2VsZWN0aW9uLWxpc3Quc2VhcmNoLmNvbXBvbmVudCc7XG5cbi8qKkVOVU1TICovXG5leHBvcnQgKiBmcm9tICcuL2xpYi9lbnVtcy90eXBlLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZW51bXMvYnV0dG9uLWF0dHJpYnV0ZS5lbnVtJztcblxuLyoqSU5URVJGQUNFUyAqL1xuZXhwb3J0ICogZnJvbSAnLi9saWIvaW50ZXJmYWNlcy9jb21wb25lbnQuaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ludGVyZmFjZXMvZmllbGQuaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ludGVyZmFjZXMvZmllbGQuY29uZmlnLmludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9pbnRlcmZhY2VzL3ZhbGlkYXRvci5pbnRlcmZhY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvaW50ZXJmYWNlcy9kaXJlY3RpdmUuaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ludGVyZmFjZXMvY2xlYXItY29udHJvbC5pbnRlcmZhY2UnO1xuXG4vKipNQVRDSEVSICovXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tYXRjaGVyL2Zvcm0tZXJyb3IubWF0Y2hlcic7XG5cbi8qKlZBTElEQVRPUlMgKi9cbmV4cG9ydCAqIGZyb20gJy4vbGliL3ZhbGlkYXRvcnMvYXV0b2NvbXBsZXRlLnZhbGlkYXRvcic7XG5cbi8qKkZPUk0gKi9cbmV4cG9ydCAqIGZyb20gJy4vbGliL2R5bmFtaWMtZm9ybS5jb21wb25lbnQnO1xuXG4vKipQSVBFUyAqL1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcGlwZS9hcnJheS5waXBlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3BpcGUvdHJhbnNmb3JtLnBpcGUnO1xuXG4vKipERUNPUkFUT1JTICovXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kZWNvcmF0b3JzL2NvbXBvbmVudC5kZWNvcmF0b3InO1xuXG4vKipGQUNUT1JJRVMgKi9cbmV4cG9ydCAqIGZyb20gJy4vbGliL2ZhY3Rvcmllcy9maWVsZC5mYWN0b3J5JztcblxuLyoqQ09OVFJPTFMgKi9cbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbnRyb2xzL2FycmF5LmNvbnRyb2wnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29udHJvbHMvY29udHJvbC5pbnRlcmZhY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29udHJvbHMvZGVmYXVsdC5jb250cm9sJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbnRyb2xzL2dyb3VwLmNvbnRyb2wnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29udHJvbHMvcmFuZ2UuY29udHJvbCc7XG4iXX0=
|