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.
Files changed (41) hide show
  1. package/README.md +12 -11
  2. package/bundles/igniteui-angular.umd.js +1773 -1462
  3. package/bundles/igniteui-angular.umd.js.map +1 -1
  4. package/esm2015/igniteui-angular.js +97 -97
  5. package/esm2015/lib/combo/combo-dropdown.component.js +9 -4
  6. package/esm2015/lib/combo/combo-item.component.js +4 -3
  7. package/esm2015/lib/combo/combo.api.js +3 -3
  8. package/esm2015/lib/combo/combo.common.js +999 -2
  9. package/esm2015/lib/combo/combo.component.js +92 -1124
  10. package/esm2015/lib/combo/combo.pipes.js +3 -3
  11. package/esm2015/lib/data-operations/data-util.js +2 -3
  12. package/esm2015/lib/data-operations/grouping-strategy.js +1 -1
  13. package/esm2015/lib/grids/grid/grid.component.js +19 -2
  14. package/esm2015/lib/grids/grid/grid.pipes.js +3 -3
  15. package/esm2015/lib/services/exporter-common/base-export-service.js +2 -2
  16. package/esm2015/lib/simple-combo/public_api.js +2 -0
  17. package/esm2015/lib/simple-combo/simple-combo.component.js +298 -0
  18. package/esm2015/lib/toast/toast.component.js +46 -21
  19. package/esm2015/public_api.js +2 -1
  20. package/fesm2015/igniteui-angular.js +1305 -1025
  21. package/fesm2015/igniteui-angular.js.map +1 -1
  22. package/igniteui-angular.d.ts +96 -96
  23. package/igniteui-angular.metadata.json +1 -1
  24. package/lib/combo/combo-dropdown.component.d.ts +2 -0
  25. package/lib/combo/combo-item.component.d.ts +2 -0
  26. package/lib/combo/combo.common.d.ts +717 -4
  27. package/lib/combo/combo.component.d.ts +39 -782
  28. package/lib/combo/combo.pipes.d.ts +1 -1
  29. package/lib/data-operations/data-util.d.ts +2 -1
  30. package/lib/data-operations/grouping-strategy.d.ts +5 -2
  31. package/lib/grids/grid/grid.component.d.ts +17 -0
  32. package/lib/grids/grid/grid.pipes.d.ts +2 -1
  33. package/lib/simple-combo/public_api.d.ts +1 -0
  34. package/lib/simple-combo/simple-combo.component.d.ts +109 -0
  35. package/lib/toast/toast.component.d.ts +8 -4
  36. package/migrations/migration-collection.json +5 -0
  37. package/migrations/update-12_3_0/changes/members.json +26 -0
  38. package/migrations/update-12_3_0/index.d.ts +3 -0
  39. package/migrations/update-12_3_0/index.js +9 -0
  40. package/package.json +1 -1
  41. package/public_api.d.ts +1 -0
@@ -1,34 +1,16 @@
1
- import { AfterViewInit, ChangeDetectorRef, ElementRef, EventEmitter, OnInit, OnDestroy, TemplateRef, Injector } from '@angular/core';
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, IBaseCancelableBrowserEventArgs, IBaseCancelableEventArgs, CancelableEventArgs } from '../core/utils';
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 { OverlaySettings } from '../services/public_api';
12
- import { DisplayDensityBase, IDisplayDensityOptions } from '../core/density';
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 single or multiple seleciton with the provided data.
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 DisplayDensityBase implements IgxComboBase, AfterViewInit, ControlValueAccessor, OnInit, OnDestroy, EditorProvider {
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 selection: IgxSelectionAPIService;
66
+ protected selectionService: IgxSelectionAPIService;
85
67
  protected comboAPI: IgxComboAPIService;
86
- private _iconService;
68
+ protected _iconService: IgxIconService;
87
69
  protected _displayDensityOptions: IDisplayDensityOptions;
88
- private _inputGroupType;
89
- private _injector;
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
- * Combo data source.
508
- *
509
- * ```html
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
- get groupKey(): string;
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
- * An @Input property that set aria-labelledby attribute
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 valid = this.combo.valid;
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
- * ```typescript
620
- * // set
621
- * this.combo.valid = IgxComboState.INVALID;
107
+ * ```html
108
+ * <!--set-->
109
+ * <igx-combo [searchPlaceholder]='newPlaceHolder'></igx-combo>
622
110
  * ```
623
111
  */
624
- set valid(valid: IgxComboState);
625
- /**
626
- * @hidden @internal
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
- filteringOptions: IComboFilteringOptions;
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
- private _dataType;
654
- private _searchValue;
655
- private _type;
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.selectItems(["New York", "New Jersey"]);
163
+ * this.combo.select(["New York", "New Jersey"]);
876
164
  * ```
877
165
  */
878
- selectItems(newItems: Array<any>, clearCurrentSelection?: boolean, event?: Event): void;
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.deselectItems(["New York", "New Jersey"]);
172
+ * this.combo.deselect(["New York", "New Jersey"]);
885
173
  * ```
886
174
  */
887
- deselectItems(items: Array<any>, event?: Event): void;
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 onStatusChanged: () => void;
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