igniteui-angular 12.2.4 → 12.3.0-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +12 -11
- package/bundles/igniteui-angular.umd.js +1773 -1462
- package/bundles/igniteui-angular.umd.js.map +1 -1
- package/esm2015/igniteui-angular.js +97 -97
- package/esm2015/lib/combo/combo-dropdown.component.js +9 -4
- package/esm2015/lib/combo/combo-item.component.js +4 -3
- package/esm2015/lib/combo/combo.api.js +3 -3
- package/esm2015/lib/combo/combo.common.js +999 -2
- package/esm2015/lib/combo/combo.component.js +92 -1124
- package/esm2015/lib/combo/combo.pipes.js +3 -3
- package/esm2015/lib/data-operations/data-util.js +2 -3
- package/esm2015/lib/data-operations/grouping-strategy.js +1 -1
- package/esm2015/lib/grids/grid/grid.component.js +19 -2
- package/esm2015/lib/grids/grid/grid.pipes.js +3 -3
- package/esm2015/lib/services/exporter-common/base-export-service.js +2 -2
- package/esm2015/lib/simple-combo/public_api.js +2 -0
- package/esm2015/lib/simple-combo/simple-combo.component.js +298 -0
- package/esm2015/lib/toast/toast.component.js +46 -21
- package/esm2015/public_api.js +2 -1
- package/fesm2015/igniteui-angular.js +1305 -1025
- package/fesm2015/igniteui-angular.js.map +1 -1
- package/igniteui-angular.d.ts +96 -96
- package/igniteui-angular.metadata.json +1 -1
- package/lib/combo/combo-dropdown.component.d.ts +2 -0
- package/lib/combo/combo-item.component.d.ts +2 -0
- package/lib/combo/combo.common.d.ts +717 -4
- package/lib/combo/combo.component.d.ts +39 -782
- package/lib/combo/combo.pipes.d.ts +1 -1
- package/lib/data-operations/data-util.d.ts +2 -1
- package/lib/data-operations/grouping-strategy.d.ts +5 -2
- package/lib/grids/grid/grid.component.d.ts +17 -0
- package/lib/grids/grid/grid.pipes.d.ts +2 -1
- package/lib/simple-combo/public_api.d.ts +1 -0
- package/lib/simple-combo/simple-combo.component.d.ts +109 -0
- package/lib/toast/toast.component.d.ts +8 -4
- package/migrations/migration-collection.json +5 -0
- package/migrations/update-12_3_0/changes/members.json +26 -0
- package/migrations/update-12_3_0/index.d.ts +3 -0
- package/migrations/update-12_3_0/index.js +9 -0
- package/package.json +1 -1
- package/public_api.d.ts +1 -0
|
@@ -1,34 +1,16 @@
|
|
|
1
|
-
import { AfterViewInit, ChangeDetectorRef, ElementRef,
|
|
1
|
+
import { AfterViewInit, ChangeDetectorRef, ElementRef, OnInit, OnDestroy, Injector } from '@angular/core';
|
|
2
2
|
import { ControlValueAccessor } from '@angular/forms';
|
|
3
3
|
import { IgxSelectionAPIService } from '../core/selection';
|
|
4
|
-
import { IBaseEventArgs,
|
|
4
|
+
import { IBaseEventArgs, IBaseCancelableEventArgs, CancelableEventArgs } from '../core/utils';
|
|
5
5
|
import { IgxStringFilteringOperand, IgxBooleanFilteringOperand } from '../data-operations/filtering-condition';
|
|
6
6
|
import { FilteringLogic } from '../data-operations/filtering-expression.interface';
|
|
7
|
-
import { IForOfState, IgxForOfDirective } from '../directives/for-of/for_of.directive';
|
|
8
7
|
import { IgxIconService } from '../icon/public_api';
|
|
9
|
-
import { IgxInputGroupComponent } from '../input-group/input-group.component';
|
|
10
8
|
import { IgxComboDropDownComponent } from './combo-dropdown.component';
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
import { IgxComboBase } from './combo.common';
|
|
9
|
+
import { IDisplayDensityOptions } from '../core/density';
|
|
10
|
+
import { IgxComboBaseDirective } from './combo.common';
|
|
14
11
|
import { IgxComboAPIService } from './combo.api';
|
|
15
12
|
import { EditorProvider } from '../core/edit-provider';
|
|
16
|
-
import { IgxInputDirective } from '../directives/input/input.directive';
|
|
17
13
|
import { IgxInputGroupType } from '../input-group/public_api';
|
|
18
|
-
export declare enum IgxComboState {
|
|
19
|
-
/**
|
|
20
|
-
* Combo with initial state.
|
|
21
|
-
*/
|
|
22
|
-
INITIAL = 0,
|
|
23
|
-
/**
|
|
24
|
-
* Combo with valid state.
|
|
25
|
-
*/
|
|
26
|
-
VALID = 1,
|
|
27
|
-
/**
|
|
28
|
-
* Combo with invalid state.
|
|
29
|
-
*/
|
|
30
|
-
INVALID = 2
|
|
31
|
-
}
|
|
32
14
|
/** The filtering criteria to be applied on data search */
|
|
33
15
|
export interface IComboFilteringOptions {
|
|
34
16
|
/** Defines filtering case-sensitivity */
|
|
@@ -68,7 +50,7 @@ export interface IComboItemAdditionEvent extends IBaseEventArgs, CancelableEvent
|
|
|
68
50
|
* @igxGroup Grids & Lists
|
|
69
51
|
*
|
|
70
52
|
* @remarks
|
|
71
|
-
* It provides the ability to filter items as well as perform
|
|
53
|
+
* It provides the ability to filter items as well as perform selection with the provided data.
|
|
72
54
|
* Additionally, it exposes keyboard navigation and custom styling capabilities.
|
|
73
55
|
* @example
|
|
74
56
|
* ```html
|
|
@@ -78,417 +60,15 @@ export interface IComboItemAdditionEvent extends IBaseEventArgs, CancelableEvent
|
|
|
78
60
|
* </igx-combo>
|
|
79
61
|
* ```
|
|
80
62
|
*/
|
|
81
|
-
export declare class IgxComboComponent extends
|
|
63
|
+
export declare class IgxComboComponent extends IgxComboBaseDirective implements AfterViewInit, ControlValueAccessor, OnInit, OnDestroy, EditorProvider {
|
|
82
64
|
protected elementRef: ElementRef;
|
|
83
65
|
protected cdr: ChangeDetectorRef;
|
|
84
|
-
protected
|
|
66
|
+
protected selectionService: IgxSelectionAPIService;
|
|
85
67
|
protected comboAPI: IgxComboAPIService;
|
|
86
|
-
|
|
68
|
+
protected _iconService: IgxIconService;
|
|
87
69
|
protected _displayDensityOptions: IDisplayDensityOptions;
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
/**
|
|
91
|
-
* Set custom overlay settings that control how the combo's list of items is displayed.
|
|
92
|
-
* Set:
|
|
93
|
-
* ```html
|
|
94
|
-
* <igx-combo [overlaySettings] = "customOverlaySettings"></igx-combo>
|
|
95
|
-
* ```
|
|
96
|
-
*
|
|
97
|
-
* ```typescript
|
|
98
|
-
* const customSettings = { positionStrategy: { settings: { target: myTarget } } };
|
|
99
|
-
* combo.overlaySettings = customSettings;
|
|
100
|
-
* ```
|
|
101
|
-
* Get any custom overlay settings used by the combo:
|
|
102
|
-
* ```typescript
|
|
103
|
-
* const comboOverlaySettings: OverlaySettings = myCombo.overlaySettings;
|
|
104
|
-
* ```
|
|
105
|
-
*/
|
|
106
|
-
overlaySettings: OverlaySettings;
|
|
107
|
-
/** @hidden @internal */
|
|
108
|
-
inputGroup: IgxInputGroupComponent;
|
|
109
|
-
/** @hidden @internal */
|
|
110
|
-
comboInput: IgxInputDirective;
|
|
111
|
-
/**
|
|
112
|
-
* @hidden @internal
|
|
113
|
-
*/
|
|
114
|
-
dropdown: IgxComboDropDownComponent;
|
|
115
|
-
/**
|
|
116
|
-
* @hidden @internal
|
|
117
|
-
*/
|
|
118
|
-
searchInput: ElementRef<HTMLInputElement>;
|
|
119
|
-
/**
|
|
120
|
-
* @hidden @internal
|
|
121
|
-
*/
|
|
122
|
-
get displaySearchInput(): boolean;
|
|
123
|
-
/**
|
|
124
|
-
* The custom template, if any, that should be used when rendering ITEMS in the combo list
|
|
125
|
-
*
|
|
126
|
-
* ```typescript
|
|
127
|
-
* // Set in typescript
|
|
128
|
-
* const myCustomTemplate: TemplateRef<any> = myComponent.customTemplate;
|
|
129
|
-
* myComponent.combo.itemTemplate = myCustomTemplate;
|
|
130
|
-
* ```
|
|
131
|
-
* ```html
|
|
132
|
-
* <!-- Set in markup -->
|
|
133
|
-
* <igx-combo #combo>
|
|
134
|
-
* ...
|
|
135
|
-
* <ng-template igxComboItem>
|
|
136
|
-
* <div class="custom-item" let-item let-key="valueKey">
|
|
137
|
-
* <div class="custom-item__name">{{ item[key] }}</div>
|
|
138
|
-
* <div class="custom-item__cost">{{ item.cost }}</div>
|
|
139
|
-
* </div>
|
|
140
|
-
* </ng-template>
|
|
141
|
-
* </igx-combo>
|
|
142
|
-
* ```
|
|
143
|
-
*/
|
|
144
|
-
itemTemplate: TemplateRef<any>;
|
|
145
|
-
/**
|
|
146
|
-
* The custom template, if any, that should be used when rendering the HEADER for the combo items list
|
|
147
|
-
*
|
|
148
|
-
* ```typescript
|
|
149
|
-
* // Set in typescript
|
|
150
|
-
* const myCustomTemplate: TemplateRef<any> = myComponent.customTemplate;
|
|
151
|
-
* myComponent.combo.headerTemplate = myCustomTemplate;
|
|
152
|
-
* ```
|
|
153
|
-
* ```html
|
|
154
|
-
* <!-- Set in markup -->
|
|
155
|
-
* <igx-combo #combo>
|
|
156
|
-
* ...
|
|
157
|
-
* <ng-template igxComboHeader>
|
|
158
|
-
* <div class="combo__header">
|
|
159
|
-
* This is a custom header
|
|
160
|
-
* </div>
|
|
161
|
-
* </ng-template>
|
|
162
|
-
* </igx-combo>
|
|
163
|
-
* ```
|
|
164
|
-
*/
|
|
165
|
-
headerTemplate: TemplateRef<any>;
|
|
166
|
-
/**
|
|
167
|
-
* The custom template, if any, that should be used when rendering the FOOTER for the combo items list
|
|
168
|
-
*
|
|
169
|
-
* ```typescript
|
|
170
|
-
* // Set in typescript
|
|
171
|
-
* const myCustomTemplate: TemplateRef<any> = myComponent.customTemplate;
|
|
172
|
-
* myComponent.combo.footerTemplate = myCustomTemplate;
|
|
173
|
-
* ```
|
|
174
|
-
* ```html
|
|
175
|
-
* <!-- Set in markup -->
|
|
176
|
-
* <igx-combo #combo>
|
|
177
|
-
* ...
|
|
178
|
-
* <ng-template igxComboFooter>
|
|
179
|
-
* <div class="combo__footer">
|
|
180
|
-
* This is a custom footer
|
|
181
|
-
* </div>
|
|
182
|
-
* </ng-template>
|
|
183
|
-
* </igx-combo>
|
|
184
|
-
* ```
|
|
185
|
-
*/
|
|
186
|
-
footerTemplate: TemplateRef<any>;
|
|
187
|
-
/**
|
|
188
|
-
* The custom template, if any, that should be used when rendering HEADER ITEMS for groups in the combo list
|
|
189
|
-
*
|
|
190
|
-
* ```typescript
|
|
191
|
-
* // Set in typescript
|
|
192
|
-
* const myCustomTemplate: TemplateRef<any> = myComponent.customTemplate;
|
|
193
|
-
* myComponent.combo.headerItemTemplate = myCustomTemplate;
|
|
194
|
-
* ```
|
|
195
|
-
* ```html
|
|
196
|
-
* <!-- Set in markup -->
|
|
197
|
-
* <igx-combo #combo>
|
|
198
|
-
* ...
|
|
199
|
-
* <ng-template igxComboHeaderItem let-item let-key="groupKey">
|
|
200
|
-
* <div class="custom-item--group">Group header for {{ item[key] }}</div>
|
|
201
|
-
* </ng-template>
|
|
202
|
-
* </igx-combo>
|
|
203
|
-
* ```
|
|
204
|
-
*/
|
|
205
|
-
headerItemTemplate: TemplateRef<any>;
|
|
206
|
-
/**
|
|
207
|
-
* The custom template, if any, that should be used when rendering the ADD BUTTON in the combo drop down
|
|
208
|
-
*
|
|
209
|
-
* ```typescript
|
|
210
|
-
* // Set in typescript
|
|
211
|
-
* const myCustomTemplate: TemplateRef<any> = myComponent.customTemplate;
|
|
212
|
-
* myComponent.combo.addItemTemplate = myCustomTemplate;
|
|
213
|
-
* ```
|
|
214
|
-
* ```html
|
|
215
|
-
* <!-- Set in markup -->
|
|
216
|
-
* <igx-combo #combo>
|
|
217
|
-
* ...
|
|
218
|
-
* <ng-template igxComboAddItem>
|
|
219
|
-
* <button class="combo__add-button">
|
|
220
|
-
* Click to add item
|
|
221
|
-
* </button>
|
|
222
|
-
* </ng-template>
|
|
223
|
-
* </igx-combo>
|
|
224
|
-
* ```
|
|
225
|
-
*/
|
|
226
|
-
addItemTemplate: TemplateRef<any>;
|
|
227
|
-
/**
|
|
228
|
-
* The custom template, if any, that should be used when rendering the ADD BUTTON in the combo drop down
|
|
229
|
-
*
|
|
230
|
-
* ```typescript
|
|
231
|
-
* // Set in typescript
|
|
232
|
-
* const myCustomTemplate: TemplateRef<any> = myComponent.customTemplate;
|
|
233
|
-
* myComponent.combo.emptyTemplate = myCustomTemplate;
|
|
234
|
-
* ```
|
|
235
|
-
* ```html
|
|
236
|
-
* <!-- Set in markup -->
|
|
237
|
-
* <igx-combo #combo>
|
|
238
|
-
* ...
|
|
239
|
-
* <ng-template igxComboEmpty>
|
|
240
|
-
* <div class="combo--empty">
|
|
241
|
-
* There are no items to display
|
|
242
|
-
* </div>
|
|
243
|
-
* </ng-template>
|
|
244
|
-
* </igx-combo>
|
|
245
|
-
* ```
|
|
246
|
-
*/
|
|
247
|
-
emptyTemplate: TemplateRef<any>;
|
|
248
|
-
/**
|
|
249
|
-
* The custom template, if any, that should be used when rendering the combo TOGGLE(open/close) button
|
|
250
|
-
*
|
|
251
|
-
* ```typescript
|
|
252
|
-
* // Set in typescript
|
|
253
|
-
* const myCustomTemplate: TemplateRef<any> = myComponent.customTemplate;
|
|
254
|
-
* myComponent.combo.toggleIconTemplate = myCustomTemplate;
|
|
255
|
-
* ```
|
|
256
|
-
* ```html
|
|
257
|
-
* <!-- Set in markup -->
|
|
258
|
-
* <igx-combo #combo>
|
|
259
|
-
* ...
|
|
260
|
-
* <ng-template igxComboToggleIcon let-collapsed>
|
|
261
|
-
* <igx-icon>{{ collapsed ? 'remove_circle' : 'remove_circle_outline'}}</igx-icon>
|
|
262
|
-
* </ng-template>
|
|
263
|
-
* </igx-combo>
|
|
264
|
-
* ```
|
|
265
|
-
*/
|
|
266
|
-
toggleIconTemplate: TemplateRef<any>;
|
|
267
|
-
/**
|
|
268
|
-
* The custom template, if any, that should be used when rendering the combo CLEAR button
|
|
269
|
-
*
|
|
270
|
-
* ```typescript
|
|
271
|
-
* // Set in typescript
|
|
272
|
-
* const myCustomTemplate: TemplateRef<any> = myComponent.customTemplate;
|
|
273
|
-
* myComponent.combo.clearIconTemplate = myCustomTemplate;
|
|
274
|
-
* ```
|
|
275
|
-
* ```html
|
|
276
|
-
* <!-- Set in markup -->
|
|
277
|
-
* <igx-combo #combo>
|
|
278
|
-
* ...
|
|
279
|
-
* <ng-template igxComboClearIcon>
|
|
280
|
-
* <igx-icon>clear</igx-icon>
|
|
281
|
-
* </ng-template>
|
|
282
|
-
* </igx-combo>
|
|
283
|
-
* ```
|
|
284
|
-
*/
|
|
285
|
-
clearIconTemplate: TemplateRef<any>;
|
|
286
|
-
/**
|
|
287
|
-
* @hidden @internal
|
|
288
|
-
*/
|
|
289
|
-
virtualScrollContainer: IgxForOfDirective<any>;
|
|
290
|
-
/**
|
|
291
|
-
* Emitted when item selection is changing, before the selection completes
|
|
292
|
-
*
|
|
293
|
-
* ```html
|
|
294
|
-
* <igx-combo (selectionChanging)='handleSelection()'></igx-combo>
|
|
295
|
-
* ```
|
|
296
|
-
*/
|
|
297
|
-
selectionChanging: EventEmitter<IComboSelectionChangingEventArgs>;
|
|
298
|
-
/**
|
|
299
|
-
* Emitted before the dropdown is opened
|
|
300
|
-
*
|
|
301
|
-
* ```html
|
|
302
|
-
* <igx-combo opening='handleOpening($event)'></igx-combo>
|
|
303
|
-
* ```
|
|
304
|
-
*/
|
|
305
|
-
opening: EventEmitter<IBaseCancelableBrowserEventArgs>;
|
|
306
|
-
/**
|
|
307
|
-
* Emitted after the dropdown is opened
|
|
308
|
-
*
|
|
309
|
-
* ```html
|
|
310
|
-
* <igx-combo (opened)='handleOpened($event)'></igx-combo>
|
|
311
|
-
* ```
|
|
312
|
-
*/
|
|
313
|
-
opened: EventEmitter<IBaseEventArgs>;
|
|
314
|
-
/**
|
|
315
|
-
* Emitted before the dropdown is closed
|
|
316
|
-
*
|
|
317
|
-
* ```html
|
|
318
|
-
* <igx-combo (closing)='handleClosing($event)'></igx-combo>
|
|
319
|
-
* ```
|
|
320
|
-
*/
|
|
321
|
-
closing: EventEmitter<IBaseCancelableBrowserEventArgs>;
|
|
322
|
-
/**
|
|
323
|
-
* Emitted after the dropdown is closed
|
|
324
|
-
*
|
|
325
|
-
* ```html
|
|
326
|
-
* <igx-combo (closed)='handleClosed($event)'></igx-combo>
|
|
327
|
-
* ```
|
|
328
|
-
*/
|
|
329
|
-
closed: EventEmitter<IBaseEventArgs>;
|
|
330
|
-
/**
|
|
331
|
-
* Emitted when an item is being added to the data collection
|
|
332
|
-
*
|
|
333
|
-
* ```html
|
|
334
|
-
* <igx-combo (addition)='handleAdditionEvent($event)'></igx-combo>
|
|
335
|
-
* ```
|
|
336
|
-
*/
|
|
337
|
-
addition: EventEmitter<IComboItemAdditionEvent>;
|
|
338
|
-
/**
|
|
339
|
-
* Emitted when the value of the search input changes (e.g. typing, pasting, clear, etc.)
|
|
340
|
-
*
|
|
341
|
-
* ```html
|
|
342
|
-
* <igx-combo (searchInputUpdate)='handleSearchInputEvent($event)'></igx-combo>
|
|
343
|
-
* ```
|
|
344
|
-
*/
|
|
345
|
-
searchInputUpdate: EventEmitter<IComboSearchInputEventArgs>;
|
|
346
|
-
/**
|
|
347
|
-
* Emitted when new chunk of data is loaded from the virtualization
|
|
348
|
-
*
|
|
349
|
-
* ```html
|
|
350
|
-
* <igx-combo (dataPreLoad)='handleDataPreloadEvent($event)'></igx-combo>
|
|
351
|
-
* ```
|
|
352
|
-
*/
|
|
353
|
-
dataPreLoad: EventEmitter<IForOfState>;
|
|
354
|
-
/**
|
|
355
|
-
* Gets/gets combo id.
|
|
356
|
-
*
|
|
357
|
-
* ```typescript
|
|
358
|
-
* // get
|
|
359
|
-
* let id = this.combo.id;
|
|
360
|
-
* ```
|
|
361
|
-
*
|
|
362
|
-
* ```html
|
|
363
|
-
* <!--set-->
|
|
364
|
-
* <igx-combo [id]='combo1'></igx-combo>
|
|
365
|
-
* ```
|
|
366
|
-
*/
|
|
367
|
-
id: string;
|
|
368
|
-
/**
|
|
369
|
-
* Sets the style width of the element
|
|
370
|
-
*
|
|
371
|
-
* ```typescript
|
|
372
|
-
* // get
|
|
373
|
-
* let myComboWidth = this.combo.width;
|
|
374
|
-
* ```
|
|
375
|
-
*
|
|
376
|
-
* ```html
|
|
377
|
-
* <!--set-->
|
|
378
|
-
* <igx-combo [width]='250px'></igx-combo>
|
|
379
|
-
* ```
|
|
380
|
-
*/
|
|
381
|
-
width: string;
|
|
382
|
-
/**
|
|
383
|
-
* @hidden @internal
|
|
384
|
-
*/
|
|
385
|
-
cssClass: string;
|
|
386
|
-
/**
|
|
387
|
-
* @hidden @internal
|
|
388
|
-
*/
|
|
389
|
-
role: string;
|
|
390
|
-
/**
|
|
391
|
-
* @hidden @internal
|
|
392
|
-
*/
|
|
393
|
-
get ariaExpanded(): boolean;
|
|
394
|
-
/**
|
|
395
|
-
* @hidden @internal
|
|
396
|
-
*/
|
|
397
|
-
get hasPopUp(): string;
|
|
398
|
-
/**
|
|
399
|
-
* @hidden @internal
|
|
400
|
-
*/
|
|
401
|
-
get ariaOwns(): string;
|
|
402
|
-
/**
|
|
403
|
-
* Controls whether custom values can be added to the collection
|
|
404
|
-
*
|
|
405
|
-
* ```typescript
|
|
406
|
-
* // get
|
|
407
|
-
* let comboAllowsCustomValues = this.combo.allowCustomValues;
|
|
408
|
-
* ```
|
|
409
|
-
*
|
|
410
|
-
* ```html
|
|
411
|
-
* <!--set-->
|
|
412
|
-
* <igx-combo [allowCustomValues]='true'></igx-combo>
|
|
413
|
-
* ```
|
|
414
|
-
*/
|
|
415
|
-
allowCustomValues: boolean;
|
|
416
|
-
/**
|
|
417
|
-
* Configures the drop down list height
|
|
418
|
-
*
|
|
419
|
-
* ```typescript
|
|
420
|
-
* // get
|
|
421
|
-
* let myComboItemsMaxHeight = this.combo.itemsMaxHeight;
|
|
422
|
-
* ```
|
|
423
|
-
*
|
|
424
|
-
* ```html
|
|
425
|
-
* <!--set-->
|
|
426
|
-
* <igx-combo [itemsMaxHeight]='320'></igx-combo>
|
|
427
|
-
* ```
|
|
428
|
-
*/
|
|
429
|
-
get itemsMaxHeight(): number;
|
|
430
|
-
set itemsMaxHeight(val: number);
|
|
431
|
-
/**
|
|
432
|
-
* Configures the drop down list width
|
|
433
|
-
*
|
|
434
|
-
* ```typescript
|
|
435
|
-
* // get
|
|
436
|
-
* let myComboItemsWidth = this.combo.itemsWidth;
|
|
437
|
-
* ```
|
|
438
|
-
*
|
|
439
|
-
* ```html
|
|
440
|
-
* <!--set-->
|
|
441
|
-
* <igx-combo [itemsWidth] = '"180px"'></igx-combo>
|
|
442
|
-
* ```
|
|
443
|
-
*/
|
|
444
|
-
itemsWidth: string;
|
|
445
|
-
/**
|
|
446
|
-
* Configures the drop down list item height
|
|
447
|
-
*
|
|
448
|
-
* ```typescript
|
|
449
|
-
* // get
|
|
450
|
-
* let myComboItemHeight = this.combo.itemHeight;
|
|
451
|
-
* ```
|
|
452
|
-
*
|
|
453
|
-
* ```html
|
|
454
|
-
* <!--set-->
|
|
455
|
-
* <igx-combo [itemHeight]='32'></igx-combo>
|
|
456
|
-
* ```
|
|
457
|
-
*/
|
|
458
|
-
get itemHeight(): number;
|
|
459
|
-
set itemHeight(val: number);
|
|
460
|
-
/**
|
|
461
|
-
* Defines the placeholder value for the combo value field
|
|
462
|
-
*
|
|
463
|
-
* ```typescript
|
|
464
|
-
* // get
|
|
465
|
-
* let myComboPlaceholder = this.combo.placeholder;
|
|
466
|
-
* ```
|
|
467
|
-
*
|
|
468
|
-
* ```html
|
|
469
|
-
* <!--set-->
|
|
470
|
-
* <igx-combo [placeholder]='newPlaceHolder'></igx-combo>
|
|
471
|
-
* ```
|
|
472
|
-
*/
|
|
473
|
-
placeholder: any;
|
|
474
|
-
/**
|
|
475
|
-
* @hidden @internal
|
|
476
|
-
*/
|
|
477
|
-
get inputEmpty(): boolean;
|
|
478
|
-
/**
|
|
479
|
-
* Defines the placeholder value for the combo dropdown search field
|
|
480
|
-
*
|
|
481
|
-
* ```typescript
|
|
482
|
-
* // get
|
|
483
|
-
* let myComboSearchPlaceholder = this.combo.searchPlaceholder;
|
|
484
|
-
* ```
|
|
485
|
-
*
|
|
486
|
-
* ```html
|
|
487
|
-
* <!--set-->
|
|
488
|
-
* <igx-combo [searchPlaceholder]='newPlaceHolder'></igx-combo>
|
|
489
|
-
* ```
|
|
490
|
-
*/
|
|
491
|
-
searchPlaceholder: string;
|
|
70
|
+
protected _inputGroupType: IgxInputGroupType;
|
|
71
|
+
protected _injector: Injector;
|
|
492
72
|
/**
|
|
493
73
|
* Defines whether the caseSensitive icon should be shown in the search input
|
|
494
74
|
*
|
|
@@ -504,66 +84,11 @@ export declare class IgxComboComponent extends DisplayDensityBase implements Igx
|
|
|
504
84
|
*/
|
|
505
85
|
showSearchCaseIcon: boolean;
|
|
506
86
|
/**
|
|
507
|
-
*
|
|
508
|
-
*
|
|
509
|
-
*
|
|
510
|
-
* <!--set-->
|
|
511
|
-
* <igx-combo [data]='items'></igx-combo>
|
|
512
|
-
* ```
|
|
513
|
-
*/
|
|
514
|
-
get data(): any[] | null;
|
|
515
|
-
set data(val: any[] | null);
|
|
516
|
-
/**
|
|
517
|
-
* Combo value data source property.
|
|
518
|
-
*
|
|
519
|
-
* ```typescript
|
|
520
|
-
* // get
|
|
521
|
-
* let myComboValueKey = this.combo.valueKey;
|
|
522
|
-
* ```
|
|
523
|
-
*
|
|
524
|
-
* ```html
|
|
525
|
-
* <!--set-->
|
|
526
|
-
* <igx-combo [valueKey]='myKey'></igx-combo>
|
|
527
|
-
* ```
|
|
528
|
-
*/
|
|
529
|
-
valueKey: string;
|
|
530
|
-
set displayKey(val: string);
|
|
531
|
-
/**
|
|
532
|
-
* Combo text data source property.
|
|
533
|
-
*
|
|
534
|
-
* ```typescript
|
|
535
|
-
* // get
|
|
536
|
-
* let myComboDisplayKey = this.combo.displayKey;
|
|
537
|
-
*
|
|
538
|
-
* // set
|
|
539
|
-
* this.combo.displayKey = 'val';
|
|
540
|
-
*
|
|
541
|
-
* ```
|
|
542
|
-
*
|
|
543
|
-
* ```html
|
|
544
|
-
* <!--set-->
|
|
545
|
-
* <igx-combo [displayKey]='myDisplayKey'></igx-combo>
|
|
546
|
-
* ```
|
|
547
|
-
*/
|
|
548
|
-
get displayKey(): string;
|
|
549
|
-
/**
|
|
550
|
-
* The item property by which items should be grouped inside the items list. Not usable if data is not of type Object[].
|
|
551
|
-
*
|
|
552
|
-
* ```html
|
|
553
|
-
* <!--set-->
|
|
554
|
-
* <igx-combo [groupKey]='newGroupKey'></igx-combo>
|
|
555
|
-
* ```
|
|
556
|
-
*/
|
|
557
|
-
set groupKey(val: string);
|
|
558
|
-
/**
|
|
559
|
-
* The item property by which items should be grouped inside the items list. Not usable if data is not of type Object[].
|
|
560
|
-
*
|
|
561
|
-
* ```typescript
|
|
562
|
-
* // get
|
|
563
|
-
* let currentGroupKey = this.combo.groupKey;
|
|
564
|
-
* ```
|
|
87
|
+
* An @Input property that controls whether the combo's search box
|
|
88
|
+
* should be focused after the `opened` event is called
|
|
89
|
+
* When `false`, the combo's list item container will be focused instead
|
|
565
90
|
*/
|
|
566
|
-
|
|
91
|
+
autoFocusSearch: boolean;
|
|
567
92
|
/**
|
|
568
93
|
* An @Input property that enabled/disables filtering in the list. The default is `true`.
|
|
569
94
|
* ```html
|
|
@@ -572,248 +97,55 @@ export declare class IgxComboComponent extends DisplayDensityBase implements Igx
|
|
|
572
97
|
*/
|
|
573
98
|
filterable: boolean;
|
|
574
99
|
/**
|
|
575
|
-
*
|
|
576
|
-
* ```html
|
|
577
|
-
* <igx-combo [ariaLabelledBy]="'label1'">
|
|
578
|
-
* ```
|
|
579
|
-
*/
|
|
580
|
-
ariaLabelledBy: string;
|
|
581
|
-
/**
|
|
582
|
-
* An @Input property that enabled/disables combo. The default is `false`.
|
|
583
|
-
* ```html
|
|
584
|
-
* <igx-combo [disabled]="'true'">
|
|
585
|
-
* ```
|
|
586
|
-
*/
|
|
587
|
-
disabled: boolean;
|
|
588
|
-
/**
|
|
589
|
-
* An @Input property that sets how the combo will be styled.
|
|
590
|
-
* The allowed values are `line`, `box`, `border` and `search`. The default is `box`.
|
|
591
|
-
* ```html
|
|
592
|
-
* <igx-combo [type]="'line'">
|
|
593
|
-
* ```
|
|
594
|
-
*/
|
|
595
|
-
get type(): IgxInputGroupType;
|
|
596
|
-
set type(val: IgxInputGroupType);
|
|
597
|
-
/**
|
|
598
|
-
* An @Input property that controls whether the combo's search box
|
|
599
|
-
* should be focused after the `opened` event is called
|
|
600
|
-
* When `false`, the combo's list item container will be focused instead
|
|
601
|
-
*/
|
|
602
|
-
autoFocusSearch: boolean;
|
|
603
|
-
protected dropdownContainer: ElementRef;
|
|
604
|
-
protected primitiveTemplate: TemplateRef<any>;
|
|
605
|
-
protected complexTemplate: TemplateRef<any>;
|
|
606
|
-
protected virtDir: IgxForOfDirective<any>;
|
|
607
|
-
/**
|
|
608
|
-
* Gets if control is valid, when used in a form
|
|
100
|
+
* Defines the placeholder value for the combo dropdown search field
|
|
609
101
|
*
|
|
610
102
|
* ```typescript
|
|
611
103
|
* // get
|
|
612
|
-
* let
|
|
104
|
+
* let myComboSearchPlaceholder = this.combo.searchPlaceholder;
|
|
613
105
|
* ```
|
|
614
|
-
*/
|
|
615
|
-
get valid(): IgxComboState;
|
|
616
|
-
/**
|
|
617
|
-
* Sets if control is valid, when used in a form
|
|
618
106
|
*
|
|
619
|
-
* ```
|
|
620
|
-
*
|
|
621
|
-
*
|
|
107
|
+
* ```html
|
|
108
|
+
* <!--set-->
|
|
109
|
+
* <igx-combo [searchPlaceholder]='newPlaceHolder'></igx-combo>
|
|
622
110
|
* ```
|
|
623
111
|
*/
|
|
624
|
-
|
|
625
|
-
/**
|
|
626
|
-
|
|
627
|
-
*/
|
|
628
|
-
get searchValue(): string;
|
|
629
|
-
set searchValue(val: string);
|
|
630
|
-
/**
|
|
631
|
-
* @hidden @internal
|
|
632
|
-
*/
|
|
633
|
-
customValueFlag: boolean;
|
|
634
|
-
/**
|
|
635
|
-
* @hidden @internal
|
|
636
|
-
*/
|
|
637
|
-
defaultFallbackGroup: string;
|
|
112
|
+
searchPlaceholder: string;
|
|
113
|
+
/** @hidden @internal */
|
|
114
|
+
dropdown: IgxComboDropDownComponent;
|
|
638
115
|
/**
|
|
639
116
|
* @hidden @internal
|
|
640
117
|
*/
|
|
641
|
-
|
|
118
|
+
get inputEmpty(): boolean;
|
|
119
|
+
/** @hidden @internal */
|
|
120
|
+
get filteredData(): any[] | null;
|
|
121
|
+
/** @hidden @internal */
|
|
122
|
+
set filteredData(val: any[] | null);
|
|
642
123
|
/**
|
|
643
124
|
* @hidden @internal
|
|
644
125
|
*/
|
|
645
126
|
filteringLogic: FilteringLogic;
|
|
646
|
-
/** @hidden @internal */
|
|
647
|
-
filterValue: string;
|
|
648
127
|
protected stringFilters: typeof IgxStringFilteringOperand;
|
|
649
128
|
protected booleanFilters: typeof IgxBooleanFilteringOperand;
|
|
650
|
-
protected _groupKey: string;
|
|
651
|
-
protected _displayKey: string;
|
|
652
129
|
protected _prevInputValue: string;
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
private ngControl;
|
|
657
|
-
private destroy$;
|
|
658
|
-
private _data;
|
|
659
|
-
private _filteredData;
|
|
660
|
-
private _itemHeight;
|
|
661
|
-
private _itemsMaxHeight;
|
|
662
|
-
private _remoteSelection;
|
|
663
|
-
private _onChangeCallback;
|
|
664
|
-
private _onTouchedCallback;
|
|
665
|
-
private _overlaySettings;
|
|
666
|
-
private _value;
|
|
667
|
-
private _valid;
|
|
668
|
-
constructor(elementRef: ElementRef, cdr: ChangeDetectorRef, selection: IgxSelectionAPIService, comboAPI: IgxComboAPIService, _iconService: IgxIconService, _displayDensityOptions: IDisplayDensityOptions, _inputGroupType: IgxInputGroupType, _injector: Injector);
|
|
669
|
-
/**
|
|
670
|
-
* @hidden @internal
|
|
671
|
-
*/
|
|
672
|
-
onArrowDown(event: Event): void;
|
|
673
|
-
/**
|
|
674
|
-
* @hidden @internal
|
|
675
|
-
*/
|
|
676
|
-
onInputClick(event: Event): void;
|
|
677
|
-
/**
|
|
678
|
-
* Defines the current state of the virtualized data. It contains `startIndex` and `chunkSize`
|
|
679
|
-
*
|
|
680
|
-
* ```typescript
|
|
681
|
-
* // get
|
|
682
|
-
* let state = this.combo.virtualizationState;
|
|
683
|
-
* ```
|
|
684
|
-
*/
|
|
685
|
-
get virtualizationState(): IForOfState;
|
|
686
|
-
/**
|
|
687
|
-
* Sets the current state of the virtualized data.
|
|
688
|
-
*
|
|
689
|
-
* ```typescript
|
|
690
|
-
* // set
|
|
691
|
-
* this.combo.virtualizationState(state);
|
|
692
|
-
* ```
|
|
693
|
-
*/
|
|
694
|
-
set virtualizationState(state: IForOfState);
|
|
695
|
-
/**
|
|
696
|
-
* Gets total count of the virtual data items, when using remote service.
|
|
697
|
-
*
|
|
698
|
-
* ```typescript
|
|
699
|
-
* // get
|
|
700
|
-
* let count = this.combo.totalItemCount;
|
|
701
|
-
* ```
|
|
702
|
-
*/
|
|
703
|
-
get totalItemCount(): number;
|
|
704
|
-
/**
|
|
705
|
-
* Sets total count of the virtual data items, when using remote service.
|
|
706
|
-
*
|
|
707
|
-
* ```typescript
|
|
708
|
-
* // set
|
|
709
|
-
* this.combo.totalItemCount(remoteService.count);
|
|
710
|
-
* ```
|
|
711
|
-
*/
|
|
712
|
-
set totalItemCount(count: number);
|
|
713
|
-
/**
|
|
714
|
-
* The text displayed in the combo input
|
|
715
|
-
*
|
|
716
|
-
* ```typescript
|
|
717
|
-
* // get
|
|
718
|
-
* let comboValue = this.combo.value;
|
|
719
|
-
* ```
|
|
720
|
-
*/
|
|
721
|
-
get value(): string;
|
|
722
|
-
/**
|
|
723
|
-
* @hidden @internal
|
|
724
|
-
*/
|
|
725
|
-
get filteredData(): any[] | null;
|
|
726
|
-
/**
|
|
727
|
-
* @hidden @internal
|
|
728
|
-
*/
|
|
729
|
-
set filteredData(val: any[] | null);
|
|
130
|
+
constructor(elementRef: ElementRef, cdr: ChangeDetectorRef, selectionService: IgxSelectionAPIService, comboAPI: IgxComboAPIService, _iconService: IgxIconService, _displayDensityOptions: IDisplayDensityOptions, _inputGroupType: IgxInputGroupType, _injector: Injector);
|
|
131
|
+
/** @hidden @internal */
|
|
132
|
+
get displaySearchInput(): boolean;
|
|
730
133
|
/**
|
|
731
134
|
* @hidden @internal
|
|
732
135
|
*/
|
|
733
136
|
handleKeyUp(event: KeyboardEvent): void;
|
|
734
|
-
/**
|
|
735
|
-
* @hidden @internal
|
|
736
|
-
*/
|
|
737
|
-
handleKeyDown(event: KeyboardEvent): void;
|
|
738
|
-
/**
|
|
739
|
-
* @hidden @internal
|
|
740
|
-
*/
|
|
741
|
-
handleInputChange(event?: string): void;
|
|
742
|
-
/**
|
|
743
|
-
* @hidden @internal
|
|
744
|
-
*/
|
|
745
|
-
get dataType(): string;
|
|
746
|
-
/**
|
|
747
|
-
* @hidden @internal
|
|
748
|
-
*/
|
|
749
|
-
get isRemote(): boolean;
|
|
750
|
-
/**
|
|
751
|
-
* Returns if the specified itemID is selected
|
|
752
|
-
*
|
|
753
|
-
* @hidden
|
|
754
|
-
* @internal
|
|
755
|
-
*/
|
|
756
|
-
isItemSelected(item: any): boolean;
|
|
757
|
-
/**
|
|
758
|
-
* Triggers change detection on the combo view
|
|
759
|
-
*/
|
|
760
|
-
triggerCheck(): void;
|
|
761
|
-
/**
|
|
762
|
-
* @hidden @internal
|
|
763
|
-
*/
|
|
764
|
-
isAddButtonVisible(): boolean;
|
|
765
137
|
/**
|
|
766
138
|
* @hidden @internal
|
|
767
139
|
*/
|
|
768
140
|
handleSelectAll(evt: any): void;
|
|
769
|
-
/**
|
|
770
|
-
* @hidden @internal
|
|
771
|
-
*/
|
|
772
|
-
addItemToCollection(): void;
|
|
773
|
-
/**
|
|
774
|
-
* @hidden @internal
|
|
775
|
-
*/
|
|
776
|
-
focusSearchInput(opening?: boolean): void;
|
|
777
|
-
/**
|
|
778
|
-
* @hidden @internal
|
|
779
|
-
*/
|
|
780
|
-
onBlur(): void;
|
|
781
|
-
/**
|
|
782
|
-
* @hidden @internal
|
|
783
|
-
*/
|
|
784
|
-
ngOnInit(): void;
|
|
785
|
-
/**
|
|
786
|
-
* @hidden @internal
|
|
787
|
-
*/
|
|
788
|
-
ngAfterViewInit(): void;
|
|
789
|
-
/**
|
|
790
|
-
* @hidden @internal
|
|
791
|
-
*/
|
|
792
|
-
ngOnDestroy(): void;
|
|
793
141
|
/**
|
|
794
142
|
* @hidden @internal
|
|
795
143
|
*/
|
|
796
144
|
writeValue(value: any[]): void;
|
|
797
|
-
/**
|
|
798
|
-
* @hidden @internal
|
|
799
|
-
*/
|
|
800
|
-
registerOnChange(fn: any): void;
|
|
801
|
-
/**
|
|
802
|
-
* @hidden @internal
|
|
803
|
-
*/
|
|
804
|
-
registerOnTouched(fn: any): void;
|
|
805
|
-
/**
|
|
806
|
-
* @hidden @internal
|
|
807
|
-
*/
|
|
808
|
-
setDisabledState(isDisabled: boolean): void;
|
|
809
145
|
/**
|
|
810
146
|
* @hidden
|
|
811
147
|
*/
|
|
812
148
|
getEditElement(): HTMLElement;
|
|
813
|
-
/**
|
|
814
|
-
* @hidden @internal
|
|
815
|
-
*/
|
|
816
|
-
get template(): TemplateRef<any>;
|
|
817
149
|
/**
|
|
818
150
|
* @hidden @internal
|
|
819
151
|
*/
|
|
@@ -822,69 +154,25 @@ export declare class IgxComboComponent extends DisplayDensityBase implements Igx
|
|
|
822
154
|
* @hidden @internal
|
|
823
155
|
*/
|
|
824
156
|
handleClearItems(event: Event): void;
|
|
825
|
-
/**
|
|
826
|
-
* A method that opens/closes the combo.
|
|
827
|
-
*
|
|
828
|
-
* ```html
|
|
829
|
-
* <button (click)="combo.toggle()">Toggle Combo</button>
|
|
830
|
-
* <igx-combo #combo></igx-combo>
|
|
831
|
-
* ```
|
|
832
|
-
*/
|
|
833
|
-
toggle(): void;
|
|
834
|
-
/**
|
|
835
|
-
* A method that opens the combo.
|
|
836
|
-
*
|
|
837
|
-
* ```html
|
|
838
|
-
* <button (click)="combo.open()">Open Combo</button>
|
|
839
|
-
* <igx-combo #combo></igx-combo>
|
|
840
|
-
* ```
|
|
841
|
-
*/
|
|
842
|
-
open(): void;
|
|
843
|
-
/**
|
|
844
|
-
* A method that closes the combo.
|
|
845
|
-
*
|
|
846
|
-
* ```html
|
|
847
|
-
* <button (click)="combo.close()">Close Combo</button>
|
|
848
|
-
* <igx-combo #combo></igx-combo>
|
|
849
|
-
* ```
|
|
850
|
-
*/
|
|
851
|
-
close(): void;
|
|
852
|
-
/**
|
|
853
|
-
* Gets drop down state.
|
|
854
|
-
*
|
|
855
|
-
* ```typescript
|
|
856
|
-
* let state = this.combo.collapsed;
|
|
857
|
-
* ```
|
|
858
|
-
*/
|
|
859
|
-
get collapsed(): boolean;
|
|
860
|
-
/**
|
|
861
|
-
* Get current selection state
|
|
862
|
-
*
|
|
863
|
-
* @returns Array of selected items
|
|
864
|
-
* ```typescript
|
|
865
|
-
* let selectedItems = this.combo.selectedItems();
|
|
866
|
-
* ```
|
|
867
|
-
*/
|
|
868
|
-
selectedItems(): any[];
|
|
869
157
|
/**
|
|
870
158
|
* Select defined items
|
|
871
159
|
*
|
|
872
160
|
* @param newItems new items to be selected
|
|
873
161
|
* @param clearCurrentSelection if true clear previous selected items
|
|
874
162
|
* ```typescript
|
|
875
|
-
* this.combo.
|
|
163
|
+
* this.combo.select(["New York", "New Jersey"]);
|
|
876
164
|
* ```
|
|
877
165
|
*/
|
|
878
|
-
|
|
166
|
+
select(newItems: Array<any>, clearCurrentSelection?: boolean, event?: Event): void;
|
|
879
167
|
/**
|
|
880
168
|
* Deselect defined items
|
|
881
169
|
*
|
|
882
170
|
* @param items items to deselected
|
|
883
171
|
* ```typescript
|
|
884
|
-
* this.combo.
|
|
172
|
+
* this.combo.deselect(["New York", "New Jersey"]);
|
|
885
173
|
* ```
|
|
886
174
|
*/
|
|
887
|
-
|
|
175
|
+
deselect(items: Array<any>, event?: Event): void;
|
|
888
176
|
/**
|
|
889
177
|
* Select all (filtered) items
|
|
890
178
|
*
|
|
@@ -923,49 +211,18 @@ export declare class IgxComboComponent extends DisplayDensityBase implements Igx
|
|
|
923
211
|
* ```
|
|
924
212
|
*/
|
|
925
213
|
setSelectedItem(itemID: any, select?: boolean, event?: Event): void;
|
|
926
|
-
/**
|
|
927
|
-
* Event handlers
|
|
928
|
-
*
|
|
929
|
-
* @hidden
|
|
930
|
-
* @internal
|
|
931
|
-
*/
|
|
932
|
-
handleOpening(e: IBaseCancelableBrowserEventArgs): void;
|
|
933
|
-
/**
|
|
934
|
-
* @hidden @internal
|
|
935
|
-
*/
|
|
936
|
-
handleOpened(): void;
|
|
937
|
-
/**
|
|
938
|
-
* @hidden @internal
|
|
939
|
-
*/
|
|
940
|
-
handleClosing(e: IBaseCancelableBrowserEventArgs): void;
|
|
941
|
-
/**
|
|
942
|
-
* @hidden @internal
|
|
943
|
-
*/
|
|
944
|
-
handleClosed(): void;
|
|
945
214
|
/**
|
|
946
215
|
* @hidden @internal
|
|
947
216
|
*/
|
|
948
217
|
toggleCaseSensitive(): void;
|
|
218
|
+
/** @hidden @internal */
|
|
219
|
+
handleOpened(): void;
|
|
220
|
+
/** @hidden @internal */
|
|
221
|
+
focusSearchInput(opening?: boolean): void;
|
|
949
222
|
protected setSelection(newSelection: Set<any>, event?: Event): void;
|
|
950
|
-
protected
|
|
951
|
-
protected manageRequiredAsterisk(): void;
|
|
952
|
-
/** Contains key-value pairs of the selected valueKeys and their resp. displayKeys */
|
|
953
|
-
private registerRemoteEntries;
|
|
954
|
-
/**
|
|
955
|
-
* For `id: any[]` returns a mapped `{ [combo.valueKey]: any, [combo.displayKey]: any }[]`
|
|
956
|
-
*/
|
|
957
|
-
private getValueDisplayPairs;
|
|
958
|
-
private checkMatch;
|
|
223
|
+
protected createDisplayText(newSelection: any[], oldSelection: any[]): string;
|
|
959
224
|
/** Returns a string that should be populated in the combo's text box */
|
|
960
225
|
private concatDisplayText;
|
|
961
|
-
/**
|
|
962
|
-
* Constructs the combo display value
|
|
963
|
-
* If remote, caches the key displayText
|
|
964
|
-
* If not, just combine the object.displayKeys
|
|
965
|
-
*/
|
|
966
|
-
private createDisplayText;
|
|
967
|
-
/** if there is a valueKey - map the keys to data items, else - just return the keys */
|
|
968
|
-
private convertKeysToItems;
|
|
969
226
|
}
|
|
970
227
|
/**
|
|
971
228
|
* @hidden
|