@colijnit/corecomponents_v12 12.1.1 → 12.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/colijnit-corecomponents_v12.umd.js +104 -41
- package/bundles/colijnit-corecomponents_v12.umd.js.map +1 -1
- package/colijnit-corecomponents_v12.metadata.json +1 -1
- package/esm2015/lib/components/co-dialog/co-dialog.component.js +2 -2
- package/esm2015/lib/components/input-date-range-picker/input-date-range-picker.component.js +6 -1
- package/esm2015/lib/components/input-number-picker/input-number-picker.component.js +6 -2
- package/esm2015/lib/components/list-of-values/list-of-values-popup.component.js +75 -34
- package/esm2015/lib/components/list-of-values/list-of-values.component.js +25 -9
- package/fesm2015/colijnit-corecomponents_v12.js +108 -43
- package/fesm2015/colijnit-corecomponents_v12.js.map +1 -1
- package/lib/components/co-dialog/style/_layout.scss +28 -11
- package/lib/components/co-dialog/style/_material-definition.scss +4 -1
- package/lib/components/input-date-range-picker/input-date-range-picker.component.d.ts +1 -0
- package/lib/components/input-number-picker/input-number-picker.component.d.ts +1 -0
- package/lib/components/list-of-values/list-of-values-popup.component.d.ts +6 -5
- package/lib/components/list-of-values/list-of-values.component.d.ts +1 -0
- package/lib/components/list-of-values/style/_layout.scss +12 -3
- package/lib/components/simple-grid/style/_layout.scss +4 -0
- package/lib/components/simple-grid/style/_material-definition.scss +1 -0
- package/package.json +1 -1
|
@@ -40,6 +40,7 @@ export class ListOfValuesComponent extends BaseInputComponent {
|
|
|
40
40
|
if (this._lovPopupComponentRef) {
|
|
41
41
|
this._lovPopupComponentRef.instance.searchTerm = model;
|
|
42
42
|
}
|
|
43
|
+
this.selectedModel = model;
|
|
43
44
|
}
|
|
44
45
|
handleInputKeyDown(event) {
|
|
45
46
|
if (event) {
|
|
@@ -53,13 +54,13 @@ export class ListOfValuesComponent extends BaseInputComponent {
|
|
|
53
54
|
this._lovPopupComponentRef.instance.selectNextOption();
|
|
54
55
|
return false;
|
|
55
56
|
case KeyboardKey.Up:
|
|
56
|
-
this._lovPopupComponentRef.instance.
|
|
57
|
+
this._lovPopupComponentRef.instance.selectNextOption(true);
|
|
57
58
|
return false;
|
|
58
59
|
case KeyboardKey.Enter:
|
|
59
|
-
this._lovPopupComponentRef.instance.
|
|
60
|
+
this._lovPopupComponentRef.instance.selectOptionAndClosePopup();
|
|
60
61
|
return false;
|
|
61
62
|
case KeyboardKey.Tab:
|
|
62
|
-
this._lovPopupComponentRef.instance.
|
|
63
|
+
this._lovPopupComponentRef.instance.selectOptionAndClosePopup();
|
|
63
64
|
}
|
|
64
65
|
}
|
|
65
66
|
}
|
|
@@ -107,11 +108,13 @@ export class ListOfValuesComponent extends BaseInputComponent {
|
|
|
107
108
|
}
|
|
108
109
|
}
|
|
109
110
|
optionChosen(option) {
|
|
110
|
-
if (
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
111
|
+
if (option) {
|
|
112
|
+
if (this.multiselect) {
|
|
113
|
+
this.selectedModels = option.map(o => o[this.displayField]);
|
|
114
|
+
}
|
|
115
|
+
else {
|
|
116
|
+
this.selectedModel = option[this.displayField];
|
|
117
|
+
}
|
|
115
118
|
}
|
|
116
119
|
this.model = option;
|
|
117
120
|
this.modelChange.emit(this.model);
|
|
@@ -122,6 +125,18 @@ export class ListOfValuesComponent extends BaseInputComponent {
|
|
|
122
125
|
this._lovPopupComponentRef = undefined;
|
|
123
126
|
this.focused = false;
|
|
124
127
|
}
|
|
128
|
+
checkModel() {
|
|
129
|
+
if (!this.multiselect && this.selectedModel && this.collection) {
|
|
130
|
+
const model = this.collection.find(c => c[this.displayField] === this.selectedModel);
|
|
131
|
+
if (model) {
|
|
132
|
+
this.model = model;
|
|
133
|
+
}
|
|
134
|
+
else {
|
|
135
|
+
this.model = undefined;
|
|
136
|
+
}
|
|
137
|
+
this.modelChange.emit(this.model);
|
|
138
|
+
}
|
|
139
|
+
}
|
|
125
140
|
_setSelectedModel() {
|
|
126
141
|
if (this.multiselect) {
|
|
127
142
|
if (this.model) {
|
|
@@ -167,6 +182,7 @@ ListOfValuesComponent.decorators = [
|
|
|
167
182
|
(rightIconClick)="toggleSelect()"
|
|
168
183
|
(keydown)="handleInputKeyDown($event)"
|
|
169
184
|
(clearIconClick)="clearModel($event)"
|
|
185
|
+
(blur)="checkModel()"
|
|
170
186
|
>
|
|
171
187
|
</co-input-text>
|
|
172
188
|
<ng-container *ngIf="multiselect">
|
|
@@ -197,4 +213,4 @@ ListOfValuesComponent.propDecorators = {
|
|
|
197
213
|
searchDisabled: [{ type: Input }],
|
|
198
214
|
showClass: [{ type: HostBinding, args: ['class.co-list-of-values',] }]
|
|
199
215
|
};
|
|
200
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1vZi12YWx1ZXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2xpc3Qtb2YtdmFsdWVzL2xpc3Qtb2YtdmFsdWVzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFnQixVQUFVLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBVSxTQUFTLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDNUgsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDaEUsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sMkNBQTJDLENBQUM7QUFDN0UsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBQzdELE9BQU8sRUFBQywwQkFBMEIsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBQzVFLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQXlDOUQsTUFBTSxPQUFPLHFCQUFzQixTQUFRLGtCQUF1QjtJQXRDbEU7O1FBdUNvQixVQUFLLEdBQThCLGtCQUFrQixDQUFDO1FBa0IvRCxnQkFBVyxHQUFZLEtBQUssQ0FBQztRQUc3QixpQkFBWSxHQUFXLGFBQWEsQ0FBQztRQXdCckMsbUJBQWMsR0FBWSxLQUFLLENBQUM7UUFPaEMsaUJBQVksR0FBWSxLQUFLLENBQUM7UUFDOUIsVUFBSyxHQUFXLFNBQVMsQ0FBQztRQUUxQixtQkFBYyxHQUFhLEVBQUUsQ0FBQztRQUU3QixnQkFBVyxHQUFVLEVBQUUsQ0FBQztJQXdIcEMsQ0FBQztJQS9LRyxJQUNXLEtBQUssQ0FBQyxLQUFVO1FBQ3ZCLEtBQUssQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO0lBQzdCLENB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QixDQUFDLElBQUk7YUFDeEM7OztvQkFJSSxLQUFLOytCQVVMLFNBQVMsU0FBQyxrQkFBa0IsRUFBRSxFQUFDLElBQUksRUFBRSxVQUFVLEVBQUM7MEJBR2hELFdBQVcsU0FBQyxxQkFBcUIsY0FDakMsV0FBVyxTQUFDLG9CQUFvQixjQUNoQyxLQUFLOzJCQUdMLEtBQUs7eUJBR0wsS0FBSzsyQkFTTCxLQUFLO2dDQUdMLEtBQUs7b0JBR0wsS0FBSzs2QkFHTCxLQUFLOzZCQUdMLEtBQUs7d0JBR0wsV0FBVyxTQUFDLHlCQUF5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBDb21wb25lbnRSZWYsIEVsZW1lbnRSZWYsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT25Jbml0LCBWaWV3Q2hpbGQsIFZpZXdFbmNhcHN1bGF0aW9ufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtCYXNlSW5wdXRDb21wb25lbnR9IGZyb20gJy4uL2Jhc2UvYmFzZS1pbnB1dC5jb21wb25lbnQnO1xyXG5pbXBvcnQge0NvcmVDb21wb25lbnRzSWNvbn0gZnJvbSAnLi4vLi4vY29yZS9lbnVtL2NvcmUtY29tcG9uZW50cy1pY29uLmVudW0nO1xyXG5pbXBvcnQge092ZXJsYXlTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlL292ZXJsYXkuc2VydmljZSc7XHJcbmltcG9ydCB7TGlzdE9mVmFsdWVzUG9wdXBDb21wb25lbnR9IGZyb20gJy4vbGlzdC1vZi12YWx1ZXMtcG9wdXAuY29tcG9uZW50JztcclxuaW1wb3J0IHtLZXlib2FyZEtleX0gZnJvbSAnLi4vLi4vY29yZS9lbnVtL2tleWJvYXJkLWtleS5lbnVtJztcclxuaW1wb3J0IHtTYWZlSHRtbH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnY28tbGlzdC1vZi12YWx1ZXMnLFxyXG4gICAgdGVtcGxhdGU6IGBcclxuICAgICAgICA8Y28taW5wdXQtdGV4dCBhcmlhLWhhc3BvcHVwPVwibGlzdGJveFwiIFthdHRyLmFyaWEtZXhwYW5kZWRdPVwiaXNTZWxlY3RPcGVuXCIgYXJpYS1jb250cm9scz1cImxvdi1wb3B1cFwiIHJvbGU9XCJjb21ib2JveFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJuby1mb2N1cy1saW5lXCJcclxuICAgICAgICAgICAgICAgICAgICAgICBvdmVybGF5UGFyZW50XHJcbiAgICAgICAgICAgICAgICAgICAgICAgI3BhcmVudEZvck92ZXJsYXk9XCJvdmVybGF5UGFyZW50XCIgdHlwZT1cInRleHRcIiBbaWRdPVwibGFiZWxcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFttb2RlbF09XCJtdWx0aXNlbGVjdCA/IHNlbGVjdGVkTW9kZWxzIDogc2VsZWN0ZWRNb2RlbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cImxhYmVsXCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbcmVhZG9ubHldPVwicmVhZG9ubHlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgW3JlcXVpcmVkXT1cInJlcXVpcmVkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbbm9DbGlja0ZvY3VzXT1cImZhbHNlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbbGVmdEljb25EYXRhXT1cImxlZnRJY29uRGF0YVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgW3JpZ2h0SWNvbl09XCJpc1NlbGVjdE9wZW4gPyBpY29ucy5DaGV2cm9uVXBSZWd1bGFyIDogaWNvbnMuQ2hldnJvbkRvd25SZWd1bGFyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbc2hvd0NsZWFyQnV0dG9uXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFt1c2VDb250ZW50XT1cIm11bHRpc2VsZWN0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAobW9kZWxDaGFuZ2UpPVwiaGFuZGxlSW5wdXRNb2RlbENoYW5nZSgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib3BlblBvcHVwKClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIChyaWdodEljb25DbGljayk9XCJ0b2dnbGVTZWxlY3QoKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgKGtleWRvd24pPVwiaGFuZGxlSW5wdXRLZXlEb3duKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIChjbGVhckljb25DbGljayk9XCJjbGVhck1vZGVsKCRldmVudClcIlxyXG4gICAgICAgID5cclxuICAgICAgICA8L2NvLWlucHV0LXRleHQ+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm11bHRpc2VsZWN0XCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtdWx0aXNlbGVjdC1jaGlwcy13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hpcHNcIiAqbmdGb3I9XCJsZXQgY2hpcCBvZiBtb2RlbFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2hpcHMtZGVzY3JpcHRpb25cIiBbdGV4dENvbnRlbnRdPVwiY2hpcFtkaXNwbGF5RmllbGRdXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDxjby1pY29uIGNsYXNzPVwicmVtb3ZlLWNoaXAtaWNvblwiIFtpY29uXT1cImljb25zLkNyb3NzU2tpbm55XCIgKGNsaWNrKT1cInJlbW92ZU9wdGlvbkZyb21Nb2RlbChjaGlwKVwiPjwvY28taWNvbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIGAsXHJcbiAgICBwcm92aWRlcnM6IFtcclxuICAgICAgICBPdmVybGF5U2VydmljZVxyXG4gICAgXSxcclxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBMaXN0T2ZWYWx1ZXNDb21wb25lbnQgZXh0ZW5kcyBCYXNlSW5wdXRDb21wb25lbnQ8YW55PiBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgICBwdWJsaWMgcmVhZG9ubHkgaWNvbnM6IHR5cGVvZiBDb3JlQ29tcG9uZW50c0ljb24gPSBDb3JlQ29tcG9uZW50c0ljb247XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBzZXQgbW9kZWwodmFsdWU6IGFueSkge1xyXG4gICAgICAgIHN1cGVyLm1vZGVsID0gdmFsdWU7XHJcbiAgICAgICAgdGhpcy5fc2V0U2VsZWN0ZWRNb2RlbCgpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXQgbW9kZWwoKTogYW55IHtcclxuICAgICAgICByZXR1cm4gc3VwZXIubW9kZWw7XHJcbiAgICB9XHJcblxyXG4gICAgQFZpZXdDaGlsZCgncGFyZW50Rm9yT3ZlcmxheScsIHtyZWFkOiBFbGVtZW50UmVmfSlcclxuICAgIHB1YmxpYyBwYXJlbnRGb3JPdmVybGF5OiBFbGVtZW50UmVmO1xyXG5cclxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuY3VzdG9tLWhlaWdodCcpXHJcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLm11bHRpLXNlbGVjdCcpXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIG11bHRpc2VsZWN0OiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBkaXNwbGF5RmllbGQ6IHN0cmluZyA9ICdkZXNjcmlwdGlvbic7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBzZXQgY29sbGVjdGlvbih2YWx1ZTogYW55W10pIHtcclxuICAgICAgICB0aGlzLl9jb2xsZWN0aW9uID0gdmFsdWUgfHwgW107XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGdldCBjb2xsZWN0aW9uKCk6IGFueVtdIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fY29sbGVjdGlvbjtcclxuICAgIH1cclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGxlZnRJY29uRGF0YTogU2FmZUh0bWwgfCB1bmRlZmluZWQ7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBzZWFyY2hQbGFjZWhvbGRlcjogc3RyaW5nO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgbGFiZWw6IHN0cmluZztcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGN1c3RvbUNzc0NsYXNzOiBzdHJpbmc7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBzZWFyY2hEaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuY28tbGlzdC1vZi12YWx1ZXMnKVxyXG4gICAgcHVibGljIHNob3dDbGFzcygpIHtcclxuICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgaXNTZWxlY3RPcGVuOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBwdWJsaWMgc3RhdGU6IHN0cmluZyA9ICdkZWZhdWx0JztcclxuICAgIHB1YmxpYyBzZWxlY3RlZE1vZGVsOiBzdHJpbmc7XHJcbiAgICBwdWJsaWMgc2VsZWN0ZWRNb2RlbHM6IHN0cmluZ1tdID0gW107XHJcblxyXG4gICAgcHJpdmF0ZSBfY29sbGVjdGlvbjogYW55W10gPSBbXTtcclxuXHJcbiAgICBwcml2YXRlIF9sb3ZQb3B1cENvbXBvbmVudFJlZjogQ29tcG9uZW50UmVmPGFueT47XHJcblxyXG4gICAgbmdPbkluaXQoKSB7XHJcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcclxuICAgICAgICB0aGlzLl9zZXRTZWxlY3RlZE1vZGVsKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGhhbmRsZUlucHV0TW9kZWxDaGFuZ2UobW9kZWw6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLl9sb3ZQb3B1cENvbXBvbmVudFJlZikge1xyXG4gICAgICAgICAgICB0aGlzLl9sb3ZQb3B1cENvbXBvbmVudFJlZi5pbnN0YW5jZS5zZWFyY2hUZXJtID0gbW9kZWw7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBoYW5kbGVJbnB1dEtleURvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiBib29sZWFuIHtcclxuICAgICAgICBpZiAoZXZlbnQpIHtcclxuICAgICAgICAgICAgaWYgKGV2ZW50LmFsdEtleSAmJiBldmVudC5jb2RlID09PSBLZXlib2FyZEtleS5Eb3duICYmICF0aGlzLl9sb3ZQb3B1cENvbXBvbmVudFJlZikge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5vcGVuUG9wdXAoKTtcclxuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZiAodGhpcy5fbG92UG9wdXBDb21wb25lbnRSZWYpIHtcclxuICAgICAgICAgICAgICAgIHN3aXRjaCAoZXZlbnQuY29kZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGNhc2UgS2V5Ym9hcmRLZXkuRG93bjpcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fbG92UG9wdXBDb21wb25lbnRSZWYuaW5zdGFuY2Uuc2VsZWN0TmV4dE9wdGlvbigpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgY2FzZSBLZXlib2FyZEtleS5VcDpcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fbG92UG9wdXBDb21wb25lbnRSZWYuaW5zdGFuY2Uuc2VsZWN0UHJldmlvdXNPcHRpb24oKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgICAgIGNhc2UgS2V5Ym9hcmRLZXkuRW50ZXI6XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX2xvdlBvcHVwQ29tcG9uZW50UmVmLmluc3RhbmNlLnNlbGVjdE9wdGlvbkJ5QWN0aXZlSW5kZXgoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgICAgIGNhc2UgS2V5Ym9hcmRLZXkuVGFiOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl9sb3ZQb3B1cENvbXBvbmVudFJlZi5pbnN0YW5jZS5zZWxlY3RPcHRpb25CeUFjdGl2ZUluZGV4KCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGNsZWFyTW9kZWwoZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnNldE1vZGVsKHVuZGVmaW5lZCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHRvZ2dsZVNlbGVjdCgpOiB2b2lkIHtcclxuICAgICAgICBpZiAodGhpcy5yZWFkb25seSkge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuaXNTZWxlY3RPcGVuID0gIXRoaXMuaXNTZWxlY3RPcGVuO1xyXG4gICAgICAgIGlmICh0aGlzLmlzU2VsZWN0T3Blbikge1xyXG4gICAgICAgICAgICB0aGlzLm9wZW5Qb3B1cCgpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuY2xvc2VQb3B1cCgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLnN0YXRlID0gKHRoaXMuc3RhdGUgPT09ICdkZWZhdWx0JyA/ICdyb3RhdGVkJyA6ICdkZWZhdWx0Jyk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIG9wZW5Qb3B1cCgpOiB2b2lkIHtcclxuICAgICAgICBpZiAodGhpcy5yZWFkb25seSkge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuaXNTZWxlY3RPcGVuID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLl9sb3ZQb3B1cENvbXBvbmVudFJlZiA9IHRoaXMub3ZlcmxheVNlcnZpY2UuY3JlYXRlQ29tcG9uZW50KExpc3RPZlZhbHVlc1BvcHVwQ29tcG9uZW50LCB7XHJcbiAgICAgICAgICAgICAgICBwYXJlbnRGb3JPdmVybGF5OiB0aGlzLmVsZW1lbnRSZWYsXHJcbiAgICAgICAgICAgICAgICBjdXN0b21Dc3NDbGFzczogdGhpcy5jdXN0b21Dc3NDbGFzcyxcclxuICAgICAgICAgICAgICAgIHNlYXJjaERpc2FibGVkOiB0aGlzLnNlYXJjaERpc2FibGVkLFxyXG4gICAgICAgICAgICAgICAgc2VhcmNoUGxhY2Vob2xkZXI6IHRoaXMuc2VhcmNoUGxhY2Vob2xkZXIsXHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5RmllbGQ6IHRoaXMuZGlzcGxheUZpZWxkLFxyXG4gICAgICAgICAgICAgICAgbXVsdGlzZWxlY3Q6IHRoaXMubXVsdGlzZWxlY3QsXHJcbiAgICAgICAgICAgICAgICBtb2RlbDogdGhpcy5tb2RlbCxcclxuICAgICAgICAgICAgICAgIGNvbGxlY3Rpb246IHRoaXMuY29sbGVjdGlvblxyXG4gICAgICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgICAgICBtb2RlbENoYW5nZTogKHZhbHVlKSA9PiB0aGlzLm9wdGlvbkNob3Nlbih2YWx1ZSksXHJcbiAgICAgICAgICAgICAgICBjbG9zZVBvcHVwOiAoKSA9PiB0aGlzLmNsb3NlUG9wdXAoKVxyXG4gICAgICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgcmVtb3ZlT3B0aW9uRnJvbU1vZGVsKGNoaXA6IGFueSk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLm11bHRpc2VsZWN0KSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGlkeDogbnVtYmVyID0gdGhpcy5tb2RlbC5maW5kSW5kZXgobSA9PiBtID09PSBjaGlwKTtcclxuICAgICAgICAgICAgdGhpcy5tb2RlbC5zcGxpY2UoaWR4LCAxKTtcclxuICAgICAgICAgICAgdGhpcy5tb2RlbENoYW5nZS5lbWl0KHRoaXMubW9kZWwpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgb3B0aW9uQ2hvc2VuKG9wdGlvbjogYW55KTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMubXVsdGlzZWxlY3QpIHtcclxuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZE1vZGVscyA9IG9wdGlvbi5tYXAobyA9PiBvW3RoaXMuZGlzcGxheUZpZWxkXSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZE1vZGVsID0gb3B0aW9uW3RoaXMuZGlzcGxheUZpZWxkXTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5tb2RlbCA9IG9wdGlvbjtcclxuICAgICAgICB0aGlzLm1vZGVsQ2hhbmdlLmVtaXQodGhpcy5tb2RlbCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGNsb3NlUG9wdXAoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5pc1NlbGVjdE9wZW4gPSBmYWxzZTtcclxuICAgICAgICB0aGlzLm92ZXJsYXlTZXJ2aWNlLnJlbW92ZUNvbXBvbmVudCh0aGlzLl9sb3ZQb3B1cENvbXBvbmVudFJlZik7XHJcbiAgICAgICAgdGhpcy5fbG92UG9wdXBDb21wb25lbnRSZWYgPSB1bmRlZmluZWQ7XHJcbiAgICAgICAgdGhpcy5mb2N1c2VkID0gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfc2V0U2VsZWN0ZWRNb2RlbCgpOiB2b2lkIHtcclxuICAgICAgICBpZiAodGhpcy5tdWx0aXNlbGVjdCkge1xyXG4gICAgICAgICAgICBpZiAodGhpcy5tb2RlbCkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZE1vZGVscy5sZW5ndGggPSAwO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5tb2RlbC5mb3JFYWNoKG0gPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRNb2RlbHMucHVzaChtW3RoaXMuZGlzcGxheUZpZWxkXSk7XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRNb2RlbHMubGVuZ3RoID0gMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLm1vZGVsKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkTW9kZWwgPSB0aGlzLm1vZGVsW3RoaXMuZGlzcGxheUZpZWxkXTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRNb2RlbCA9IFwiXCI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG59XHJcbiJdfQ==
|
|
216
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1vZi12YWx1ZXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2xpc3Qtb2YtdmFsdWVzL2xpc3Qtb2YtdmFsdWVzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFnQixVQUFVLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBVSxTQUFTLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDNUgsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDaEUsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sMkNBQTJDLENBQUM7QUFDN0UsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBQzdELE9BQU8sRUFBQywwQkFBMEIsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBQzVFLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQTBDOUQsTUFBTSxPQUFPLHFCQUFzQixTQUFRLGtCQUF1QjtJQXZDbEU7O1FBd0NvQixVQUFLLEdBQThCLGtCQUFrQixDQUFDO1FBa0IvRCxnQkFBVyxHQUFZLEtBQUssQ0FBQztRQUc3QixpQkFBWSxHQUFXLGFBQWEsQ0FBQztRQXdCckMsbUJBQWMsR0FBWSxLQUFLLENBQUM7UUFPaEMsaUJBQVksR0FBWSxLQUFLLENBQUM7UUFDOUIsVUFBSyxHQUFXLFNBQVMsQ0FBQztRQUUxQixtQkFBYyxHQUFhLEVBQUUsQ0FBQztRQUU3QixnQkFBVyxHQUFVLEVBQUUsQ0FBQztJQXVJcEMsQ0FBQztJQTlMRyxJQUNXLEtBQUssQ0FBQyxLQUFVO1FBQ3ZCLEtBQUssQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO0lBQzdCLENB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QUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO2dCQUNuRCxDQUFDLENBQUMsQ0FBQzthQUNOO2lCQUFNO2dCQUNILElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQzthQUNsQztTQUNKO2FBQU07WUFDSCxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUU7Z0JBQ1osSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQzthQUN0RDtpQkFBTTtnQkFDSCxJQUFJLENBQUMsYUFBYSxHQUFHLEVBQUUsQ0FBQzthQUMzQjtTQUNKO0lBQ0wsQ0FBQzs7O1lBdE9KLFNBQVMsU0FBQztnQkFDUCxRQUFRLEVBQUUsbUJBQW1CO2dCQUM3QixRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7S0ErQlQ7Z0JBQ0QsU0FBUyxFQUFFO29CQUNQLGNBQWM7aUJBQ2pCO2dCQUNELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2FBQ3hDOzs7b0JBSUksS0FBSzsrQkFVTCxTQUFTLFNBQUMsa0JBQWtCLEVBQUUsRUFBQyxJQUFJLEVBQUUsVUFBVSxFQUFDOzBCQUdoRCxXQUFXLFNBQUMscUJBQXFCLGNBQ2pDLFdBQVcsU0FBQyxvQkFBb0IsY0FDaEMsS0FBSzsyQkFHTCxLQUFLO3lCQUdMLEtBQUs7MkJBU0wsS0FBSztnQ0FHTCxLQUFLO29CQUdMLEtBQUs7NkJBR0wsS0FBSzs2QkFHTCxLQUFLO3dCQUdMLFdBQVcsU0FBQyx5QkFBeUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgQ29tcG9uZW50UmVmLCBFbGVtZW50UmVmLCBIb3N0QmluZGluZywgSW5wdXQsIE9uSW5pdCwgVmlld0NoaWxkLCBWaWV3RW5jYXBzdWxhdGlvbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7QmFzZUlucHV0Q29tcG9uZW50fSBmcm9tICcuLi9iYXNlL2Jhc2UtaW5wdXQuY29tcG9uZW50JztcclxuaW1wb3J0IHtDb3JlQ29tcG9uZW50c0ljb259IGZyb20gJy4uLy4uL2NvcmUvZW51bS9jb3JlLWNvbXBvbmVudHMtaWNvbi5lbnVtJztcclxuaW1wb3J0IHtPdmVybGF5U2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZS9vdmVybGF5LnNlcnZpY2UnO1xyXG5pbXBvcnQge0xpc3RPZlZhbHVlc1BvcHVwQ29tcG9uZW50fSBmcm9tICcuL2xpc3Qtb2YtdmFsdWVzLXBvcHVwLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7S2V5Ym9hcmRLZXl9IGZyb20gJy4uLy4uL2NvcmUvZW51bS9rZXlib2FyZC1rZXkuZW51bSc7XHJcbmltcG9ydCB7U2FmZUh0bWx9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2NvLWxpc3Qtb2YtdmFsdWVzJyxcclxuICAgIHRlbXBsYXRlOiBgXHJcbiAgICAgICAgPGNvLWlucHV0LXRleHQgYXJpYS1oYXNwb3B1cD1cImxpc3Rib3hcIiBbYXR0ci5hcmlhLWV4cGFuZGVkXT1cImlzU2VsZWN0T3BlblwiIGFyaWEtY29udHJvbHM9XCJsb3YtcG9wdXBcIiByb2xlPVwiY29tYm9ib3hcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibm8tZm9jdXMtbGluZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgb3ZlcmxheVBhcmVudFxyXG4gICAgICAgICAgICAgICAgICAgICAgICNwYXJlbnRGb3JPdmVybGF5PVwib3ZlcmxheVBhcmVudFwiIHR5cGU9XCJ0ZXh0XCIgW2lkXT1cImxhYmVsXCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbbW9kZWxdPVwibXVsdGlzZWxlY3QgPyBzZWxlY3RlZE1vZGVscyA6IHNlbGVjdGVkTW9kZWxcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJsYWJlbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFtyZXF1aXJlZF09XCJyZXF1aXJlZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgW25vQ2xpY2tGb2N1c109XCJmYWxzZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgW2xlZnRJY29uRGF0YV09XCJsZWZ0SWNvbkRhdGFcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFtyaWdodEljb25dPVwiaXNTZWxlY3RPcGVuID8gaWNvbnMuQ2hldnJvblVwUmVndWxhciA6IGljb25zLkNoZXZyb25Eb3duUmVndWxhclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgW3Nob3dDbGVhckJ1dHRvbl09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbdXNlQ29udGVudF09XCJtdWx0aXNlbGVjdFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgKG1vZGVsQ2hhbmdlKT1cImhhbmRsZUlucHV0TW9kZWxDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9wZW5Qb3B1cCgpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAocmlnaHRJY29uQ2xpY2spPVwidG9nZ2xlU2VsZWN0KClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIChrZXlkb3duKT1cImhhbmRsZUlucHV0S2V5RG93bigkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAoY2xlYXJJY29uQ2xpY2spPVwiY2xlYXJNb2RlbCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAoYmx1cik9XCJjaGVja01vZGVsKClcIlxyXG4gICAgICAgID5cclxuICAgICAgICA8L2NvLWlucHV0LXRleHQ+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm11bHRpc2VsZWN0XCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtdWx0aXNlbGVjdC1jaGlwcy13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hpcHNcIiAqbmdGb3I9XCJsZXQgY2hpcCBvZiBtb2RlbFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2hpcHMtZGVzY3JpcHRpb25cIiBbdGV4dENvbnRlbnRdPVwiY2hpcFtkaXNwbGF5RmllbGRdXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDxjby1pY29uIGNsYXNzPVwicmVtb3ZlLWNoaXAtaWNvblwiIFtpY29uXT1cImljb25zLkNyb3NzU2tpbm55XCIgKGNsaWNrKT1cInJlbW92ZU9wdGlvbkZyb21Nb2RlbChjaGlwKVwiPjwvY28taWNvbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIGAsXHJcbiAgICBwcm92aWRlcnM6IFtcclxuICAgICAgICBPdmVybGF5U2VydmljZVxyXG4gICAgXSxcclxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBMaXN0T2ZWYWx1ZXNDb21wb25lbnQgZXh0ZW5kcyBCYXNlSW5wdXRDb21wb25lbnQ8YW55PiBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgICBwdWJsaWMgcmVhZG9ubHkgaWNvbnM6IHR5cGVvZiBDb3JlQ29tcG9uZW50c0ljb24gPSBDb3JlQ29tcG9uZW50c0ljb247XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBzZXQgbW9kZWwodmFsdWU6IGFueSkge1xyXG4gICAgICAgIHN1cGVyLm1vZGVsID0gdmFsdWU7XHJcbiAgICAgICAgdGhpcy5fc2V0U2VsZWN0ZWRNb2RlbCgpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXQgbW9kZWwoKTogYW55IHtcclxuICAgICAgICByZXR1cm4gc3VwZXIubW9kZWw7XHJcbiAgICB9XHJcblxyXG4gICAgQFZpZXdDaGlsZCgncGFyZW50Rm9yT3ZlcmxheScsIHtyZWFkOiBFbGVtZW50UmVmfSlcclxuICAgIHB1YmxpYyBwYXJlbnRGb3JPdmVybGF5OiBFbGVtZW50UmVmO1xyXG5cclxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuY3VzdG9tLWhlaWdodCcpXHJcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLm11bHRpLXNlbGVjdCcpXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIG11bHRpc2VsZWN0OiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBkaXNwbGF5RmllbGQ6IHN0cmluZyA9ICdkZXNjcmlwdGlvbic7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBzZXQgY29sbGVjdGlvbih2YWx1ZTogYW55W10pIHtcclxuICAgICAgICB0aGlzLl9jb2xsZWN0aW9uID0gdmFsdWUgfHwgW107XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGdldCBjb2xsZWN0aW9uKCk6IGFueVtdIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fY29sbGVjdGlvbjtcclxuICAgIH1cclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGxlZnRJY29uRGF0YTogU2FmZUh0bWwgfCB1bmRlZmluZWQ7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBzZWFyY2hQbGFjZWhvbGRlcjogc3RyaW5nO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgbGFiZWw6IHN0cmluZztcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGN1c3RvbUNzc0NsYXNzOiBzdHJpbmc7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBzZWFyY2hEaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuY28tbGlzdC1vZi12YWx1ZXMnKVxyXG4gICAgcHVibGljIHNob3dDbGFzcygpIHtcclxuICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgaXNTZWxlY3RPcGVuOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBwdWJsaWMgc3RhdGU6IHN0cmluZyA9ICdkZWZhdWx0JztcclxuICAgIHB1YmxpYyBzZWxlY3RlZE1vZGVsOiBzdHJpbmc7XHJcbiAgICBwdWJsaWMgc2VsZWN0ZWRNb2RlbHM6IHN0cmluZ1tdID0gW107XHJcblxyXG4gICAgcHJpdmF0ZSBfY29sbGVjdGlvbjogYW55W10gPSBbXTtcclxuXHJcbiAgICBwcml2YXRlIF9sb3ZQb3B1cENvbXBvbmVudFJlZjogQ29tcG9uZW50UmVmPGFueT47XHJcblxyXG4gICAgbmdPbkluaXQoKSB7XHJcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcclxuICAgICAgICB0aGlzLl9zZXRTZWxlY3RlZE1vZGVsKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGhhbmRsZUlucHV0TW9kZWxDaGFuZ2UobW9kZWw6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLl9sb3ZQb3B1cENvbXBvbmVudFJlZikge1xyXG4gICAgICAgICAgICB0aGlzLl9sb3ZQb3B1cENvbXBvbmVudFJlZi5pbnN0YW5jZS5zZWFyY2hUZXJtID0gbW9kZWw7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRNb2RlbCA9IG1vZGVsO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBoYW5kbGVJbnB1dEtleURvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiBib29sZWFuIHtcclxuICAgICAgICBpZiAoZXZlbnQpIHtcclxuICAgICAgICAgICAgaWYgKGV2ZW50LmFsdEtleSAmJiBldmVudC5jb2RlID09PSBLZXlib2FyZEtleS5Eb3duICYmICF0aGlzLl9sb3ZQb3B1cENvbXBvbmVudFJlZikge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5vcGVuUG9wdXAoKTtcclxuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZiAodGhpcy5fbG92UG9wdXBDb21wb25lbnRSZWYpIHtcclxuICAgICAgICAgICAgICAgIHN3aXRjaCAoZXZlbnQuY29kZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGNhc2UgS2V5Ym9hcmRLZXkuRG93bjpcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fbG92UG9wdXBDb21wb25lbnRSZWYuaW5zdGFuY2Uuc2VsZWN0TmV4dE9wdGlvbigpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgY2FzZSBLZXlib2FyZEtleS5VcDpcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fbG92UG9wdXBDb21wb25lbnRSZWYuaW5zdGFuY2Uuc2VsZWN0TmV4dE9wdGlvbih0cnVlKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgICAgIGNhc2UgS2V5Ym9hcmRLZXkuRW50ZXI6XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX2xvdlBvcHVwQ29tcG9uZW50UmVmLmluc3RhbmNlLnNlbGVjdE9wdGlvbkFuZENsb3NlUG9wdXAoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgICAgIGNhc2UgS2V5Ym9hcmRLZXkuVGFiOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl9sb3ZQb3B1cENvbXBvbmVudFJlZi5pbnN0YW5jZS5zZWxlY3RPcHRpb25BbmRDbG9zZVBvcHVwKCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGNsZWFyTW9kZWwoZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnNldE1vZGVsKHVuZGVmaW5lZCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHRvZ2dsZVNlbGVjdCgpOiB2b2lkIHtcclxuICAgICAgICBpZiAodGhpcy5yZWFkb25seSkge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuaXNTZWxlY3RPcGVuID0gIXRoaXMuaXNTZWxlY3RPcGVuO1xyXG4gICAgICAgIGlmICh0aGlzLmlzU2VsZWN0T3Blbikge1xyXG4gICAgICAgICAgICB0aGlzLm9wZW5Qb3B1cCgpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuY2xvc2VQb3B1cCgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLnN0YXRlID0gKHRoaXMuc3RhdGUgPT09ICdkZWZhdWx0JyA/ICdyb3RhdGVkJyA6ICdkZWZhdWx0Jyk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIG9wZW5Qb3B1cCgpOiB2b2lkIHtcclxuICAgICAgICBpZiAodGhpcy5yZWFkb25seSkge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuaXNTZWxlY3RPcGVuID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLl9sb3ZQb3B1cENvbXBvbmVudFJlZiA9IHRoaXMub3ZlcmxheVNlcnZpY2UuY3JlYXRlQ29tcG9uZW50KExpc3RPZlZhbHVlc1BvcHVwQ29tcG9uZW50LCB7XHJcbiAgICAgICAgICAgICAgICBwYXJlbnRGb3JPdmVybGF5OiB0aGlzLmVsZW1lbnRSZWYsXHJcbiAgICAgICAgICAgICAgICBjdXN0b21Dc3NDbGFzczogdGhpcy5jdXN0b21Dc3NDbGFzcyxcclxuICAgICAgICAgICAgICAgIHNlYXJjaERpc2FibGVkOiB0aGlzLnNlYXJjaERpc2FibGVkLFxyXG4gICAgICAgICAgICAgICAgc2VhcmNoUGxhY2Vob2xkZXI6IHRoaXMuc2VhcmNoUGxhY2Vob2xkZXIsXHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5RmllbGQ6IHRoaXMuZGlzcGxheUZpZWxkLFxyXG4gICAgICAgICAgICAgICAgbXVsdGlzZWxlY3Q6IHRoaXMubXVsdGlzZWxlY3QsXHJcbiAgICAgICAgICAgICAgICBtb2RlbDogdGhpcy5tb2RlbCxcclxuICAgICAgICAgICAgICAgIGNvbGxlY3Rpb246IHRoaXMuY29sbGVjdGlvblxyXG4gICAgICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgICAgICBtb2RlbENoYW5nZTogKHZhbHVlKSA9PiB0aGlzLm9wdGlvbkNob3Nlbih2YWx1ZSksXHJcbiAgICAgICAgICAgICAgICBjbG9zZVBvcHVwOiAoKSA9PiB0aGlzLmNsb3NlUG9wdXAoKVxyXG4gICAgICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgcmVtb3ZlT3B0aW9uRnJvbU1vZGVsKGNoaXA6IGFueSk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLm11bHRpc2VsZWN0KSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGlkeDogbnVtYmVyID0gdGhpcy5tb2RlbC5maW5kSW5kZXgobSA9PiBtID09PSBjaGlwKTtcclxuICAgICAgICAgICAgdGhpcy5tb2RlbC5zcGxpY2UoaWR4LCAxKTtcclxuICAgICAgICAgICAgdGhpcy5tb2RlbENoYW5nZS5lbWl0KHRoaXMubW9kZWwpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgb3B0aW9uQ2hvc2VuKG9wdGlvbjogYW55KTogdm9pZCB7XHJcbiAgICAgICAgaWYgKG9wdGlvbikge1xyXG4gICAgICAgICAgICBpZiAodGhpcy5tdWx0aXNlbGVjdCkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZE1vZGVscyA9IG9wdGlvbi5tYXAobyA9PiBvW3RoaXMuZGlzcGxheUZpZWxkXSk7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkTW9kZWwgPSBvcHRpb25bdGhpcy5kaXNwbGF5RmllbGRdO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMubW9kZWwgPSBvcHRpb247XHJcbiAgICAgICAgdGhpcy5tb2RlbENoYW5nZS5lbWl0KHRoaXMubW9kZWwpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBjbG9zZVBvcHVwKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuaXNTZWxlY3RPcGVuID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5vdmVybGF5U2VydmljZS5yZW1vdmVDb21wb25lbnQodGhpcy5fbG92UG9wdXBDb21wb25lbnRSZWYpO1xyXG4gICAgICAgIHRoaXMuX2xvdlBvcHVwQ29tcG9uZW50UmVmID0gdW5kZWZpbmVkO1xyXG4gICAgICAgIHRoaXMuZm9jdXNlZCA9IGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBjaGVja01vZGVsKCk6IHZvaWQge1xyXG4gICAgICAgIGlmICghdGhpcy5tdWx0aXNlbGVjdCAmJiB0aGlzLnNlbGVjdGVkTW9kZWwgJiYgdGhpcy5jb2xsZWN0aW9uKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IG1vZGVsOiBhbnkgPSB0aGlzLmNvbGxlY3Rpb24uZmluZChjID0+IGNbdGhpcy5kaXNwbGF5RmllbGRdID09PSB0aGlzLnNlbGVjdGVkTW9kZWwpO1xyXG4gICAgICAgICAgICBpZiAobW9kZWwpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMubW9kZWwgPSBtb2RlbDtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHRoaXMubW9kZWwgPSB1bmRlZmluZWQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGhpcy5tb2RlbENoYW5nZS5lbWl0KHRoaXMubW9kZWwpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9zZXRTZWxlY3RlZE1vZGVsKCk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLm11bHRpc2VsZWN0KSB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLm1vZGVsKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkTW9kZWxzLmxlbmd0aCA9IDA7XHJcbiAgICAgICAgICAgICAgICB0aGlzLm1vZGVsLmZvckVhY2gobSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZE1vZGVscy5wdXNoKG1bdGhpcy5kaXNwbGF5RmllbGRdKTtcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZE1vZGVscy5sZW5ndGggPSAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgaWYgKHRoaXMubW9kZWwpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRNb2RlbCA9IHRoaXMubW9kZWxbdGhpcy5kaXNwbGF5RmllbGRdO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZE1vZGVsID0gXCJcIjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbn1cclxuIl19
|
|
@@ -4387,7 +4387,7 @@ CoDialogComponent.decorators = [
|
|
|
4387
4387
|
<ng-container [ngTemplateOutlet]="headerTemplate"></ng-container>
|
|
4388
4388
|
</div>
|
|
4389
4389
|
<div class="dialog-close-button" *ngIf="showCloseIcon" (click)="handleCloseDialog($event)">
|
|
4390
|
-
<co-icon [icon]="icons.
|
|
4390
|
+
<co-icon [icon]="icons.CrossSkinny"></co-icon>
|
|
4391
4391
|
</div>
|
|
4392
4392
|
</div>
|
|
4393
4393
|
<div class="dialog-content" [ngClass]="customCssClass ? customCssClass : undefined">
|
|
@@ -6576,6 +6576,9 @@ class InputDateRangePickerComponent extends BaseInputDatePickerDirective {
|
|
|
6576
6576
|
this.toggleCalendar();
|
|
6577
6577
|
}
|
|
6578
6578
|
}
|
|
6579
|
+
clearDate(index) {
|
|
6580
|
+
this.model[index] = undefined;
|
|
6581
|
+
}
|
|
6579
6582
|
toggleCalendar() {
|
|
6580
6583
|
if (this.readonly) {
|
|
6581
6584
|
return;
|
|
@@ -6643,6 +6646,7 @@ InputDateRangePickerComponent.decorators = [
|
|
|
6643
6646
|
[leftIconData]="leftIconData"
|
|
6644
6647
|
[placeholder]="placeholder"
|
|
6645
6648
|
(blur)="handleFirstDateChanged(firstDateAsString)"
|
|
6649
|
+
(clearIconClick)="clearDate(0)"
|
|
6646
6650
|
></co-input-text>
|
|
6647
6651
|
<co-input-text class="no-focus-line custom-height"
|
|
6648
6652
|
[(model)]= "secondDateAsString"
|
|
@@ -6652,6 +6656,7 @@ InputDateRangePickerComponent.decorators = [
|
|
|
6652
6656
|
[rightIcon]="rightIcon"
|
|
6653
6657
|
(rightIconClick)="toggleCalendar()"
|
|
6654
6658
|
(blur)="handleSecondDateChanged(secondDateAsString)"
|
|
6659
|
+
(clearIconClick)="clearDate(1)"
|
|
6655
6660
|
></co-input-text>
|
|
6656
6661
|
</div>
|
|
6657
6662
|
`,
|
|
@@ -7104,6 +7109,9 @@ class InputNumberPickerComponent extends BaseInputComponent {
|
|
|
7104
7109
|
return false;
|
|
7105
7110
|
}
|
|
7106
7111
|
}
|
|
7112
|
+
handleBlur() {
|
|
7113
|
+
this.modelChange.next(this.model);
|
|
7114
|
+
}
|
|
7107
7115
|
handleChangeModel(value) {
|
|
7108
7116
|
this._changeFromButton = false;
|
|
7109
7117
|
this.numberLogic.setValue(value);
|
|
@@ -7231,7 +7239,8 @@ InputNumberPickerComponent.decorators = [
|
|
|
7231
7239
|
[disabled]="disabled"
|
|
7232
7240
|
[required]="required"
|
|
7233
7241
|
(ngModelChange)="handleChangeModel($event)"
|
|
7234
|
-
(keydown)="handleInputKeyDown($event)"
|
|
7242
|
+
(keydown)="handleInputKeyDown($event)"
|
|
7243
|
+
(blur)="handleBlur()"/>
|
|
7235
7244
|
<div class="button-wrapper">
|
|
7236
7245
|
<co-button *ngIf="showButtons" class="plus-operator" [class.select]="plusSelected" tabindex="-1"
|
|
7237
7246
|
[disabled]="readonly"
|
|
@@ -10226,7 +10235,6 @@ class ListOfValuesPopupComponent {
|
|
|
10226
10235
|
this._collection = [];
|
|
10227
10236
|
this._searchTerm = '';
|
|
10228
10237
|
this._lovItems = [];
|
|
10229
|
-
this._activeIndex = -1;
|
|
10230
10238
|
}
|
|
10231
10239
|
set lovItems(children) {
|
|
10232
10240
|
this._lovItems = children.toArray();
|
|
@@ -10252,6 +10260,8 @@ class ListOfValuesPopupComponent {
|
|
|
10252
10260
|
}
|
|
10253
10261
|
set searchTerm(value) {
|
|
10254
10262
|
this._searchTerm = value;
|
|
10263
|
+
this.model = undefined;
|
|
10264
|
+
this.highLightModel = undefined;
|
|
10255
10265
|
this.filterViewModels();
|
|
10256
10266
|
}
|
|
10257
10267
|
get searchTerm() {
|
|
@@ -10260,7 +10270,6 @@ class ListOfValuesPopupComponent {
|
|
|
10260
10270
|
ngOnInit() {
|
|
10261
10271
|
if (this.model) {
|
|
10262
10272
|
if (!this.multiselect) {
|
|
10263
|
-
this._activeIndex = this.viewModelsMain.findIndex(v => v.model === this.model);
|
|
10264
10273
|
this._scrollIntoView();
|
|
10265
10274
|
}
|
|
10266
10275
|
else {
|
|
@@ -10273,52 +10282,87 @@ class ListOfValuesPopupComponent {
|
|
|
10273
10282
|
}
|
|
10274
10283
|
}
|
|
10275
10284
|
}
|
|
10285
|
+
handleInputKeyDown(event) {
|
|
10286
|
+
if (event) {
|
|
10287
|
+
switch (event.code) {
|
|
10288
|
+
case KeyboardKey.Down:
|
|
10289
|
+
this.selectNextOption();
|
|
10290
|
+
return false;
|
|
10291
|
+
case KeyboardKey.Up:
|
|
10292
|
+
this.selectNextOption(true);
|
|
10293
|
+
return false;
|
|
10294
|
+
case KeyboardKey.SpaceBar:
|
|
10295
|
+
if (this.highLightModel) {
|
|
10296
|
+
this.selectViewModel(this.highLightModel, false);
|
|
10297
|
+
return false;
|
|
10298
|
+
}
|
|
10299
|
+
}
|
|
10300
|
+
}
|
|
10301
|
+
}
|
|
10276
10302
|
filterViewModels() {
|
|
10277
10303
|
if (!this.collection) {
|
|
10278
10304
|
return;
|
|
10279
10305
|
}
|
|
10280
10306
|
this._prepareViewModels();
|
|
10281
10307
|
}
|
|
10282
|
-
selectViewModel(viewModel) {
|
|
10283
|
-
const idx = this.viewModelsMain.findIndex(vm => vm === viewModel);
|
|
10308
|
+
selectViewModel(viewModel, closePopup = true) {
|
|
10284
10309
|
if (!this.multiselect) {
|
|
10285
|
-
this.
|
|
10286
|
-
this.selectOptionByActiveIndex();
|
|
10310
|
+
this.selectModelByViewModel(viewModel, closePopup);
|
|
10287
10311
|
}
|
|
10288
10312
|
else {
|
|
10289
|
-
|
|
10313
|
+
const idx = this.viewModels.findIndex(vm => vm === viewModel);
|
|
10314
|
+
this.viewModels[idx].checked = !this.viewModels[idx].checked;
|
|
10290
10315
|
this.selectOptions();
|
|
10291
10316
|
}
|
|
10292
10317
|
}
|
|
10318
|
+
selectModelByViewModel(viewModel, closePopup = true) {
|
|
10319
|
+
this.model = this.viewModelsMain.find(vm => vm === viewModel).model;
|
|
10320
|
+
this.modelChange.emit(this.model);
|
|
10321
|
+
this._scrollIntoView();
|
|
10322
|
+
if (closePopup) {
|
|
10323
|
+
this.closePopup.emit();
|
|
10324
|
+
}
|
|
10325
|
+
}
|
|
10293
10326
|
// for single select
|
|
10294
|
-
|
|
10295
|
-
if (this.
|
|
10296
|
-
|
|
10297
|
-
|
|
10298
|
-
|
|
10299
|
-
|
|
10300
|
-
|
|
10327
|
+
selectOptionAndClosePopup() {
|
|
10328
|
+
if (!this.model && this.searchTerm) {
|
|
10329
|
+
const wishModel = this.viewModelsMain.find(vmm => vmm.model[this.displayField] === this.searchTerm);
|
|
10330
|
+
if (wishModel) {
|
|
10331
|
+
this.selectViewModel(wishModel);
|
|
10332
|
+
}
|
|
10333
|
+
else {
|
|
10334
|
+
this.model = undefined;
|
|
10335
|
+
this.modelChange.emit(this.model);
|
|
10336
|
+
this.searchTerm = '';
|
|
10301
10337
|
}
|
|
10302
10338
|
}
|
|
10339
|
+
else {
|
|
10340
|
+
this.closePopup.emit();
|
|
10341
|
+
}
|
|
10303
10342
|
}
|
|
10304
10343
|
// for multi select
|
|
10305
10344
|
selectOptions() {
|
|
10306
10345
|
this.model = this.viewModelsMain.filter(v => v.checked).map(m => m.model);
|
|
10307
10346
|
this.modelChange.emit(this.model);
|
|
10308
10347
|
}
|
|
10309
|
-
selectNextOption() {
|
|
10310
|
-
|
|
10311
|
-
|
|
10348
|
+
selectNextOption(back = false) {
|
|
10349
|
+
let nextModel;
|
|
10350
|
+
if (!this.highLightModel) {
|
|
10351
|
+
nextModel = this.viewModels[back ? this.viewModels.length - 1 : 0];
|
|
10312
10352
|
}
|
|
10313
|
-
|
|
10314
|
-
|
|
10315
|
-
|
|
10316
|
-
|
|
10317
|
-
|
|
10318
|
-
|
|
10353
|
+
else {
|
|
10354
|
+
const currentViewModelIdx = this.viewModels.findIndex(vm => vm === this.highLightModel);
|
|
10355
|
+
if (back) {
|
|
10356
|
+
nextModel = this.viewModels[currentViewModelIdx <= 0 ? this.viewModels.length - 1 : currentViewModelIdx - 1];
|
|
10357
|
+
}
|
|
10358
|
+
else {
|
|
10359
|
+
nextModel = this.viewModels[currentViewModelIdx >= this.viewModels.length - 1 ? 0 : currentViewModelIdx + 1];
|
|
10360
|
+
}
|
|
10361
|
+
}
|
|
10362
|
+
this.highLightModel = nextModel;
|
|
10363
|
+
if (!this.multiselect) {
|
|
10364
|
+
this.selectViewModel(nextModel, false);
|
|
10319
10365
|
}
|
|
10320
|
-
this._activeIndex--;
|
|
10321
|
-
this.selectOptionByActiveIndex(false);
|
|
10322
10366
|
}
|
|
10323
10367
|
_prepareViewModelsMain() {
|
|
10324
10368
|
this.viewModelsMain.length = 0;
|
|
@@ -10331,10 +10375,11 @@ class ListOfValuesPopupComponent {
|
|
|
10331
10375
|
this.viewModels = this.viewModelsMain.filter(vm => vm.model[this.displayField] && vm.model[this.displayField].toLowerCase().includes(this.searchTerm ? this.searchTerm.toLowerCase() : ""));
|
|
10332
10376
|
}
|
|
10333
10377
|
_scrollIntoView() {
|
|
10334
|
-
|
|
10378
|
+
const activeIndex = this.viewModels.findIndex(vmm => vmm === this.highLightModel);
|
|
10379
|
+
if (!this._lovItems || this._lovItems.length <= 0 || activeIndex < 0 || !this.dropDownList) {
|
|
10335
10380
|
return;
|
|
10336
10381
|
}
|
|
10337
|
-
const activeItem = this._lovItems[
|
|
10382
|
+
const activeItem = this._lovItems[activeIndex].nativeElement ? this._lovItems[activeIndex].nativeElement : undefined;
|
|
10338
10383
|
const scrollParent = this.dropDownList.nativeElement ? this.dropDownList.nativeElement : undefined;
|
|
10339
10384
|
this._scrollActiveItemIntoView(activeItem, scrollParent);
|
|
10340
10385
|
}
|
|
@@ -10358,18 +10403,22 @@ ListOfValuesPopupComponent.decorators = [
|
|
|
10358
10403
|
{ type: Component, args: [{
|
|
10359
10404
|
selector: 'co-list-of-values-popup',
|
|
10360
10405
|
template: `
|
|
10361
|
-
<div class="lov-options"
|
|
10406
|
+
<div class="lov-options" [overlay]="parentForOverlay" [inheritWidth]="true" [ngClass]="customCssClass" id="lov-popup"
|
|
10362
10407
|
[tabIndex]="-1" role="listbox"
|
|
10363
10408
|
(clickOutside)="closePopup.emit($event)">
|
|
10364
|
-
<co-input-search *ngIf="multiselect"
|
|
10365
|
-
|
|
10366
|
-
|
|
10367
|
-
|
|
10409
|
+
<co-input-search *ngIf="multiselect"
|
|
10410
|
+
[(model)]="searchTerm"
|
|
10411
|
+
[placeholder]="searchPlaceholder"
|
|
10412
|
+
(keydown)="handleInputKeyDown($event)"
|
|
10413
|
+
(modelChange)="filterViewModels()"></co-input-search>
|
|
10414
|
+
<ul class="dropdown-list" #dropDownList>
|
|
10415
|
+
<li #lovItem *ngFor="let viewModel of viewModels; let index = index" [class.selected]="viewModel === highLightModel"
|
|
10416
|
+
(click)="selectViewModel(viewModel, false)" role="option">
|
|
10368
10417
|
<ng-container *ngIf="!multiselect">
|
|
10369
10418
|
<span class="lov-options-text" [textContent]="viewModel.model[displayField]"></span>
|
|
10370
10419
|
</ng-container>
|
|
10371
10420
|
<ng-container *ngIf="multiselect">
|
|
10372
|
-
<co-input-checkbox [model]="viewModel.checked" (modelChange)="selectViewModel(viewModel)"></co-input-checkbox>
|
|
10421
|
+
<co-input-checkbox [model]="viewModel.checked" (modelChange)="selectViewModel(viewModel, false)"></co-input-checkbox>
|
|
10373
10422
|
<span class="lov-options-text" [textContent]="viewModel.model[displayField]"></span>
|
|
10374
10423
|
</ng-container>
|
|
10375
10424
|
</li>
|
|
@@ -10432,6 +10481,7 @@ class ListOfValuesComponent extends BaseInputComponent {
|
|
|
10432
10481
|
if (this._lovPopupComponentRef) {
|
|
10433
10482
|
this._lovPopupComponentRef.instance.searchTerm = model;
|
|
10434
10483
|
}
|
|
10484
|
+
this.selectedModel = model;
|
|
10435
10485
|
}
|
|
10436
10486
|
handleInputKeyDown(event) {
|
|
10437
10487
|
if (event) {
|
|
@@ -10445,13 +10495,13 @@ class ListOfValuesComponent extends BaseInputComponent {
|
|
|
10445
10495
|
this._lovPopupComponentRef.instance.selectNextOption();
|
|
10446
10496
|
return false;
|
|
10447
10497
|
case KeyboardKey.Up:
|
|
10448
|
-
this._lovPopupComponentRef.instance.
|
|
10498
|
+
this._lovPopupComponentRef.instance.selectNextOption(true);
|
|
10449
10499
|
return false;
|
|
10450
10500
|
case KeyboardKey.Enter:
|
|
10451
|
-
this._lovPopupComponentRef.instance.
|
|
10501
|
+
this._lovPopupComponentRef.instance.selectOptionAndClosePopup();
|
|
10452
10502
|
return false;
|
|
10453
10503
|
case KeyboardKey.Tab:
|
|
10454
|
-
this._lovPopupComponentRef.instance.
|
|
10504
|
+
this._lovPopupComponentRef.instance.selectOptionAndClosePopup();
|
|
10455
10505
|
}
|
|
10456
10506
|
}
|
|
10457
10507
|
}
|
|
@@ -10499,11 +10549,13 @@ class ListOfValuesComponent extends BaseInputComponent {
|
|
|
10499
10549
|
}
|
|
10500
10550
|
}
|
|
10501
10551
|
optionChosen(option) {
|
|
10502
|
-
if (
|
|
10503
|
-
|
|
10504
|
-
|
|
10505
|
-
|
|
10506
|
-
|
|
10552
|
+
if (option) {
|
|
10553
|
+
if (this.multiselect) {
|
|
10554
|
+
this.selectedModels = option.map(o => o[this.displayField]);
|
|
10555
|
+
}
|
|
10556
|
+
else {
|
|
10557
|
+
this.selectedModel = option[this.displayField];
|
|
10558
|
+
}
|
|
10507
10559
|
}
|
|
10508
10560
|
this.model = option;
|
|
10509
10561
|
this.modelChange.emit(this.model);
|
|
@@ -10514,6 +10566,18 @@ class ListOfValuesComponent extends BaseInputComponent {
|
|
|
10514
10566
|
this._lovPopupComponentRef = undefined;
|
|
10515
10567
|
this.focused = false;
|
|
10516
10568
|
}
|
|
10569
|
+
checkModel() {
|
|
10570
|
+
if (!this.multiselect && this.selectedModel && this.collection) {
|
|
10571
|
+
const model = this.collection.find(c => c[this.displayField] === this.selectedModel);
|
|
10572
|
+
if (model) {
|
|
10573
|
+
this.model = model;
|
|
10574
|
+
}
|
|
10575
|
+
else {
|
|
10576
|
+
this.model = undefined;
|
|
10577
|
+
}
|
|
10578
|
+
this.modelChange.emit(this.model);
|
|
10579
|
+
}
|
|
10580
|
+
}
|
|
10517
10581
|
_setSelectedModel() {
|
|
10518
10582
|
if (this.multiselect) {
|
|
10519
10583
|
if (this.model) {
|
|
@@ -10559,6 +10623,7 @@ ListOfValuesComponent.decorators = [
|
|
|
10559
10623
|
(rightIconClick)="toggleSelect()"
|
|
10560
10624
|
(keydown)="handleInputKeyDown($event)"
|
|
10561
10625
|
(clearIconClick)="clearModel($event)"
|
|
10626
|
+
(blur)="checkModel()"
|
|
10562
10627
|
>
|
|
10563
10628
|
</co-input-text>
|
|
10564
10629
|
<ng-container *ngIf="multiselect">
|