@wavemaker/app-ng-runtime 11.8.1-next.27333 → 11.8.1-next.27335
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.
- app-ng-runtime/components/input/default/bundles/index.umd.js +24 -21
- app-ng-runtime/components/input/default/esm2022/select/select.component.mjs +30 -29
- app-ng-runtime/components/input/default/fesm2022/index.mjs +24 -21
- app-ng-runtime/components/input/default/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/input/default/select/select.component.d.ts +2 -4
- app-ng-runtime/package.json +1 -1
- app-ng-runtime/scripts/datatable/datatable.js +1 -1
|
@@ -2189,9 +2189,8 @@
|
|
|
2189
2189
|
this.datavalue = ds.execute(i1$1.DataSource.Operation.GET_DEFAULT_LOCALE);
|
|
2190
2190
|
}
|
|
2191
2191
|
}
|
|
2192
|
-
constructor(inj,
|
|
2192
|
+
constructor(inj, explicitContext) {
|
|
2193
2193
|
super(inj, WIDGET_CONFIG$7, explicitContext);
|
|
2194
|
-
this.app = app;
|
|
2195
2194
|
this.acceptsArray = true;
|
|
2196
2195
|
}
|
|
2197
2196
|
ngAfterViewInit() {
|
|
@@ -2200,7 +2199,7 @@
|
|
|
2200
2199
|
}
|
|
2201
2200
|
// Change event is registered from the template, Prevent the framework from registering one more event
|
|
2202
2201
|
handleEvent(node, eventName, eventCallback, locals) {
|
|
2203
|
-
if (!
|
|
2202
|
+
if (!['blur', 'change'].includes(eventName)) {
|
|
2204
2203
|
super.handleEvent(this.selectEl.nativeElement, eventName, eventCallback, locals);
|
|
2205
2204
|
}
|
|
2206
2205
|
}
|
|
@@ -2251,36 +2250,40 @@
|
|
|
2251
2250
|
*/
|
|
2252
2251
|
checkForFloatingLabel($event) {
|
|
2253
2252
|
const captionEl = $(this.selectEl.nativeElement).closest('.app-composite-widget.caption-floating');
|
|
2253
|
+
if (!this.placeholder) {
|
|
2254
|
+
this.removePlaceholderOption();
|
|
2255
|
+
}
|
|
2254
2256
|
if (captionEl.length > 0) {
|
|
2255
|
-
|
|
2256
|
-
|
|
2257
|
-
|
|
2258
|
-
|
|
2259
|
-
else {
|
|
2260
|
-
$(this.selectEl.nativeElement).find('option:first').text(this.placeholder);
|
|
2257
|
+
const placeholderOption = this.selectEl.nativeElement.querySelector('#placeholderOption');
|
|
2258
|
+
if ($event.type === 'mousedown' && (!this.datavalue || (this.datavalue && $(this.selectEl).find('select option:selected').text() === '' && this.placeholder))) {
|
|
2259
|
+
if (this.placeholder) {
|
|
2260
|
+
placeholderOption.textContent = this.placeholder;
|
|
2261
2261
|
}
|
|
2262
2262
|
}
|
|
2263
2263
|
else if (!this.datavalue) {
|
|
2264
|
-
|
|
2264
|
+
if (this.placeholder) {
|
|
2265
|
+
placeholderOption.textContent = '';
|
|
2266
|
+
}
|
|
2265
2267
|
captionEl.removeClass('float-active');
|
|
2266
2268
|
}
|
|
2267
2269
|
}
|
|
2268
|
-
else if (!(this.datavalue || this.placeholder)) {
|
|
2269
|
-
this.removePlaceholderOption();
|
|
2270
|
-
}
|
|
2271
2270
|
}
|
|
2272
2271
|
/*
|
|
2273
2272
|
* Removing the placeholder option if no placeholder is provided.
|
|
2274
|
-
* In html we are hiding the placeholder option using css but in
|
|
2273
|
+
* In html we are hiding the placeholder option using css but in Apple devices and safari option is showing.
|
|
2274
|
+
* Styles are not allowed on option tag in ios safari
|
|
2275
|
+
* After removing the option, if no datavalue is present and native select element sets value to the first option by default, so we are setting it to empty
|
|
2275
2276
|
* */
|
|
2276
2277
|
removePlaceholderOption() {
|
|
2277
2278
|
const hiddenEle = $(this.selectEl.nativeElement).find('#placeholderOption');
|
|
2278
2279
|
if (hiddenEle.length) {
|
|
2279
2280
|
hiddenEle.remove();
|
|
2280
|
-
this.
|
|
2281
|
+
if (!this.datavalue) {
|
|
2282
|
+
this.selectEl.nativeElement.value = '';
|
|
2283
|
+
}
|
|
2281
2284
|
}
|
|
2282
2285
|
}
|
|
2283
|
-
static { this.ɵfac = function SelectComponent_Factory(t) { return new (t || SelectComponent)(i0__namespace.ɵɵdirectiveInject(i0__namespace.Injector), i0__namespace.ɵɵdirectiveInject(
|
|
2286
|
+
static { this.ɵfac = function SelectComponent_Factory(t) { return new (t || SelectComponent)(i0__namespace.ɵɵdirectiveInject(i0__namespace.Injector), i0__namespace.ɵɵdirectiveInject('EXPLICIT_CONTEXT', 8)); }; }
|
|
2284
2287
|
static { this.ɵcmp = /*@__PURE__*/ i0__namespace.ɵɵdefineComponent({ type: SelectComponent, selectors: [["wm-select"]], viewQuery: function SelectComponent_Query(rf, ctx) { if (rf & 1) {
|
|
2285
2288
|
i0__namespace.ɵɵviewQuery(_c0$7, 7, i0.ElementRef);
|
|
2286
2289
|
} if (rf & 2) {
|
|
@@ -2290,11 +2293,11 @@
|
|
|
2290
2293
|
i2.provideAs(SelectComponent, i2$1.NG_VALUE_ACCESSOR, true),
|
|
2291
2294
|
i2.provideAs(SelectComponent, i2$1.NG_VALIDATORS, true),
|
|
2292
2295
|
i2.provideAsWidgetRef(SelectComponent)
|
|
2293
|
-
]), i0__namespace.ɵɵInheritDefinitionFeature], decls: 5, vars: 18, consts: [["select", ""], ["role", "listbox", "aria-haspopup", "true", "aria-expanded", "false", "focus-target", "", 3, "ngModelChange", "change", "
|
|
2296
|
+
]), i0__namespace.ɵɵInheritDefinitionFeature], decls: 5, vars: 18, consts: [["select", ""], ["role", "listbox", "aria-haspopup", "true", "aria-expanded", "false", "focus-target", "", 3, "ngModelChange", "change", "mousedown", "blur", "ngClass", "disabled", "required", "tabindex", "ngModel", "ngModelOptions", "multiple", "autofocus"], ["selected", "", "value", "undefined", "id", "placeholderOption", 3, "textContent", "hidden"], [4, "ngIf"], [3, "label", 4, "ngFor", "ngForOf"], [3, "label"], ["role", "option", 3, "value", "selected", "textContent", 4, "ngFor", "ngForOf"], ["role", "option", 3, "value", "selected", "textContent"]], template: function SelectComponent_Template(rf, ctx) { if (rf & 1) {
|
|
2294
2297
|
const _r1 = i0__namespace.ɵɵgetCurrentView();
|
|
2295
2298
|
i0__namespace.ɵɵelementStart(0, "select", 1, 0);
|
|
2296
2299
|
i0__namespace.ɵɵtwoWayListener("ngModelChange", function SelectComponent_Template_select_ngModelChange_0_listener($event) { i0__namespace.ɵɵrestoreView(_r1); i0__namespace.ɵɵtwoWayBindingSet(ctx.modelByKey, $event) || (ctx.modelByKey = $event); return i0__namespace.ɵɵresetView($event); });
|
|
2297
|
-
i0__namespace.ɵɵlistener("change", function SelectComponent_Template_select_change_0_listener($event) { i0__namespace.ɵɵrestoreView(_r1); return i0__namespace.ɵɵresetView(ctx.onSelectValueChange($event)); })("
|
|
2300
|
+
i0__namespace.ɵɵlistener("change", function SelectComponent_Template_select_change_0_listener($event) { i0__namespace.ɵɵrestoreView(_r1); return i0__namespace.ɵɵresetView(ctx.onSelectValueChange($event)); })("mousedown", function SelectComponent_Template_select_mousedown_0_listener($event) { i0__namespace.ɵɵrestoreView(_r1); return i0__namespace.ɵɵresetView(ctx.checkForFloatingLabel($event)); })("blur", function SelectComponent_Template_select_blur_0_listener($event) { i0__namespace.ɵɵrestoreView(_r1); ctx.invokeOnTouched($event); return i0__namespace.ɵɵresetView(ctx.checkForFloatingLabel($event)); });
|
|
2298
2301
|
i0__namespace.ɵɵelement(2, "option", 2);
|
|
2299
2302
|
i0__namespace.ɵɵtemplate(3, SelectComponent_ng_container_3_Template, 2, 1, "ng-container", 3)(4, SelectComponent_ng_container_4_Template, 2, 1, "ng-container", 3);
|
|
2300
2303
|
i0__namespace.ɵɵelementEnd();
|
|
@@ -2317,8 +2320,8 @@
|
|
|
2317
2320
|
i2.provideAs(SelectComponent, i2$1.NG_VALUE_ACCESSOR, true),
|
|
2318
2321
|
i2.provideAs(SelectComponent, i2$1.NG_VALIDATORS, true),
|
|
2319
2322
|
i2.provideAsWidgetRef(SelectComponent)
|
|
2320
|
-
], template: "<select role=\"listbox\" aria-haspopup=\"true\" aria-expanded=\"false\" #select\n focus-target\n [ngClass]=\"['app-select form-control', class]\"\n [disabled]=\"disabled\"\n [required]=\"required\"\n [tabindex]=\"tabindex\"\n [(ngModel)]=\"modelByKey\"\n [ngModelOptions]=\"{standalone: true}\"\n [multiple]=\"multiple\"\n (change)=\"onSelectValueChange($event)\"\n (
|
|
2321
|
-
}], () => [{ type: i0__namespace.Injector }, { type:
|
|
2323
|
+
], template: "<!--Updated focus with mousedown event. IOS devices not allow update of option value after opening dropdown-->\n<select role=\"listbox\" aria-haspopup=\"true\" aria-expanded=\"false\" #select\n focus-target\n [ngClass]=\"['app-select form-control', class]\"\n [disabled]=\"disabled\"\n [required]=\"required\"\n [tabindex]=\"tabindex\"\n [(ngModel)]=\"modelByKey\"\n [ngModelOptions]=\"{standalone: true}\"\n [multiple]=\"multiple\"\n (change)=\"onSelectValueChange($event)\"\n (mousedown)=\"checkForFloatingLabel($event)\"\n (blur)=\"invokeOnTouched($event); checkForFloatingLabel($event)\"\n [attr.name]=\"name\"\n [attr.aria-label]=\"hint\"\n [attr.aria-multiselectable]=\"multiple\"\n [autofocus]=\"autofocus\">\n\n <option selected\n value=\"undefined\"\n [textContent]=\"placeholder\"\n id=\"placeholderOption\"\n [hidden]=\"!placeholder\"></option>\n\n <ng-container *ngIf=\"groupby\">\n <optgroup *ngFor=\"let groupObj of groupedData\"\n [label]=\"groupObj.key\">\n <option *ngFor=\"let item of groupObj.data;\"\n [value]=\"item.key\"\n [selected]=\"item.selected\"\n [textContent]=\"item.label\"\n role=\"option\"></option>\n </optgroup>\n </ng-container>\n\n <ng-container *ngIf=\"!groupby\">\n <option *ngFor=\"let item of datasetItems\"\n [value]=\"item.key\"\n [selected]=\"item.selected\"\n [textContent]=\"item.label\"\n role=\"option\"></option>\n </ng-container>\n</select>\n" }]
|
|
2324
|
+
}], () => [{ type: i0__namespace.Injector }, { type: undefined, decorators: [{
|
|
2322
2325
|
type: i0.Inject,
|
|
2323
2326
|
args: ['EXPLICIT_CONTEXT']
|
|
2324
2327
|
}, {
|
|
@@ -2327,7 +2330,7 @@
|
|
|
2327
2330
|
type: i0.ViewChild,
|
|
2328
2331
|
args: ['select', { static: true, read: i0.ElementRef }]
|
|
2329
2332
|
}] }); })();
|
|
2330
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0__namespace.ɵsetClassDebugInfo(SelectComponent, { className: "SelectComponent", filePath: "select/select.component.ts", lineNumber:
|
|
2333
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0__namespace.ɵsetClassDebugInfo(SelectComponent, { className: "SelectComponent", filePath: "select/select.component.ts", lineNumber: 21 }); })();
|
|
2331
2334
|
|
|
2332
2335
|
const switchProps = new Map([
|
|
2333
2336
|
['class', i2.PROP_STRING],
|
|
@@ -1,15 +1,13 @@
|
|
|
1
1
|
import { Component, ElementRef, Inject, Injector, Optional, ViewChild } from '@angular/core';
|
|
2
2
|
import { NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
3
|
-
import {
|
|
3
|
+
import { DataSource, removeAttr, setAttr } from '@wm/core';
|
|
4
4
|
import { provideAs, provideAsWidgetRef, styler } from '@wm/components/base';
|
|
5
5
|
import { DatasetAwareFormComponent } from '../dataset-aware-form.component';
|
|
6
6
|
import { registerProps } from './select.props';
|
|
7
|
-
import { includes } from "lodash-es";
|
|
8
7
|
import * as i0 from "@angular/core";
|
|
9
|
-
import * as i1 from "@
|
|
10
|
-
import * as i2 from "@angular/
|
|
11
|
-
import * as i3 from "@
|
|
12
|
-
import * as i4 from "@wm/components/base";
|
|
8
|
+
import * as i1 from "@angular/common";
|
|
9
|
+
import * as i2 from "@angular/forms";
|
|
10
|
+
import * as i3 from "@wm/components/base";
|
|
13
11
|
const _c0 = ["select"];
|
|
14
12
|
const _c1 = a0 => ["app-select form-control", a0];
|
|
15
13
|
const _c2 = () => ({ standalone: true });
|
|
@@ -61,9 +59,8 @@ export class SelectComponent extends DatasetAwareFormComponent {
|
|
|
61
59
|
this.datavalue = ds.execute(DataSource.Operation.GET_DEFAULT_LOCALE);
|
|
62
60
|
}
|
|
63
61
|
}
|
|
64
|
-
constructor(inj,
|
|
62
|
+
constructor(inj, explicitContext) {
|
|
65
63
|
super(inj, WIDGET_CONFIG, explicitContext);
|
|
66
|
-
this.app = app;
|
|
67
64
|
this.acceptsArray = true;
|
|
68
65
|
}
|
|
69
66
|
ngAfterViewInit() {
|
|
@@ -72,7 +69,7 @@ export class SelectComponent extends DatasetAwareFormComponent {
|
|
|
72
69
|
}
|
|
73
70
|
// Change event is registered from the template, Prevent the framework from registering one more event
|
|
74
71
|
handleEvent(node, eventName, eventCallback, locals) {
|
|
75
|
-
if (!
|
|
72
|
+
if (!['blur', 'change'].includes(eventName)) {
|
|
76
73
|
super.handleEvent(this.selectEl.nativeElement, eventName, eventCallback, locals);
|
|
77
74
|
}
|
|
78
75
|
}
|
|
@@ -123,36 +120,40 @@ export class SelectComponent extends DatasetAwareFormComponent {
|
|
|
123
120
|
*/
|
|
124
121
|
checkForFloatingLabel($event) {
|
|
125
122
|
const captionEl = $(this.selectEl.nativeElement).closest('.app-composite-widget.caption-floating');
|
|
123
|
+
if (!this.placeholder) {
|
|
124
|
+
this.removePlaceholderOption();
|
|
125
|
+
}
|
|
126
126
|
if (captionEl.length > 0) {
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
else {
|
|
132
|
-
$(this.selectEl.nativeElement).find('option:first').text(this.placeholder);
|
|
127
|
+
const placeholderOption = this.selectEl.nativeElement.querySelector('#placeholderOption');
|
|
128
|
+
if ($event.type === 'mousedown' && (!this.datavalue || (this.datavalue && $(this.selectEl).find('select option:selected').text() === '' && this.placeholder))) {
|
|
129
|
+
if (this.placeholder) {
|
|
130
|
+
placeholderOption.textContent = this.placeholder;
|
|
133
131
|
}
|
|
134
132
|
}
|
|
135
133
|
else if (!this.datavalue) {
|
|
136
|
-
|
|
134
|
+
if (this.placeholder) {
|
|
135
|
+
placeholderOption.textContent = '';
|
|
136
|
+
}
|
|
137
137
|
captionEl.removeClass('float-active');
|
|
138
138
|
}
|
|
139
139
|
}
|
|
140
|
-
else if (!(this.datavalue || this.placeholder)) {
|
|
141
|
-
this.removePlaceholderOption();
|
|
142
|
-
}
|
|
143
140
|
}
|
|
144
141
|
/*
|
|
145
142
|
* Removing the placeholder option if no placeholder is provided.
|
|
146
|
-
* In html we are hiding the placeholder option using css but in
|
|
143
|
+
* In html we are hiding the placeholder option using css but in Apple devices and safari option is showing.
|
|
144
|
+
* Styles are not allowed on option tag in ios safari
|
|
145
|
+
* After removing the option, if no datavalue is present and native select element sets value to the first option by default, so we are setting it to empty
|
|
147
146
|
* */
|
|
148
147
|
removePlaceholderOption() {
|
|
149
148
|
const hiddenEle = $(this.selectEl.nativeElement).find('#placeholderOption');
|
|
150
149
|
if (hiddenEle.length) {
|
|
151
150
|
hiddenEle.remove();
|
|
152
|
-
this.
|
|
151
|
+
if (!this.datavalue) {
|
|
152
|
+
this.selectEl.nativeElement.value = '';
|
|
153
|
+
}
|
|
153
154
|
}
|
|
154
155
|
}
|
|
155
|
-
static { this.ɵfac = function SelectComponent_Factory(t) { return new (t || SelectComponent)(i0.ɵɵdirectiveInject(i0.Injector), i0.ɵɵdirectiveInject(
|
|
156
|
+
static { this.ɵfac = function SelectComponent_Factory(t) { return new (t || SelectComponent)(i0.ɵɵdirectiveInject(i0.Injector), i0.ɵɵdirectiveInject('EXPLICIT_CONTEXT', 8)); }; }
|
|
156
157
|
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SelectComponent, selectors: [["wm-select"]], viewQuery: function SelectComponent_Query(rf, ctx) { if (rf & 1) {
|
|
157
158
|
i0.ɵɵviewQuery(_c0, 7, ElementRef);
|
|
158
159
|
} if (rf & 2) {
|
|
@@ -162,11 +163,11 @@ export class SelectComponent extends DatasetAwareFormComponent {
|
|
|
162
163
|
provideAs(SelectComponent, NG_VALUE_ACCESSOR, true),
|
|
163
164
|
provideAs(SelectComponent, NG_VALIDATORS, true),
|
|
164
165
|
provideAsWidgetRef(SelectComponent)
|
|
165
|
-
]), i0.ɵɵInheritDefinitionFeature], decls: 5, vars: 18, consts: [["select", ""], ["role", "listbox", "aria-haspopup", "true", "aria-expanded", "false", "focus-target", "", 3, "ngModelChange", "change", "
|
|
166
|
+
]), i0.ɵɵInheritDefinitionFeature], decls: 5, vars: 18, consts: [["select", ""], ["role", "listbox", "aria-haspopup", "true", "aria-expanded", "false", "focus-target", "", 3, "ngModelChange", "change", "mousedown", "blur", "ngClass", "disabled", "required", "tabindex", "ngModel", "ngModelOptions", "multiple", "autofocus"], ["selected", "", "value", "undefined", "id", "placeholderOption", 3, "textContent", "hidden"], [4, "ngIf"], [3, "label", 4, "ngFor", "ngForOf"], [3, "label"], ["role", "option", 3, "value", "selected", "textContent", 4, "ngFor", "ngForOf"], ["role", "option", 3, "value", "selected", "textContent"]], template: function SelectComponent_Template(rf, ctx) { if (rf & 1) {
|
|
166
167
|
const _r1 = i0.ɵɵgetCurrentView();
|
|
167
168
|
i0.ɵɵelementStart(0, "select", 1, 0);
|
|
168
169
|
i0.ɵɵtwoWayListener("ngModelChange", function SelectComponent_Template_select_ngModelChange_0_listener($event) { i0.ɵɵrestoreView(_r1); i0.ɵɵtwoWayBindingSet(ctx.modelByKey, $event) || (ctx.modelByKey = $event); return i0.ɵɵresetView($event); });
|
|
169
|
-
i0.ɵɵlistener("change", function SelectComponent_Template_select_change_0_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.onSelectValueChange($event)); })("
|
|
170
|
+
i0.ɵɵlistener("change", function SelectComponent_Template_select_change_0_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.onSelectValueChange($event)); })("mousedown", function SelectComponent_Template_select_mousedown_0_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.checkForFloatingLabel($event)); })("blur", function SelectComponent_Template_select_blur_0_listener($event) { i0.ɵɵrestoreView(_r1); ctx.invokeOnTouched($event); return i0.ɵɵresetView(ctx.checkForFloatingLabel($event)); });
|
|
170
171
|
i0.ɵɵelement(2, "option", 2);
|
|
171
172
|
i0.ɵɵtemplate(3, SelectComponent_ng_container_3_Template, 2, 1, "ng-container", 3)(4, SelectComponent_ng_container_4_Template, 2, 1, "ng-container", 3);
|
|
172
173
|
i0.ɵɵelementEnd();
|
|
@@ -181,7 +182,7 @@ export class SelectComponent extends DatasetAwareFormComponent {
|
|
|
181
182
|
i0.ɵɵproperty("ngIf", ctx.groupby);
|
|
182
183
|
i0.ɵɵadvance();
|
|
183
184
|
i0.ɵɵproperty("ngIf", !ctx.groupby);
|
|
184
|
-
} }, dependencies: [
|
|
185
|
+
} }, dependencies: [i1.NgClass, i1.NgForOf, i1.NgIf, i2.NgSelectOption, i2.ɵNgSelectMultipleOption, i2.SelectMultipleControlValueAccessor, i2.NgControlStatus, i2.RequiredValidator, i2.NgModel, i3.TextContentDirective], encapsulation: 2 }); }
|
|
185
186
|
}
|
|
186
187
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SelectComponent, [{
|
|
187
188
|
type: Component,
|
|
@@ -189,8 +190,8 @@ export class SelectComponent extends DatasetAwareFormComponent {
|
|
|
189
190
|
provideAs(SelectComponent, NG_VALUE_ACCESSOR, true),
|
|
190
191
|
provideAs(SelectComponent, NG_VALIDATORS, true),
|
|
191
192
|
provideAsWidgetRef(SelectComponent)
|
|
192
|
-
], template: "<select role=\"listbox\" aria-haspopup=\"true\" aria-expanded=\"false\" #select\n focus-target\n [ngClass]=\"['app-select form-control', class]\"\n [disabled]=\"disabled\"\n [required]=\"required\"\n [tabindex]=\"tabindex\"\n [(ngModel)]=\"modelByKey\"\n [ngModelOptions]=\"{standalone: true}\"\n [multiple]=\"multiple\"\n (change)=\"onSelectValueChange($event)\"\n (
|
|
193
|
-
}], () => [{ type: i0.Injector }, { type:
|
|
193
|
+
], template: "<!--Updated focus with mousedown event. IOS devices not allow update of option value after opening dropdown-->\n<select role=\"listbox\" aria-haspopup=\"true\" aria-expanded=\"false\" #select\n focus-target\n [ngClass]=\"['app-select form-control', class]\"\n [disabled]=\"disabled\"\n [required]=\"required\"\n [tabindex]=\"tabindex\"\n [(ngModel)]=\"modelByKey\"\n [ngModelOptions]=\"{standalone: true}\"\n [multiple]=\"multiple\"\n (change)=\"onSelectValueChange($event)\"\n (mousedown)=\"checkForFloatingLabel($event)\"\n (blur)=\"invokeOnTouched($event); checkForFloatingLabel($event)\"\n [attr.name]=\"name\"\n [attr.aria-label]=\"hint\"\n [attr.aria-multiselectable]=\"multiple\"\n [autofocus]=\"autofocus\">\n\n <option selected\n value=\"undefined\"\n [textContent]=\"placeholder\"\n id=\"placeholderOption\"\n [hidden]=\"!placeholder\"></option>\n\n <ng-container *ngIf=\"groupby\">\n <optgroup *ngFor=\"let groupObj of groupedData\"\n [label]=\"groupObj.key\">\n <option *ngFor=\"let item of groupObj.data;\"\n [value]=\"item.key\"\n [selected]=\"item.selected\"\n [textContent]=\"item.label\"\n role=\"option\"></option>\n </optgroup>\n </ng-container>\n\n <ng-container *ngIf=\"!groupby\">\n <option *ngFor=\"let item of datasetItems\"\n [value]=\"item.key\"\n [selected]=\"item.selected\"\n [textContent]=\"item.label\"\n role=\"option\"></option>\n </ng-container>\n</select>\n" }]
|
|
194
|
+
}], () => [{ type: i0.Injector }, { type: undefined, decorators: [{
|
|
194
195
|
type: Inject,
|
|
195
196
|
args: ['EXPLICIT_CONTEXT']
|
|
196
197
|
}, {
|
|
@@ -199,5 +200,5 @@ export class SelectComponent extends DatasetAwareFormComponent {
|
|
|
199
200
|
type: ViewChild,
|
|
200
201
|
args: ['select', { static: true, read: ElementRef }]
|
|
201
202
|
}] }); })();
|
|
202
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SelectComponent, { className: "SelectComponent", filePath: "select/select.component.ts", lineNumber:
|
|
203
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvd2lkZ2V0cy9pbnB1dC9kZWZhdWx0L3NyYy9zZWxlY3Qvc2VsZWN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvd2lkZ2V0cy9pbnB1dC9kZWZhdWx0L3NyYy9zZWxlY3Qvc2VsZWN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZ0IsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDMUcsT0FBTyxFQUFDLGFBQWEsRUFBRSxpQkFBaUIsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRWhFLE9BQU8sRUFBQyxHQUFHLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUMsTUFBTSxVQUFVLENBQUM7QUFDOUQsT0FBTyxFQUFDLFNBQVMsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUMxRSxPQUFPLEVBQUMseUJBQXlCLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUUxRSxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLFdBQVcsQ0FBQzs7Ozs7Ozs7OztJQ2tCdkIsNEJBSTJCOzs7SUFEdkIsQUFEQSxBQURBLG1DQUFrQiw4QkFDUSw4QkFDQTs7O0lBTGxDLG1DQUMyQjtJQUN2QixnR0FJa0I7SUFDdEIsaUJBQVc7OztJQU5QLHVDQUFzQjtJQUNHLGNBQWlCO0lBQWpCLDBDQUFpQjs7O0lBSGxELDZCQUE4QjtJQUMxQix5RkFDMkI7Ozs7SUFESSxjQUFjO0lBQWQsNENBQWM7OztJQVc3Qyw0QkFJMkI7OztJ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O29CQUNuRCxTQUFTLGtCQUFrQixhQUFhLEVBQUUsSUFBSSxDQUFDO29CQUMvQyxrQkFBa0IsaUJBQWlCO2lCQUN0Qzs7c0JBeUJxQyxNQUFNO3VCQUFDLGtCQUFrQjs7c0JBQUcsUUFBUTtxQkFSakIsUUFBUTtrQkFBaEUsU0FBUzttQkFBQyxRQUFRLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUU7O2tGQWY5QyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEluamVjdCwgSW5qZWN0b3IsIE9wdGlvbmFsLCBWaWV3Q2hpbGR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtOR19WQUxJREFUT1JTLCBOR19WQUxVRV9BQ0NFU1NPUn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQge0FwcCwgRGF0YVNvdXJjZSwgcmVtb3ZlQXR0ciwgc2V0QXR0cn0gZnJvbSAnQHdtL2NvcmUnO1xuaW1wb3J0IHtwcm92aWRlQXMsIHByb3ZpZGVBc1dpZGdldFJlZiwgc3R5bGVyfSBmcm9tICdAd20vY29tcG9uZW50cy9iYXNlJztcbmltcG9ydCB7RGF0YXNldEF3YXJlRm9ybUNvbXBvbmVudH0gZnJvbSAnLi4vZGF0YXNldC1hd2FyZS1mb3JtLmNvbXBvbmVudCc7XG5cbmltcG9ydCB7cmVnaXN0ZXJQcm9wc30gZnJvbSAnLi9zZWxlY3QucHJvcHMnO1xuaW1wb3J0IHtpbmNsdWRlc30gZnJvbSBcImxvZGFzaC1lc1wiO1xuXG5jb25zdCBXSURHRVRfQ09ORklHID0ge3dpZGdldFR5cGU6ICd3bS1zZWxlY3QnLCBob3N0Q2xhc3M6ICdhcHAtc2VsZWN0LXdyYXBwZXInfTtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd3bS1zZWxlY3QnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9zZWxlY3QuY29tcG9uZW50Lmh0bWwnLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICBwcm92aWRlQXMoU2VsZWN0Q29tcG9uZW50LCBOR19WQUxVRV9BQ0NFU1NPUiwgdHJ1ZSksXG4gICAgICAgIHByb3ZpZGVBcyhTZWxlY3RDb21wb25lbnQsIE5HX1ZBTElEQVRPUlMsIHRydWUpLFxuICAgICAgICBwcm92aWRlQXNXaWRnZXRSZWYoU2VsZWN0Q29tcG9uZW50KVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgU2VsZWN0Q29tcG9uZW50IGV4dGVuZHMgRGF0YXNldEF3YXJlRm9ybUNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICAgIHN0YXRpYyBpbml0aWFsaXplUHJvcHMgPSByZWdpc3RlclByb3BzKCk7XG5cbiAgICBwdWJsaWMgcmVhZG9ubHk6IGJvb2xlYW47XG4gICAgcHVibGljIHBsYWNlaG9sZGVyOiBzdHJpbmc7XG4gICAgcHVibGljIG5hdnNlYXJjaGJhcjogYW55O1xuICAgIHB1YmxpYyBjbGFzczogYW55O1xuICAgIHB1YmxpYyByZXF1aXJlZDogYm9vbGVhbjtcbiAgICBwdWJsaWMgZGlzYWJsZWQ6IGJvb2xlYW47XG4gICAgcHVibGljIHRhYmluZGV4OiBhbnk7XG4gICAgcHVibGljIG5hbWU6IHN0cmluZztcbiAgICBwdWJsaWMgYXV0b2ZvY3VzOiBib29sZWFuO1xuICAgIHB1YmxpYyBoaW50OiBzdHJpbmc7XG4gICAgcHJpdmF0ZSBhcHA6IEFwcDtcblxuICAgIEBWaWV3Q2hpbGQoJ3NlbGVjdCcsIHsgc3RhdGljOiB0cnVlLCByZWFkOiBFbGVtZW50UmVmIH0pIHNlbGVjdEVsOiBFbGVtZW50UmVmO1xuXG4gICAgc2V0IGRhdGFzb3VyY2UoZHMpIHtcbiAgICAgICAgaWYgKGRzICYmIGRzLmV4ZWN1dGUgJiYgZHMuZXhlY3V0ZShEYXRhU291cmNlLk9wZXJhdGlvbi5JU19CT1VORF9UT19MT0NBTEUpKSB7XG4gICAgICAgICAgICB0aGlzLmRhdGF2YWx1ZSA9IGRzLmV4ZWN1dGUoRGF0YVNvdXJjZS5PcGVyYXRpb24uR0VUX0RFRkFVTFRfTE9DQUxFKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKGluajogSW5qZWN0b3IsIGFwcDogQXBwLCBASW5qZWN0KCdFWFBMSUNJVF9DT05URVhUJykgQE9wdGlvbmFsKCkgZXhwbGljaXRDb250ZXh0OiBhbnkpIHtcbiAgICAgICAgc3VwZXIoaW5qLCBXSURHRVRfQ09ORklHLCBleHBsaWNpdENvbnRleHQpO1xuICAgICAgICB0aGlzLmFwcCA9IGFwcDtcbiAgICAgICAgdGhpcy5hY2NlcHRzQXJyYXkgPSB0cnVlO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICAgICAgc3VwZXIubmdBZnRlclZpZXdJbml0KCk7XG4gICAgICAgIHN0eWxlcih0aGlzLnNlbGVjdEVsLm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQsIHRoaXMpO1xuICAgIH1cblxuICAgIC8vIENoYW5nZSBldmVudCBpcyByZWdpc3RlcmVkIGZyb20gdGhlIHRlbXBsYXRlLCBQcmV2ZW50IHRoZSBmcmFtZXdvcmsgZnJvbSByZWdpc3RlcmluZyBvbmUgbW9yZSBldmVudFxuICAgIHByb3RlY3RlZCBoYW5kbGVFdmVudChub2RlOiBIVE1MRWxlbWVudCwgZXZlbnROYW1lOiBzdHJpbmcsIGV2ZW50Q2FsbGJhY2s6IEZ1bmN0aW9uLCBsb2NhbHM6IGFueSkge1xuICAgICAgICBpZiAoIWluY2x1ZGVzKFsnYmx1cicsICdjaGFuZ2UnXSwgZXZlbnROYW1lKSkge1xuICAgICAgICAgICAgc3VwZXIuaGFuZGxlRXZlbnQodGhpcy5zZWxlY3RFbC5uYXRpdmVFbGVtZW50LCBldmVudE5hbWUsIGV2ZW50Q2FsbGJhY2ssIGxvY2Fscyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvblNlbGVjdFZhbHVlQ2hhbmdlKCRldmVudCkge1xuICAgICAgICBpZiAodGhpcy5yZWFkb25seSkge1xuICAgICAgICAgICAgaWYgKHRoaXMucGxhY2Vob2xkZXIpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdEVsLm5hdGl2ZUVsZW1lbnQudmFsdWUgPSB0aGlzLnBsYWNlaG9sZGVyO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdEVsLm5hdGl2ZUVsZW1lbnQudmFsdWUgPSAnJztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuZGF0YXZhbHVlID0gKHRoaXMgYXMgYW55KS5wcmV2RGF0YXZhbHVlO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuaW52b2tlT25Ub3VjaGVkKCk7XG4gICAgICAgIC8vIGludm9rZSBvbiBkYXRhdmFsdWUgY2hhbmdlLlxuICAgICAgICB0aGlzLmludm9rZU9uQ2hhbmdlKHRoaXMuZGF0YXZhbHVlLCAkZXZlbnQgfHwge30sIHRydWUpO1xuICAgIH1cblxuICAgIG9uUHJvcGVydHlDaGFuZ2Uoa2V5OiBzdHJpbmcsIG52OiBhbnksIG92PzogYW55KSB7XG4gICAgICAgIGlmIChrZXkgPT09ICdyZXF1aXJlZCcpICB7XG4gICAgICAgICAgICB0aGlzLl9vbkNoYW5nZSh0aGlzLmRhdGF2YWx1ZSk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGtleSA9PT0gJ2NsYXNzJyB8fCAga2V5ID09PSAndGFiaW5kZXgnKSB7XG4gICAgICAgICAgICBpZihrZXkgPT09ICdjbGFzcycpIHtcbiAgICAgICAgICAgICAgICAvLyBBZnRlciBORzE1IHVwZ3JhZGUgbmctaW52YWxpZCBjbGFzcyBpcyBhZGRlZCBldmVuIHRoZSBmaWVsZCBpcyB2YWxpZCwgc28gd2UgYXJlIHJlbW92aW5nIHRoZSBuZy1pbnZhbGlkIG1hbnVhbGx5XG4gICAgICAgICAgICAgICAgY29uc3QgaXNOZ1VudG91Y2hlZFZhbGlkID0gdGhpcy5zZWxlY3RFbC5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5jb250YWlucygnbmctdW50b3VjaGVkJykgJiYgdGhpcy5zZWxlY3RFbC5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5jb250YWlucygnbmctdmFsaWQnKVxuICAgICAgICAgICAgICAgIGlmKGlzTmdVbnRvdWNoZWRWYWxpZCAmJiBudi5pbmNsdWRlcygnbmctdW50b3VjaGVkJykgJiYgbnYuaW5jbHVkZXMoJ25nLWludmFsaWQnKSkge1xuICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYodGhpcy5zZWxlY3RFbC5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5jb250YWlucygnbmctdW50b3VjaGVkJykgJiYgdGhpcy5zZWxlY3RFbC5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5jb250YWlucygnbmctdmFsaWQnKSAmJiB0aGlzLnNlbGVjdEVsLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKCduZy1pbnZhbGlkJykpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdEVsLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSgnbmctaW52YWxpZCcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH0gZWxzZSBpZiAoa2V5ID09PSAncmVhZG9ubHknKSB7XG4gICAgICAgICAgICAgKG52ID09PSB0cnVlKSA/IHNldEF0dHIodGhpcy5zZWxlY3RFbC5uYXRpdmVFbGVtZW50LCAncmVhZG9ubHknLCAncmVhZG9ubHknKSA6IHJlbW92ZUF0dHIodGhpcy5zZWxlY3RFbC5uYXRpdmVFbGVtZW50LCAncmVhZG9ubHknKSA7XG4gICAgICAgIH1cbiAgICAgICAgc3VwZXIub25Qcm9wZXJ0eUNoYW5nZShrZXksIG52LCBvdik7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogV2hlbiBjYXB0aW9uIGZsb2F0aW5nIGlzIGVuYWJsZWQgYW5kIHBsYWNlaG9sZGVyIGlzIGdpdmVuLCBkbyBub3Qgc2hvdyBwbGFjZWhvbGRlciB1bnRpbCB1c2VyIGZvY3VzZXMgb24gdGhlIGZpZWxkXG4gICAgICogV2hlbiBmb2N1c2VkIGFkZCB0aGUgcGxhY2Vob2xkZXIgdG8gdGhlIG9wdGlvbiB3aGljaCBpcyBzZWxlY3RlZFxuICAgICAqIE9uIGJsdXIsIHJlbW92ZSB0aGUgcGxhY2Vob2xkZXIgYW5kIGRvIG5vdCBhbmltYXRlIHRoZSBsYWJlbFxuICAgICAqIEBwYXJhbSAkZXZlbnQgZXZlbnQgcmVjZWl2ZWQgd2lsbCBiZSBlaXRoZXIgYSBibHVyIG9yIGZvY3VzIGV2ZW50XG4gICAgICovXG4gICAgY2hlY2tGb3JGbG9hdGluZ0xhYmVsKCRldmVudCkge1xuICAgICAgICBjb25zdCBjYXB0aW9uRWwgPSAkKHRoaXMuc2VsZWN0RWwubmF0aXZlRWxlbWVudCkuY2xvc2VzdCgnLmFwcC1jb21wb3NpdGUtd2lkZ2V0LmNhcHRpb24tZmxvYXRpbmcnKTtcbiAgICAgICAgaWYgKGNhcHRpb25FbC5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBpZiAoJGV2ZW50LnR5cGUgPT09ICdmb2N1cycgJiYgKCF0aGlzLmRhdGF2YWx1ZSB8fCAodGhpcy5kYXRhdmFsdWUgJiYgJCh0aGlzLnNlbGVjdEVsKS5maW5kKCdzZWxlY3Qgb3B0aW9uOnNlbGVjdGVkJykudGV4dCgpID09PSAnJyAmJiB0aGlzLnBsYWNlaG9sZGVyKSkpIHtcbiAgICAgICAgICAgICAgICBpZighKHRoaXMuZGF0YXZhbHVlIHx8IHRoaXMucGxhY2Vob2xkZXIpKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucmVtb3ZlUGxhY2Vob2xkZXJPcHRpb24oKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAkKHRoaXMuc2VsZWN0RWwubmF0aXZlRWxlbWVudCkuZmluZCgnb3B0aW9uOmZpcnN0JykudGV4dCh0aGlzLnBsYWNlaG9sZGVyKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2UgaWYgKCF0aGlzLmRhdGF2YWx1ZSkge1xuICAgICAgICAgICAgICAgICQodGhpcy5zZWxlY3RFbC5uYXRpdmVFbGVtZW50KS5maW5kKCdvcHRpb246c2VsZWN0ZWQnKS50ZXh0KCcnKTtcbiAgICAgICAgICAgICAgICBjYXB0aW9uRWwucmVtb3ZlQ2xhc3MoJ2Zsb2F0LWFjdGl2ZScpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2UgaWYoISh0aGlzLmRhdGF2YWx1ZSB8fCB0aGlzLnBsYWNlaG9sZGVyKSkge1xuICAgICAgICAgICAgdGhpcy5yZW1vdmVQbGFjZWhvbGRlck9wdGlvbigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLypcbiAgICAqIFJlbW92aW5nIHRoZSBwbGFjZWhvbGRlciBvcHRpb24gaWYgbm8gcGxhY2Vob2xkZXIgaXMgcHJvdmlkZWQuXG4gICAgKiBJbiBodG1sIHdlIGFyZSBoaWRpbmcgdGhlIHBsYWNlaG9sZGVyIG9wdGlvbiB1c2luZyBjc3MgYnV0IGluIGFwcGxlIGRldmljZXMgYW5kIHNhZmFyaSBvcHRpb24gaXMgc2hvd2luZy5cbiAgICAqICovXG4gICAgcHJpdmF0ZSByZW1vdmVQbGFjZWhvbGRlck9wdGlvbigpIHtcbiAgICAgICAgY29uc3QgaGlkZGVuRWxlID0gJCh0aGlzLnNlbGVjdEVsLm5hdGl2ZUVsZW1lbnQpLmZpbmQoJyNwbGFjZWhvbGRlck9wdGlvbicpO1xuICAgICAgICBpZiAoaGlkZGVuRWxlLmxlbmd0aCkge1xuICAgICAgICAgICAgaGlkZGVuRWxlLnJlbW92ZSgpO1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RFbC5uYXRpdmVFbGVtZW50LnZhbHVlID0gJyc7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8c2VsZWN0IHJvbGU9XCJsaXN0Ym94XCIgYXJpYS1oYXNwb3B1cD1cInRydWVcIiBhcmlhLWV4cGFuZGVkPVwiZmFsc2VcIiAjc2VsZWN0XG4gICAgICAgIGZvY3VzLXRhcmdldFxuICAgICAgICBbbmdDbGFzc109XCJbJ2FwcC1zZWxlY3QgZm9ybS1jb250cm9sJywgY2xhc3NdXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgW3JlcXVpcmVkXT1cInJlcXVpcmVkXCJcbiAgICAgICAgW3RhYmluZGV4XT1cInRhYmluZGV4XCJcbiAgICAgICAgWyhuZ01vZGVsKV09XCJtb2RlbEJ5S2V5XCJcbiAgICAgICAgW25nTW9kZWxPcHRpb25zXT1cIntzdGFuZGFsb25lOiB0cnVlfVwiXG4gICAgICAgIFttdWx0aXBsZV09XCJtdWx0aXBsZVwiXG4gICAgICAgIChjaGFuZ2UpPVwib25TZWxlY3RWYWx1ZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgKGZvY3VzKT1cImNoZWNrRm9yRmxvYXRpbmdMYWJlbCgkZXZlbnQpXCJcbiAgICAgICAgKGJsdXIpPVwiaW52b2tlT25Ub3VjaGVkKCRldmVudCk7IGNoZWNrRm9yRmxvYXRpbmdMYWJlbCgkZXZlbnQpXCJcbiAgICAgICAgW2F0dHIubmFtZV09XCJuYW1lXCJcbiAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJoaW50XCJcbiAgICAgICAgW2F0dHIuYXJpYS1tdWx0aXNlbGVjdGFibGVdPVwibXVsdGlwbGVcIlxuICAgICAgICBbYXV0b2ZvY3VzXT1cImF1dG9mb2N1c1wiPlxuXG4gICAgICAgIDxvcHRpb24gc2VsZWN0ZWRcbiAgICAgICAgICAgICAgICB2YWx1ZT1cInVuZGVmaW5lZFwiXG4gICAgICAgICAgICAgICAgW3RleHRDb250ZW50XT1cInBsYWNlaG9sZGVyXCJcbiAgICAgICAgICAgICAgICBpZD1cInBsYWNlaG9sZGVyT3B0aW9uXCJcbiAgICAgICAgICAgICAgICBbaGlkZGVuXT1cIiFwbGFjZWhvbGRlclwiPjwvb3B0aW9uPlxuXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImdyb3VwYnlcIj5cbiAgICAgICAgPG9wdGdyb3VwICpuZ0Zvcj1cImxldCBncm91cE9iaiBvZiBncm91cGVkRGF0YVwiXG4gICAgICAgICAgICBbbGFiZWxdPVwiZ3JvdXBPYmoua2V5XCI+XG4gICAgICAgICAgICA8b3B0aW9uICpuZ0Zvcj1cImxldCBpdGVtIG9mIGdyb3VwT2JqLmRhdGE7XCJcbiAgICAgICAgICAgICAgICBbdmFsdWVdPVwiaXRlbS5rZXlcIlxuICAgICAgICAgICAgICAgIFtzZWxlY3RlZF09XCJpdGVtLnNlbGVjdGVkXCJcbiAgICAgICAgICAgICAgICBbdGV4dENvbnRlbnRdPVwiaXRlbS5sYWJlbFwiXG4gICAgICAgICAgICAgICAgcm9sZT1cIm9wdGlvblwiPjwvb3B0aW9uPlxuICAgICAgICA8L29wdGdyb3VwPlxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFncm91cGJ5XCI+XG4gICAgICAgIDxvcHRpb24gKm5nRm9yPVwibGV0IGl0ZW0gb2YgZGF0YXNldEl0ZW1zXCJcbiAgICAgICAgICAgIFt2YWx1ZV09XCJpdGVtLmtleVwiXG4gICAgICAgICAgICBbc2VsZWN0ZWRdPVwiaXRlbS5zZWxlY3RlZFwiXG4gICAgICAgICAgICBbdGV4dENvbnRlbnRdPVwiaXRlbS5sYWJlbFwiXG4gICAgICAgICAgICByb2xlPVwib3B0aW9uXCI+PC9vcHRpb24+XG4gICAgPC9uZy1jb250YWluZXI+XG48L3NlbGVjdD5cbiJdfQ==
|
|
203
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SelectComponent, { className: "SelectComponent", filePath: "select/select.component.ts", lineNumber: 21 }); })();
|
|
204
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvd2lkZ2V0cy9pbnB1dC9kZWZhdWx0L3NyYy9zZWxlY3Qvc2VsZWN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvd2lkZ2V0cy9pbnB1dC9kZWZhdWx0L3NyYy9zZWxlY3Qvc2VsZWN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZ0IsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDMUcsT0FBTyxFQUFDLGFBQWEsRUFBRSxpQkFBaUIsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRWhFLE9BQU8sRUFBQyxVQUFVLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBQyxNQUFNLFVBQVUsQ0FBQztBQUN6RCxPQUFPLEVBQUMsU0FBUyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQzFFLE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBRTFFLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7O0lDb0JqQyw0QkFJMkI7OztJQUR2QixBQURBLEFBREEsbUNBQWtCLDhCQUNRLDhCQUNBOzs7SUFMbEMsbUNBQzJCO0lBQ3ZCLGdHQUlrQjtJQUN0QixpQkFBVzs7O0lBTlAsdUNBQXNCO0lBQ0csY0FBaUI7SUFBakIsMENBQWlCOzs7SUFIbEQsNkJBQThCO0lBQzFCLHlGQUMyQjs7OztJQURJLGNBQWM7SUFBZCw0Q0FBYzs7O0lBVzdDLDRCQUkyQjs7O0lBRHZCLEFBREEsQUFEQSxtQ0FBa0IsOEJBQ1EsOEJBQ0E7OztJQUpsQyw2QkFBK0I7SUFD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RUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFOztrRkFkOUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBJbmplY3QsIEluamVjdG9yLCBPcHRpb25hbCwgVmlld0NoaWxkfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TkdfVkFMSURBVE9SUywgTkdfVkFMVUVfQUNDRVNTT1J9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHtEYXRhU291cmNlLCByZW1vdmVBdHRyLCBzZXRBdHRyfSBmcm9tICdAd20vY29yZSc7XG5pbXBvcnQge3Byb3ZpZGVBcywgcHJvdmlkZUFzV2lkZ2V0UmVmLCBzdHlsZXJ9IGZyb20gJ0B3bS9jb21wb25lbnRzL2Jhc2UnO1xuaW1wb3J0IHtEYXRhc2V0QXdhcmVGb3JtQ29tcG9uZW50fSBmcm9tICcuLi9kYXRhc2V0LWF3YXJlLWZvcm0uY29tcG9uZW50JztcblxuaW1wb3J0IHtyZWdpc3RlclByb3BzfSBmcm9tICcuL3NlbGVjdC5wcm9wcyc7XG5cbmNvbnN0IFdJREdFVF9DT05GSUcgPSB7d2lkZ2V0VHlwZTogJ3dtLXNlbGVjdCcsIGhvc3RDbGFzczogJ2FwcC1zZWxlY3Qtd3JhcHBlcid9O1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3dtLXNlbGVjdCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3NlbGVjdC5jb21wb25lbnQuaHRtbCcsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHByb3ZpZGVBcyhTZWxlY3RDb21wb25lbnQsIE5HX1ZBTFVFX0FDQ0VTU09SLCB0cnVlKSxcbiAgICAgICAgcHJvdmlkZUFzKFNlbGVjdENvbXBvbmVudCwgTkdfVkFMSURBVE9SUywgdHJ1ZSksXG4gICAgICAgIHByb3ZpZGVBc1dpZGdldFJlZihTZWxlY3RDb21wb25lbnQpXG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBTZWxlY3RDb21wb25lbnQgZXh0ZW5kcyBEYXRhc2V0QXdhcmVGb3JtQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG4gICAgc3RhdGljIGluaXRpYWxpemVQcm9wcyA9IHJlZ2lzdGVyUHJvcHMoKTtcblxuICAgIHB1YmxpYyByZWFkb25seTogYm9vbGVhbjtcbiAgICBwdWJsaWMgcGxhY2Vob2xkZXI6IHN0cmluZztcbiAgICBwdWJsaWMgbmF2c2VhcmNoYmFyOiBhbnk7XG4gICAgcHVibGljIGNsYXNzOiBhbnk7XG4gICAgcHVibGljIHJlcXVpcmVkOiBib29sZWFuO1xuICAgIHB1YmxpYyBkaXNhYmxlZDogYm9vbGVhbjtcbiAgICBwdWJsaWMgdGFiaW5kZXg6IGFueTtcbiAgICBwdWJsaWMgbmFtZTogc3RyaW5nO1xuICAgIHB1YmxpYyBhdXRvZm9jdXM6IGJvb2xlYW47XG4gICAgcHVibGljIGhpbnQ6IHN0cmluZztcblxuICAgIEBWaWV3Q2hpbGQoJ3NlbGVjdCcsIHsgc3RhdGljOiB0cnVlLCByZWFkOiBFbGVtZW50UmVmIH0pIHNlbGVjdEVsOiBFbGVtZW50UmVmO1xuXG4gICAgc2V0IGRhdGFzb3VyY2UoZHMpIHtcbiAgICAgICAgaWYgKGRzICYmIGRzLmV4ZWN1dGUgJiYgZHMuZXhlY3V0ZShEYXRhU291cmNlLk9wZXJhdGlvbi5JU19CT1VORF9UT19MT0NBTEUpKSB7XG4gICAgICAgICAgICB0aGlzLmRhdGF2YWx1ZSA9IGRzLmV4ZWN1dGUoRGF0YVNvdXJjZS5PcGVyYXRpb24uR0VUX0RFRkFVTFRfTE9DQUxFKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKGluajogSW5qZWN0b3IsIEBJbmplY3QoJ0VYUExJQ0lUX0NPTlRFWFQnKSBAT3B0aW9uYWwoKSBleHBsaWNpdENvbnRleHQ6IGFueSkge1xuICAgICAgICBzdXBlcihpbmosIFdJREdFVF9DT05GSUcsIGV4cGxpY2l0Q29udGV4dCk7XG4gICAgICAgIHRoaXMuYWNjZXB0c0FycmF5ID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgICAgIHN1cGVyLm5nQWZ0ZXJWaWV3SW5pdCgpO1xuICAgICAgICBzdHlsZXIodGhpcy5zZWxlY3RFbC5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50LCB0aGlzKTtcbiAgICB9XG5cbiAgICAvLyBDaGFuZ2UgZXZlbnQgaXMgcmVnaXN0ZXJlZCBmcm9tIHRoZSB0ZW1wbGF0ZSwgUHJldmVudCB0aGUgZnJhbWV3b3JrIGZyb20gcmVnaXN0ZXJpbmcgb25lIG1vcmUgZXZlbnRcbiAgICBwcm90ZWN0ZWQgaGFuZGxlRXZlbnQobm9kZTogSFRNTEVsZW1lbnQsIGV2ZW50TmFtZTogc3RyaW5nLCBldmVudENhbGxiYWNrOiBGdW5jdGlvbiwgbG9jYWxzOiBhbnkpIHtcbiAgICAgICAgaWYgKCFbJ2JsdXInLCAnY2hhbmdlJ10uaW5jbHVkZXMoZXZlbnROYW1lKSkge1xuICAgICAgICAgICAgc3VwZXIuaGFuZGxlRXZlbnQodGhpcy5zZWxlY3RFbC5uYXRpdmVFbGVtZW50LCBldmVudE5hbWUsIGV2ZW50Q2FsbGJhY2ssIGxvY2Fscyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvblNlbGVjdFZhbHVlQ2hhbmdlKCRldmVudCkge1xuICAgICAgICBpZiAodGhpcy5yZWFkb25seSkge1xuICAgICAgICAgICAgaWYgKHRoaXMucGxhY2Vob2xkZXIpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdEVsLm5hdGl2ZUVsZW1lbnQudmFsdWUgPSB0aGlzLnBsYWNlaG9sZGVyO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdEVsLm5hdGl2ZUVsZW1lbnQudmFsdWUgPSAnJztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuZGF0YXZhbHVlID0gKHRoaXMgYXMgYW55KS5wcmV2RGF0YXZhbHVlO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuaW52b2tlT25Ub3VjaGVkKCk7XG4gICAgICAgIC8vIGludm9rZSBvbiBkYXRhdmFsdWUgY2hhbmdlLlxuICAgICAgICB0aGlzLmludm9rZU9uQ2hhbmdlKHRoaXMuZGF0YXZhbHVlLCAkZXZlbnQgfHwge30sIHRydWUpO1xuICAgIH1cblxuICAgIG9uUHJvcGVydHlDaGFuZ2Uoa2V5OiBzdHJpbmcsIG52OiBhbnksIG92PzogYW55KSB7XG4gICAgICAgIGlmIChrZXkgPT09ICdyZXF1aXJlZCcpICB7XG4gICAgICAgICAgICB0aGlzLl9vbkNoYW5nZSh0aGlzLmRhdGF2YWx1ZSk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGtleSA9PT0gJ2NsYXNzJyB8fCAga2V5ID09PSAndGFiaW5kZXgnKSB7XG4gICAgICAgICAgICBpZihrZXkgPT09ICdjbGFzcycpIHtcbiAgICAgICAgICAgICAgICAvLyBBZnRlciBORzE1IHVwZ3JhZGUgbmctaW52YWxpZCBjbGFzcyBpcyBhZGRlZCBldmVuIHRoZSBmaWVsZCBpcyB2YWxpZCwgc28gd2UgYXJlIHJlbW92aW5nIHRoZSBuZy1pbnZhbGlkIG1hbnVhbGx5XG4gICAgICAgICAgICAgICAgY29uc3QgaXNOZ1VudG91Y2hlZFZhbGlkID0gdGhpcy5zZWxlY3RFbC5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5jb250YWlucygnbmctdW50b3VjaGVkJykgJiYgdGhpcy5zZWxlY3RFbC5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5jb250YWlucygnbmctdmFsaWQnKVxuICAgICAgICAgICAgICAgIGlmKGlzTmdVbnRvdWNoZWRWYWxpZCAmJiBudi5pbmNsdWRlcygnbmctdW50b3VjaGVkJykgJiYgbnYuaW5jbHVkZXMoJ25nLWludmFsaWQnKSkge1xuICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYodGhpcy5zZWxlY3RFbC5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5jb250YWlucygnbmctdW50b3VjaGVkJykgJiYgdGhpcy5zZWxlY3RFbC5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5jb250YWlucygnbmctdmFsaWQnKSAmJiB0aGlzLnNlbGVjdEVsLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKCduZy1pbnZhbGlkJykpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdEVsLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSgnbmctaW52YWxpZCcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH0gZWxzZSBpZiAoa2V5ID09PSAncmVhZG9ubHknKSB7XG4gICAgICAgICAgICAgKG52ID09PSB0cnVlKSA/IHNldEF0dHIodGhpcy5zZWxlY3RFbC5uYXRpdmVFbGVtZW50LCAncmVhZG9ubHknLCAncmVhZG9ubHknKSA6IHJlbW92ZUF0dHIodGhpcy5zZWxlY3RFbC5uYXRpdmVFbGVtZW50LCAncmVhZG9ubHknKSA7XG4gICAgICAgIH1cbiAgICAgICAgc3VwZXIub25Qcm9wZXJ0eUNoYW5nZShrZXksIG52LCBvdik7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogV2hlbiBjYXB0aW9uIGZsb2F0aW5nIGlzIGVuYWJsZWQgYW5kIHBsYWNlaG9sZGVyIGlzIGdpdmVuLCBkbyBub3Qgc2hvdyBwbGFjZWhvbGRlciB1bnRpbCB1c2VyIGZvY3VzZXMgb24gdGhlIGZpZWxkXG4gICAgICogV2hlbiBmb2N1c2VkIGFkZCB0aGUgcGxhY2Vob2xkZXIgdG8gdGhlIG9wdGlvbiB3aGljaCBpcyBzZWxlY3RlZFxuICAgICAqIE9uIGJsdXIsIHJlbW92ZSB0aGUgcGxhY2Vob2xkZXIgYW5kIGRvIG5vdCBhbmltYXRlIHRoZSBsYWJlbFxuICAgICAqIEBwYXJhbSAkZXZlbnQgZXZlbnQgcmVjZWl2ZWQgd2lsbCBiZSBlaXRoZXIgYSBibHVyIG9yIGZvY3VzIGV2ZW50XG4gICAgICovXG4gICAgY2hlY2tGb3JGbG9hdGluZ0xhYmVsKCRldmVudCkge1xuICAgICAgICBjb25zdCBjYXB0aW9uRWwgPSAkKHRoaXMuc2VsZWN0RWwubmF0aXZlRWxlbWVudCkuY2xvc2VzdCgnLmFwcC1jb21wb3NpdGUtd2lkZ2V0LmNhcHRpb24tZmxvYXRpbmcnKTtcbiAgICAgICAgaWYoIXRoaXMucGxhY2Vob2xkZXIpIHtcbiAgICAgICAgICAgIHRoaXMucmVtb3ZlUGxhY2Vob2xkZXJPcHRpb24oKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoY2FwdGlvbkVsLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIGNvbnN0IHBsYWNlaG9sZGVyT3B0aW9uID0gdGhpcy5zZWxlY3RFbC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJyNwbGFjZWhvbGRlck9wdGlvbicpO1xuICAgICAgICAgICAgaWYgKCRldmVudC50eXBlID09PSAnbW91c2Vkb3duJyAmJiAoIXRoaXMuZGF0YXZhbHVlIHx8ICh0aGlzLmRhdGF2YWx1ZSAmJiAkKHRoaXMuc2VsZWN0RWwpLmZpbmQoJ3NlbGVjdCBvcHRpb246c2VsZWN0ZWQnKS50ZXh0KCkgPT09ICcnICYmIHRoaXMucGxhY2Vob2xkZXIpKSkge1xuICAgICAgICAgICAgICAgIGlmKHRoaXMucGxhY2Vob2xkZXIpIHtcbiAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXJPcHRpb24udGV4dENvbnRlbnQgPSB0aGlzLnBsYWNlaG9sZGVyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSBpZiAoIXRoaXMuZGF0YXZhbHVlKSB7XG4gICAgICAgICAgICAgICAgaWYodGhpcy5wbGFjZWhvbGRlcikge1xuICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlck9wdGlvbi50ZXh0Q29udGVudCA9ICcnO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjYXB0aW9uRWwucmVtb3ZlQ2xhc3MoJ2Zsb2F0LWFjdGl2ZScpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLypcbiAgICAqIFJlbW92aW5nIHRoZSBwbGFjZWhvbGRlciBvcHRpb24gaWYgbm8gcGxhY2Vob2xkZXIgaXMgcHJvdmlkZWQuXG4gICAgKiBJbiBodG1sIHdlIGFyZSBoaWRpbmcgdGhlIHBsYWNlaG9sZGVyIG9wdGlvbiB1c2luZyBjc3MgYnV0IGluIEFwcGxlIGRldmljZXMgYW5kIHNhZmFyaSBvcHRpb24gaXMgc2hvd2luZy5cbiAgICAqIFN0eWxlcyBhcmUgbm90IGFsbG93ZWQgb24gb3B0aW9uIHRhZyBpbiBpb3Mgc2FmYXJpXG4gICAgKiBBZnRlciByZW1vdmluZyB0aGUgb3B0aW9uLCBpZiBubyBkYXRhdmFsdWUgaXMgcHJlc2VudCBhbmQgbmF0aXZlIHNlbGVjdCBlbGVtZW50IHNldHMgdmFsdWUgdG8gdGhlIGZpcnN0IG9wdGlvbiBieSBkZWZhdWx0LCBzbyB3ZSBhcmUgc2V0dGluZyBpdCB0byBlbXB0eVxuICAgICogKi9cbiAgICBwcml2YXRlIHJlbW92ZVBsYWNlaG9sZGVyT3B0aW9uKCkge1xuICAgICAgICBjb25zdCBoaWRkZW5FbGUgPSAkKHRoaXMuc2VsZWN0RWwubmF0aXZlRWxlbWVudCkuZmluZCgnI3BsYWNlaG9sZGVyT3B0aW9uJyk7XG4gICAgICAgIGlmIChoaWRkZW5FbGUubGVuZ3RoKSB7XG4gICAgICAgICAgICBoaWRkZW5FbGUucmVtb3ZlKCk7XG4gICAgICAgICAgICBpZighdGhpcy5kYXRhdmFsdWUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdEVsLm5hdGl2ZUVsZW1lbnQudmFsdWUgPSAnJztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIjwhLS1VcGRhdGVkIGZvY3VzIHdpdGggbW91c2Vkb3duIGV2ZW50LiBJT1MgZGV2aWNlcyBub3QgYWxsb3cgdXBkYXRlIG9mIG9wdGlvbiB2YWx1ZSBhZnRlciBvcGVuaW5nIGRyb3Bkb3duLS0+XG48c2VsZWN0IHJvbGU9XCJsaXN0Ym94XCIgYXJpYS1oYXNwb3B1cD1cInRydWVcIiBhcmlhLWV4cGFuZGVkPVwiZmFsc2VcIiAjc2VsZWN0XG4gICAgICAgIGZvY3VzLXRhcmdldFxuICAgICAgICBbbmdDbGFzc109XCJbJ2FwcC1zZWxlY3QgZm9ybS1jb250cm9sJywgY2xhc3NdXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgW3JlcXVpcmVkXT1cInJlcXVpcmVkXCJcbiAgICAgICAgW3RhYmluZGV4XT1cInRhYmluZGV4XCJcbiAgICAgICAgWyhuZ01vZGVsKV09XCJtb2RlbEJ5S2V5XCJcbiAgICAgICAgW25nTW9kZWxPcHRpb25zXT1cIntzdGFuZGFsb25lOiB0cnVlfVwiXG4gICAgICAgIFttdWx0aXBsZV09XCJtdWx0aXBsZVwiXG4gICAgICAgIChjaGFuZ2UpPVwib25TZWxlY3RWYWx1ZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgKG1vdXNlZG93bik9XCJjaGVja0ZvckZsb2F0aW5nTGFiZWwoJGV2ZW50KVwiXG4gICAgICAgIChibHVyKT1cImludm9rZU9uVG91Y2hlZCgkZXZlbnQpOyBjaGVja0ZvckZsb2F0aW5nTGFiZWwoJGV2ZW50KVwiXG4gICAgICAgIFthdHRyLm5hbWVdPVwibmFtZVwiXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiaGludFwiXG4gICAgICAgIFthdHRyLmFyaWEtbXVsdGlzZWxlY3RhYmxlXT1cIm11bHRpcGxlXCJcbiAgICAgICAgW2F1dG9mb2N1c109XCJhdXRvZm9jdXNcIj5cblxuICAgICAgICA8b3B0aW9uIHNlbGVjdGVkXG4gICAgICAgICAgICAgICAgdmFsdWU9XCJ1bmRlZmluZWRcIlxuICAgICAgICAgICAgICAgIFt0ZXh0Q29udGVudF09XCJwbGFjZWhvbGRlclwiXG4gICAgICAgICAgICAgICAgaWQ9XCJwbGFjZWhvbGRlck9wdGlvblwiXG4gICAgICAgICAgICAgICAgW2hpZGRlbl09XCIhcGxhY2Vob2xkZXJcIj48L29wdGlvbj5cblxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJncm91cGJ5XCI+XG4gICAgICAgIDxvcHRncm91cCAqbmdGb3I9XCJsZXQgZ3JvdXBPYmogb2YgZ3JvdXBlZERhdGFcIlxuICAgICAgICAgICAgW2xhYmVsXT1cImdyb3VwT2JqLmtleVwiPlxuICAgICAgICAgICAgPG9wdGlvbiAqbmdGb3I9XCJsZXQgaXRlbSBvZiBncm91cE9iai5kYXRhO1wiXG4gICAgICAgICAgICAgICAgW3ZhbHVlXT1cIml0ZW0ua2V5XCJcbiAgICAgICAgICAgICAgICBbc2VsZWN0ZWRdPVwiaXRlbS5zZWxlY3RlZFwiXG4gICAgICAgICAgICAgICAgW3RleHRDb250ZW50XT1cIml0ZW0ubGFiZWxcIlxuICAgICAgICAgICAgICAgIHJvbGU9XCJvcHRpb25cIj48L29wdGlvbj5cbiAgICAgICAgPC9vcHRncm91cD5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhZ3JvdXBieVwiPlxuICAgICAgICA8b3B0aW9uICpuZ0Zvcj1cImxldCBpdGVtIG9mIGRhdGFzZXRJdGVtc1wiXG4gICAgICAgICAgICBbdmFsdWVdPVwiaXRlbS5rZXlcIlxuICAgICAgICAgICAgW3NlbGVjdGVkXT1cIml0ZW0uc2VsZWN0ZWRcIlxuICAgICAgICAgICAgW3RleHRDb250ZW50XT1cIml0ZW0ubGFiZWxcIlxuICAgICAgICAgICAgcm9sZT1cIm9wdGlvblwiPjwvb3B0aW9uPlxuICAgIDwvbmctY29udGFpbmVyPlxuPC9zZWxlY3Q+XG4iXX0=
|
|
@@ -2175,9 +2175,8 @@ class SelectComponent extends DatasetAwareFormComponent {
|
|
|
2175
2175
|
this.datavalue = ds.execute(DataSource.Operation.GET_DEFAULT_LOCALE);
|
|
2176
2176
|
}
|
|
2177
2177
|
}
|
|
2178
|
-
constructor(inj,
|
|
2178
|
+
constructor(inj, explicitContext) {
|
|
2179
2179
|
super(inj, WIDGET_CONFIG$7, explicitContext);
|
|
2180
|
-
this.app = app;
|
|
2181
2180
|
this.acceptsArray = true;
|
|
2182
2181
|
}
|
|
2183
2182
|
ngAfterViewInit() {
|
|
@@ -2186,7 +2185,7 @@ class SelectComponent extends DatasetAwareFormComponent {
|
|
|
2186
2185
|
}
|
|
2187
2186
|
// Change event is registered from the template, Prevent the framework from registering one more event
|
|
2188
2187
|
handleEvent(node, eventName, eventCallback, locals) {
|
|
2189
|
-
if (!
|
|
2188
|
+
if (!['blur', 'change'].includes(eventName)) {
|
|
2190
2189
|
super.handleEvent(this.selectEl.nativeElement, eventName, eventCallback, locals);
|
|
2191
2190
|
}
|
|
2192
2191
|
}
|
|
@@ -2237,36 +2236,40 @@ class SelectComponent extends DatasetAwareFormComponent {
|
|
|
2237
2236
|
*/
|
|
2238
2237
|
checkForFloatingLabel($event) {
|
|
2239
2238
|
const captionEl = $(this.selectEl.nativeElement).closest('.app-composite-widget.caption-floating');
|
|
2239
|
+
if (!this.placeholder) {
|
|
2240
|
+
this.removePlaceholderOption();
|
|
2241
|
+
}
|
|
2240
2242
|
if (captionEl.length > 0) {
|
|
2241
|
-
|
|
2242
|
-
|
|
2243
|
-
|
|
2244
|
-
|
|
2245
|
-
else {
|
|
2246
|
-
$(this.selectEl.nativeElement).find('option:first').text(this.placeholder);
|
|
2243
|
+
const placeholderOption = this.selectEl.nativeElement.querySelector('#placeholderOption');
|
|
2244
|
+
if ($event.type === 'mousedown' && (!this.datavalue || (this.datavalue && $(this.selectEl).find('select option:selected').text() === '' && this.placeholder))) {
|
|
2245
|
+
if (this.placeholder) {
|
|
2246
|
+
placeholderOption.textContent = this.placeholder;
|
|
2247
2247
|
}
|
|
2248
2248
|
}
|
|
2249
2249
|
else if (!this.datavalue) {
|
|
2250
|
-
|
|
2250
|
+
if (this.placeholder) {
|
|
2251
|
+
placeholderOption.textContent = '';
|
|
2252
|
+
}
|
|
2251
2253
|
captionEl.removeClass('float-active');
|
|
2252
2254
|
}
|
|
2253
2255
|
}
|
|
2254
|
-
else if (!(this.datavalue || this.placeholder)) {
|
|
2255
|
-
this.removePlaceholderOption();
|
|
2256
|
-
}
|
|
2257
2256
|
}
|
|
2258
2257
|
/*
|
|
2259
2258
|
* Removing the placeholder option if no placeholder is provided.
|
|
2260
|
-
* In html we are hiding the placeholder option using css but in
|
|
2259
|
+
* In html we are hiding the placeholder option using css but in Apple devices and safari option is showing.
|
|
2260
|
+
* Styles are not allowed on option tag in ios safari
|
|
2261
|
+
* After removing the option, if no datavalue is present and native select element sets value to the first option by default, so we are setting it to empty
|
|
2261
2262
|
* */
|
|
2262
2263
|
removePlaceholderOption() {
|
|
2263
2264
|
const hiddenEle = $(this.selectEl.nativeElement).find('#placeholderOption');
|
|
2264
2265
|
if (hiddenEle.length) {
|
|
2265
2266
|
hiddenEle.remove();
|
|
2266
|
-
this.
|
|
2267
|
+
if (!this.datavalue) {
|
|
2268
|
+
this.selectEl.nativeElement.value = '';
|
|
2269
|
+
}
|
|
2267
2270
|
}
|
|
2268
2271
|
}
|
|
2269
|
-
static { this.ɵfac = function SelectComponent_Factory(t) { return new (t || SelectComponent)(i0.ɵɵdirectiveInject(i0.Injector), i0.ɵɵdirectiveInject(
|
|
2272
|
+
static { this.ɵfac = function SelectComponent_Factory(t) { return new (t || SelectComponent)(i0.ɵɵdirectiveInject(i0.Injector), i0.ɵɵdirectiveInject('EXPLICIT_CONTEXT', 8)); }; }
|
|
2270
2273
|
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SelectComponent, selectors: [["wm-select"]], viewQuery: function SelectComponent_Query(rf, ctx) { if (rf & 1) {
|
|
2271
2274
|
i0.ɵɵviewQuery(_c0$7, 7, ElementRef);
|
|
2272
2275
|
} if (rf & 2) {
|
|
@@ -2276,11 +2279,11 @@ class SelectComponent extends DatasetAwareFormComponent {
|
|
|
2276
2279
|
provideAs(SelectComponent, NG_VALUE_ACCESSOR, true),
|
|
2277
2280
|
provideAs(SelectComponent, NG_VALIDATORS, true),
|
|
2278
2281
|
provideAsWidgetRef(SelectComponent)
|
|
2279
|
-
]), i0.ɵɵInheritDefinitionFeature], decls: 5, vars: 18, consts: [["select", ""], ["role", "listbox", "aria-haspopup", "true", "aria-expanded", "false", "focus-target", "", 3, "ngModelChange", "change", "
|
|
2282
|
+
]), i0.ɵɵInheritDefinitionFeature], decls: 5, vars: 18, consts: [["select", ""], ["role", "listbox", "aria-haspopup", "true", "aria-expanded", "false", "focus-target", "", 3, "ngModelChange", "change", "mousedown", "blur", "ngClass", "disabled", "required", "tabindex", "ngModel", "ngModelOptions", "multiple", "autofocus"], ["selected", "", "value", "undefined", "id", "placeholderOption", 3, "textContent", "hidden"], [4, "ngIf"], [3, "label", 4, "ngFor", "ngForOf"], [3, "label"], ["role", "option", 3, "value", "selected", "textContent", 4, "ngFor", "ngForOf"], ["role", "option", 3, "value", "selected", "textContent"]], template: function SelectComponent_Template(rf, ctx) { if (rf & 1) {
|
|
2280
2283
|
const _r1 = i0.ɵɵgetCurrentView();
|
|
2281
2284
|
i0.ɵɵelementStart(0, "select", 1, 0);
|
|
2282
2285
|
i0.ɵɵtwoWayListener("ngModelChange", function SelectComponent_Template_select_ngModelChange_0_listener($event) { i0.ɵɵrestoreView(_r1); i0.ɵɵtwoWayBindingSet(ctx.modelByKey, $event) || (ctx.modelByKey = $event); return i0.ɵɵresetView($event); });
|
|
2283
|
-
i0.ɵɵlistener("change", function SelectComponent_Template_select_change_0_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.onSelectValueChange($event)); })("
|
|
2286
|
+
i0.ɵɵlistener("change", function SelectComponent_Template_select_change_0_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.onSelectValueChange($event)); })("mousedown", function SelectComponent_Template_select_mousedown_0_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.checkForFloatingLabel($event)); })("blur", function SelectComponent_Template_select_blur_0_listener($event) { i0.ɵɵrestoreView(_r1); ctx.invokeOnTouched($event); return i0.ɵɵresetView(ctx.checkForFloatingLabel($event)); });
|
|
2284
2287
|
i0.ɵɵelement(2, "option", 2);
|
|
2285
2288
|
i0.ɵɵtemplate(3, SelectComponent_ng_container_3_Template, 2, 1, "ng-container", 3)(4, SelectComponent_ng_container_4_Template, 2, 1, "ng-container", 3);
|
|
2286
2289
|
i0.ɵɵelementEnd();
|
|
@@ -2303,8 +2306,8 @@ class SelectComponent extends DatasetAwareFormComponent {
|
|
|
2303
2306
|
provideAs(SelectComponent, NG_VALUE_ACCESSOR, true),
|
|
2304
2307
|
provideAs(SelectComponent, NG_VALIDATORS, true),
|
|
2305
2308
|
provideAsWidgetRef(SelectComponent)
|
|
2306
|
-
], template: "<select role=\"listbox\" aria-haspopup=\"true\" aria-expanded=\"false\" #select\n focus-target\n [ngClass]=\"['app-select form-control', class]\"\n [disabled]=\"disabled\"\n [required]=\"required\"\n [tabindex]=\"tabindex\"\n [(ngModel)]=\"modelByKey\"\n [ngModelOptions]=\"{standalone: true}\"\n [multiple]=\"multiple\"\n (change)=\"onSelectValueChange($event)\"\n (
|
|
2307
|
-
}], () => [{ type: i0.Injector }, { type:
|
|
2309
|
+
], template: "<!--Updated focus with mousedown event. IOS devices not allow update of option value after opening dropdown-->\n<select role=\"listbox\" aria-haspopup=\"true\" aria-expanded=\"false\" #select\n focus-target\n [ngClass]=\"['app-select form-control', class]\"\n [disabled]=\"disabled\"\n [required]=\"required\"\n [tabindex]=\"tabindex\"\n [(ngModel)]=\"modelByKey\"\n [ngModelOptions]=\"{standalone: true}\"\n [multiple]=\"multiple\"\n (change)=\"onSelectValueChange($event)\"\n (mousedown)=\"checkForFloatingLabel($event)\"\n (blur)=\"invokeOnTouched($event); checkForFloatingLabel($event)\"\n [attr.name]=\"name\"\n [attr.aria-label]=\"hint\"\n [attr.aria-multiselectable]=\"multiple\"\n [autofocus]=\"autofocus\">\n\n <option selected\n value=\"undefined\"\n [textContent]=\"placeholder\"\n id=\"placeholderOption\"\n [hidden]=\"!placeholder\"></option>\n\n <ng-container *ngIf=\"groupby\">\n <optgroup *ngFor=\"let groupObj of groupedData\"\n [label]=\"groupObj.key\">\n <option *ngFor=\"let item of groupObj.data;\"\n [value]=\"item.key\"\n [selected]=\"item.selected\"\n [textContent]=\"item.label\"\n role=\"option\"></option>\n </optgroup>\n </ng-container>\n\n <ng-container *ngIf=\"!groupby\">\n <option *ngFor=\"let item of datasetItems\"\n [value]=\"item.key\"\n [selected]=\"item.selected\"\n [textContent]=\"item.label\"\n role=\"option\"></option>\n </ng-container>\n</select>\n" }]
|
|
2310
|
+
}], () => [{ type: i0.Injector }, { type: undefined, decorators: [{
|
|
2308
2311
|
type: Inject,
|
|
2309
2312
|
args: ['EXPLICIT_CONTEXT']
|
|
2310
2313
|
}, {
|
|
@@ -2313,7 +2316,7 @@ class SelectComponent extends DatasetAwareFormComponent {
|
|
|
2313
2316
|
type: ViewChild,
|
|
2314
2317
|
args: ['select', { static: true, read: ElementRef }]
|
|
2315
2318
|
}] }); })();
|
|
2316
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SelectComponent, { className: "SelectComponent", filePath: "select/select.component.ts", lineNumber:
|
|
2319
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SelectComponent, { className: "SelectComponent", filePath: "select/select.component.ts", lineNumber: 21 }); })();
|
|
2317
2320
|
|
|
2318
2321
|
const switchProps = new Map([
|
|
2319
2322
|
['class', PROP_STRING],
|