imm-element-ui 2.6.3 → 2.6.4

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.
@@ -0,0 +1,377 @@
1
+ import { Component, ViewChild, ViewContainerRef } from '@angular/core';
2
+ import { FormsModule, ReactiveFormsModule } from '@angular/forms';
3
+ import { SelectModule } from 'primeng/select';
4
+ import { MultiSelect } from 'primeng/multiselect';
5
+ import { resolveAsyncSelectOptions } from '../cell-utils/async-select-options';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@angular/forms";
8
+ import * as i2 from "primeng/select";
9
+ export class CellEditAsyncSelectFieldComponent {
10
+ async agInit(params) {
11
+ this.params = params;
12
+ this.params.optionLabel = this.params.optionLabel || 'label';
13
+ this.params.optionValue = this.params.optionValue || 'value';
14
+ const rowValue = this.params.data?.[this.params.colDef.field];
15
+ this.value = this.params.multiple ? this.toValueArray(params.value ?? rowValue) : (params.value ?? rowValue);
16
+ this.setEditorSize(params);
17
+ await this.loadOptions();
18
+ }
19
+ getValue() {
20
+ if (this.params.multiple) {
21
+ return this.toValueString(this.value);
22
+ }
23
+ const value = this.value;
24
+ return value === '' || value == null ? null : value;
25
+ }
26
+ onChange(event) {
27
+ const nameFields = this.params.nameFields || [];
28
+ nameFields.forEach((nameField) => {
29
+ this.updateNameField(nameField, event);
30
+ });
31
+ }
32
+ async loadOptions() {
33
+ const context = this.createContext();
34
+ try {
35
+ this.params.loading = true;
36
+ this.params.options = await resolveAsyncSelectOptions(this.params, context);
37
+ }
38
+ finally {
39
+ this.params.loading = false;
40
+ }
41
+ }
42
+ createContext() {
43
+ return {
44
+ data: this.params.data,
45
+ value: this.params.multiple ? this.toValueString(this.value) : this.value,
46
+ params: this.params,
47
+ field: this.params.colDef.field,
48
+ colDef: this.params.colDef,
49
+ rowIndex: this.params.node?.rowIndex,
50
+ };
51
+ }
52
+ setEditorSize(params) {
53
+ const cellWidth = params.column.getActualWidth();
54
+ this.params.style = {
55
+ border: 'none',
56
+ boxShadow: 'none',
57
+ width: `${cellWidth}px`,
58
+ background: 'var(--ag-background-color)',
59
+ height: '40px',
60
+ alignItems: 'center',
61
+ ...(this.params.style || {}),
62
+ };
63
+ this.params.panelStyle = {
64
+ width: `${cellWidth}px`,
65
+ ...(this.params.panelStyle || {}),
66
+ };
67
+ }
68
+ updateNameField(nameField, event) {
69
+ const oldValue = this.params.data[nameField.field];
70
+ const newValue = this.resolveNameFieldValue(nameField, event.value);
71
+ const grid = this.params.grid();
72
+ const e = {
73
+ colDef: nameField,
74
+ oldValue,
75
+ newValue,
76
+ rowIndex: this.params.node.rowIndex,
77
+ data: { id: this.params.data.id },
78
+ };
79
+ grid.cellValueChanged(e);
80
+ this.params.data[nameField.field] = newValue;
81
+ }
82
+ resolveNameFieldValue(nameField, value) {
83
+ const valueField = this.params.optionValue || 'value';
84
+ if (this.params.multiple) {
85
+ const values = this.toValueArray(value);
86
+ return (this.params.options || [])
87
+ .filter((op) => values.some((selectedValue) => selectedValue == op?.[valueField]))
88
+ .map((op) => op?.[nameField.key])
89
+ .filter((item) => item !== undefined && item !== null && item !== '')
90
+ .join(',');
91
+ }
92
+ const item = (this.params.options || []).find((op) => op?.[valueField] === value);
93
+ return item ? item[nameField.key] : null;
94
+ }
95
+ toValueArray(value) {
96
+ if (Array.isArray(value)) {
97
+ return value;
98
+ }
99
+ if (value === '' || value == null) {
100
+ return [];
101
+ }
102
+ return String(value).split(',').filter((item) => item !== '');
103
+ }
104
+ toValueString(value) {
105
+ if (Array.isArray(value)) {
106
+ return value.filter((item) => item !== '' && item != null).join(',');
107
+ }
108
+ if (value === '' || value == null) {
109
+ return '';
110
+ }
111
+ return String(value);
112
+ }
113
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CellEditAsyncSelectFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
114
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: CellEditAsyncSelectFieldComponent, isStandalone: true, selector: "ng-component", viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true, read: ViewContainerRef }], ngImport: i0, template: `
115
+ @if (params.multiple) {
116
+ <p-multiselect
117
+ [(ngModel)]="value"
118
+ [scrollHeight]="params.scrollHeight || '200px'"
119
+ [filter]="params.filter"
120
+ [name]="params.name"
121
+ [options]="params.options"
122
+ [placeholder]="params.placeholder"
123
+ [class]="params.class"
124
+ [style]="params.style"
125
+ [panelStyle]="params.panelStyle"
126
+ [panelStyleClass]="params.panelStyleClass"
127
+ [readonly]="params.readonly"
128
+ [appendTo]="params.appendTo || 'body'"
129
+ [tabindex]="params.tabindex"
130
+ [loadingIcon]="params.loadingIcon"
131
+ [filterPlaceHolder]="params.filterPlaceHolder || params.filterPlaceholder"
132
+ [filterLocale]="params.filterLocale"
133
+ [variant]="params.variant"
134
+ [inputId]="params.inputId"
135
+ [dataKey]="params.dataKey"
136
+ [filterBy]="params.filterBy"
137
+ [filterFields]="params.filterFields"
138
+ [autofocus]="params.autofocus ?? true"
139
+ [resetFilterOnHide]="params.resetFilterOnHide"
140
+ [dropdownIcon]="params.dropdownIcon"
141
+ [loading]="params.loading"
142
+ [optionLabel]="params.optionLabel"
143
+ [optionValue]="params.optionValue"
144
+ [optionDisabled]="params.optionDisabled"
145
+ [optionGroupLabel]="params.optionGroupLabel"
146
+ [optionGroupChildren]="params.optionGroupChildren || 'items'"
147
+ [group]="params.group"
148
+ [showClear]="params.showClear"
149
+ [emptyFilterMessage]="params.emptyFilterMessage"
150
+ [emptyMessage]="params.emptyMessage"
151
+ [lazy]="params.lazy"
152
+ [virtualScroll]="params.virtualScroll"
153
+ [virtualScrollItemSize]="params.virtualScrollItemSize"
154
+ [virtualScrollOptions]="params.virtualScrollOptions"
155
+ [overlayOptions]="params.overlayOptions"
156
+ [size]="params.size"
157
+ [ariaFilterLabel]="params.ariaFilterLabel"
158
+ [ariaLabel]="params.ariaLabel"
159
+ [ariaLabelledBy]="params.ariaLabelledBy"
160
+ [filterMatchMode]="params.filterMatchMode"
161
+ [maxlength]="params.maxlength"
162
+ [tooltip]="params.tooltip"
163
+ [tooltipPosition]="params.tooltipPosition || 'right'"
164
+ [tooltipPositionStyle]="params.tooltipPositionStyle || 'absolute'"
165
+ [tooltipStyleClass]="params.tooltipStyleClass"
166
+ [focusOnHover]="params.focusOnHover == undefined ? true : params.focusOnHover"
167
+ [fluid]="params.fluid == undefined ? true : params.fluid"
168
+ [filterValue]="params.filterValue"
169
+ [display]="params.display ?? 'comma'"
170
+ [displaySelectedLabel]="params.displaySelectedLabel ?? true"
171
+ [maxSelectedLabels]="params.maxSelectedLabels"
172
+ [selectionLimit]="params.selectionLimit"
173
+ [selectedItemsLabel]="params.selectedItemsLabel"
174
+ [showToggleAll]="params.showToggleAll ?? true"
175
+ [showHeader]="params.showHeader ?? true"
176
+ [autofocusFilter]="params.autofocusFilter"
177
+ [selectAll]="params.selectAll ?? null"
178
+ [selectOnFocus]="params.selectOnFocus"
179
+ [autoOptionFocus]="params.autoOptionFocus"
180
+ (onChange)="onChange($event)" />
181
+ } @else {
182
+ <p-select
183
+ [(ngModel)]="value"
184
+ [scrollHeight]="params.scrollHeight || '200px'"
185
+ [filter]="params.filter"
186
+ [name]="params.name"
187
+ [options]="params.options"
188
+ [placeholder]="params.placeholder"
189
+ [class]="params.class"
190
+ [style]="params.style"
191
+ [panelStyle]="params.panelStyle"
192
+ [panelStyleClass]="params.panelStyleClass"
193
+ [readonly]="params.readonly"
194
+ [editable]="params.editable"
195
+ [appendTo]="params.appendTo || 'body'"
196
+ [tabindex]="params.tabindex"
197
+ [loadingIcon]="params.loadingIcon"
198
+ [filterPlaceholder]="params.filterPlaceholder"
199
+ [filterLocale]="params.filterLocale"
200
+ [variant]="params.variant"
201
+ [inputId]="params.inputId"
202
+ [dataKey]="params.dataKey"
203
+ [filterBy]="params.filterBy"
204
+ [filterFields]="params.filterFields"
205
+ [autofocus]="params.autofocus ?? true"
206
+ [resetFilterOnHide]="params.resetFilterOnHide"
207
+ [checkmark]="params.checkmark"
208
+ [dropdownIcon]="params.dropdownIcon"
209
+ [loading]="params.loading"
210
+ [optionLabel]="params.optionLabel"
211
+ [optionValue]="params.optionValue"
212
+ [optionDisabled]="params.optionDisabled"
213
+ [optionGroupLabel]="params.optionGroupLabel"
214
+ [optionGroupChildren]="params.optionGroupChildren || 'items'"
215
+ [group]="params.group"
216
+ [showClear]="params.showClear"
217
+ [emptyFilterMessage]="params.emptyFilterMessage"
218
+ [emptyMessage]="params.emptyMessage"
219
+ [lazy]="params.lazy"
220
+ [virtualScroll]="params.virtualScroll"
221
+ [virtualScrollItemSize]="params.virtualScrollItemSize"
222
+ [virtualScrollOptions]="params.virtualScrollOptions"
223
+ [overlayOptions]="params.overlayOptions"
224
+ [size]="params.size"
225
+ [ariaFilterLabel]="params.ariaFilterLabel"
226
+ [ariaLabel]="params.ariaLabel"
227
+ [ariaLabelledBy]="params.ariaLabelledBy"
228
+ [filterMatchMode]="params.filterMatchMode"
229
+ [maxlength]="params.maxlength"
230
+ [tooltip]="params.tooltip"
231
+ [tooltipPosition]="params.tooltipPosition || 'right'"
232
+ [tooltipPositionStyle]="params.tooltipPositionStyle || 'absolute'"
233
+ [tooltipStyleClass]="params.tooltipStyleClass"
234
+ [focusOnHover]="params.focusOnHover == undefined ? true : params.focusOnHover"
235
+ [fluid]="params.fluid == undefined ? true : params.fluid"
236
+ [filterValue]="params.filterValue"
237
+ (onChange)="onChange($event)" />
238
+ }
239
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "ngmodule", type: SelectModule }, { kind: "component", type: i2.Select, selector: "p-select", inputs: ["id", "scrollHeight", "filter", "name", "style", "panelStyle", "styleClass", "panelStyleClass", "readonly", "required", "editable", "appendTo", "tabindex", "placeholder", "loadingIcon", "filterPlaceholder", "filterLocale", "variant", "inputId", "dataKey", "filterBy", "filterFields", "autofocus", "resetFilterOnHide", "checkmark", "dropdownIcon", "loading", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "autoDisplayFirst", "group", "showClear", "emptyFilterMessage", "emptyMessage", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "size", "overlayOptions", "ariaFilterLabel", "ariaLabel", "ariaLabelledBy", "filterMatchMode", "maxlength", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "focusOnHover", "selectOnFocus", "autoOptionFocus", "autofocusFilter", "fluid", "disabled", "itemSize", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "filterValue", "options"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear", "onLazyLoad"] }, { kind: "component", type: MultiSelect, selector: "p-multiSelect, p-multiselect, p-multi-select", inputs: ["id", "ariaLabel", "style", "styleClass", "panelStyle", "panelStyleClass", "inputId", "disabled", "fluid", "readonly", "group", "filter", "filterPlaceHolder", "filterLocale", "overlayVisible", "tabindex", "variant", "appendTo", "dataKey", "name", "ariaLabelledBy", "displaySelectedLabel", "maxSelectedLabels", "selectionLimit", "selectedItemsLabel", "showToggleAll", "emptyFilterMessage", "emptyMessage", "resetFilterOnHide", "dropdownIcon", "chipIcon", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "showHeader", "filterBy", "scrollHeight", "lazy", "virtualScroll", "loading", "virtualScrollItemSize", "loadingIcon", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "filterMatchMode", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "autofocusFilter", "display", "autocomplete", "size", "showClear", "autofocus", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "defaultLabel", "placeholder", "options", "filterValue", "itemSize", "selectAll", "focusOnHover", "filterFields", "selectOnFocus", "autoOptionFocus"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onClear", "onPanelShow", "onPanelHide", "onLazyLoad", "onRemove", "onSelectAllChange"] }] }); }
240
+ }
241
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CellEditAsyncSelectFieldComponent, decorators: [{
242
+ type: Component,
243
+ args: [{
244
+ standalone: true,
245
+ template: `
246
+ @if (params.multiple) {
247
+ <p-multiselect
248
+ [(ngModel)]="value"
249
+ [scrollHeight]="params.scrollHeight || '200px'"
250
+ [filter]="params.filter"
251
+ [name]="params.name"
252
+ [options]="params.options"
253
+ [placeholder]="params.placeholder"
254
+ [class]="params.class"
255
+ [style]="params.style"
256
+ [panelStyle]="params.panelStyle"
257
+ [panelStyleClass]="params.panelStyleClass"
258
+ [readonly]="params.readonly"
259
+ [appendTo]="params.appendTo || 'body'"
260
+ [tabindex]="params.tabindex"
261
+ [loadingIcon]="params.loadingIcon"
262
+ [filterPlaceHolder]="params.filterPlaceHolder || params.filterPlaceholder"
263
+ [filterLocale]="params.filterLocale"
264
+ [variant]="params.variant"
265
+ [inputId]="params.inputId"
266
+ [dataKey]="params.dataKey"
267
+ [filterBy]="params.filterBy"
268
+ [filterFields]="params.filterFields"
269
+ [autofocus]="params.autofocus ?? true"
270
+ [resetFilterOnHide]="params.resetFilterOnHide"
271
+ [dropdownIcon]="params.dropdownIcon"
272
+ [loading]="params.loading"
273
+ [optionLabel]="params.optionLabel"
274
+ [optionValue]="params.optionValue"
275
+ [optionDisabled]="params.optionDisabled"
276
+ [optionGroupLabel]="params.optionGroupLabel"
277
+ [optionGroupChildren]="params.optionGroupChildren || 'items'"
278
+ [group]="params.group"
279
+ [showClear]="params.showClear"
280
+ [emptyFilterMessage]="params.emptyFilterMessage"
281
+ [emptyMessage]="params.emptyMessage"
282
+ [lazy]="params.lazy"
283
+ [virtualScroll]="params.virtualScroll"
284
+ [virtualScrollItemSize]="params.virtualScrollItemSize"
285
+ [virtualScrollOptions]="params.virtualScrollOptions"
286
+ [overlayOptions]="params.overlayOptions"
287
+ [size]="params.size"
288
+ [ariaFilterLabel]="params.ariaFilterLabel"
289
+ [ariaLabel]="params.ariaLabel"
290
+ [ariaLabelledBy]="params.ariaLabelledBy"
291
+ [filterMatchMode]="params.filterMatchMode"
292
+ [maxlength]="params.maxlength"
293
+ [tooltip]="params.tooltip"
294
+ [tooltipPosition]="params.tooltipPosition || 'right'"
295
+ [tooltipPositionStyle]="params.tooltipPositionStyle || 'absolute'"
296
+ [tooltipStyleClass]="params.tooltipStyleClass"
297
+ [focusOnHover]="params.focusOnHover == undefined ? true : params.focusOnHover"
298
+ [fluid]="params.fluid == undefined ? true : params.fluid"
299
+ [filterValue]="params.filterValue"
300
+ [display]="params.display ?? 'comma'"
301
+ [displaySelectedLabel]="params.displaySelectedLabel ?? true"
302
+ [maxSelectedLabels]="params.maxSelectedLabels"
303
+ [selectionLimit]="params.selectionLimit"
304
+ [selectedItemsLabel]="params.selectedItemsLabel"
305
+ [showToggleAll]="params.showToggleAll ?? true"
306
+ [showHeader]="params.showHeader ?? true"
307
+ [autofocusFilter]="params.autofocusFilter"
308
+ [selectAll]="params.selectAll ?? null"
309
+ [selectOnFocus]="params.selectOnFocus"
310
+ [autoOptionFocus]="params.autoOptionFocus"
311
+ (onChange)="onChange($event)" />
312
+ } @else {
313
+ <p-select
314
+ [(ngModel)]="value"
315
+ [scrollHeight]="params.scrollHeight || '200px'"
316
+ [filter]="params.filter"
317
+ [name]="params.name"
318
+ [options]="params.options"
319
+ [placeholder]="params.placeholder"
320
+ [class]="params.class"
321
+ [style]="params.style"
322
+ [panelStyle]="params.panelStyle"
323
+ [panelStyleClass]="params.panelStyleClass"
324
+ [readonly]="params.readonly"
325
+ [editable]="params.editable"
326
+ [appendTo]="params.appendTo || 'body'"
327
+ [tabindex]="params.tabindex"
328
+ [loadingIcon]="params.loadingIcon"
329
+ [filterPlaceholder]="params.filterPlaceholder"
330
+ [filterLocale]="params.filterLocale"
331
+ [variant]="params.variant"
332
+ [inputId]="params.inputId"
333
+ [dataKey]="params.dataKey"
334
+ [filterBy]="params.filterBy"
335
+ [filterFields]="params.filterFields"
336
+ [autofocus]="params.autofocus ?? true"
337
+ [resetFilterOnHide]="params.resetFilterOnHide"
338
+ [checkmark]="params.checkmark"
339
+ [dropdownIcon]="params.dropdownIcon"
340
+ [loading]="params.loading"
341
+ [optionLabel]="params.optionLabel"
342
+ [optionValue]="params.optionValue"
343
+ [optionDisabled]="params.optionDisabled"
344
+ [optionGroupLabel]="params.optionGroupLabel"
345
+ [optionGroupChildren]="params.optionGroupChildren || 'items'"
346
+ [group]="params.group"
347
+ [showClear]="params.showClear"
348
+ [emptyFilterMessage]="params.emptyFilterMessage"
349
+ [emptyMessage]="params.emptyMessage"
350
+ [lazy]="params.lazy"
351
+ [virtualScroll]="params.virtualScroll"
352
+ [virtualScrollItemSize]="params.virtualScrollItemSize"
353
+ [virtualScrollOptions]="params.virtualScrollOptions"
354
+ [overlayOptions]="params.overlayOptions"
355
+ [size]="params.size"
356
+ [ariaFilterLabel]="params.ariaFilterLabel"
357
+ [ariaLabel]="params.ariaLabel"
358
+ [ariaLabelledBy]="params.ariaLabelledBy"
359
+ [filterMatchMode]="params.filterMatchMode"
360
+ [maxlength]="params.maxlength"
361
+ [tooltip]="params.tooltip"
362
+ [tooltipPosition]="params.tooltipPosition || 'right'"
363
+ [tooltipPositionStyle]="params.tooltipPositionStyle || 'absolute'"
364
+ [tooltipStyleClass]="params.tooltipStyleClass"
365
+ [focusOnHover]="params.focusOnHover == undefined ? true : params.focusOnHover"
366
+ [fluid]="params.fluid == undefined ? true : params.fluid"
367
+ [filterValue]="params.filterValue"
368
+ (onChange)="onChange($event)" />
369
+ }
370
+ `,
371
+ imports: [FormsModule, ReactiveFormsModule, SelectModule, MultiSelect],
372
+ }]
373
+ }], propDecorators: { input: [{
374
+ type: ViewChild,
375
+ args: ['input', { read: ViewContainerRef }]
376
+ }] } });
377
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2VsbC1lZGl0LWFzeW5jLXNlbGVjdEZpZWxkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ltbS1lbGVtZW50LXVpL3NyYy9saWIvZ3JpZC9jZWxsLWVkaXQvY2VsbC1lZGl0LWFzeW5jLXNlbGVjdEZpZWxkLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RSxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHbEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVsRCxPQUFPLEVBQXNCLHlCQUF5QixFQUFFLE1BQU0sb0NBQW9DLENBQUM7Ozs7QUFvSW5HLE1BQU0sT0FBTyxpQ0FBaUM7SUFNN0MsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUF5QjtRQUNyQyxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUNyQixJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsSUFBSSxPQUFPLENBQUM7UUFDN0QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLElBQUksT0FBTyxDQUFDO1FBQzdELE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBTSxDQUFDLENBQUM7UUFDL0QsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVks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O1lBQzFCLE9BQU8sS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxLQUFLLEVBQUUsSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3RFLENBQUM7UUFDRCxJQUFJLEtBQUssS0FBSyxFQUFFLElBQUksS0FBSyxJQUFJLElBQUksRUFBRSxDQUFDO1lBQ25DLE9BQU8sRUFBRSxDQUFDO1FBQ1gsQ0FBQztRQUNELE9BQU8sTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3RCLENBQUM7K0dBdEhXLGlDQUFpQzttR0FBakMsaUNBQWlDLG1KQUlqQixnQkFBZ0IsNkJBcElsQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUE2SFQsMkRBQ1MsV0FBVyxpZ0JBQUUsbUJBQW1CLDhCQUFFLFlBQVkseXJDQUFFLFdBQVc7OzRGQUV6RCxpQ0FBaUM7a0JBbEk3QyxTQUFTO21CQUFDO29CQUNWLFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBNkhUO29CQUNELE9BQU8sRUFBRSxDQUFDLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxZQUFZLEVBQUUsV0FBVyxDQUFDO2lCQUN0RTs4QkFLdUQsS0FBSztzQkFBM0QsU0FBUzt1QkFBQyxPQUFPLEVBQUUsRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIFZpZXdDaGlsZCwgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgdHlwZSB7IElDZWxsRWRpdG9yQW5ndWxhckNvbXAgfSBmcm9tICdhZy1ncmlkLWFuZ3VsYXInO1xuaW1wb3J0IHR5cGUgeyBJQ2VsbEVkaXRvclBhcmFtcyB9IGZyb20gJ2FnLWdyaWQtY29tbXVuaXR5JztcbmltcG9ydCB7IFNlbGVjdE1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvc2VsZWN0JztcbmltcG9ydCB7IE11bHRpU2VsZWN0IH0gZnJvbSAncHJpbWVuZy9tdWx0aXNlbGVjdCc7XG5pbXBvcnQgeyBHcmlkQ29tcG9uZW50IH0gZnJvbSAnLi4vZ3JpZC9ncmlkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBc3luY1NlbGVjdENvbnRleHQsIHJlc29sdmVBc3luY1NlbGVjdE9wdGlvbnMgfSBmcm9tICcuLi9jZWxsLXV0aWxzL2FzeW5jLXNlbGVjdC1vcHRpb25zJztcblxuQENvbXBvbmVudCh7XG5cdHN0YW5kYWxvbmU6IHRydWUsXG5cdHRlbXBsYXRlOiBgXG5cdFx0QGlmIChwYXJhbXMubXVsdGlwbGUpIHtcblx0XHRcdDxwLW11bHRpc2VsZWN0XG5cdFx0XHRcdFsobmdNb2RlbCldPVwidmFsdWVcIlxuXHRcdFx0XHRbc2Nyb2xsSGVpZ2h0XT1cInBhcmFtcy5zY3JvbGxIZWlnaHQgfHwgJzIwMHB4J1wiXG5cdFx0XHRcdFtmaWx0ZXJdPVwicGFyYW1zLmZpbHRlclwiXG5cdFx0XHRcdFtuYW1lXT1cInBhcmFtcy5uYW1lXCJcblx0XHRcdFx0W29wdGlvbnNdPVwicGFyYW1zLm9wdGlvbnNcIlxuXHRcdFx0XHRbcGxhY2Vob2xkZXJdPVwicGFyYW1zLnBsYWNlaG9sZGVyXCJcblx0XHRcdFx0W2NsYXNzXT1cInBhcmFtcy5jbGFzc1wiXG5cdFx0XHRcdFtzdHlsZV09XCJwYXJhbXMuc3R5bGVcIlxuXHRcdFx0XHRbcGFuZWxTdHlsZV09XCJwYXJhbXMucGFuZWxTdHlsZVwiXG5cdFx0XHRcdFtwYW5lbFN0eWxlQ2xhc3NdPVwicGFyYW1zLnBhbmVsU3R5bGVDbGFzc1wiXG5cdFx0XHRcdFtyZWFkb25seV09XCJwYXJhbXMucmVhZG9ubHlcIlxuXHRcdFx0XHRbYXBwZW5kVG9dPVwicGFyYW1zLmFwcGVuZFRvIHx8ICdib2R5J1wiXG5cdFx0XHRcdFt0YWJpbmRleF09XCJwYXJhbXMudGFiaW5kZXhcIlxuXHRcdFx0XHRbbG9hZGluZ0ljb25dPVwicGFyYW1zLmxvYWRpbmdJY29uXCJcblx0XHRcdFx0W2ZpbHRlclBsYWNlSG9sZGVyXT1cInBhcmFtcy5maWx0ZXJQbGFjZUhvbGRlciB8fCBwYXJhbXMuZmlsdGVyUGxhY2Vob2xkZXJcIlxuXHRcdFx0XHRbZmlsdGVyTG9jYWxlXT1cInBhcmFtcy5maWx0ZXJMb2NhbGVcIlxuXHRcdFx0XHRbdmFyaWFudF09XCJwYXJhbXMudmFyaWFudFwiXG5cdFx0XHRcdFtpbnB1dElkXT1cInBhcmFtcy5pbnB1dElkXCJcblx0XHRcdFx0W2RhdGFLZXldPVwicGFyYW1zLmRhdGFLZXlcIlxuXHRcdFx0XHRbZmlsdGVyQnldPVwicGFyYW1zLmZpbHRlckJ5XCJcblx0XHRcdFx0W2ZpbHRlckZpZWxkc109XCJwYXJhbXMuZmlsdGVyRmllbGRzXCJcblx0XHRcdFx0W2F1dG9mb2N1c109XCJwYXJhbXMuYXV0b2ZvY3VzID8/IHRydWVcIlxuXHRcdFx0XHRbcmVzZXRGaWx0ZXJPbkhpZGVdPVwicGFyYW1zLnJlc2V0RmlsdGVyT25IaWRlXCJcblx0XHRcdFx0W2Ryb3Bkb3duSWNvbl09XCJwYXJhbXMuZHJvcGRvd25JY29uXCJcblx0XHRcdFx0W2xvYWRpbmddPVwicGFyYW1zLmxvYWRpbmdcIlxuXHRcdFx0XHRbb3B0aW9uTGFiZWxdPVwicGFyYW1zLm9wdGlvbkxhYmVsXCJcblx0XHRcdFx0W29wdGlvblZhbHVlXT1cInBhcmFtcy5vcHRpb25WYWx1ZVwiXG5cdFx0XHRcdFtvcHRpb25EaXNhYmxlZF09XCJwYXJhbXMub3B0aW9uRGlzYWJsZWRcIlxuXHRcdFx0XHRbb3B0aW9uR3JvdXBMYWJlbF09XCJwYXJhbXMub3B0aW9uR3JvdXBMYWJlbFwiXG5cdFx0XHRcdFtvcHRpb25Hcm91cENoaWxkcmVuXT1cInBhcmFtcy5vcHRpb25Hcm91cENoaWxkcmVuIHx8ICdpdGVtcydcIlxuXHRcdFx0XHRbZ3JvdXBdPVwicGFyYW1zLmdyb3VwXCJcblx0XHRcdFx0W3Nob3dDbGVhcl09XCJwYXJhbXMuc2hvd0NsZWFyXCJcblx0XHRcdFx0W2VtcHR5RmlsdGVyTWVzc2FnZV09XCJwYXJhbXMuZW1wdHlGaWx0ZXJNZXNzYWdlXCJcblx0XHRcdFx0W2VtcHR5TWVzc2FnZV09XCJwYXJhbXMuZW1wdHlNZXNzYWdlXCJcblx0XHRcdFx0W2xhenldPVwicGFyYW1zLmxhenlcIlxuXHRcdFx0XHRbdmlydHVhbFNjcm9sbF09XCJwYXJhbXMudmlydHVhbFNjcm9sbFwiXG5cdFx0XHRcdFt2aXJ0dWFsU2Nyb2xsSXRlbVNpemVdPVwicGFyYW1zLnZpcnR1YWxTY3JvbGxJdGVtU2l6ZVwiXG5cdFx0XHRcdFt2aXJ0dWFsU2Nyb2xsT3B0aW9uc109XCJwYXJhbXMudmlydHVhbFNjcm9sbE9wdGlvbnNcIlxuXHRcdFx0XHRbb3ZlcmxheU9wdGlvbnNdPVwicGFyYW1zLm92ZXJsYXlPcHRpb25zXCJcblx0XHRcdFx0W3NpemVdPVwicGFyYW1zLnNpemVcIlxuXHRcdFx0XHRbYXJpYUZpbHRlckxhYmVsXT1cInBhcmFtcy5hcmlhRmlsdGVyTGFiZWxcIlxuXHRcdFx0XHRbYXJpYUxhYmVsXT1cInBhcmFtcy5hcmlhTGFiZWxcIlxuXHRcdFx0XHRbYXJpYUxhYmVsbGVkQnldPVwicGFyYW1zLmFyaWFMYWJlbGxlZEJ5XCJcblx0XHRcdFx0W2ZpbHRlck1hdGNoTW9kZV09XCJwYXJhbXMuZmlsdGVyTWF0Y2hNb2RlXCJcblx0XHRcdFx0W21heGxlbmd0aF09XCJwYXJhbXMubWF4bGVuZ3RoXCJcblx0XHRcdFx0W3Rvb2x0aXBdPVwicGFyYW1zLnRvb2x0aXBcIlxuXHRcdFx0XHRbdG9vbHRpcFBvc2l0aW9uXT1cInBhcmFtcy50b29sdGlwUG9zaXRpb24gfHwgJ3JpZ2h0J1wiXG5cdFx0XHRcdFt0b29sdGlwUG9zaXRpb25TdHlsZV09XCJwYXJhbXMudG9vbHRpcFBvc2l0aW9uU3R5bGUgfHwgJ2Fic29sdXRlJ1wiXG5cdFx0XHRcdFt0b29sdGlwU3R5bGVDbGFzc109XCJwYXJhbXMudG9vbHRpcFN0eWxlQ2xhc3NcIlxuXHRcdFx0XHRbZm9jdXNPbkhvdmVyXT1cInBhcmFtcy5mb2N1c09uSG92ZXIgPT0gdW5kZWZpbmVkID8gdHJ1ZSA6IHBhcmFtcy5mb2N1c09uSG92ZXJcIlxuXHRcdFx0XHRbZmx1aWRdPVwicGFyYW1zLmZsdWlkID09IHVuZGVmaW5lZCA/IHRydWUgOiBwYXJhbXMuZmx1aWRcIlxuXHRcdFx0XHRbZmlsdGVyVmFsdWVdPVwicGFyYW1zLmZpbHRlclZhbHVlXCJcblx0XHRcdFx0W2Rpc3BsYXldPVwicGFyYW1zLmRpc3BsYXkgPz8gJ2NvbW1hJ1wiXG5cdFx0XHRcdFtkaXNwbGF5U2VsZWN0ZWRMYWJlbF09XCJwYXJhbXMuZGlzcGxheVNlbGVjdGVkTGFiZWwgPz8gdHJ1ZVwiXG5cdFx0XHRcdFttYXhTZWxlY3RlZExhYmVsc109XCJwYXJhbXMubWF4U2VsZWN0ZWRMYWJlbHNcIlxuXHRcdFx0XHRbc2VsZWN0aW9uTGltaXRdPVwicGFyYW1zLnNlbGVjdGlvbkxpbWl0XCJcblx0XHRcdFx0W3NlbGVjdGVkSXRlbXNMYWJlbF09XCJwYXJhbXMuc2VsZWN0ZWRJdGVtc0xhYmVsXCJcblx0XHRcdFx0W3Nob3dUb2dnbGVBbGxdPVwicGFyYW1zLnNob3dUb2dnbGVBbGwgPz8gdHJ1ZVwiXG5cdFx0XHRcdFtzaG93SGVhZGVyXT1cInBhcmFtcy5zaG93SGVhZGVyID8/IHRydWVcIlxuXHRcdFx0XHRbYXV0b2ZvY3VzRmlsdGVyXT1cInBhcmFtcy5hdXRvZm9jdXNGaWx0ZXJcIlxuXHRcdFx0XHRbc2VsZWN0QWxsXT1cInBhcmFtcy5zZWxlY3RBbGwgPz8gbnVsbFwiXG5cdFx0XHRcdFtzZWxlY3RPbkZvY3VzXT1cInBhcmFtcy5zZWxlY3RPbkZvY3VzXCJcblx0XHRcdFx0W2F1dG9PcHRpb25Gb2N1c109XCJwYXJhbXMuYXV0b09wdGlvbkZvY3VzXCJcblx0XHRcdFx0KG9uQ2hhbmdlKT1cIm9uQ2hhbmdlKCRldmVudClcIiAvPlxuXHRcdH0gQGVsc2Uge1xuXHRcdFx0PHAtc2VsZWN0XG5cdFx0XHRcdFsobmdNb2RlbCldPVwidmFsdWVcIlxuXHRcdFx0XHRbc2Nyb2xsSGVpZ2h0XT1cInBhcmFtcy5zY3JvbGxIZWlnaHQgfHwgJzIwMHB4J1wiXG5cdFx0XHRcdFtmaWx0ZXJdPVwicGFyYW1zLmZpbHRlclwiXG5cdFx0XHRcdFtuYW1lXT1cInBhcmFtcy5uYW1lXCJcblx0XHRcdFx0W29wdGlvbnNdPVwicGFyYW1zLm9wdGlvbnNcIlxuXHRcdFx0XHRbcGxhY2Vob2xkZXJdPVwicGFyYW1zLnBsYWNlaG9sZGVyXCJcblx0XHRcdFx0W2NsYXNzXT1cInBhcmFtcy5jbGFzc1wiXG5cdFx0XHRcdFtzdHlsZV09XCJwYXJhbXMuc3R5bGVcIlxuXHRcdFx0XHRbcGFuZWxTdHlsZV09XCJwYXJhbXMucGFuZWxTdHlsZVwiXG5cdFx0XHRcdFtwYW5lbFN0eWxlQ2xhc3NdPVwicGFyYW1zLnBhbmVsU3R5bGVDbGFzc1wiXG5cdFx0XHRcdFtyZWFkb25seV09XCJwYXJhbXMucmVhZG9ubHlcIlxuXHRcdFx0XHRbZWRpdGFibGVdPVwicGFyYW1zLmVkaXRhYmxlXCJcblx0XHRcdFx0W2FwcGVuZFRvXT1cInBhcmFtcy5hcHBlbmRUbyB8fCAnYm9keSdcIlxuXHRcdFx0XHRbdGFiaW5kZXhdPVwicGFyYW1zLnRhYmluZGV4XCJcblx0XHRcdFx0W2xvYWRpbmdJY29uXT1cInBhcmFtcy5sb2FkaW5nSWNvblwiXG5cdFx0XHRcdFtmaWx0ZXJQbGFjZWhvbGRlcl09XCJwYXJhbXMuZmlsdGVyUGxhY2Vob2xkZXJcIlxuXHRcdFx0XHRbZmlsdGVyTG9jYWxlXT1cInBhcmFtcy5maWx0ZXJMb2NhbGVcIlxuXHRcdFx0XHRbdmFyaWFudF09XCJwYXJhbXMudmFyaWFudFwiXG5cdFx0XHRcdFtpbnB1dElkXT1cInBhcmFtcy5pbnB1dElkXCJcblx0XHRcdFx0W2RhdGFLZXldPVwicGFyYW1zLmRhdGFLZXlcIlxuXHRcdFx0XHRbZmlsdGVyQnldPVwicGFyYW1zLmZpbHRlckJ5XCJcblx0XHRcdFx0W2ZpbHRlckZpZWxkc109XCJwYXJhbXMuZmlsdGVyRmllbGRzXCJcblx0XHRcdFx0W2F1dG9mb2N1c109XCJwYXJhbXMuYXV0b2ZvY3VzID8/IHRydWVcIlxuXHRcdFx0XHRbcmVzZXRGaWx0ZXJPbkhpZGVdPVwicGFyYW1zLnJlc2V0RmlsdGVyT25IaWRlXCJcblx0XHRcdFx0W2NoZWNrbWFya109XCJwYXJhbXMuY2hlY2ttYXJrXCJcblx0XHRcdFx0W2Ryb3Bkb3duSWNvbl09XCJwYXJhbXMuZHJvcGRvd25JY29uXCJcblx0XHRcdFx0W2xvYWRpbmddPVwicGFyYW1zLmxvYWRpbmdcIlxuXHRcdFx0XHRbb3B0aW9uTGFiZWxdPVwicGFyYW1zLm9wdGlvbkxhYmVsXCJcblx0XHRcdFx0W29wdGlvblZhbHVlXT1cInBhcmFtcy5vcHRpb25WYWx1ZVwiXG5cdFx0XHRcdFtvcHRpb25EaXNhYmxlZF09XCJwYXJhbXMub3B0aW9uRGlzYWJsZWRcIlxuXHRcdFx0XHRbb3B0aW9uR3JvdXBMYWJlbF09XCJwYXJhbXMub3B0aW9uR3JvdXBMYWJlbFwiXG5cdFx0XHRcdFtvcHRpb25Hcm91cENoaWxkcmVuXT1cInBhcmFtcy5vcHRpb25Hcm91cENoaWxkcmVuIHx8ICdpdGVtcydcIlxuXHRcdFx0XHRbZ3JvdXBdPVwicGFyYW1zLmdyb3VwXCJcblx0XHRcdFx0W3Nob3dDbGVhcl09XCJwYXJhbXMuc2hvd0NsZWFyXCJcblx0XHRcdFx0W2VtcHR5RmlsdGVyTWVzc2FnZV09XCJwYXJhbXMuZW1wdHlGaWx0ZXJNZXNzYWdlXCJcblx0XHRcdFx0W2VtcHR5TWVzc2FnZV09XCJwYXJhbXMuZW1wdHlNZXNzYWdlXCJcblx0XHRcdFx0W2xhenldPVwicGFyYW1zLmxhenlcIlxuXHRcdFx0XHRbdmlydHVhbFNjcm9sbF09XCJwYXJhbXMudmlydHVhbFNjcm9sbFwiXG5cdFx0XHRcdFt2aXJ0dWFsU2Nyb2xsSXRlbVNpemVdPVwicGFyYW1zLnZpcnR1YWxTY3JvbGxJdGVtU2l6ZVwiXG5cdFx0XHRcdFt2aXJ0dWFsU2Nyb2xsT3B0aW9uc109XCJwYXJhbXMudmlydHVhbFNjcm9sbE9wdGlvbnNcIlxuXHRcdFx0XHRbb3ZlcmxheU9wdGlvbnNdPVwicGFyYW1zLm92ZXJsYXlPcHRpb25zXCJcblx0XHRcdFx0W3NpemVdPVwicGFyYW1zLnNpemVcIlxuXHRcdFx0XHRbYXJpYUZpbHRlckxhYmVsXT1cInBhcmFtcy5hcmlhRmlsdGVyTGFiZWxcIlxuXHRcdFx0XHRbYXJpYUxhYmVsXT1cInBhcmFtcy5hcmlhTGFiZWxcIlxuXHRcdFx0XHRbYXJpYUxhYmVsbGVkQnldPVwicGFyYW1zLmFyaWFMYWJlbGxlZEJ5XCJcblx0XHRcdFx0W2ZpbHRlck1hdGNoTW9kZV09XCJwYXJhbXMuZmlsdGVyTWF0Y2hNb2RlXCJcblx0XHRcdFx0W21heGxlbmd0aF09XCJwYXJhbXMubWF4bGVuZ3RoXCJcblx0XHRcdFx0W3Rvb2x0aXBdPVwicGFyYW1zLnRvb2x0aXBcIlxuXHRcdFx0XHRbdG9vbHRpcFBvc2l0aW9uXT1cInBhcmFtcy50b29sdGlwUG9zaXRpb24gfHwgJ3JpZ2h0J1wiXG5cdFx0XHRcdFt0b29sdGlwUG9zaXRpb25TdHlsZV09XCJwYXJhbXMudG9vbHRpcFBvc2l0aW9uU3R5bGUgfHwgJ2Fic29sdXRlJ1wiXG5cdFx0XHRcdFt0b29sdGlwU3R5bGVDbGFzc109XCJwYXJhbXMudG9vbHRpcFN0eWxlQ2xhc3NcIlxuXHRcdFx0XHRbZm9jdXNPbkhvdmVyXT1cInBhcmFtcy5mb2N1c09uSG92ZXIgPT0gdW5kZWZpbmVkID8gdHJ1ZSA6IHBhcmFtcy5mb2N1c09uSG92ZXJcIlxuXHRcdFx0XHRbZmx1aWRdPVwicGFyYW1zLmZsdWlkID09IHVuZGVmaW5lZCA/IHRydWUgOiBwYXJhbXMuZmx1aWRcIlxuXHRcdFx0XHRbZmlsdGVyVmFsdWVdPVwicGFyYW1zLmZpbHRlclZhbHVlXCJcblx0XHRcdFx0KG9uQ2hhbmdlKT1cIm9uQ2hhbmdlKCRldmVudClcIiAvPlxuXHRcdH1cblx0YCxcblx0aW1wb3J0czogW0Zvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBTZWxlY3RNb2R1bGUsIE11bHRpU2VsZWN0XSxcbn0pXG5leHBvcnQgY2xhc3MgQ2VsbEVkaXRBc3luY1NlbGVjdEZpZWxkQ29tcG9uZW50IGltcGxlbWVudHMgSUNlbGxFZGl0b3JBbmd1bGFyQ29tcCB7XG5cdHBhcmFtcyE6IGFueTtcblx0dmFsdWU6IGFueTtcblxuXHRAVmlld0NoaWxkKCdpbnB1dCcsIHsgcmVhZDogVmlld0NvbnRhaW5lclJlZiB9KSBwdWJsaWMgaW5wdXQhOiBWaWV3Q29udGFpbmVyUmVmO1xuXG5cdGFzeW5jIGFnSW5pdChwYXJhbXM6IElDZWxsRWRpdG9yUGFyYW1zKTogUHJvbWlzZTx2b2lkPiB7XG5cdFx0dGhpcy5wYXJhbXMgPSBwYXJhbXM7XG5cdFx0dGhpcy5wYXJhbXMub3B0aW9uTGFiZWwgPSB0aGlzLnBhcmFtcy5vcHRpb25MYWJlbCB8fCAnbGFiZWwnO1xuXHRcdHRoaXMucGFyYW1zLm9wdGlvblZhbHVlID0gdGhpcy5wYXJhbXMub3B0aW9uVmFsdWUgfHwgJ3ZhbHVlJztcblx0XHRjb25zdCByb3dWYWx1ZSA9IHRoaXMucGFyYW1zLmRhdGE/Llt0aGlzLnBhcmFtcy5jb2xEZWYuZmllbGQhXTtcblx0XHR0aGlzLnZhbHVlID0gdGhpcy5wYXJhbXMubXVsdGlwbGUgPyB0aGlzLnRvVmFsdWVBcnJheShwYXJhbXMudmFsdWUgPz8gcm93VmFsdWUpIDogKHBhcmFtcy52YWx1ZSA/PyByb3dWYWx1ZSk7XG5cblx0XHR0aGlzLnNldEVkaXRvclNpemUocGFyYW1zKTtcblx0XHRhd2FpdCB0aGlzLmxvYWRPcHRpb25zKCk7XG5cdH1cblxuXHRnZXRWYWx1ZSgpOiBhbnkge1xuXHRcdGlmICh0aGlzLnBhcmFtcy5tdWx0aXBsZSkge1xuXHRcdFx0cmV0dXJuIHRoaXMudG9WYWx1ZVN0cmluZyh0aGlzLnZhbHVlKTtcblx0XHR9XG5cdFx0Y29uc3QgdmFsdWUgPSB0aGlzLnZhbHVlO1xuXHRcdHJldHVybiB2YWx1ZSA9PT0gJycgfHwgdmFsdWUgPT0gbnVsbCA/IG51bGwgOiB2YWx1ZTtcblx0fVxuXG5cdG9uQ2hhbmdlKGV2ZW50OiBhbnkpIHtcblx0XHRjb25zdCBuYW1lRmllbGRzID0gdGhpcy5wYXJhbXMubmFtZUZpZWxkcyB8fCBbXTtcblx0XHRuYW1lRmllbGRzLmZvckVhY2goKG5hbWVGaWVsZDogYW55KSA9PiB7XG5cdFx0XHR0aGlzLnVwZGF0ZU5hbWVGaWVsZChuYW1lRmllbGQsIGV2ZW50KTtcblx0XHR9KTtcblx0fVxuXG5cdHByaXZhdGUgYXN5bmMgbG9hZE9wdGlvbnMoKSB7XG5cdFx0Y29uc3QgY29udGV4dCA9IHRoaXMuY3JlYXRlQ29udGV4dCgpO1xuXG5cdFx0dHJ5IHtcblx0XHRcdHRoaXMucGFyYW1zLmxvYWRpbmcgPSB0cnVlO1xuXHRcdFx0dGhpcy5wYXJhbXMub3B0aW9ucyA9IGF3YWl0IHJlc29sdmVBc3luY1NlbGVjdE9wdGlvbnModGhpcy5wYXJhbXMsIGNvbnRleHQpO1xuXHRcdH0gZmluYWxseSB7XG5cdFx0XHR0aGlzLnBhcmFtcy5sb2FkaW5nID0gZmFsc2U7XG5cdFx0fVxuXHR9XG5cblx0cHJpdmF0ZSBjcmVhdGVDb250ZXh0KCk6IEFzeW5jU2VsZWN0Q29udGV4dCB7XG5cdFx0cmV0dXJuIHtcblx0XHRcdGRhdGE6IHRoaXMucGFyYW1zLmRhdGEsXG5cdFx0XHR2YWx1ZTogdGhpcy5wYXJhbXMubXVsdGlwbGUgPyB0aGlzLnRvVmFsdWVTdHJpbmcodGhpcy52YWx1ZSkgOiB0aGlzLnZhbHVlLFxuXHRcdFx0cGFyYW1zOiB0aGlzLnBhcmFtcyxcblx0XHRcdGZpZWxkOiB0aGlzLnBhcmFtcy5jb2xEZWYuZmllbGQsXG5cdFx0XHRjb2xEZWY6IHRoaXMucGFyYW1zLmNvbERlZixcblx0XHRcdHJvd0luZGV4OiB0aGlzLnBhcmFtcy5ub2RlPy5yb3dJbmRleCxcblx0XHR9O1xuXHR9XG5cblx0cHJpdmF0ZSBzZXRFZGl0b3JTaXplKHBhcmFtczogSUNlbGxFZGl0b3JQYXJhbXMpIHtcblx0XHRjb25zdCBjZWxsV2lkdGggPSBwYXJhbXMuY29sdW1uLmdldEFjdHVhbFdpZHRoKCk7XG5cdFx0dGhpcy5wYXJhbXMuc3R5bGUgPSB7XG5cdFx0XHRib3JkZXI6ICdub25lJyxcblx0XHRcdGJveFNoYWRvdzogJ25vbmUnLFxuXHRcdFx0d2lkdGg6IGAke2NlbGxXaWR0aH1weGAsXG5cdFx0XHRiYWNrZ3JvdW5kOiAndmFyKC0tYWctYmFja2dyb3VuZC1jb2xvciknLFxuXHRcdFx0aGVpZ2h0OiAnNDBweCcsXG5cdFx0XHRhbGlnbkl0ZW1zOiAnY2VudGVyJyxcblx0XHRcdC4uLih0aGlzLnBhcmFtcy5zdHlsZSB8fCB7fSksXG5cdFx0fTtcblx0XHR0aGlzLnBhcmFtcy5wYW5lbFN0eWxlID0ge1xuXHRcdFx0d2lkdGg6IGAke2NlbGxXaWR0aH1weGAsXG5cdFx0XHQuLi4odGhpcy5wYXJhbXMucGFuZWxTdHlsZSB8fCB7fSksXG5cdFx0fTtcblx0fVxuXG5cdHByaXZhdGUgdXBkYXRlTmFtZUZpZWxkKG5hbWVGaWVsZDogYW55LCBldmVudDogYW55KSB7XG5cdFx0Y29uc3Qgb2xkVmFsdWUgPSB0aGlzLnBhcmFtcy5kYXRhW25hbWVGaWVsZC5maWVsZF07XG5cdFx0Y29uc3QgbmV3VmFsdWUgPSB0aGlzLnJlc29sdmVOYW1lRmllbGRWYWx1ZShuYW1lRmllbGQsIGV2ZW50LnZhbHVlKTtcblx0XHRjb25zdCBncmlkOiBHcmlkQ29tcG9uZW50ID0gdGhpcy5wYXJhbXMuZ3JpZCgpO1xuXHRcdGNvbnN0IGU6IGFueSA9IHtcblx0XHRcdGNvbERlZjogbmFtZUZpZWxkLFxuXHRcdFx0b2xkVmFsdWUsXG5cdFx0XHRuZXdWYWx1ZSxcblx0XHRcdHJvd0luZGV4OiB0aGlzLnBhcmFtcy5ub2RlLnJvd0luZGV4LFxuXHRcdFx0ZGF0YTogeyBpZDogdGhpcy5wYXJhbXMuZGF0YS5pZCB9LFxuXHRcdH07XG5cdFx0Z3JpZC5jZWxsVmFsdWVDaGFuZ2VkKGUpO1xuXHRcdHRoaXMucGFyYW1zLmRhdGFbbmFtZUZpZWxkLmZpZWxkXSA9IG5ld1ZhbHVlO1xuXHR9XG5cblx0cHJpdmF0ZSByZXNvbHZlTmFtZUZpZWxkVmFsdWUobmFtZUZpZWxkOiBhbnksIHZhbHVlOiBhbnkpIHtcblx0XHRjb25zdCB2YWx1ZUZpZWxkID0gdGhpcy5wYXJhbXMub3B0aW9uVmFsdWUgfHwgJ3ZhbHVlJztcblx0XHRpZiAodGhpcy5wYXJhbXMubXVsdGlwbGUpIHtcblx0XHRcdGNvbnN0IHZhbHVlcyA9IHRoaXMudG9WYWx1ZUFycmF5KHZhbHVlKTtcblx0XHRcdHJldHVybiAodGhpcy5wYXJhbXMub3B0aW9ucyB8fCBbXSlcblx0XHRcdFx0LmZpbHRlcigob3A6IGFueSkgPT4gdmFsdWVzLnNvbWUoKHNlbGVjdGVkVmFsdWU6IGFueSkgPT4gc2VsZWN0ZWRWYWx1ZSA9PSBvcD8uW3ZhbHVlRmllbGRdKSlcblx0XHRcdFx0Lm1hcCgob3A6IGFueSkgPT4gb3A/LltuYW1lRmllbGQua2V5XSlcblx0XHRcdFx0LmZpbHRlcigoaXRlbTogYW55KSA9PiBpdGVtICE9PSB1bmRlZmluZWQgJiYgaXRlbSAhPT0gbnVsbCAmJiBpdGVtICE9PSAnJylcblx0XHRcdFx0LmpvaW4oJywnKTtcblx0XHR9XG5cdFx0Y29uc3QgaXRlbSA9ICh0aGlzLnBhcmFtcy5vcHRpb25zIHx8IFtdKS5maW5kKChvcDogYW55KSA9PiBvcD8uW3ZhbHVlRmllbGRdID09PSB2YWx1ZSk7XG5cdFx0cmV0dXJuIGl0ZW0gPyBpdGVtW25hbWVGaWVsZC5rZXldIDogbnVsbDtcblx0fVxuXG5cdHByaXZhdGUgdG9WYWx1ZUFycmF5KHZhbHVlOiBhbnkpOiBhbnlbXSB7XG5cdFx0aWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG5cdFx0XHRyZXR1cm4gdmFsdWU7XG5cdFx0fVxuXHRcdGlmICh2YWx1ZSA9PT0gJycgfHwgdmFsdWUgPT0gbnVsbCkge1xuXHRcdFx0cmV0dXJuIFtdO1xuXHRcdH1cblx0XHRyZXR1cm4gU3RyaW5nKHZhbHVlKS5zcGxpdCgnLCcpLmZpbHRlcigoaXRlbSkgPT4gaXRlbSAhPT0gJycpO1xuXHR9XG5cblx0cHJpdmF0ZSB0b1ZhbHVlU3RyaW5nKHZhbHVlOiBhbnkpOiBzdHJpbmcge1xuXHRcdGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuXHRcdFx0cmV0dXJuIHZhbHVlLmZpbHRlcigoaXRlbSkgPT4gaXRlbSAhPT0gJycgJiYgaXRlbSAhPSBudWxsKS5qb2luKCcsJyk7XG5cdFx0fVxuXHRcdGlmICh2YWx1ZSA9PT0gJycgfHwgdmFsdWUgPT0gbnVsbCkge1xuXHRcdFx0cmV0dXJuICcnO1xuXHRcdH1cblx0XHRyZXR1cm4gU3RyaW5nKHZhbHVlKTtcblx0fVxufVxuIl19
@@ -2,8 +2,9 @@ import { CellEditInputTextCompoent } from './cell-edit-inputText.compoent';
2
2
  import { CellEditInputNumberCompoent } from './cell-edit-inputNumber.component';
3
3
  import { CellEditDatePickerComponent } from './cell-edit-datePicker.compoent';
4
4
  import { CellEditSelectFieldComponent } from './cell-edit-selectField.component';
5
+ import { CellEditAsyncSelectFieldComponent } from './cell-edit-async-selectField.component';
5
6
  import { CellEditAutoCompleteComponent } from './cell-edit-autoComplete.component';
6
7
  import { CellEditInputDateComponent } from './cell-edit-inputDate.component';
7
8
  import { CellEditSelectComponent } from './cell-edit-select.component';
8
- export { CellEditInputTextCompoent, CellEditInputNumberCompoent, CellEditDatePickerComponent, CellEditSelectComponent, CellEditAutoCompleteComponent, CellEditInputDateComponent, CellEditSelectFieldComponent };
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbW0tZWxlbWVudC11aS9zcmMvbGliL2dyaWQvY2VsbC1lZGl0L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFBO0FBQzFFLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLG1DQUFtQyxDQUFBO0FBQy9FLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGlDQUFpQyxDQUFBO0FBQzdFLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLG1DQUFtQyxDQUFBO0FBQ2hGLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLG9DQUFvQyxDQUFBO0FBQ2xGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGlDQUFpQyxDQUFBO0FBQzVFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDhCQUE4QixDQUFBO0FBQ3RFLE9BQU8sRUFDTCx5QkFBeUIsRUFDekIsMkJBQTJCLEVBQzNCLDJCQUEyQixFQUMzQix1QkFBdUIsRUFDdkIsNkJBQTZCLEVBQzdCLDBCQUEwQixFQUMxQiw0QkFBNEIsRUFDN0IsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENlbGxFZGl0SW5wdXRUZXh0Q29tcG9lbnQgfSBmcm9tICcuL2NlbGwtZWRpdC1pbnB1dFRleHQuY29tcG9lbnQnXG5pbXBvcnQgeyBDZWxsRWRpdElucHV0TnVtYmVyQ29tcG9lbnQgfSBmcm9tICcuL2NlbGwtZWRpdC1pbnB1dE51bWJlci5jb21wb25lbnQnXG5pbXBvcnQgeyBDZWxsRWRpdERhdGVQaWNrZXJDb21wb25lbnQgfSBmcm9tICcuL2NlbGwtZWRpdC1kYXRlUGlja2VyLmNvbXBvZW50J1xuaW1wb3J0IHsgQ2VsbEVkaXRTZWxlY3RGaWVsZENvbXBvbmVudCB9IGZyb20gJy4vY2VsbC1lZGl0LXNlbGVjdEZpZWxkLmNvbXBvbmVudCdcbmltcG9ydCB7IENlbGxFZGl0QXV0b0NvbXBsZXRlQ29tcG9uZW50IH0gZnJvbSAnLi9jZWxsLWVkaXQtYXV0b0NvbXBsZXRlLmNvbXBvbmVudCdcbmltcG9ydCB7IENlbGxFZGl0SW5wdXREYXRlQ29tcG9uZW50IH0gZnJvbSAnLi9jZWxsLWVkaXQtaW5wdXREYXRlLmNvbXBvbmVudCdcbmltcG9ydCB7IENlbGxFZGl0U2VsZWN0Q29tcG9uZW50IH0gZnJvbSAnLi9jZWxsLWVkaXQtc2VsZWN0LmNvbXBvbmVudCdcbmV4cG9ydCB7IFxuICBDZWxsRWRpdElucHV0VGV4dENvbXBvZW50LFxuICBDZWxsRWRpdElucHV0TnVtYmVyQ29tcG9lbnQsXG4gIENlbGxFZGl0RGF0ZVBpY2tlckNvbXBvbmVudCxcbiAgQ2VsbEVkaXRTZWxlY3RDb21wb25lbnQsXG4gIENlbGxFZGl0QXV0b0NvbXBsZXRlQ29tcG9uZW50LFxuICBDZWxsRWRpdElucHV0RGF0ZUNvbXBvbmVudCxcbiAgQ2VsbEVkaXRTZWxlY3RGaWVsZENvbXBvbmVudFxufVxuIl19
9
+ export { CellEditInputTextCompoent, CellEditInputNumberCompoent, CellEditDatePickerComponent, CellEditSelectComponent, CellEditAutoCompleteComponent, CellEditInputDateComponent, CellEditSelectFieldComponent, CellEditAsyncSelectFieldComponent };
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbW0tZWxlbWVudC11aS9zcmMvbGliL2dyaWQvY2VsbC1lZGl0L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFBO0FBQzFFLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLG1DQUFtQyxDQUFBO0FBQy9FLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGlDQUFpQyxDQUFBO0FBQzdFLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLG1DQUFtQyxDQUFBO0FBQ2hGLE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLHlDQUF5QyxDQUFBO0FBQzNGLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLG9DQUFvQyxDQUFBO0FBQ2xGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGlDQUFpQyxDQUFBO0FBQzVFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDhCQUE4QixDQUFBO0FBQ3RFLE9BQU8sRUFDTCx5QkFBeUIsRUFDekIsMkJBQTJCLEVBQzNCLDJCQUEyQixFQUMzQix1QkFBdUIsRUFDdkIsNkJBQTZCLEVBQzdCLDBCQUEwQixFQUMxQiw0QkFBNEIsRUFDNUIsaUNBQWlDLEVBQ2xDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDZWxsRWRpdElucHV0VGV4dENvbXBvZW50IH0gZnJvbSAnLi9jZWxsLWVkaXQtaW5wdXRUZXh0LmNvbXBvZW50J1xuaW1wb3J0IHsgQ2VsbEVkaXRJbnB1dE51bWJlckNvbXBvZW50IH0gZnJvbSAnLi9jZWxsLWVkaXQtaW5wdXROdW1iZXIuY29tcG9uZW50J1xuaW1wb3J0IHsgQ2VsbEVkaXREYXRlUGlja2VyQ29tcG9uZW50IH0gZnJvbSAnLi9jZWxsLWVkaXQtZGF0ZVBpY2tlci5jb21wb2VudCdcbmltcG9ydCB7IENlbGxFZGl0U2VsZWN0RmllbGRDb21wb25lbnQgfSBmcm9tICcuL2NlbGwtZWRpdC1zZWxlY3RGaWVsZC5jb21wb25lbnQnXG5pbXBvcnQgeyBDZWxsRWRpdEFzeW5jU2VsZWN0RmllbGRDb21wb25lbnQgfSBmcm9tICcuL2NlbGwtZWRpdC1hc3luYy1zZWxlY3RGaWVsZC5jb21wb25lbnQnXG5pbXBvcnQgeyBDZWxsRWRpdEF1dG9Db21wbGV0ZUNvbXBvbmVudCB9IGZyb20gJy4vY2VsbC1lZGl0LWF1dG9Db21wbGV0ZS5jb21wb25lbnQnXG5pbXBvcnQgeyBDZWxsRWRpdElucHV0RGF0ZUNvbXBvbmVudCB9IGZyb20gJy4vY2VsbC1lZGl0LWlucHV0RGF0ZS5jb21wb25lbnQnXG5pbXBvcnQgeyBDZWxsRWRpdFNlbGVjdENvbXBvbmVudCB9IGZyb20gJy4vY2VsbC1lZGl0LXNlbGVjdC5jb21wb25lbnQnXG5leHBvcnQgeyBcbiAgQ2VsbEVkaXRJbnB1dFRleHRDb21wb2VudCxcbiAgQ2VsbEVkaXRJbnB1dE51bWJlckNvbXBvZW50LFxuICBDZWxsRWRpdERhdGVQaWNrZXJDb21wb25lbnQsXG4gIENlbGxFZGl0U2VsZWN0Q29tcG9uZW50LFxuICBDZWxsRWRpdEF1dG9Db21wbGV0ZUNvbXBvbmVudCxcbiAgQ2VsbEVkaXRJbnB1dERhdGVDb21wb25lbnQsXG4gIENlbGxFZGl0U2VsZWN0RmllbGRDb21wb25lbnQsXG4gIENlbGxFZGl0QXN5bmNTZWxlY3RGaWVsZENvbXBvbmVudFxufVxuIl19
@@ -0,0 +1,100 @@
1
+ import { Component } from '@angular/core';
2
+ import { resolveAsyncSelectOptions } from '../cell-utils/async-select-options';
3
+ import * as i0 from "@angular/core";
4
+ export class AsyncSelectLabelRenderer {
5
+ constructor() {
6
+ this.label = '';
7
+ this.loadId = 0;
8
+ }
9
+ agInit(params) {
10
+ this.refresh(params);
11
+ }
12
+ refresh(params) {
13
+ this.params = this.mergeParams(params);
14
+ void this.loadLabel();
15
+ return true;
16
+ }
17
+ async loadLabel() {
18
+ const loadId = ++this.loadId;
19
+ const value = this.params.value ?? this.params.data?.[this.params.colDef.field];
20
+ if (value === '' || value == null) {
21
+ this.label = '';
22
+ return;
23
+ }
24
+ const context = this.createContext(value);
25
+ try {
26
+ const options = await resolveAsyncSelectOptions(this.params, context);
27
+ if (loadId !== this.loadId) {
28
+ return;
29
+ }
30
+ this.label = this.formatLabel(value, options);
31
+ }
32
+ catch {
33
+ if (loadId === this.loadId) {
34
+ this.label = String(value);
35
+ }
36
+ }
37
+ }
38
+ mergeParams(params) {
39
+ const cellEditorParams = params.colDef?.cellEditorParams || {};
40
+ return {
41
+ ...cellEditorParams,
42
+ ...params,
43
+ optionLabel: params.optionLabel || cellEditorParams.optionLabel || 'label',
44
+ optionValue: params.optionValue || cellEditorParams.optionValue || 'value',
45
+ multiple: params.multiple ?? cellEditorParams.multiple,
46
+ };
47
+ }
48
+ createContext(value) {
49
+ return {
50
+ data: this.params.data,
51
+ value: this.params.multiple ? this.toValueString(value) : value,
52
+ params: this.params,
53
+ field: this.params.colDef.field,
54
+ colDef: this.params.colDef,
55
+ rowIndex: this.params.node?.rowIndex,
56
+ };
57
+ }
58
+ formatLabel(value, options) {
59
+ const valueField = this.params.optionValue || 'value';
60
+ const labelField = this.params.optionLabel || 'label';
61
+ if (this.params.multiple) {
62
+ const values = this.toValueArray(value);
63
+ const labels = values.map((item) => {
64
+ const option = options.find((opt) => opt?.[valueField] == item);
65
+ return option ? option?.[labelField] : item;
66
+ });
67
+ return labels.filter((item) => item !== undefined && item !== null && item !== '').join(',');
68
+ }
69
+ const option = options.find((opt) => opt?.[valueField] == value);
70
+ return option ? option?.[labelField] : String(value);
71
+ }
72
+ toValueArray(value) {
73
+ if (Array.isArray(value)) {
74
+ return value;
75
+ }
76
+ if (value === '' || value == null) {
77
+ return [];
78
+ }
79
+ return String(value).split(',').filter((item) => item !== '');
80
+ }
81
+ toValueString(value) {
82
+ if (Array.isArray(value)) {
83
+ return value.filter((item) => item !== '' && item != null).join(',');
84
+ }
85
+ if (value === '' || value == null) {
86
+ return '';
87
+ }
88
+ return String(value);
89
+ }
90
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AsyncSelectLabelRenderer, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
91
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: AsyncSelectLabelRenderer, isStandalone: true, selector: "ng-component", ngImport: i0, template: `{{ label }}`, isInline: true }); }
92
+ }
93
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AsyncSelectLabelRenderer, decorators: [{
94
+ type: Component,
95
+ args: [{
96
+ standalone: true,
97
+ template: `{{ label }}`,
98
+ }]
99
+ }] });
100
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXN5bmMtc2VsZWN0LWxhYmVsLXJlbmRlcmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW1tLWVsZW1lbnQtdWkvc3JjL2xpYi9ncmlkL2NlbGwtcmVuZGVyL2FzeW5jLXNlbGVjdC1sYWJlbC1yZW5kZXJlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzFDLE9BQU8sRUFBc0IseUJBQXlCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQzs7QUFNbkcsTUFBTSxPQUFPLHdCQUF3QjtJQUpyQztRQUtDLFVBQUssR0FBRyxFQUFFLENBQUM7UUFFSCxXQUFNLEdBQUcsQ0FBQyxDQUFDO0tBMEZuQjtJQXhGQSxNQUFNLENBQUMsTUFBMkI7UUFDakMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN0QixDQUFDO0lBRUQsT0FBTyxDQUFDLE1BQTJCO1FBQ2xDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN2QyxLQUFLLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUN0QixPQUFPLElBQUksQ0FBQztJQUNiLENBQUM7SUFFTyxLQUFLLENBQUMsU0FBUztRQUN0QixNQUFNLE1BQU0sR0FBRyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDN0IsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNoRixJQUFJLEtBQUssS0FBSyxFQUFFLElBQUksS0FBSyxJQUFJLElBQUksRUFBRSxDQUFDO1lBQ25DLElBQUksQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDO1lBQ2hCLE9BQU87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dEIsQ0FBQzsrR0E1Rlcsd0JBQXdCO21HQUF4Qix3QkFBd0Isd0VBRjFCLGFBQWE7OzRGQUVYLHdCQUF3QjtrQkFKcEMsU0FBUzttQkFBQztvQkFDVixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFLGFBQWE7aUJBQ3ZCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgdHlwZSB7IElDZWxsUmVuZGVyZXJBbmd1bGFyQ29tcCB9IGZyb20gJ2FnLWdyaWQtYW5ndWxhcic7XG5pbXBvcnQgdHlwZSB7IElDZWxsUmVuZGVyZXJQYXJhbXMgfSBmcm9tICdhZy1ncmlkLWNvbW11bml0eSc7XG5pbXBvcnQgeyBBc3luY1NlbGVjdENvbnRleHQsIHJlc29sdmVBc3luY1NlbGVjdE9wdGlvbnMgfSBmcm9tICcuLi9jZWxsLXV0aWxzL2FzeW5jLXNlbGVjdC1vcHRpb25zJztcblxuQENvbXBvbmVudCh7XG5cdHN0YW5kYWxvbmU6IHRydWUsXG5cdHRlbXBsYXRlOiBge3sgbGFiZWwgfX1gLFxufSlcbmV4cG9ydCBjbGFzcyBBc3luY1NlbGVjdExhYmVsUmVuZGVyZXIgaW1wbGVtZW50cyBJQ2VsbFJlbmRlcmVyQW5ndWxhckNvbXAge1xuXHRsYWJlbCA9ICcnO1xuXHRwYXJhbXMhOiBhbnk7XG5cdHByaXZhdGUgbG9hZElkID0gMDtcblxuXHRhZ0luaXQocGFyYW1zOiBJQ2VsbFJlbmRlcmVyUGFyYW1zKTogdm9pZCB7XG5cdFx0dGhpcy5yZWZyZXNoKHBhcmFtcyk7XG5cdH1cblxuXHRyZWZyZXNoKHBhcmFtczogSUNlbGxSZW5kZXJlclBhcmFtcyk6IGJvb2xlYW4ge1xuXHRcdHRoaXMucGFyYW1zID0gdGhpcy5tZXJnZVBhcmFtcyhwYXJhbXMpO1xuXHRcdHZvaWQgdGhpcy5sb2FkTGFiZWwoKTtcblx0XHRyZXR1cm4gdHJ1ZTtcblx0fVxuXG5cdHByaXZhdGUgYXN5bmMgbG9hZExhYmVsKCkge1xuXHRcdGNvbnN0IGxvYWRJZCA9ICsrdGhpcy5sb2FkSWQ7XG5cdFx0Y29uc3QgdmFsdWUgPSB0aGlzLnBhcmFtcy52YWx1ZSA/PyB0aGlzLnBhcmFtcy5kYXRhPy5bdGhpcy5wYXJhbXMuY29sRGVmLmZpZWxkXTtcblx0XHRpZiAodmFsdWUgPT09ICcnIHx8IHZhbHVlID09IG51bGwpIHtcblx0XHRcdHRoaXMubGFiZWwgPSAnJztcblx0XHRcdHJldHVybjtcblx0XHR9XG5cblx0XHRjb25zdCBjb250ZXh0ID0gdGhpcy5jcmVhdGVDb250ZXh0KHZhbHVlKTtcblx0XHR0cnkge1xuXHRcdFx0Y29uc3Qgb3B0aW9ucyA9IGF3YWl0IHJlc29sdmVBc3luY1NlbGVjdE9wdGlvbnModGhpcy5wYXJhbXMsIGNvbnRleHQpO1xuXHRcdFx0aWYgKGxvYWRJZCAhPT0gdGhpcy5sb2FkSWQpIHtcblx0XHRcdFx0cmV0dXJuO1xuXHRcdFx0fVxuXHRcdFx0dGhpcy5sYWJlbCA9IHRoaXMuZm9ybWF0TGFiZWwodmFsdWUsIG9wdGlvbnMpO1xuXHRcdH0gY2F0Y2gge1xuXHRcdFx0aWYgKGxvYWRJZCA9PT0gdGhpcy5sb2FkSWQpIHtcblx0XHRcdFx0dGhpcy5sYWJlbCA9IFN0cmluZyh2YWx1ZSk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0cHJpdmF0ZSBtZXJnZVBhcmFtcyhwYXJhbXM6IElDZWxsUmVuZGVyZXJQYXJhbXMpIHtcblx0XHRjb25zdCBjZWxsRWRpdG9yUGFyYW1zID0gKHBhcmFtcy5jb2xEZWYgYXMgYW55KT8uY2VsbEVkaXRvclBhcmFtcyB8fCB7fTtcblx0XHRyZXR1cm4ge1xuXHRcdFx0Li4uY2VsbEVkaXRvclBhcmFtcyxcblx0XHRcdC4uLnBhcmFtcyxcblx0XHRcdG9wdGlvbkxhYmVsOiAocGFyYW1zIGFzIGFueSkub3B0aW9uTGFiZWwgfHwgY2VsbEVkaXRvclBhcmFtcy5vcHRpb25MYWJlbCB8fCAnbGFiZWwnLFxuXHRcdFx0b3B0aW9uVmFsdWU6IChwYXJhbXMgYXMgYW55KS5vcHRpb25WYWx1ZSB8fCBjZWxsRWRpdG9yUGFyYW1zLm9wdGlvblZhbHVlIHx8ICd2YWx1ZScsXG5cdFx0XHRtdWx0aXBsZTogKHBhcmFtcyBhcyBhbnkpLm11bHRpcGxlID8/IGNlbGxFZGl0b3JQYXJhbXMubXVsdGlwbGUsXG5cdFx0fTtcblx0fVxuXG5cdHByaXZhdGUgY3JlYXRlQ29udGV4dCh2YWx1ZTogYW55KTogQXN5bmNTZWxlY3RDb250ZXh0IHtcblx0XHRyZXR1cm4ge1xuXHRcdFx0ZGF0YTogdGhpcy5wYXJhbXMuZGF0YSxcblx0XHRcdHZhbHVlOiB0aGlzLnBhcmFtcy5tdWx0aXBsZSA/IHRoaXMudG9WYWx1ZVN0cmluZyh2YWx1ZSkgOiB2YWx1ZSxcblx0XHRcdHBhcmFtczogdGhpcy5wYXJhbXMsXG5cdFx0XHRmaWVsZDogdGhpcy5wYXJhbXMuY29sRGVmLmZpZWxkLFxuXHRcdFx0Y29sRGVmOiB0aGlzLnBhcmFtcy5jb2xEZWYsXG5cdFx0XHRyb3dJbmRleDogdGhpcy5wYXJhbXMubm9kZT8ucm93SW5kZXgsXG5cdFx0fTtcblx0fVxuXG5cdHByaXZhdGUgZm9ybWF0TGFiZWwodmFsdWU6IGFueSwgb3B0aW9uczogYW55W10pIHtcblx0XHRjb25zdCB2YWx1ZUZpZWxkID0gdGhpcy5wYXJhbXMub3B0aW9uVmFsdWUgfHwgJ3ZhbHVlJztcblx0XHRjb25zdCBsYWJlbEZpZWxkID0gdGhpcy5wYXJhbXMub3B0aW9uTGFiZWwgfHwgJ2xhYmVsJztcblx0XHRpZiAodGhpcy5wYXJhbXMubXVsdGlwbGUpIHtcblx0XHRcdGNvbnN0IHZhbHVlcyA9IHRoaXMudG9WYWx1ZUFycmF5KHZhbHVlKTtcblx0XHRcdGNvbnN0IGxhYmVscyA9IHZhbHVlcy5tYXAoKGl0ZW0pID0+IHtcblx0XHRcdFx0Y29uc3Qgb3B0aW9uID0gb3B0aW9ucy5maW5kKChvcHQ6IGFueSkgPT4gb3B0Py5bdmFsdWVGaWVsZF0gPT0gaXRlbSk7XG5cdFx0XHRcdHJldHVybiBvcHRpb24gPyBvcHRpb24/LltsYWJlbEZpZWxkXSA6IGl0ZW07XG5cdFx0XHR9KTtcblx0XHRcdHJldHVybiBsYWJlbHMuZmlsdGVyKChpdGVtKSA9PiBpdGVtICE9PSB1bmRlZmluZWQgJiYgaXRlbSAhPT0gbnVsbCAmJiBpdGVtICE9PSAnJykuam9pbignLCcpO1xuXHRcdH1cblx0XHRjb25zdCBvcHRpb24gPSBvcHRpb25zLmZpbmQoKG9wdDogYW55KSA9PiBvcHQ/Llt2YWx1ZUZpZWxkXSA9PSB2YWx1ZSk7XG5cdFx0cmV0dXJuIG9wdGlvbiA/IG9wdGlvbj8uW2xhYmVsRmllbGRdIDogU3RyaW5nKHZhbHVlKTtcblx0fVxuXG5cdHByaXZhdGUgdG9WYWx1ZUFycmF5KHZhbHVlOiBhbnkpOiBhbnlbXSB7XG5cdFx0aWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG5cdFx0XHRyZXR1cm4gdmFsdWU7XG5cdFx0fVxuXHRcdGlmICh2YWx1ZSA9PT0gJycgfHwgdmFsdWUgPT0gbnVsbCkge1xuXHRcdFx0cmV0dXJuIFtdO1xuXHRcdH1cblx0XHRyZXR1cm4gU3RyaW5nKHZhbHVlKS5zcGxpdCgnLCcpLmZpbHRlcigoaXRlbSkgPT4gaXRlbSAhPT0gJycpO1xuXHR9XG5cblx0cHJpdmF0ZSB0b1ZhbHVlU3RyaW5nKHZhbHVlOiBhbnkpOiBzdHJpbmcge1xuXHRcdGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuXHRcdFx0cmV0dXJuIHZhbHVlLmZpbHRlcigoaXRlbSkgPT4gaXRlbSAhPT0gJycgJiYgaXRlbSAhPSBudWxsKS5qb2luKCcsJyk7XG5cdFx0fVxuXHRcdGlmICh2YWx1ZSA9PT0gJycgfHwgdmFsdWUgPT0gbnVsbCkge1xuXHRcdFx0cmV0dXJuICcnO1xuXHRcdH1cblx0XHRyZXR1cm4gU3RyaW5nKHZhbHVlKTtcblx0fVxufVxuIl19