ecabs-components 1.1.11 → 1.1.12
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/README.md +2 -1
- package/esm2022/lib/ecabs-select-v2/ecabs-select-v2.component.mjs +8 -5
- package/fesm2022/ecabs-components.mjs +7 -4
- package/fesm2022/ecabs-components.mjs.map +1 -1
- package/lib/ecabs-select-v2/ecabs-select-v2.component.d.ts +2 -1
- package/package.json +1 -1
- package/src/assets/styles/material/overrides/_expansion.scss +1 -0
package/README.md
CHANGED
|
@@ -68,4 +68,5 @@ v1.1.6 - accumulate all directives
|
|
|
68
68
|
v1.1.7 - Add message for alphanumeric-only validation.
|
|
69
69
|
v1.1.8 - Add directive show-on-truncated to directives.
|
|
70
70
|
v1.1.9 - Fixed i18n issue.
|
|
71
|
-
v1.1.10 - Added color styles for prompt title message.
|
|
71
|
+
v1.1.10 - Added color styles for prompt title message.
|
|
72
|
+
v1.1.12 - Extend @Input properties of `EcabsSelectV2` from `@ng-select` lib.
|
|
@@ -16,6 +16,7 @@ export class EcabsSelectV2Component extends EcabsElementBaseComponent {
|
|
|
16
16
|
destroyRef;
|
|
17
17
|
ngSelect;
|
|
18
18
|
appearance = 'outline';
|
|
19
|
+
appendTo = '';
|
|
19
20
|
items = [];
|
|
20
21
|
bindLabel = 'label';
|
|
21
22
|
bindValue = 'value';
|
|
@@ -60,7 +61,7 @@ export class EcabsSelectV2Component extends EcabsElementBaseComponent {
|
|
|
60
61
|
}
|
|
61
62
|
ngOnInit() {
|
|
62
63
|
this.initTrackBy();
|
|
63
|
-
this.placeholder = this.label;
|
|
64
|
+
this.placeholder = this.placeholder || this.label;
|
|
64
65
|
this.notFoundText = 'No data found';
|
|
65
66
|
this.selectAllLabel = 'All';
|
|
66
67
|
this.showLocalLoading = false; // hide default loading icon in ElementWrapper
|
|
@@ -150,13 +151,13 @@ export class EcabsSelectV2Component extends EcabsElementBaseComponent {
|
|
|
150
151
|
};
|
|
151
152
|
}
|
|
152
153
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsSelectV2Component, deps: [{ token: i0.Injector }, { token: i0.DestroyRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
153
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: EcabsSelectV2Component, selector: "ecabs-select-v2", inputs: { appearance: "appearance", items: "items", bindLabel: "bindLabel", bindValue: "bindValue", editableSearchTerm: "editableSearchTerm", searchable: "searchable", clearable: "clearable", multiple: "multiple", notFoundText: "notFoundText", hideSelected: "hideSelected", clearOnBackspace: "clearOnBackspace", clearSearchOnAdd: "clearSearchOnAdd", trackByFn: "trackByFn", minLength: "minLength", searchPlaceholder: "searchPlaceholder", typeahead: "typeahead", closeOnSelect: "closeOnSelect", clearAllText: "clearAllText", selectAllLabel: "selectAllLabel", otherLabel: "otherLabel", othersLabel: "othersLabel" }, providers: [
|
|
154
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: EcabsSelectV2Component, selector: "ecabs-select-v2", inputs: { appearance: "appearance", appendTo: "appendTo", items: "items", bindLabel: "bindLabel", bindValue: "bindValue", editableSearchTerm: "editableSearchTerm", searchable: "searchable", clearable: "clearable", multiple: "multiple", notFoundText: "notFoundText", hideSelected: "hideSelected", clearOnBackspace: "clearOnBackspace", clearSearchOnAdd: "clearSearchOnAdd", trackByFn: "trackByFn", minLength: "minLength", searchPlaceholder: "searchPlaceholder", typeahead: "typeahead", closeOnSelect: "closeOnSelect", clearAllText: "clearAllText", selectAllLabel: "selectAllLabel", otherLabel: "otherLabel", othersLabel: "othersLabel" }, providers: [
|
|
154
155
|
{
|
|
155
156
|
provide: NG_VALUE_ACCESSOR,
|
|
156
157
|
multi: true,
|
|
157
158
|
useExisting: EcabsSelectV2Component,
|
|
158
159
|
},
|
|
159
|
-
], viewQueries: [{ propertyName: "ngSelect", first: true, predicate: NgSelectComponent, descendants: true, static: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<ecabs-element-wrapper [data]=\"getData()\">\r\n <ng-select class=\"form-field__select\"\r\n [appearance]=\"appearance\"\r\n [labelForId]=\"name\"\r\n [bindLabel]=\"bindLabel || null\"\r\n [bindValue]=\"bindValue || null\"\r\n [searchable]=\"searchable\"\r\n [clearable]=\"clearable\"\r\n [clearSearchOnAdd]=\"clearSearchOnAdd\"\r\n [groupBy]=\"groupByKey\"\r\n [selectableGroup]=\"true\"\r\n [selectableGroupAsModel]=\"false\"\r\n [items]=\"itemsList\"\r\n [multiple]=\"multiple\"\r\n [(ngModel)]=\"value\"\r\n [placeholder]=\"placeholder\"\r\n (blur)=\"onBlur()\"\r\n [hideSelected]=\"hideSelected\"\r\n [trackByFn]=\"trackByFn\"\r\n [minTermLength]=\"minLength\"\r\n [typeToSearchText]=\"searchPlaceholder\"\r\n [typeahead]=\"typeahead\"\r\n [loading]=\"loading\"\r\n [closeOnSelect]=\"closeOnSelect\"\r\n [clearOnBackspace]=\"clearOnBackspace\"\r\n [editableSearchTerm]=\"editableSearchTerm\"\r\n (open)=\"this.isOpen = true\"\r\n (close)=\"this.isOpen = false\"\r\n (change)=\"changed($event)\"\r\n [notFoundText]=\"notFoundText\"\r\n [clearAllText]=\"clearAllText\"\r\n [readonly]=\"this.disabled\">\r\n\r\n <ng-container *ngIf=\"!typeahead\">\r\n <ng-option *ngFor=\"let item of itemsList\" [value]=\"item?.value\">\r\n {{ item?.label }}\r\n </ng-option>\r\n </ng-container>\r\n\r\n <ng-template ng-loadingspinner-tmp>\r\n <ecabs-loading-spinner size=\"tiny\"></ecabs-loading-spinner>\r\n </ng-template>\r\n\r\n <ng-container *ngIf=\"!!bindValue && !!bindLabel\">\r\n <ng-template ng-multi-label-tmp let-items=\"items\">\r\n <!--#Custom display of first selected item and (+1 more) pattern -->\r\n <ng-container *ngIf=\"!isOpen\">\r\n <div *ngFor=\"let item of items | slice:0:1\">\r\n {{ item?.['label'] }} <span *ngIf=\"items.length > 1\">\r\n (+{{ items.length - 1 }}\r\n {{ (items?.length === 2 ? otherLabel : othersLabel) }})\r\n </span>\r\n </div>\r\n </ng-container>\r\n </ng-template>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"multiple\">\r\n <!--#Add selectAll and individual checkboxes for multiple-enabled list -->\r\n <ng-template ng-optgroup-tmp let-item$=\"item$\" let-index=\"index\">\r\n <ecabs-checkbox [ngModel]=\"item$.selected\"\r\n [name]=\"index\"\r\n [text]=\"selectAllLabel\">\r\n </ecabs-checkbox>\r\n </ng-template>\r\n\r\n <ng-template ng-option-tmp let-item$=\"item$\" let-index=\"index\">\r\n <ecabs-checkbox [ngModel]=\"item$.selected\"\r\n [name]=\"index\"\r\n [text]=\"item$?.['label']\">\r\n </ecabs-checkbox>\r\n </ng-template>\r\n </ng-container>\r\n </ng-select>\r\n</ecabs-element-wrapper>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.EcabsElementWrapperComponent, selector: "ecabs-element-wrapper", inputs: ["data", "showCloseIcon", "focusedFlag", "showPassword", "control"], outputs: ["showHidePassword", "clear", "increase", "decrease"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.NgSelectComponent, selector: "ng-select", inputs: ["bindLabel", "bindValue", "markFirst", "placeholder", "notFoundText", "typeToSearchText", "addTagText", "loadingText", "clearAllText", "appearance", "dropdownPosition", "appendTo", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "openOnEnter", "maxSelectedItems", "groupBy", "groupValue", "bufferAmount", "virtualScroll", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "tabIndex", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "keyDownFn", "typeahead", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd", "deselectOnClick"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }, { kind: "component", type: i4.NgOptionComponent, selector: "ng-option", inputs: ["value", "disabled"] }, { kind: "directive", type: i4.NgOptgroupTemplateDirective, selector: "[ng-optgroup-tmp]" }, { kind: "directive", type: i4.NgOptionTemplateDirective, selector: "[ng-option-tmp]" }, { kind: "directive", type: i4.NgMultiLabelTemplateDirective, selector: "[ng-multi-label-tmp]" }, { kind: "directive", type: i4.NgLoadingSpinnerTemplateDirective, selector: "[ng-loadingspinner-tmp]" }, { kind: "component", type: i5.EcabsSpinnerComponent, selector: "ecabs-loading-spinner", inputs: ["size"] }, { kind: "component", type: i6.EcabsCheckboxToggleComponent, selector: "ecabs-checkbox", inputs: ["type", "text", "label", "labelPosition", "indeterminate", "checked"], outputs: ["click", "changed"] }, { kind: "pipe", type: i1.SlicePipe, name: "slice" }] });
|
|
160
|
+
], viewQueries: [{ propertyName: "ngSelect", first: true, predicate: NgSelectComponent, descendants: true, static: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<ecabs-element-wrapper [data]=\"getData()\">\r\n <ng-select class=\"form-field__select\"\r\n [appearance]=\"appearance\"\r\n [appendTo]=\"appendTo\"\r\n [labelForId]=\"name\"\r\n [bindLabel]=\"bindLabel || null\"\r\n [bindValue]=\"bindValue || null\"\r\n [searchable]=\"searchable\"\r\n [clearable]=\"clearable\"\r\n [clearSearchOnAdd]=\"clearSearchOnAdd\"\r\n [groupBy]=\"groupByKey\"\r\n [selectableGroup]=\"true\"\r\n [selectableGroupAsModel]=\"false\"\r\n [items]=\"itemsList\"\r\n [multiple]=\"multiple\"\r\n [(ngModel)]=\"value\"\r\n [placeholder]=\"placeholder\"\r\n (blur)=\"onBlur()\"\r\n [hideSelected]=\"hideSelected\"\r\n [trackByFn]=\"trackByFn\"\r\n [minTermLength]=\"minLength\"\r\n [typeToSearchText]=\"searchPlaceholder\"\r\n [typeahead]=\"typeahead\"\r\n [loading]=\"loading\"\r\n [closeOnSelect]=\"closeOnSelect\"\r\n [clearOnBackspace]=\"clearOnBackspace\"\r\n [editableSearchTerm]=\"editableSearchTerm\"\r\n (open)=\"this.isOpen = true\"\r\n (close)=\"this.isOpen = false\"\r\n (change)=\"changed($event)\"\r\n [notFoundText]=\"notFoundText\"\r\n [clearAllText]=\"clearAllText\"\r\n [readonly]=\"this.disabled\">\r\n\r\n <ng-container *ngIf=\"!typeahead\">\r\n <ng-option *ngFor=\"let item of itemsList\" [value]=\"item?.value\">\r\n {{ item?.label }}\r\n </ng-option>\r\n </ng-container>\r\n\r\n <ng-template ng-loadingspinner-tmp>\r\n <ecabs-loading-spinner size=\"tiny\"></ecabs-loading-spinner>\r\n </ng-template>\r\n\r\n <ng-container *ngIf=\"!!bindValue && !!bindLabel\">\r\n <ng-template ng-multi-label-tmp let-items=\"items\">\r\n <!--#Custom display of first selected item and (+1 more) pattern -->\r\n <ng-container *ngIf=\"!isOpen\">\r\n <div *ngFor=\"let item of items | slice:0:1\">\r\n {{ item?.['label'] }} <span *ngIf=\"items.length > 1\">\r\n (+{{ items.length - 1 }}\r\n {{ (items?.length === 2 ? otherLabel : othersLabel) }})\r\n </span>\r\n </div>\r\n </ng-container>\r\n </ng-template>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"multiple\">\r\n <!--#Add selectAll and individual checkboxes for multiple-enabled list -->\r\n <ng-template ng-optgroup-tmp let-item$=\"item$\" let-index=\"index\">\r\n <ecabs-checkbox [ngModel]=\"item$.selected\"\r\n [name]=\"index\"\r\n [text]=\"selectAllLabel\">\r\n </ecabs-checkbox>\r\n </ng-template>\r\n\r\n <ng-template ng-option-tmp let-item$=\"item$\" let-index=\"index\">\r\n <ecabs-checkbox [ngModel]=\"item$.selected\"\r\n [name]=\"index\"\r\n [text]=\"item$?.['label']\">\r\n </ecabs-checkbox>\r\n </ng-template>\r\n </ng-container>\r\n </ng-select>\r\n</ecabs-element-wrapper>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.EcabsElementWrapperComponent, selector: "ecabs-element-wrapper", inputs: ["data", "showCloseIcon", "focusedFlag", "showPassword", "control"], outputs: ["showHidePassword", "clear", "increase", "decrease"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.NgSelectComponent, selector: "ng-select", inputs: ["bindLabel", "bindValue", "markFirst", "placeholder", "notFoundText", "typeToSearchText", "addTagText", "loadingText", "clearAllText", "appearance", "dropdownPosition", "appendTo", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "openOnEnter", "maxSelectedItems", "groupBy", "groupValue", "bufferAmount", "virtualScroll", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "tabIndex", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "keyDownFn", "typeahead", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd", "deselectOnClick"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }, { kind: "component", type: i4.NgOptionComponent, selector: "ng-option", inputs: ["value", "disabled"] }, { kind: "directive", type: i4.NgOptgroupTemplateDirective, selector: "[ng-optgroup-tmp]" }, { kind: "directive", type: i4.NgOptionTemplateDirective, selector: "[ng-option-tmp]" }, { kind: "directive", type: i4.NgMultiLabelTemplateDirective, selector: "[ng-multi-label-tmp]" }, { kind: "directive", type: i4.NgLoadingSpinnerTemplateDirective, selector: "[ng-loadingspinner-tmp]" }, { kind: "component", type: i5.EcabsSpinnerComponent, selector: "ecabs-loading-spinner", inputs: ["size"] }, { kind: "component", type: i6.EcabsCheckboxToggleComponent, selector: "ecabs-checkbox", inputs: ["type", "text", "label", "labelPosition", "indeterminate", "checked"], outputs: ["click", "changed"] }, { kind: "pipe", type: i1.SlicePipe, name: "slice" }] });
|
|
160
161
|
}
|
|
161
162
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsSelectV2Component, decorators: [{
|
|
162
163
|
type: Component,
|
|
@@ -166,12 +167,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
166
167
|
multi: true,
|
|
167
168
|
useExisting: EcabsSelectV2Component,
|
|
168
169
|
},
|
|
169
|
-
], template: "<ecabs-element-wrapper [data]=\"getData()\">\r\n <ng-select class=\"form-field__select\"\r\n [appearance]=\"appearance\"\r\n [labelForId]=\"name\"\r\n [bindLabel]=\"bindLabel || null\"\r\n [bindValue]=\"bindValue || null\"\r\n [searchable]=\"searchable\"\r\n [clearable]=\"clearable\"\r\n [clearSearchOnAdd]=\"clearSearchOnAdd\"\r\n [groupBy]=\"groupByKey\"\r\n [selectableGroup]=\"true\"\r\n [selectableGroupAsModel]=\"false\"\r\n [items]=\"itemsList\"\r\n [multiple]=\"multiple\"\r\n [(ngModel)]=\"value\"\r\n [placeholder]=\"placeholder\"\r\n (blur)=\"onBlur()\"\r\n [hideSelected]=\"hideSelected\"\r\n [trackByFn]=\"trackByFn\"\r\n [minTermLength]=\"minLength\"\r\n [typeToSearchText]=\"searchPlaceholder\"\r\n [typeahead]=\"typeahead\"\r\n [loading]=\"loading\"\r\n [closeOnSelect]=\"closeOnSelect\"\r\n [clearOnBackspace]=\"clearOnBackspace\"\r\n [editableSearchTerm]=\"editableSearchTerm\"\r\n (open)=\"this.isOpen = true\"\r\n (close)=\"this.isOpen = false\"\r\n (change)=\"changed($event)\"\r\n [notFoundText]=\"notFoundText\"\r\n [clearAllText]=\"clearAllText\"\r\n [readonly]=\"this.disabled\">\r\n\r\n <ng-container *ngIf=\"!typeahead\">\r\n <ng-option *ngFor=\"let item of itemsList\" [value]=\"item?.value\">\r\n {{ item?.label }}\r\n </ng-option>\r\n </ng-container>\r\n\r\n <ng-template ng-loadingspinner-tmp>\r\n <ecabs-loading-spinner size=\"tiny\"></ecabs-loading-spinner>\r\n </ng-template>\r\n\r\n <ng-container *ngIf=\"!!bindValue && !!bindLabel\">\r\n <ng-template ng-multi-label-tmp let-items=\"items\">\r\n <!--#Custom display of first selected item and (+1 more) pattern -->\r\n <ng-container *ngIf=\"!isOpen\">\r\n <div *ngFor=\"let item of items | slice:0:1\">\r\n {{ item?.['label'] }} <span *ngIf=\"items.length > 1\">\r\n (+{{ items.length - 1 }}\r\n {{ (items?.length === 2 ? otherLabel : othersLabel) }})\r\n </span>\r\n </div>\r\n </ng-container>\r\n </ng-template>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"multiple\">\r\n <!--#Add selectAll and individual checkboxes for multiple-enabled list -->\r\n <ng-template ng-optgroup-tmp let-item$=\"item$\" let-index=\"index\">\r\n <ecabs-checkbox [ngModel]=\"item$.selected\"\r\n [name]=\"index\"\r\n [text]=\"selectAllLabel\">\r\n </ecabs-checkbox>\r\n </ng-template>\r\n\r\n <ng-template ng-option-tmp let-item$=\"item$\" let-index=\"index\">\r\n <ecabs-checkbox [ngModel]=\"item$.selected\"\r\n [name]=\"index\"\r\n [text]=\"item$?.['label']\">\r\n </ecabs-checkbox>\r\n </ng-template>\r\n </ng-container>\r\n </ng-select>\r\n</ecabs-element-wrapper>\r\n" }]
|
|
170
|
+
], template: "<ecabs-element-wrapper [data]=\"getData()\">\r\n <ng-select class=\"form-field__select\"\r\n [appearance]=\"appearance\"\r\n [appendTo]=\"appendTo\"\r\n [labelForId]=\"name\"\r\n [bindLabel]=\"bindLabel || null\"\r\n [bindValue]=\"bindValue || null\"\r\n [searchable]=\"searchable\"\r\n [clearable]=\"clearable\"\r\n [clearSearchOnAdd]=\"clearSearchOnAdd\"\r\n [groupBy]=\"groupByKey\"\r\n [selectableGroup]=\"true\"\r\n [selectableGroupAsModel]=\"false\"\r\n [items]=\"itemsList\"\r\n [multiple]=\"multiple\"\r\n [(ngModel)]=\"value\"\r\n [placeholder]=\"placeholder\"\r\n (blur)=\"onBlur()\"\r\n [hideSelected]=\"hideSelected\"\r\n [trackByFn]=\"trackByFn\"\r\n [minTermLength]=\"minLength\"\r\n [typeToSearchText]=\"searchPlaceholder\"\r\n [typeahead]=\"typeahead\"\r\n [loading]=\"loading\"\r\n [closeOnSelect]=\"closeOnSelect\"\r\n [clearOnBackspace]=\"clearOnBackspace\"\r\n [editableSearchTerm]=\"editableSearchTerm\"\r\n (open)=\"this.isOpen = true\"\r\n (close)=\"this.isOpen = false\"\r\n (change)=\"changed($event)\"\r\n [notFoundText]=\"notFoundText\"\r\n [clearAllText]=\"clearAllText\"\r\n [readonly]=\"this.disabled\">\r\n\r\n <ng-container *ngIf=\"!typeahead\">\r\n <ng-option *ngFor=\"let item of itemsList\" [value]=\"item?.value\">\r\n {{ item?.label }}\r\n </ng-option>\r\n </ng-container>\r\n\r\n <ng-template ng-loadingspinner-tmp>\r\n <ecabs-loading-spinner size=\"tiny\"></ecabs-loading-spinner>\r\n </ng-template>\r\n\r\n <ng-container *ngIf=\"!!bindValue && !!bindLabel\">\r\n <ng-template ng-multi-label-tmp let-items=\"items\">\r\n <!--#Custom display of first selected item and (+1 more) pattern -->\r\n <ng-container *ngIf=\"!isOpen\">\r\n <div *ngFor=\"let item of items | slice:0:1\">\r\n {{ item?.['label'] }} <span *ngIf=\"items.length > 1\">\r\n (+{{ items.length - 1 }}\r\n {{ (items?.length === 2 ? otherLabel : othersLabel) }})\r\n </span>\r\n </div>\r\n </ng-container>\r\n </ng-template>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"multiple\">\r\n <!--#Add selectAll and individual checkboxes for multiple-enabled list -->\r\n <ng-template ng-optgroup-tmp let-item$=\"item$\" let-index=\"index\">\r\n <ecabs-checkbox [ngModel]=\"item$.selected\"\r\n [name]=\"index\"\r\n [text]=\"selectAllLabel\">\r\n </ecabs-checkbox>\r\n </ng-template>\r\n\r\n <ng-template ng-option-tmp let-item$=\"item$\" let-index=\"index\">\r\n <ecabs-checkbox [ngModel]=\"item$.selected\"\r\n [name]=\"index\"\r\n [text]=\"item$?.['label']\">\r\n </ecabs-checkbox>\r\n </ng-template>\r\n </ng-container>\r\n </ng-select>\r\n</ecabs-element-wrapper>\r\n" }]
|
|
170
171
|
}], ctorParameters: function () { return [{ type: i0.Injector }, { type: i0.DestroyRef }]; }, propDecorators: { ngSelect: [{
|
|
171
172
|
type: ViewChild,
|
|
172
173
|
args: [NgSelectComponent, { static: true }]
|
|
173
174
|
}], appearance: [{
|
|
174
175
|
type: Input
|
|
176
|
+
}], appendTo: [{
|
|
177
|
+
type: Input
|
|
175
178
|
}], items: [{
|
|
176
179
|
type: Input
|
|
177
180
|
}], bindLabel: [{
|
|
@@ -213,4 +216,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
213
216
|
}], othersLabel: [{
|
|
214
217
|
type: Input
|
|
215
218
|
}] } });
|
|
216
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNhYnMtc2VsZWN0LXYyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VjYWJzLWNvbXBvbmVudHMvc3JjL2xpYi9lY2Ficy1zZWxlY3QtdjIvZWNhYnMtc2VsZWN0LXYyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VjYWJzLWNvbXBvbmVudHMvc3JjL2xpYi9lY2Ficy1zZWxlY3QtdjIvZWNhYnMtc2VsZWN0LXYyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxTQUFTLEVBR1QsS0FBSyxFQUlMLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBRUwsaUJBQWlCLEVBQ2pCLFNBQVMsR0FFVixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRXpELE9BQU8sRUFBRSxNQUFNLEVBQVcsTUFBTSxNQUFNLENBQUM7QUFDdkMsT0FBTyx5QkFBeUIsTUFBTSxzQkFBc0IsQ0FBQztBQUU3RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7Ozs7Ozs7QUFjaEUsTUFBTSxPQUFPLHNCQUNYLFNBQVEseUJBQXlCO0lBMEZkO0lBQ0E7SUF2Rm5CLFFBQVEsQ0FBb0I7SUFHNUIsVUFBVSxHQUE0QixTQUFTLENBQUM7SUFHaEQsS0FBSyxHQUFrQixFQUFFLENBQUM7SUFHMUIsU0FBUyxHQUFHLE9BQU8sQ0FBQztJQUdwQixTQUFTLEdBQUcsT0FBTyxDQUFDO0lBR3BCLGtCQUFrQixHQUFHLEtBQUssQ0FBQztJQUczQixVQUFVLENBQVU7SUFHcEIsU0FBUyxHQUFHLElBQUksQ0FBQztJQUdqQixRQUFRLEdBQUcsS0FBSyxDQUFDO0lBR2pCLFlBQVksQ0FBUztJQUdyQixZQUFZLENBQVU7SUFHdEIsZ0JBQWdCLEdBQUcs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RFQsS0FBSztnQkFJTixXQUFXO3NCQURWLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIEFmdGVyVmlld0luaXQsXHJcbiAgQ29tcG9uZW50LFxyXG4gIERlc3Ryb3lSZWYsXHJcbiAgSW5qZWN0b3IsXHJcbiAgSW5wdXQsXHJcbiAgT25DaGFuZ2VzLFxyXG4gIE9uSW5pdCxcclxuICBTaW1wbGVDaGFuZ2VzLFxyXG4gIFZpZXdDaGlsZCxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtcclxuICBDb250cm9sVmFsdWVBY2Nlc3NvcixcclxuICBOR19WQUxVRV9BQ0NFU1NPUixcclxuICBOZ0NvbnRyb2wsXHJcbiAgVW50eXBlZEZvcm1Db250cm9sLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTmdTZWxlY3RDb21wb25lbnQgfSBmcm9tICdAbmctc2VsZWN0L25nLXNlbGVjdCc7XHJcblxyXG5pbXBvcnQgeyBmaWx0ZXIsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IEVjYWJzRWxlbWVudEJhc2VDb21wb25lbnQgZnJvbSAnLi4vYmFzZS9lbGVtZW50LWJhc2UnO1xyXG5pbXBvcnQgeyBTZWxlY3RWYWx1ZSB9IGZyb20gJy4uL2Jhc2UvbW9kZWxzL2VsZW1lbnQubW9kZWxzJztcclxuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdlY2Ficy1zZWxlY3QtdjInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9lY2Ficy1zZWxlY3QtdjIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2VjYWJzLXNlbGVjdC12Mi5jb21wb25lbnQuc2NzcyddLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuICAgICAgbXVsdGk6IHRydWUsXHJcbiAgICAgIHVzZUV4aXN0aW5nOiBFY2Fic1NlbGVjdFYyQ29tcG9uZW50LFxyXG4gICAgfSxcclxuICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRWNhYnNTZWxlY3RWMkNvbXBvbmVudFxyXG4gIGV4dGVuZHMgRWNhYnNFbGVtZW50QmFzZUNvbXBvbmVudFxyXG4gIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE9uQ2hhbmdlcywgT25Jbml0XHJcbntcclxuICBAVmlld0NoaWxkKE5nU2VsZWN0Q29tcG9uZW50LCB7IHN0YXRpYzogdHJ1ZSB9KVxyXG4gIG5nU2VsZWN0OiBOZ1NlbGVjdENvbXBvbmVudDtcclxuXHJcbiAgQElucHV0KClcclxuICBhcHBlYXJhbmNlOiAndW5kZXJsaW5lJyB8ICdvdXRsaW5lJyA9ICdvdXRsaW5lJztcclxuXHJcbiAgQElucHV0KClcclxuICBpdGVtczogU2VsZWN0VmFsdWVbXSA9IFtdO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGJpbmRMYWJlbCA9ICdsYWJlbCc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgYmluZFZhbHVlID0gJ3ZhbHVlJztcclxuXHJcbiAgQElucHV0KClcclxuICBlZGl0YWJsZVNlYXJjaFRlcm0gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBzZWFyY2hhYmxlOiBib29sZWFuO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGNsZWFyYWJsZSA9IHRydWU7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgbXVsdGlwbGUgPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBub3RGb3VuZFRleHQ6IHN0cmluZztcclxuXHJcbiAgQElucHV0KClcclxuICBoaWRlU2VsZWN0ZWQ6IGJvb2xlYW47XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgY2xlYXJPbkJhY2tzcGFjZSA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGNsZWFyU2VhcmNoT25BZGQ6IGJvb2xlYW47XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgdHJhY2tCeUZuOiBhbnk7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgbWluTGVuZ3RoOiBudW1iZXI7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgc2VhcmNoUGxhY2Vob2xkZXI6IHN0cmluZztcclxuXHJcbiAgQElucHV0KClcclxuICB0eXBlYWhlYWQ6IFN1YmplY3Q8c3RyaW5nPjtcclxuXHJcbiAgQElucHV0KClcclxuICBjbG9zZU9uU2VsZWN0ID0gdHJ1ZTtcclxuXHJcbiAgQElucHV0KClcclxuICBjbGVhckFsbFRleHQ6IHN0cmluZztcclxuXHJcbiAgQElucHV0KClcclxuICBzZWxlY3RBbGxMYWJlbDogc3RyaW5nO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIG90aGVyTGFiZWwgPSAnT3RoZXInO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIG90aGVyc0xhYmVsID0gJ090aGVycyc7XHJcblxyXG4gIHRvdWNoZWQgPSBmYWxzZTtcclxuICB2YWw6IHN0cmluZyB8IG51bWJlcjtcclxuICBpc09wZW46IGJvb2xlYW47XHJcbiAgZ3JvdXBCeUtleSA9ICdzZWxlY3RBbGxJZGVudGlmaWVyJztcclxuICBzZWxlY3RlZE11bHRpID0gW107XHJcbiAgaXRlbXNMaXN0OiBTZWxlY3RWYWx1ZVtdO1xyXG4gIGlzVHlwZUFoZWFkOiBib29sZWFuO1xyXG5cclxuICBnZXQgdmFsdWUoKTogc3RyaW5nIHwgbnVtYmVyIHtcclxuICAgIHJldHVybiB0aGlzLnZhbDtcclxuICB9XHJcblxyXG4gIHNldCB2YWx1ZSh2YWwpIHtcclxuICAgIGlmICh2YWwgIT09IHVuZGVmaW5lZCAmJiB0aGlzLnZhbCAhPT0gdmFsKSB7XHJcbiAgICAgIHRoaXMudmFsID0gdmFsO1xyXG4gICAgICB0aGlzLm9uQ2hhbmdlKHZhbCk7XHJcbiAgICAgIHRoaXMub25Ub3VjaCh2YWwpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGluamVjdG9yOiBJbmplY3RvcixcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveVJlZjogRGVzdHJveVJlZixcclxuICApIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuaW5pdFRyYWNrQnkoKTtcclxuXHJcbiAgICB0aGlzLnBsYWNlaG9sZGVyID0gdGhpcy5sYWJlbDtcclxuICAgIHRoaXMubm90Rm91bmRUZXh0ID0gJ05vIGRhdGEgZm91bmQnO1xyXG4gICAgdGhpcy5zZWxlY3RBbGxMYWJlbCA9ICdBbGwnO1xyXG4gICAgdGhpcy5zaG93TG9jYWxMb2FkaW5nID0gZmFsc2U7IC8vIGhpZGUgZGVmYXVsdCBsb2FkaW5nIGljb24gaW4gRWxlbWVudFdyYXBwZXJcclxuICAgIHRoaXMuY2xlYXJBbGxUZXh0ID0gJ0NsZWFyIGFsbCc7XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICBjb25zdCBuZ0NvbnRyb2w6IE5nQ29udHJvbCA9IHRoaXMuaW5qZWN0b3IuZ2V0KE5nQ29udHJvbCwgbnVsbCk7XHJcblxyXG4gICAgaWYgKG5nQ29udHJvbCkge1xyXG4gICAgICB0aGlzLmNvbnRyb2wgPSBuZ0NvbnRyb2wuY29udHJvbCBhcyBVbnR5cGVkRm9ybUNvbnRyb2w7XHJcblxyXG4gICAgICB0aGlzLmNvbnRyb2wuc3RhdHVzQ2hhbmdlc1xyXG4gICAgICAgIC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpKVxyXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy51cGRhdGVEaXNhYmxlZFN0YXRlKCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy51cGRhdGVEaXNhYmxlZFN0YXRlKCk7XHJcblxyXG4gICAgdGhpcy50eXBlYWhlYWRcclxuICAgICAgPy5waXBlKFxyXG4gICAgICAgIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpLFxyXG4gICAgICAgIGZpbHRlcigodGVybSkgPT4gISF0ZXJtKSxcclxuICAgICAgKVxyXG4gICAgICAuc3Vic2NyaWJlKCh2YWwpID0+IHtcclxuICAgICAgICB0aGlzLmlzVHlwZUFoZWFkID0gISF2YWw7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgY29uc3QgeyBpdGVtcywgbXVsdGlwbGUgfSA9IGNoYW5nZXMgPz8ge307XHJcblxyXG4gICAgaWYgKGl0ZW1zPy5jdXJyZW50VmFsdWUpIHtcclxuICAgICAgdGhpcy5pdGVtc0xpc3QgPSB0aGlzLml0ZW1zO1xyXG4gICAgICB0aGlzLnNlbGVjdEFsbEZuKHRoaXMuaXRlbXNMaXN0KTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAobXVsdGlwbGU/LmN1cnJlbnRWYWx1ZSkge1xyXG4gICAgICB0aGlzLmNsb3NlT25TZWxlY3QgPSB0aGlzLmNsb3NlT25TZWxlY3QgfHwgZmFsc2U7XHJcbiAgICAgIHRoaXMuY2xlYXJTZWFyY2hPbkFkZCA9IHRydWU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICB3cml0ZVZhbHVlKHZhbHVlOiBudW1iZXIpOiB2b2lkIHtcclxuICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcclxuICB9XHJcblxyXG4gIHJlZ2lzdGVyT25DaGFuZ2Uob25DaGFuZ2U6IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5vbkNoYW5nZSA9IG9uQ2hhbmdlO1xyXG4gIH1cclxuXHJcbiAgcmVnaXN0ZXJPblRvdWNoZWQob25Ub3VjaGVkOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMub25Ub3VjaCA9IG9uVG91Y2hlZDtcclxuICB9XHJcblxyXG4gIG1hcmtBc1RvdWNoZWQoKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMudG91Y2hlZCkge1xyXG4gICAgICB0aGlzLm9uVG91Y2goKTtcclxuICAgICAgdGhpcy50b3VjaGVkID0gdHJ1ZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uQ2hhbmdlOiBhbnkgPSAoKSA9PiB7fTtcclxuXHJcbiAgb25Ub3VjaDogYW55ID0gKCkgPT4ge307XHJcblxyXG4gIG9uQmx1cigpOiB2b2lkIHtcclxuICAgIHRoaXMub25Ub3VjaCh0aGlzLnZhbHVlKTtcclxuXHJcbiAgICBpZiAoXHJcbiAgICAgIHRoaXMuaXNUeXBlQWhlYWQgJiZcclxuICAgICAgIXRoaXMubmdTZWxlY3QuaXNPcGVuICYmXHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRNdWx0aS5sZW5ndGhcclxuICAgICkge1xyXG4gICAgICB0aGlzLml0ZW1zTGlzdCA9IHRoaXMuc2VsZWN0ZWRNdWx0aTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNlbGVjdEFsbEZuKGl0ZW1zOiBTZWxlY3RWYWx1ZVtdKTogdm9pZCB7XHJcbiAgICBpZiAoISFpdGVtcz8ubGVuZ3RoICYmIHRoaXMubXVsdGlwbGUgJiYgIXRoaXMudHlwZWFoZWFkKSB7XHJcbiAgICAgIGNvbnN0IGFsbFNlbGVjdCA9IChlbGVtZW50czogU2VsZWN0VmFsdWVbXSk6IHZvaWQgPT4ge1xyXG4gICAgICAgIGVsZW1lbnRzLmZvckVhY2goKGVsZW1lbnQ6IFNlbGVjdFZhbHVlKSA9PiB7XHJcbiAgICAgICAgICBlbGVtZW50W3RoaXMuZ3JvdXBCeUtleV0gPSAnJztcclxuICAgICAgICB9KTtcclxuICAgICAgfTtcclxuXHJcbiAgICAgIGFsbFNlbGVjdChpdGVtcyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjaGFuZ2VkKGV2ZW50OiBTZWxlY3RWYWx1ZVtdKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5tdWx0aXBsZSkge1xyXG4gICAgICBpZiAoIWV2ZW50Py5sZW5ndGgpIHtcclxuICAgICAgICB0aGlzLml0ZW1zTGlzdCA9IHRoaXMuaXRlbXM7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRNdWx0aSA9IGV2ZW50O1xyXG4gICAgICBjb25zdCB2YWx1ZXNUb0NoZWNrID0gbmV3IFNldChldmVudC5tYXAoKHsgdmFsdWUgfSkgPT4gdmFsdWUpKTtcclxuICAgICAgY29uc3QgZmlsdGVyZWRMaXN0ID1cclxuICAgICAgICB0aGlzLml0ZW1zPy5maWx0ZXIoKHsgdmFsdWU6IGl0ZW0gfSkgPT4gIXZhbHVlc1RvQ2hlY2suaGFzKGl0ZW0pKSB8fCBbXTtcclxuICAgICAgdGhpcy5pdGVtc0xpc3QgPSBbLi4udGhpcy5zZWxlY3RlZE11bHRpLCAuLi5maWx0ZXJlZExpc3RdO1xyXG5cclxuICAgICAgaWYgKGV2ZW50Py5sZW5ndGggPT09IHRoaXMuaXRlbXNMaXN0Py5sZW5ndGgpIHtcclxuICAgICAgICB0aGlzLm5nU2VsZWN0LmNsb3NlKCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRoaXMubmdTZWxlY3QuZm9jdXMoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBpbml0VHJhY2tCeSgpIHtcclxuICAgIHRoaXMudHJhY2tCeUZuID0gKGl0ZW06IFNlbGVjdFZhbHVlKSA9PiB7XHJcbiAgICAgIHJldHVybiBpdGVtPy52YWx1ZTtcclxuICAgIH07XHJcbiAgfVxyXG59XHJcbiIsIjxlY2Ficy1lbGVtZW50LXdyYXBwZXIgW2RhdGFdPVwiZ2V0RGF0YSgpXCI+XHJcbiAgPG5nLXNlbGVjdCBjbGFzcz1cImZvcm0tZmllbGRfX3NlbGVjdFwiXHJcbiAgICAgICAgICAgICBbYXBwZWFyYW5jZV09XCJhcHBlYXJhbmNlXCJcclxuICAgICAgICAgICAgIFtsYWJlbEZvcklkXT1cIm5hbWVcIlxyXG4gICAgICAgICAgICAgW2JpbmRMYWJlbF09XCJiaW5kTGFiZWwgfHwgbnVsbFwiXHJcbiAgICAgICAgICAgICBbYmluZFZhbHVlXT1cImJpbmRWYWx1ZSB8fCBudWxsXCJcclxuICAgICAgICAgICAgIFtzZWFyY2hhYmxlXT1cInNlYXJjaGFibGVcIlxyXG4gICAgICAgICAgICAgW2NsZWFyYWJsZV09XCJjbGVhcmFibGVcIlxyXG4gICAgICAgICAgICAgW2NsZWFyU2VhcmNoT25BZGRdPVwiY2xlYXJTZWFyY2hPbkFkZFwiXHJcbiAgICAgICAgICAgICBbZ3JvdXBCeV09XCJncm91cEJ5S2V5XCJcclxuICAgICAgICAgICAgIFtzZWxlY3RhYmxlR3JvdXBdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICBbc2VsZWN0YWJsZUdyb3VwQXNNb2RlbF09XCJmYWxzZVwiXHJcbiAgICAgICAgICAgICBbaXRlbXNdPVwiaXRlbXNMaXN0XCJcclxuICAgICAgICAgICAgIFttdWx0aXBsZV09XCJtdWx0aXBsZVwiXHJcbiAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cInZhbHVlXCJcclxuICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXHJcbiAgICAgICAgICAgICAoYmx1cik9XCJvbkJsdXIoKVwiXHJcbiAgICAgICAgICAgICBbaGlkZVNlbGVjdGVkXT1cImhpZGVTZWxlY3RlZFwiXHJcbiAgICAgICAgICAgICBbdHJhY2tCeUZuXT1cInRyYWNrQnlGblwiXHJcbiAgICAgICAgICAgICBbbWluVGVybUxlbmd0aF09XCJtaW5MZW5ndGhcIlxyXG4gICAgICAgICAgICAgW3R5cGVUb1NlYXJjaFRleHRdPVwic2VhcmNoUGxhY2Vob2xkZXJcIlxyXG4gICAgICAgICAgICAgW3R5cGVhaGVhZF09XCJ0eXBlYWhlYWRcIlxyXG4gICAgICAgICAgICAgW2xvYWRpbmddPVwibG9hZGluZ1wiXHJcbiAgICAgICAgICAgICBbY2xvc2VPblNlbGVjdF09XCJjbG9zZU9uU2VsZWN0XCJcclxuICAgICAgICAgICAgIFtjbGVhck9uQmFja3NwYWNlXT1cImNsZWFyT25CYWNrc3BhY2VcIlxyXG4gICAgICAgICAgICAgW2VkaXRhYmxlU2VhcmNoVGVybV09XCJlZGl0YWJsZVNlYXJjaFRlcm1cIlxyXG4gICAgICAgICAgICAgKG9wZW4pPVwidGhpcy5pc09wZW4gPSB0cnVlXCJcclxuICAgICAgICAgICAgIChjbG9zZSk9XCJ0aGlzLmlzT3BlbiA9IGZhbHNlXCJcclxuICAgICAgICAgICAgIChjaGFuZ2UpPVwiY2hhbmdlZCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgIFtub3RGb3VuZFRleHRdPVwibm90Rm91bmRUZXh0XCJcclxuICAgICAgICAgICAgIFtjbGVhckFsbFRleHRdPVwiY2xlYXJBbGxUZXh0XCJcclxuICAgICAgICAgICAgIFtyZWFkb25seV09XCJ0aGlzLmRpc2FibGVkXCI+XHJcblxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiF0eXBlYWhlYWRcIj5cclxuICAgICAgPG5nLW9wdGlvbiAqbmdGb3I9XCJsZXQgaXRlbSBvZiBpdGVtc0xpc3RcIiBbdmFsdWVdPVwiaXRlbT8udmFsdWVcIj5cclxuICAgICAgICB7eyBpdGVtPy5sYWJlbCB9fVxyXG4gICAgICA8L25nLW9wdGlvbj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgIDxuZy10ZW1wbGF0ZSBuZy1sb2FkaW5nc3Bpbm5lci10bXA+XHJcbiAgICAgIDxlY2Ficy1sb2FkaW5nLXNwaW5uZXIgc2l6ZT1cInRpbnlcIj48L2VjYWJzLWxvYWRpbmctc3Bpbm5lcj5cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcblxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiEhYmluZFZhbHVlICYmICEhYmluZExhYmVsXCI+XHJcbiAgICAgIDxuZy10ZW1wbGF0ZSBuZy1tdWx0aS1sYWJlbC10bXAgbGV0LWl0ZW1zPVwiaXRlbXNcIj5cclxuICAgICAgICA8IS0tI0N1c3RvbSBkaXNwbGF5IG9mIGZpcnN0IHNlbGVjdGVkIGl0ZW0gYW5kICgrMSBtb3JlKSBwYXR0ZXJuIC0tPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhaXNPcGVuXCI+XHJcbiAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBpdGVtIG9mIGl0ZW1zIHwgc2xpY2U6MDoxXCI+XHJcbiAgICAgICAgICAgIHt7IGl0ZW0/LlsnbGFiZWwnXSB9fSA8c3BhbiAqbmdJZj1cIml0ZW1zLmxlbmd0aCA+IDFcIj5cclxuICAgICAgICAgICAgKCt7eyBpdGVtcy5sZW5ndGggLSAxIH19XHJcbiAgICAgICAgICAgIHt7IChpdGVtcz8ubGVuZ3RoID09PSAyID8gb3RoZXJMYWJlbCA6IG90aGVyc0xhYmVsKSB9fSlcclxuICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibXVsdGlwbGVcIj5cclxuICAgICAgPCEtLSNBZGQgc2VsZWN0QWxsIGFuZCBpbmRpdmlkdWFsIGNoZWNrYm94ZXMgZm9yIG11bHRpcGxlLWVuYWJsZWQgbGlzdCAtLT5cclxuICAgICAgPG5nLXRlbXBsYXRlIG5nLW9wdGdyb3VwLXRtcCBsZXQtaXRlbSQ9XCJpdGVtJFwiIGxldC1pbmRleD1cImluZGV4XCI+XHJcbiAgICAgICAgPGVjYWJzLWNoZWNrYm94IFtuZ01vZGVsXT1cIml0ZW0kLnNlbGVjdGVkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW25hbWVdPVwiaW5kZXhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbdGV4dF09XCJzZWxlY3RBbGxMYWJlbFwiPlxyXG4gICAgICAgIDwvZWNhYnMtY2hlY2tib3g+XHJcbiAgICAgIDwvbmctdGVtcGxhdGU+XHJcblxyXG4gICAgICA8bmctdGVtcGxhdGUgbmctb3B0aW9uLXRtcCBsZXQtaXRlbSQ9XCJpdGVtJFwiIGxldC1pbmRleD1cImluZGV4XCI+XHJcbiAgICAgICAgPGVjYWJzLWNoZWNrYm94IFtuZ01vZGVsXT1cIml0ZW0kLnNlbGVjdGVkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW25hbWVdPVwiaW5kZXhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbdGV4dF09XCJpdGVtJD8uWydsYWJlbCddXCI+XHJcbiAgICAgICAgPC9lY2Ficy1jaGVja2JveD5cclxuICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gIDwvbmctc2VsZWN0PlxyXG48L2VjYWJzLWVsZW1lbnQtd3JhcHBlcj5cclxuIl19
|
|
219
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNhYnMtc2VsZWN0LXYyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VjYWJzLWNvbXBvbmVudHMvc3JjL2xpYi9lY2Ficy1zZWxlY3QtdjIvZWNhYnMtc2VsZWN0LXYyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VjYWJzLWNvbXBvbmVudHMvc3JjL2xpYi9lY2Ficy1zZWxlY3QtdjIvZWNhYnMtc2VsZWN0LXYyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxTQUFTLEVBR1QsS0FBSyxFQUlMLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBRUwsaUJBQWlCLEVBQ2pCLFNBQVMsR0FFVixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRXpELE9BQU8sRUFBRSxNQUFNLEVBQVcsTUFBTSxNQUFNLENBQUM7QUFDdkMsT0FBTyx5QkFBeUIsTUFBTSxzQkFBc0IsQ0FBQztBQUU3RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7Ozs7Ozs7QUFjaEUsTUFBTSxPQUFPLHNCQUNYLFNBQVEseUJBQXlCO0lBNkZkO0lBQ0E7SUExRm5CLFFBQVEsQ0FBb0I7SUFHNUIsVUFBVSxHQUE0QixTQUFTLENBQUM7SUFHaEQsUUFBUSxHQUFHLEVBQUUsQ0FBQztJQUdkLEtBQUssR0FBa0IsRUFBRSxDQUFDO0lBRzFCLFNBQVMsR0FBRyxPQUFPLENBQUM7SUFHcEIsU0FBUyxHQUFHLE9BQU8sQ0FBQztJQUdwQixrQkFBa0IsR0FBRyxLQUFLLENBQUM7SUFHM0IsVUFBVSxDQUFVO0lBR3BCLFNBQVMsR0FBRyxJQUFJLENBQUM7SUFHakIsUUFBUSxHQUFHLEtBQUssQ0FBQztJQUdqQixZQUFZLENBQVM7SUFHckIsWUFB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QURaLEtBQUs7Z0JBSU4sWUFBWTtzQkFEWCxLQUFLO2dCQUlOLGNBQWM7c0JBRGIsS0FBSztnQkFJTixVQUFVO3NCQURULEtBQUs7Z0JBSU4sV0FBVztzQkFEVixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBBZnRlclZpZXdJbml0LFxyXG4gIENvbXBvbmVudCxcclxuICBEZXN0cm95UmVmLFxyXG4gIEluamVjdG9yLFxyXG4gIElucHV0LFxyXG4gIE9uQ2hhbmdlcyxcclxuICBPbkluaXQsXHJcbiAgU2ltcGxlQ2hhbmdlcyxcclxuICBWaWV3Q2hpbGQsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7XHJcbiAgQ29udHJvbFZhbHVlQWNjZXNzb3IsXHJcbiAgTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgTmdDb250cm9sLFxyXG4gIFVudHlwZWRGb3JtQ29udHJvbCxcclxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IE5nU2VsZWN0Q29tcG9uZW50IH0gZnJvbSAnQG5nLXNlbGVjdC9uZy1zZWxlY3QnO1xyXG5cclxuaW1wb3J0IHsgZmlsdGVyLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCBFY2Fic0VsZW1lbnRCYXNlQ29tcG9uZW50IGZyb20gJy4uL2Jhc2UvZWxlbWVudC1iYXNlJztcclxuaW1wb3J0IHsgU2VsZWN0VmFsdWUgfSBmcm9tICcuLi9iYXNlL21vZGVscy9lbGVtZW50Lm1vZGVscyc7XHJcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnZWNhYnMtc2VsZWN0LXYyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZWNhYnMtc2VsZWN0LXYyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9lY2Ficy1zZWxlY3QtdjIuY29tcG9uZW50LnNjc3MnXSxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgICB1c2VFeGlzdGluZzogRWNhYnNTZWxlY3RWMkNvbXBvbmVudCxcclxuICAgIH0sXHJcbiAgXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEVjYWJzU2VsZWN0VjJDb21wb25lbnRcclxuICBleHRlbmRzIEVjYWJzRWxlbWVudEJhc2VDb21wb25lbnRcclxuICBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBPbkNoYW5nZXMsIE9uSW5pdFxyXG57XHJcbiAgQFZpZXdDaGlsZChOZ1NlbGVjdENvbXBvbmVudCwgeyBzdGF0aWM6IHRydWUgfSlcclxuICBuZ1NlbGVjdDogTmdTZWxlY3RDb21wb25lbnQ7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgYXBwZWFyYW5jZTogJ3VuZGVybGluZScgfCAnb3V0bGluZScgPSAnb3V0bGluZSc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgYXBwZW5kVG8gPSAnJztcclxuXHJcbiAgQElucHV0KClcclxuICBpdGVtczogU2VsZWN0VmFsdWVbXSA9IFtdO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGJpbmRMYWJlbCA9ICdsYWJlbCc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgYmluZFZhbHVlID0gJ3ZhbHVlJztcclxuXHJcbiAgQElucHV0KClcclxuICBlZGl0YWJsZVNlYXJjaFRlcm0gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBzZWFyY2hhYmxlOiBib29sZWFuO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGNsZWFyYWJsZSA9IHRydWU7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgbXVsdGlwbGUgPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBub3RGb3VuZFRleHQ6IHN0cmluZztcclxuXHJcbiAgQElucHV0KClcclxuICBoaWRlU2VsZWN0ZWQ6IGJvb2xlYW47XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgY2xlYXJPbkJhY2tzcGFjZSA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGNsZWFyU2VhcmNoT25BZGQ6IGJvb2xlYW47XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgdHJhY2tCeUZuOiBhbnk7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgbWluTGVuZ3RoOiBudW1iZXI7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgc2VhcmNoUGxhY2Vob2xkZXI6IHN0cmluZztcclxuXHJcbiAgQElucHV0KClcclxuICB0eXBlYWhlYWQ6IFN1YmplY3Q8c3RyaW5nPjtcclxuXHJcbiAgQElucHV0KClcclxuICBjbG9zZU9uU2VsZWN0ID0gdHJ1ZTtcclxuXHJcbiAgQElucHV0KClcclxuICBjbGVhckFsbFRleHQ6IHN0cmluZztcclxuXHJcbiAgQElucHV0KClcclxuICBzZWxlY3RBbGxMYWJlbDogc3RyaW5nO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIG90aGVyTGFiZWwgPSAnT3RoZXInO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIG90aGVyc0xhYmVsID0gJ090aGVycyc7XHJcblxyXG4gIHRvdWNoZWQgPSBmYWxzZTtcclxuICB2YWw6IHN0cmluZyB8IG51bWJlcjtcclxuICBpc09wZW46IGJvb2xlYW47XHJcbiAgZ3JvdXBCeUtleSA9ICdzZWxlY3RBbGxJZGVudGlmaWVyJztcclxuICBzZWxlY3RlZE11bHRpID0gW107XHJcbiAgaXRlbXNMaXN0OiBTZWxlY3RWYWx1ZVtdO1xyXG4gIGlzVHlwZUFoZWFkOiBib29sZWFuO1xyXG5cclxuICBnZXQgdmFsdWUoKTogc3RyaW5nIHwgbnVtYmVyIHtcclxuICAgIHJldHVybiB0aGlzLnZhbDtcclxuICB9XHJcblxyXG4gIHNldCB2YWx1ZSh2YWwpIHtcclxuICAgIGlmICh2YWwgIT09IHVuZGVmaW5lZCAmJiB0aGlzLnZhbCAhPT0gdmFsKSB7XHJcbiAgICAgIHRoaXMudmFsID0gdmFsO1xyXG4gICAgICB0aGlzLm9uQ2hhbmdlKHZhbCk7XHJcbiAgICAgIHRoaXMub25Ub3VjaCh2YWwpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGluamVjdG9yOiBJbmplY3RvcixcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveVJlZjogRGVzdHJveVJlZixcclxuICApIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuaW5pdFRyYWNrQnkoKTtcclxuXHJcbiAgICB0aGlzLnBsYWNlaG9sZGVyID0gdGhpcy5wbGFjZWhvbGRlciB8fCB0aGlzLmxhYmVsO1xyXG4gICAgdGhpcy5ub3RGb3VuZFRleHQgPSAnTm8gZGF0YSBmb3VuZCc7XHJcbiAgICB0aGlzLnNlbGVjdEFsbExhYmVsID0gJ0FsbCc7XHJcbiAgICB0aGlzLnNob3dMb2NhbExvYWRpbmcgPSBmYWxzZTsgLy8gaGlkZSBkZWZhdWx0IGxvYWRpbmcgaWNvbiBpbiBFbGVtZW50V3JhcHBlclxyXG4gICAgdGhpcy5jbGVhckFsbFRleHQgPSAnQ2xlYXIgYWxsJztcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgIGNvbnN0IG5nQ29udHJvbDogTmdDb250cm9sID0gdGhpcy5pbmplY3Rvci5nZXQoTmdDb250cm9sLCBudWxsKTtcclxuXHJcbiAgICBpZiAobmdDb250cm9sKSB7XHJcbiAgICAgIHRoaXMuY29udHJvbCA9IG5nQ29udHJvbC5jb250cm9sIGFzIFVudHlwZWRGb3JtQ29udHJvbDtcclxuXHJcbiAgICAgIHRoaXMuY29udHJvbC5zdGF0dXNDaGFuZ2VzXHJcbiAgICAgICAgLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZikpXHJcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLnVwZGF0ZURpc2FibGVkU3RhdGUoKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnVwZGF0ZURpc2FibGVkU3RhdGUoKTtcclxuXHJcbiAgICB0aGlzLnR5cGVhaGVhZFxyXG4gICAgICA/LnBpcGUoXHJcbiAgICAgICAgdGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZiksXHJcbiAgICAgICAgZmlsdGVyKCh0ZXJtKSA9PiAhIXRlcm0pLFxyXG4gICAgICApXHJcbiAgICAgIC5zdWJzY3JpYmUoKHZhbCkgPT4ge1xyXG4gICAgICAgIHRoaXMuaXNUeXBlQWhlYWQgPSAhIXZhbDtcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICBjb25zdCB7IGl0ZW1zLCBtdWx0aXBsZSB9ID0gY2hhbmdlcyA/PyB7fTtcclxuXHJcbiAgICBpZiAoaXRlbXM/LmN1cnJlbnRWYWx1ZSkge1xyXG4gICAgICB0aGlzLml0ZW1zTGlzdCA9IHRoaXMuaXRlbXM7XHJcbiAgICAgIHRoaXMuc2VsZWN0QWxsRm4odGhpcy5pdGVtc0xpc3QpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChtdWx0aXBsZT8uY3VycmVudFZhbHVlKSB7XHJcbiAgICAgIHRoaXMuY2xvc2VPblNlbGVjdCA9IHRoaXMuY2xvc2VPblNlbGVjdCB8fCBmYWxzZTtcclxuICAgICAgdGhpcy5jbGVhclNlYXJjaE9uQWRkID0gdHJ1ZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHdyaXRlVmFsdWUodmFsdWU6IG51bWJlcik6IHZvaWQge1xyXG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xyXG4gIH1cclxuXHJcbiAgcmVnaXN0ZXJPbkNoYW5nZShvbkNoYW5nZTogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLm9uQ2hhbmdlID0gb25DaGFuZ2U7XHJcbiAgfVxyXG5cclxuICByZWdpc3Rlck9uVG91Y2hlZChvblRvdWNoZWQ6IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5vblRvdWNoID0gb25Ub3VjaGVkO1xyXG4gIH1cclxuXHJcbiAgbWFya0FzVG91Y2hlZCgpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy50b3VjaGVkKSB7XHJcbiAgICAgIHRoaXMub25Ub3VjaCgpO1xyXG4gICAgICB0aGlzLnRvdWNoZWQgPSB0cnVlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25DaGFuZ2U6IGFueSA9ICgpID0+IHt9O1xyXG5cclxuICBvblRvdWNoOiBhbnkgPSAoKSA9PiB7fTtcclxuXHJcbiAgb25CbHVyKCk6IHZvaWQge1xyXG4gICAgdGhpcy5vblRvdWNoKHRoaXMudmFsdWUpO1xyXG5cclxuICAgIGlmIChcclxuICAgICAgdGhpcy5pc1R5cGVBaGVhZCAmJlxyXG4gICAgICAhdGhpcy5uZ1NlbGVjdC5pc09wZW4gJiZcclxuICAgICAgdGhpcy5zZWxlY3RlZE11bHRpLmxlbmd0aFxyXG4gICAgKSB7XHJcbiAgICAgIHRoaXMuaXRlbXNMaXN0ID0gdGhpcy5zZWxlY3RlZE11bHRpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2VsZWN0QWxsRm4oaXRlbXM6IFNlbGVjdFZhbHVlW10pOiB2b2lkIHtcclxuICAgIGlmICghIWl0ZW1zPy5sZW5ndGggJiYgdGhpcy5tdWx0aXBsZSAmJiAhdGhpcy50eXBlYWhlYWQpIHtcclxuICAgICAgY29uc3QgYWxsU2VsZWN0ID0gKGVsZW1lbnRzOiBTZWxlY3RWYWx1ZVtdKTogdm9pZCA9PiB7XHJcbiAgICAgICAgZWxlbWVudHMuZm9yRWFjaCgoZWxlbWVudDogU2VsZWN0VmFsdWUpID0+IHtcclxuICAgICAgICAgIGVsZW1lbnRbdGhpcy5ncm91cEJ5S2V5XSA9ICcnO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9O1xyXG5cclxuICAgICAgYWxsU2VsZWN0KGl0ZW1zKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNoYW5nZWQoZXZlbnQ6IFNlbGVjdFZhbHVlW10pOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLm11bHRpcGxlKSB7XHJcbiAgICAgIGlmICghZXZlbnQ/Lmxlbmd0aCkge1xyXG4gICAgICAgIHRoaXMuaXRlbXNMaXN0ID0gdGhpcy5pdGVtcztcclxuICAgICAgfVxyXG5cclxuICAgICAgdGhpcy5zZWxlY3RlZE11bHRpID0gZXZlbnQ7XHJcbiAgICAgIGNvbnN0IHZhbHVlc1RvQ2hlY2sgPSBuZXcgU2V0KGV2ZW50Lm1hcCgoeyB2YWx1ZSB9KSA9PiB2YWx1ZSkpO1xyXG4gICAgICBjb25zdCBmaWx0ZXJlZExpc3QgPVxyXG4gICAgICAgIHRoaXMuaXRlbXM/LmZpbHRlcigoeyB2YWx1ZTogaXRlbSB9KSA9PiAhdmFsdWVzVG9DaGVjay5oYXMoaXRlbSkpIHx8IFtdO1xyXG4gICAgICB0aGlzLml0ZW1zTGlzdCA9IFsuLi50aGlzLnNlbGVjdGVkTXVsdGksIC4uLmZpbHRlcmVkTGlzdF07XHJcblxyXG4gICAgICBpZiAoZXZlbnQ/Lmxlbmd0aCA9PT0gdGhpcy5pdGVtc0xpc3Q/Lmxlbmd0aCkge1xyXG4gICAgICAgIHRoaXMubmdTZWxlY3QuY2xvc2UoKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgdGhpcy5uZ1NlbGVjdC5mb2N1cygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGluaXRUcmFja0J5KCkge1xyXG4gICAgdGhpcy50cmFja0J5Rm4gPSAoaXRlbTogU2VsZWN0VmFsdWUpID0+IHtcclxuICAgICAgcmV0dXJuIGl0ZW0/LnZhbHVlO1xyXG4gICAgfTtcclxuICB9XHJcbn1cclxuIiwiPGVjYWJzLWVsZW1lbnQtd3JhcHBlciBbZGF0YV09XCJnZXREYXRhKClcIj5cclxuICA8bmctc2VsZWN0IGNsYXNzPVwiZm9ybS1maWVsZF9fc2VsZWN0XCJcclxuICAgICAgICAgICAgIFthcHBlYXJhbmNlXT1cImFwcGVhcmFuY2VcIlxyXG4gICAgICAgICAgICAgW2FwcGVuZFRvXT1cImFwcGVuZFRvXCJcclxuICAgICAgICAgICAgIFtsYWJlbEZvcklkXT1cIm5hbWVcIlxyXG4gICAgICAgICAgICAgW2JpbmRMYWJlbF09XCJiaW5kTGFiZWwgfHwgbnVsbFwiXHJcbiAgICAgICAgICAgICBbYmluZFZhbHVlXT1cImJpbmRWYWx1ZSB8fCBudWxsXCJcclxuICAgICAgICAgICAgIFtzZWFyY2hhYmxlXT1cInNlYXJjaGFibGVcIlxyXG4gICAgICAgICAgICAgW2NsZWFyYWJsZV09XCJjbGVhcmFibGVcIlxyXG4gICAgICAgICAgICAgW2NsZWFyU2VhcmNoT25BZGRdPVwiY2xlYXJTZWFyY2hPbkFkZFwiXHJcbiAgICAgICAgICAgICBbZ3JvdXBCeV09XCJncm91cEJ5S2V5XCJcclxuICAgICAgICAgICAgIFtzZWxlY3RhYmxlR3JvdXBdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICBbc2VsZWN0YWJsZUdyb3VwQXNNb2RlbF09XCJmYWxzZVwiXHJcbiAgICAgICAgICAgICBbaXRlbXNdPVwiaXRlbXNMaXN0XCJcclxuICAgICAgICAgICAgIFttdWx0aXBsZV09XCJtdWx0aXBsZVwiXHJcbiAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cInZhbHVlXCJcclxuICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXHJcbiAgICAgICAgICAgICAoYmx1cik9XCJvbkJsdXIoKVwiXHJcbiAgICAgICAgICAgICBbaGlkZVNlbGVjdGVkXT1cImhpZGVTZWxlY3RlZFwiXHJcbiAgICAgICAgICAgICBbdHJhY2tCeUZuXT1cInRyYWNrQnlGblwiXHJcbiAgICAgICAgICAgICBbbWluVGVybUxlbmd0aF09XCJtaW5MZW5ndGhcIlxyXG4gICAgICAgICAgICAgW3R5cGVUb1NlYXJjaFRleHRdPVwic2VhcmNoUGxhY2Vob2xkZXJcIlxyXG4gICAgICAgICAgICAgW3R5cGVhaGVhZF09XCJ0eXBlYWhlYWRcIlxyXG4gICAgICAgICAgICAgW2xvYWRpbmddPVwibG9hZGluZ1wiXHJcbiAgICAgICAgICAgICBbY2xvc2VPblNlbGVjdF09XCJjbG9zZU9uU2VsZWN0XCJcclxuICAgICAgICAgICAgIFtjbGVhck9uQmFja3NwYWNlXT1cImNsZWFyT25CYWNrc3BhY2VcIlxyXG4gICAgICAgICAgICAgW2VkaXRhYmxlU2VhcmNoVGVybV09XCJlZGl0YWJsZVNlYXJjaFRlcm1cIlxyXG4gICAgICAgICAgICAgKG9wZW4pPVwidGhpcy5pc09wZW4gPSB0cnVlXCJcclxuICAgICAgICAgICAgIChjbG9zZSk9XCJ0aGlzLmlzT3BlbiA9IGZhbHNlXCJcclxuICAgICAgICAgICAgIChjaGFuZ2UpPVwiY2hhbmdlZCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgIFtub3RGb3VuZFRleHRdPVwibm90Rm91bmRUZXh0XCJcclxuICAgICAgICAgICAgIFtjbGVhckFsbFRleHRdPVwiY2xlYXJBbGxUZXh0XCJcclxuICAgICAgICAgICAgIFtyZWFkb25seV09XCJ0aGlzLmRpc2FibGVkXCI+XHJcblxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiF0eXBlYWhlYWRcIj5cclxuICAgICAgPG5nLW9wdGlvbiAqbmdGb3I9XCJsZXQgaXRlbSBvZiBpdGVtc0xpc3RcIiBbdmFsdWVdPVwiaXRlbT8udmFsdWVcIj5cclxuICAgICAgICB7eyBpdGVtPy5sYWJlbCB9fVxyXG4gICAgICA8L25nLW9wdGlvbj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgIDxuZy10ZW1wbGF0ZSBuZy1sb2FkaW5nc3Bpbm5lci10bXA+XHJcbiAgICAgIDxlY2Ficy1sb2FkaW5nLXNwaW5uZXIgc2l6ZT1cInRpbnlcIj48L2VjYWJzLWxvYWRpbmctc3Bpbm5lcj5cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcblxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiEhYmluZFZhbHVlICYmICEhYmluZExhYmVsXCI+XHJcbiAgICAgIDxuZy10ZW1wbGF0ZSBuZy1tdWx0aS1sYWJlbC10bXAgbGV0LWl0ZW1zPVwiaXRlbXNcIj5cclxuICAgICAgICA8IS0tI0N1c3RvbSBkaXNwbGF5IG9mIGZpcnN0IHNlbGVjdGVkIGl0ZW0gYW5kICgrMSBtb3JlKSBwYXR0ZXJuIC0tPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhaXNPcGVuXCI+XHJcbiAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBpdGVtIG9mIGl0ZW1zIHwgc2xpY2U6MDoxXCI+XHJcbiAgICAgICAgICAgIHt7IGl0ZW0/LlsnbGFiZWwnXSB9fSA8c3BhbiAqbmdJZj1cIml0ZW1zLmxlbmd0aCA+IDFcIj5cclxuICAgICAgICAgICAgKCt7eyBpdGVtcy5sZW5ndGggLSAxIH19XHJcbiAgICAgICAgICAgIHt7IChpdGVtcz8ubGVuZ3RoID09PSAyID8gb3RoZXJMYWJlbCA6IG90aGVyc0xhYmVsKSB9fSlcclxuICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibXVsdGlwbGVcIj5cclxuICAgICAgPCEtLSNBZGQgc2VsZWN0QWxsIGFuZCBpbmRpdmlkdWFsIGNoZWNrYm94ZXMgZm9yIG11bHRpcGxlLWVuYWJsZWQgbGlzdCAtLT5cclxuICAgICAgPG5nLXRlbXBsYXRlIG5nLW9wdGdyb3VwLXRtcCBsZXQtaXRlbSQ9XCJpdGVtJFwiIGxldC1pbmRleD1cImluZGV4XCI+XHJcbiAgICAgICAgPGVjYWJzLWNoZWNrYm94IFtuZ01vZGVsXT1cIml0ZW0kLnNlbGVjdGVkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW25hbWVdPVwiaW5kZXhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbdGV4dF09XCJzZWxlY3RBbGxMYWJlbFwiPlxyXG4gICAgICAgIDwvZWNhYnMtY2hlY2tib3g+XHJcbiAgICAgIDwvbmctdGVtcGxhdGU+XHJcblxyXG4gICAgICA8bmctdGVtcGxhdGUgbmctb3B0aW9uLXRtcCBsZXQtaXRlbSQ9XCJpdGVtJFwiIGxldC1pbmRleD1cImluZGV4XCI+XHJcbiAgICAgICAgPGVjYWJzLWNoZWNrYm94IFtuZ01vZGVsXT1cIml0ZW0kLnNlbGVjdGVkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW25hbWVdPVwiaW5kZXhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbdGV4dF09XCJpdGVtJD8uWydsYWJlbCddXCI+XHJcbiAgICAgICAgPC9lY2Ficy1jaGVja2JveD5cclxuICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gIDwvbmctc2VsZWN0PlxyXG48L2VjYWJzLWVsZW1lbnQtd3JhcHBlcj5cclxuIl19
|
|
@@ -1709,6 +1709,7 @@ class EcabsSelectV2Component extends EcabsElementBaseComponent {
|
|
|
1709
1709
|
destroyRef;
|
|
1710
1710
|
ngSelect;
|
|
1711
1711
|
appearance = 'outline';
|
|
1712
|
+
appendTo = '';
|
|
1712
1713
|
items = [];
|
|
1713
1714
|
bindLabel = 'label';
|
|
1714
1715
|
bindValue = 'value';
|
|
@@ -1753,7 +1754,7 @@ class EcabsSelectV2Component extends EcabsElementBaseComponent {
|
|
|
1753
1754
|
}
|
|
1754
1755
|
ngOnInit() {
|
|
1755
1756
|
this.initTrackBy();
|
|
1756
|
-
this.placeholder = this.label;
|
|
1757
|
+
this.placeholder = this.placeholder || this.label;
|
|
1757
1758
|
this.notFoundText = 'No data found';
|
|
1758
1759
|
this.selectAllLabel = 'All';
|
|
1759
1760
|
this.showLocalLoading = false; // hide default loading icon in ElementWrapper
|
|
@@ -1843,13 +1844,13 @@ class EcabsSelectV2Component extends EcabsElementBaseComponent {
|
|
|
1843
1844
|
};
|
|
1844
1845
|
}
|
|
1845
1846
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsSelectV2Component, deps: [{ token: i0.Injector }, { token: i0.DestroyRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
1846
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: EcabsSelectV2Component, selector: "ecabs-select-v2", inputs: { appearance: "appearance", items: "items", bindLabel: "bindLabel", bindValue: "bindValue", editableSearchTerm: "editableSearchTerm", searchable: "searchable", clearable: "clearable", multiple: "multiple", notFoundText: "notFoundText", hideSelected: "hideSelected", clearOnBackspace: "clearOnBackspace", clearSearchOnAdd: "clearSearchOnAdd", trackByFn: "trackByFn", minLength: "minLength", searchPlaceholder: "searchPlaceholder", typeahead: "typeahead", closeOnSelect: "closeOnSelect", clearAllText: "clearAllText", selectAllLabel: "selectAllLabel", otherLabel: "otherLabel", othersLabel: "othersLabel" }, providers: [
|
|
1847
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: EcabsSelectV2Component, selector: "ecabs-select-v2", inputs: { appearance: "appearance", appendTo: "appendTo", items: "items", bindLabel: "bindLabel", bindValue: "bindValue", editableSearchTerm: "editableSearchTerm", searchable: "searchable", clearable: "clearable", multiple: "multiple", notFoundText: "notFoundText", hideSelected: "hideSelected", clearOnBackspace: "clearOnBackspace", clearSearchOnAdd: "clearSearchOnAdd", trackByFn: "trackByFn", minLength: "minLength", searchPlaceholder: "searchPlaceholder", typeahead: "typeahead", closeOnSelect: "closeOnSelect", clearAllText: "clearAllText", selectAllLabel: "selectAllLabel", otherLabel: "otherLabel", othersLabel: "othersLabel" }, providers: [
|
|
1847
1848
|
{
|
|
1848
1849
|
provide: NG_VALUE_ACCESSOR,
|
|
1849
1850
|
multi: true,
|
|
1850
1851
|
useExisting: EcabsSelectV2Component,
|
|
1851
1852
|
},
|
|
1852
|
-
], viewQueries: [{ propertyName: "ngSelect", first: true, predicate: NgSelectComponent, descendants: true, static: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<ecabs-element-wrapper [data]=\"getData()\">\r\n <ng-select class=\"form-field__select\"\r\n [appearance]=\"appearance\"\r\n [labelForId]=\"name\"\r\n [bindLabel]=\"bindLabel || null\"\r\n [bindValue]=\"bindValue || null\"\r\n [searchable]=\"searchable\"\r\n [clearable]=\"clearable\"\r\n [clearSearchOnAdd]=\"clearSearchOnAdd\"\r\n [groupBy]=\"groupByKey\"\r\n [selectableGroup]=\"true\"\r\n [selectableGroupAsModel]=\"false\"\r\n [items]=\"itemsList\"\r\n [multiple]=\"multiple\"\r\n [(ngModel)]=\"value\"\r\n [placeholder]=\"placeholder\"\r\n (blur)=\"onBlur()\"\r\n [hideSelected]=\"hideSelected\"\r\n [trackByFn]=\"trackByFn\"\r\n [minTermLength]=\"minLength\"\r\n [typeToSearchText]=\"searchPlaceholder\"\r\n [typeahead]=\"typeahead\"\r\n [loading]=\"loading\"\r\n [closeOnSelect]=\"closeOnSelect\"\r\n [clearOnBackspace]=\"clearOnBackspace\"\r\n [editableSearchTerm]=\"editableSearchTerm\"\r\n (open)=\"this.isOpen = true\"\r\n (close)=\"this.isOpen = false\"\r\n (change)=\"changed($event)\"\r\n [notFoundText]=\"notFoundText\"\r\n [clearAllText]=\"clearAllText\"\r\n [readonly]=\"this.disabled\">\r\n\r\n <ng-container *ngIf=\"!typeahead\">\r\n <ng-option *ngFor=\"let item of itemsList\" [value]=\"item?.value\">\r\n {{ item?.label }}\r\n </ng-option>\r\n </ng-container>\r\n\r\n <ng-template ng-loadingspinner-tmp>\r\n <ecabs-loading-spinner size=\"tiny\"></ecabs-loading-spinner>\r\n </ng-template>\r\n\r\n <ng-container *ngIf=\"!!bindValue && !!bindLabel\">\r\n <ng-template ng-multi-label-tmp let-items=\"items\">\r\n <!--#Custom display of first selected item and (+1 more) pattern -->\r\n <ng-container *ngIf=\"!isOpen\">\r\n <div *ngFor=\"let item of items | slice:0:1\">\r\n {{ item?.['label'] }} <span *ngIf=\"items.length > 1\">\r\n (+{{ items.length - 1 }}\r\n {{ (items?.length === 2 ? otherLabel : othersLabel) }})\r\n </span>\r\n </div>\r\n </ng-container>\r\n </ng-template>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"multiple\">\r\n <!--#Add selectAll and individual checkboxes for multiple-enabled list -->\r\n <ng-template ng-optgroup-tmp let-item$=\"item$\" let-index=\"index\">\r\n <ecabs-checkbox [ngModel]=\"item$.selected\"\r\n [name]=\"index\"\r\n [text]=\"selectAllLabel\">\r\n </ecabs-checkbox>\r\n </ng-template>\r\n\r\n <ng-template ng-option-tmp let-item$=\"item$\" let-index=\"index\">\r\n <ecabs-checkbox [ngModel]=\"item$.selected\"\r\n [name]=\"index\"\r\n [text]=\"item$?.['label']\">\r\n </ecabs-checkbox>\r\n </ng-template>\r\n </ng-container>\r\n </ng-select>\r\n</ecabs-element-wrapper>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: EcabsElementWrapperComponent, selector: "ecabs-element-wrapper", inputs: ["data", "showCloseIcon", "focusedFlag", "showPassword", "control"], outputs: ["showHidePassword", "clear", "increase", "decrease"] }, { kind: "directive", type: i5$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4$2.NgSelectComponent, selector: "ng-select", inputs: ["bindLabel", "bindValue", "markFirst", "placeholder", "notFoundText", "typeToSearchText", "addTagText", "loadingText", "clearAllText", "appearance", "dropdownPosition", "appendTo", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "openOnEnter", "maxSelectedItems", "groupBy", "groupValue", "bufferAmount", "virtualScroll", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "tabIndex", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "keyDownFn", "typeahead", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd", "deselectOnClick"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }, { kind: "component", type: i4$2.NgOptionComponent, selector: "ng-option", inputs: ["value", "disabled"] }, { kind: "directive", type: i4$2.NgOptgroupTemplateDirective, selector: "[ng-optgroup-tmp]" }, { kind: "directive", type: i4$2.NgOptionTemplateDirective, selector: "[ng-option-tmp]" }, { kind: "directive", type: i4$2.NgMultiLabelTemplateDirective, selector: "[ng-multi-label-tmp]" }, { kind: "directive", type: i4$2.NgLoadingSpinnerTemplateDirective, selector: "[ng-loadingspinner-tmp]" }, { kind: "component", type: EcabsSpinnerComponent, selector: "ecabs-loading-spinner", inputs: ["size"] }, { kind: "component", type: EcabsCheckboxToggleComponent, selector: "ecabs-checkbox", inputs: ["type", "text", "label", "labelPosition", "indeterminate", "checked"], outputs: ["click", "changed"] }, { kind: "pipe", type: i1.SlicePipe, name: "slice" }] });
|
|
1853
|
+
], viewQueries: [{ propertyName: "ngSelect", first: true, predicate: NgSelectComponent, descendants: true, static: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<ecabs-element-wrapper [data]=\"getData()\">\r\n <ng-select class=\"form-field__select\"\r\n [appearance]=\"appearance\"\r\n [appendTo]=\"appendTo\"\r\n [labelForId]=\"name\"\r\n [bindLabel]=\"bindLabel || null\"\r\n [bindValue]=\"bindValue || null\"\r\n [searchable]=\"searchable\"\r\n [clearable]=\"clearable\"\r\n [clearSearchOnAdd]=\"clearSearchOnAdd\"\r\n [groupBy]=\"groupByKey\"\r\n [selectableGroup]=\"true\"\r\n [selectableGroupAsModel]=\"false\"\r\n [items]=\"itemsList\"\r\n [multiple]=\"multiple\"\r\n [(ngModel)]=\"value\"\r\n [placeholder]=\"placeholder\"\r\n (blur)=\"onBlur()\"\r\n [hideSelected]=\"hideSelected\"\r\n [trackByFn]=\"trackByFn\"\r\n [minTermLength]=\"minLength\"\r\n [typeToSearchText]=\"searchPlaceholder\"\r\n [typeahead]=\"typeahead\"\r\n [loading]=\"loading\"\r\n [closeOnSelect]=\"closeOnSelect\"\r\n [clearOnBackspace]=\"clearOnBackspace\"\r\n [editableSearchTerm]=\"editableSearchTerm\"\r\n (open)=\"this.isOpen = true\"\r\n (close)=\"this.isOpen = false\"\r\n (change)=\"changed($event)\"\r\n [notFoundText]=\"notFoundText\"\r\n [clearAllText]=\"clearAllText\"\r\n [readonly]=\"this.disabled\">\r\n\r\n <ng-container *ngIf=\"!typeahead\">\r\n <ng-option *ngFor=\"let item of itemsList\" [value]=\"item?.value\">\r\n {{ item?.label }}\r\n </ng-option>\r\n </ng-container>\r\n\r\n <ng-template ng-loadingspinner-tmp>\r\n <ecabs-loading-spinner size=\"tiny\"></ecabs-loading-spinner>\r\n </ng-template>\r\n\r\n <ng-container *ngIf=\"!!bindValue && !!bindLabel\">\r\n <ng-template ng-multi-label-tmp let-items=\"items\">\r\n <!--#Custom display of first selected item and (+1 more) pattern -->\r\n <ng-container *ngIf=\"!isOpen\">\r\n <div *ngFor=\"let item of items | slice:0:1\">\r\n {{ item?.['label'] }} <span *ngIf=\"items.length > 1\">\r\n (+{{ items.length - 1 }}\r\n {{ (items?.length === 2 ? otherLabel : othersLabel) }})\r\n </span>\r\n </div>\r\n </ng-container>\r\n </ng-template>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"multiple\">\r\n <!--#Add selectAll and individual checkboxes for multiple-enabled list -->\r\n <ng-template ng-optgroup-tmp let-item$=\"item$\" let-index=\"index\">\r\n <ecabs-checkbox [ngModel]=\"item$.selected\"\r\n [name]=\"index\"\r\n [text]=\"selectAllLabel\">\r\n </ecabs-checkbox>\r\n </ng-template>\r\n\r\n <ng-template ng-option-tmp let-item$=\"item$\" let-index=\"index\">\r\n <ecabs-checkbox [ngModel]=\"item$.selected\"\r\n [name]=\"index\"\r\n [text]=\"item$?.['label']\">\r\n </ecabs-checkbox>\r\n </ng-template>\r\n </ng-container>\r\n </ng-select>\r\n</ecabs-element-wrapper>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: EcabsElementWrapperComponent, selector: "ecabs-element-wrapper", inputs: ["data", "showCloseIcon", "focusedFlag", "showPassword", "control"], outputs: ["showHidePassword", "clear", "increase", "decrease"] }, { kind: "directive", type: i5$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4$2.NgSelectComponent, selector: "ng-select", inputs: ["bindLabel", "bindValue", "markFirst", "placeholder", "notFoundText", "typeToSearchText", "addTagText", "loadingText", "clearAllText", "appearance", "dropdownPosition", "appendTo", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "openOnEnter", "maxSelectedItems", "groupBy", "groupValue", "bufferAmount", "virtualScroll", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "tabIndex", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "keyDownFn", "typeahead", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd", "deselectOnClick"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }, { kind: "component", type: i4$2.NgOptionComponent, selector: "ng-option", inputs: ["value", "disabled"] }, { kind: "directive", type: i4$2.NgOptgroupTemplateDirective, selector: "[ng-optgroup-tmp]" }, { kind: "directive", type: i4$2.NgOptionTemplateDirective, selector: "[ng-option-tmp]" }, { kind: "directive", type: i4$2.NgMultiLabelTemplateDirective, selector: "[ng-multi-label-tmp]" }, { kind: "directive", type: i4$2.NgLoadingSpinnerTemplateDirective, selector: "[ng-loadingspinner-tmp]" }, { kind: "component", type: EcabsSpinnerComponent, selector: "ecabs-loading-spinner", inputs: ["size"] }, { kind: "component", type: EcabsCheckboxToggleComponent, selector: "ecabs-checkbox", inputs: ["type", "text", "label", "labelPosition", "indeterminate", "checked"], outputs: ["click", "changed"] }, { kind: "pipe", type: i1.SlicePipe, name: "slice" }] });
|
|
1853
1854
|
}
|
|
1854
1855
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsSelectV2Component, decorators: [{
|
|
1855
1856
|
type: Component,
|
|
@@ -1859,12 +1860,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
1859
1860
|
multi: true,
|
|
1860
1861
|
useExisting: EcabsSelectV2Component,
|
|
1861
1862
|
},
|
|
1862
|
-
], template: "<ecabs-element-wrapper [data]=\"getData()\">\r\n <ng-select class=\"form-field__select\"\r\n [appearance]=\"appearance\"\r\n [labelForId]=\"name\"\r\n [bindLabel]=\"bindLabel || null\"\r\n [bindValue]=\"bindValue || null\"\r\n [searchable]=\"searchable\"\r\n [clearable]=\"clearable\"\r\n [clearSearchOnAdd]=\"clearSearchOnAdd\"\r\n [groupBy]=\"groupByKey\"\r\n [selectableGroup]=\"true\"\r\n [selectableGroupAsModel]=\"false\"\r\n [items]=\"itemsList\"\r\n [multiple]=\"multiple\"\r\n [(ngModel)]=\"value\"\r\n [placeholder]=\"placeholder\"\r\n (blur)=\"onBlur()\"\r\n [hideSelected]=\"hideSelected\"\r\n [trackByFn]=\"trackByFn\"\r\n [minTermLength]=\"minLength\"\r\n [typeToSearchText]=\"searchPlaceholder\"\r\n [typeahead]=\"typeahead\"\r\n [loading]=\"loading\"\r\n [closeOnSelect]=\"closeOnSelect\"\r\n [clearOnBackspace]=\"clearOnBackspace\"\r\n [editableSearchTerm]=\"editableSearchTerm\"\r\n (open)=\"this.isOpen = true\"\r\n (close)=\"this.isOpen = false\"\r\n (change)=\"changed($event)\"\r\n [notFoundText]=\"notFoundText\"\r\n [clearAllText]=\"clearAllText\"\r\n [readonly]=\"this.disabled\">\r\n\r\n <ng-container *ngIf=\"!typeahead\">\r\n <ng-option *ngFor=\"let item of itemsList\" [value]=\"item?.value\">\r\n {{ item?.label }}\r\n </ng-option>\r\n </ng-container>\r\n\r\n <ng-template ng-loadingspinner-tmp>\r\n <ecabs-loading-spinner size=\"tiny\"></ecabs-loading-spinner>\r\n </ng-template>\r\n\r\n <ng-container *ngIf=\"!!bindValue && !!bindLabel\">\r\n <ng-template ng-multi-label-tmp let-items=\"items\">\r\n <!--#Custom display of first selected item and (+1 more) pattern -->\r\n <ng-container *ngIf=\"!isOpen\">\r\n <div *ngFor=\"let item of items | slice:0:1\">\r\n {{ item?.['label'] }} <span *ngIf=\"items.length > 1\">\r\n (+{{ items.length - 1 }}\r\n {{ (items?.length === 2 ? otherLabel : othersLabel) }})\r\n </span>\r\n </div>\r\n </ng-container>\r\n </ng-template>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"multiple\">\r\n <!--#Add selectAll and individual checkboxes for multiple-enabled list -->\r\n <ng-template ng-optgroup-tmp let-item$=\"item$\" let-index=\"index\">\r\n <ecabs-checkbox [ngModel]=\"item$.selected\"\r\n [name]=\"index\"\r\n [text]=\"selectAllLabel\">\r\n </ecabs-checkbox>\r\n </ng-template>\r\n\r\n <ng-template ng-option-tmp let-item$=\"item$\" let-index=\"index\">\r\n <ecabs-checkbox [ngModel]=\"item$.selected\"\r\n [name]=\"index\"\r\n [text]=\"item$?.['label']\">\r\n </ecabs-checkbox>\r\n </ng-template>\r\n </ng-container>\r\n </ng-select>\r\n</ecabs-element-wrapper>\r\n" }]
|
|
1863
|
+
], template: "<ecabs-element-wrapper [data]=\"getData()\">\r\n <ng-select class=\"form-field__select\"\r\n [appearance]=\"appearance\"\r\n [appendTo]=\"appendTo\"\r\n [labelForId]=\"name\"\r\n [bindLabel]=\"bindLabel || null\"\r\n [bindValue]=\"bindValue || null\"\r\n [searchable]=\"searchable\"\r\n [clearable]=\"clearable\"\r\n [clearSearchOnAdd]=\"clearSearchOnAdd\"\r\n [groupBy]=\"groupByKey\"\r\n [selectableGroup]=\"true\"\r\n [selectableGroupAsModel]=\"false\"\r\n [items]=\"itemsList\"\r\n [multiple]=\"multiple\"\r\n [(ngModel)]=\"value\"\r\n [placeholder]=\"placeholder\"\r\n (blur)=\"onBlur()\"\r\n [hideSelected]=\"hideSelected\"\r\n [trackByFn]=\"trackByFn\"\r\n [minTermLength]=\"minLength\"\r\n [typeToSearchText]=\"searchPlaceholder\"\r\n [typeahead]=\"typeahead\"\r\n [loading]=\"loading\"\r\n [closeOnSelect]=\"closeOnSelect\"\r\n [clearOnBackspace]=\"clearOnBackspace\"\r\n [editableSearchTerm]=\"editableSearchTerm\"\r\n (open)=\"this.isOpen = true\"\r\n (close)=\"this.isOpen = false\"\r\n (change)=\"changed($event)\"\r\n [notFoundText]=\"notFoundText\"\r\n [clearAllText]=\"clearAllText\"\r\n [readonly]=\"this.disabled\">\r\n\r\n <ng-container *ngIf=\"!typeahead\">\r\n <ng-option *ngFor=\"let item of itemsList\" [value]=\"item?.value\">\r\n {{ item?.label }}\r\n </ng-option>\r\n </ng-container>\r\n\r\n <ng-template ng-loadingspinner-tmp>\r\n <ecabs-loading-spinner size=\"tiny\"></ecabs-loading-spinner>\r\n </ng-template>\r\n\r\n <ng-container *ngIf=\"!!bindValue && !!bindLabel\">\r\n <ng-template ng-multi-label-tmp let-items=\"items\">\r\n <!--#Custom display of first selected item and (+1 more) pattern -->\r\n <ng-container *ngIf=\"!isOpen\">\r\n <div *ngFor=\"let item of items | slice:0:1\">\r\n {{ item?.['label'] }} <span *ngIf=\"items.length > 1\">\r\n (+{{ items.length - 1 }}\r\n {{ (items?.length === 2 ? otherLabel : othersLabel) }})\r\n </span>\r\n </div>\r\n </ng-container>\r\n </ng-template>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"multiple\">\r\n <!--#Add selectAll and individual checkboxes for multiple-enabled list -->\r\n <ng-template ng-optgroup-tmp let-item$=\"item$\" let-index=\"index\">\r\n <ecabs-checkbox [ngModel]=\"item$.selected\"\r\n [name]=\"index\"\r\n [text]=\"selectAllLabel\">\r\n </ecabs-checkbox>\r\n </ng-template>\r\n\r\n <ng-template ng-option-tmp let-item$=\"item$\" let-index=\"index\">\r\n <ecabs-checkbox [ngModel]=\"item$.selected\"\r\n [name]=\"index\"\r\n [text]=\"item$?.['label']\">\r\n </ecabs-checkbox>\r\n </ng-template>\r\n </ng-container>\r\n </ng-select>\r\n</ecabs-element-wrapper>\r\n" }]
|
|
1863
1864
|
}], ctorParameters: function () { return [{ type: i0.Injector }, { type: i0.DestroyRef }]; }, propDecorators: { ngSelect: [{
|
|
1864
1865
|
type: ViewChild,
|
|
1865
1866
|
args: [NgSelectComponent, { static: true }]
|
|
1866
1867
|
}], appearance: [{
|
|
1867
1868
|
type: Input
|
|
1869
|
+
}], appendTo: [{
|
|
1870
|
+
type: Input
|
|
1868
1871
|
}], items: [{
|
|
1869
1872
|
type: Input
|
|
1870
1873
|
}], bindLabel: [{
|