igniteui-angular 12.2.6 → 12.3.1

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 (37) hide show
  1. package/LICENSE +16 -0
  2. package/README.md +12 -11
  3. package/bundles/igniteui-angular.umd.js +1810 -1419
  4. package/bundles/igniteui-angular.umd.js.map +1 -1
  5. package/esm2015/igniteui-angular.js +97 -97
  6. package/esm2015/lib/accordion/accordion.component.js +23 -6
  7. package/esm2015/lib/combo/combo-dropdown.component.js +9 -4
  8. package/esm2015/lib/combo/combo-item.component.js +4 -3
  9. package/esm2015/lib/combo/combo.api.js +3 -3
  10. package/esm2015/lib/combo/combo.common.js +1016 -2
  11. package/esm2015/lib/combo/combo.component.js +91 -1135
  12. package/esm2015/lib/combo/combo.pipes.js +3 -3
  13. package/esm2015/lib/data-operations/sorting-strategy.js +12 -3
  14. package/esm2015/lib/grids/filtering/base/grid-filtering-row.component.js +12 -4
  15. package/esm2015/lib/grids/filtering/excel-style/excel-style-date-expression.component.js +2 -2
  16. package/esm2015/lib/grids/filtering/excel-style/grid.excel-style-filtering.component.js +2 -2
  17. package/esm2015/lib/grids/grid-base.directive.js +2 -2
  18. package/esm2015/lib/grids/tree-grid/tree-grid.component.js +3 -3
  19. package/esm2015/lib/simple-combo/public_api.js +2 -0
  20. package/esm2015/lib/simple-combo/simple-combo.component.js +390 -0
  21. package/esm2015/public_api.js +2 -1
  22. package/fesm2015/igniteui-angular.js +1373 -1002
  23. package/fesm2015/igniteui-angular.js.map +1 -1
  24. package/igniteui-angular.d.ts +96 -96
  25. package/igniteui-angular.metadata.json +1 -1
  26. package/lib/accordion/accordion.component.d.ts +1 -0
  27. package/lib/combo/combo-dropdown.component.d.ts +2 -0
  28. package/lib/combo/combo-item.component.d.ts +2 -0
  29. package/lib/combo/combo.common.d.ts +730 -4
  30. package/lib/combo/combo.component.d.ts +38 -791
  31. package/lib/combo/combo.pipes.d.ts +1 -1
  32. package/lib/simple-combo/public_api.d.ts +1 -0
  33. package/lib/simple-combo/simple-combo.component.d.ts +126 -0
  34. package/migrations/update-13_0_0/changes/members.json +26 -0
  35. package/package.json +1 -1
  36. package/public_api.d.ts +1 -0
  37. package/schematics/tsconfig.tsbuildinfo +1 -1
@@ -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, EventEmitter } 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,403 +60,28 @@ 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;
70
+ protected _inputGroupType: IgxInputGroupType;
71
+ protected _injector: Injector;
115
72
  /**
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
- * ```
73
+ * An @Input property that controls whether the combo's search box
74
+ * should be focused after the `opened` event is called
75
+ * When `false`, the combo's list item container will be focused instead
457
76
  */
458
- get itemHeight(): number;
459
- set itemHeight(val: number);
77
+ autoFocusSearch: boolean;
460
78
  /**
461
- * Defines the placeholder value for the combo value field
462
- *
463
- * ```typescript
464
- * // get
465
- * let myComboPlaceholder = this.combo.placeholder;
466
- * ```
467
- *
79
+ * An @Input property that enabled/disables filtering in the list. The default is `true`.
468
80
  * ```html
469
- * <!--set-->
470
- * <igx-combo [placeholder]='newPlaceHolder'></igx-combo>
81
+ * <igx-combo [filterable]="false">
471
82
  * ```
472
83
  */
473
- placeholder: any;
474
- /**
475
- * @hidden @internal
476
- */
477
- get inputEmpty(): boolean;
84
+ filterable: boolean;
478
85
  /**
479
86
  * Defines the placeholder value for the combo dropdown search field
480
87
  *
@@ -490,330 +97,49 @@ export declare class IgxComboComponent extends DisplayDensityBase implements Igx
490
97
  */
491
98
  searchPlaceholder: string;
492
99
  /**
493
- * Defines whether the caseSensitive icon should be shown in the search input
494
- *
495
- * ```typescript
496
- * // get
497
- * let myComboShowSearchCaseIcon = this.combo.showSearchCaseIcon;
498
- * ```
499
- *
500
- * ```html
501
- * <!--set-->
502
- * <igx-combo [showSearchCaseIcon]='true'></igx-combo>
503
- * ```
504
- */
505
- showSearchCaseIcon: boolean;
506
- /**
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[].
100
+ * Emitted when item selection is changing, before the selection completes
560
101
  *
561
- * ```typescript
562
- * // get
563
- * let currentGroupKey = this.combo.groupKey;
564
- * ```
565
- */
566
- get groupKey(): string;
567
- /**
568
- * An @Input property that enabled/disables filtering in the list. The default is `true`.
569
- * ```html
570
- * <igx-combo [filterable]="false">
571
- * ```
572
- */
573
- filterable: boolean;
574
- /**
575
- * An @Input property that set aria-labelledby attribute
576
102
  * ```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
609
- *
610
- * ```typescript
611
- * // get
612
- * let valid = this.combo.valid;
613
- * ```
614
- */
615
- get valid(): IgxComboState;
616
- /**
617
- * Sets if control is valid, when used in a form
618
- *
619
- * ```typescript
620
- * // set
621
- * this.combo.valid = IgxComboState.INVALID;
103
+ * <igx-combo (selectionChanging)='handleSelection()'></igx-combo>
622
104
  * ```
623
105
  */
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;
106
+ selectionChanging: EventEmitter<IComboSelectionChangingEventArgs>;
107
+ /** @hidden @internal */
108
+ dropdown: IgxComboDropDownComponent;
638
109
  /**
639
110
  * @hidden @internal
640
111
  */
641
- filteringOptions: IComboFilteringOptions;
112
+ get inputEmpty(): boolean;
113
+ /** @hidden @internal */
114
+ get filteredData(): any[] | null;
115
+ /** @hidden @internal */
116
+ set filteredData(val: any[] | null);
642
117
  /**
643
118
  * @hidden @internal
644
119
  */
645
120
  filteringLogic: FilteringLogic;
646
- /** @hidden @internal */
647
- filterValue: string;
648
121
  protected stringFilters: typeof IgxStringFilteringOperand;
649
122
  protected booleanFilters: typeof IgxBooleanFilteringOperand;
650
- protected _groupKey: string;
651
- protected _displayKey: string;
652
123
  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);
124
+ constructor(elementRef: ElementRef, cdr: ChangeDetectorRef, selectionService: IgxSelectionAPIService, comboAPI: IgxComboAPIService, _iconService: IgxIconService, _displayDensityOptions: IDisplayDensityOptions, _inputGroupType: IgxInputGroupType, _injector: Injector);
125
+ /** @hidden @internal */
126
+ get displaySearchInput(): boolean;
730
127
  /**
731
128
  * @hidden @internal
732
129
  */
733
130
  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
131
  /**
766
132
  * @hidden @internal
767
133
  */
768
134
  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
135
  /**
794
136
  * @hidden @internal
795
137
  */
796
138
  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
139
  /**
810
140
  * @hidden
811
141
  */
812
142
  getEditElement(): HTMLElement;
813
- /**
814
- * @hidden @internal
815
- */
816
- get template(): TemplateRef<any>;
817
143
  /**
818
144
  * @hidden @internal
819
145
  */
@@ -822,69 +148,25 @@ export declare class IgxComboComponent extends DisplayDensityBase implements Igx
822
148
  * @hidden @internal
823
149
  */
824
150
  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
151
  /**
870
152
  * Select defined items
871
153
  *
872
154
  * @param newItems new items to be selected
873
155
  * @param clearCurrentSelection if true clear previous selected items
874
156
  * ```typescript
875
- * this.combo.selectItems(["New York", "New Jersey"]);
157
+ * this.combo.select(["New York", "New Jersey"]);
876
158
  * ```
877
159
  */
878
- selectItems(newItems: Array<any>, clearCurrentSelection?: boolean, event?: Event): void;
160
+ select(newItems: Array<any>, clearCurrentSelection?: boolean, event?: Event): void;
879
161
  /**
880
162
  * Deselect defined items
881
163
  *
882
164
  * @param items items to deselected
883
165
  * ```typescript
884
- * this.combo.deselectItems(["New York", "New Jersey"]);
166
+ * this.combo.deselect(["New York", "New Jersey"]);
885
167
  * ```
886
168
  */
887
- deselectItems(items: Array<any>, event?: Event): void;
169
+ deselect(items: Array<any>, event?: Event): void;
888
170
  /**
889
171
  * Select all (filtered) items
890
172
  *
@@ -923,49 +205,14 @@ export declare class IgxComboComponent extends DisplayDensityBase implements Igx
923
205
  * ```
924
206
  */
925
207
  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
- */
208
+ /** @hidden @internal */
936
209
  handleOpened(): void;
937
- /**
938
- * @hidden @internal
939
- */
940
- handleClosing(e: IBaseCancelableBrowserEventArgs): void;
941
- /**
942
- * @hidden @internal
943
- */
944
- handleClosed(): void;
945
- /**
946
- * @hidden @internal
947
- */
948
- toggleCaseSensitive(): void;
210
+ /** @hidden @internal */
211
+ focusSearchInput(opening?: boolean): void;
949
212
  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;
213
+ protected createDisplayText(newSelection: any[], oldSelection: any[]): string;
959
214
  /** Returns a string that should be populated in the combo's text box */
960
215
  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
216
  }
970
217
  /**
971
218
  * @hidden