igniteui-angular 12.2.5 → 12.3.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 +1833 -1672
- package/bundles/igniteui-angular.umd.js.map +1 -1
- package/esm2015/igniteui-angular.js +106 -107
- package/esm2015/lib/action-strip/grid-actions/grid-editing-actions.component.js +2 -2
- package/esm2015/lib/banner/banner.component.js +1 -1
- 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 +1016 -2
- package/esm2015/lib/combo/combo.component.js +91 -1135
- package/esm2015/lib/combo/combo.pipes.js +3 -3
- package/esm2015/lib/core/utils.js +11 -1
- package/esm2015/lib/data-operations/sorting-strategy.js +12 -3
- package/esm2015/lib/directives/radio/radio-group.directive.js +5 -13
- package/esm2015/lib/drop-down/drop-down-item.base.js +1 -5
- package/esm2015/lib/grids/cell.component.js +1 -17
- package/esm2015/lib/grids/column-actions/column-actions.component.js +3 -7
- package/esm2015/lib/grids/filtering/base/grid-filtering-row.component.js +12 -4
- package/esm2015/lib/grids/grid/grid.component.js +3 -7
- package/esm2015/lib/grids/grid-base.directive.js +56 -119
- package/esm2015/lib/grids/grid-public-row.js +3 -12
- package/esm2015/lib/grids/headers/grid-header-row.component.js +2 -2
- package/esm2015/lib/grids/hierarchical-grid/hierarchical-grid.component.js +3 -7
- package/esm2015/lib/grids/tree-grid/tree-grid.component.js +3 -7
- package/esm2015/lib/icon/icon.component.js +1 -6
- package/esm2015/lib/services/overlay/utilities.js +1 -1
- package/esm2015/lib/simple-combo/public_api.js +2 -0
- package/esm2015/lib/simple-combo/simple-combo.component.js +390 -0
- package/esm2015/lib/toast/toast.component.js +3 -6
- package/esm2015/public_api.js +2 -1
- package/fesm2015/igniteui-angular.js +1468 -1308
- package/fesm2015/igniteui-angular.js.map +1 -1
- package/igniteui-angular.d.ts +105 -106
- package/igniteui-angular.metadata.json +1 -1
- package/lib/banner/banner.component.d.ts +1 -2
- 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 +730 -4
- package/lib/combo/combo.component.d.ts +38 -791
- package/lib/combo/combo.pipes.d.ts +1 -1
- package/lib/core/utils.d.ts +4 -0
- package/lib/directives/radio/radio-group.directive.d.ts +4 -4
- package/lib/grids/cell.component.d.ts +0 -9
- package/lib/grids/column-actions/column-actions.component.d.ts +2 -1
- package/lib/grids/grid/grid.component.d.ts +2 -1
- package/lib/grids/grid-base.directive.d.ts +54 -37
- package/lib/grids/grid-public-row.d.ts +2 -3
- package/lib/grids/hierarchical-grid/hierarchical-grid.component.d.ts +2 -1
- package/lib/grids/tree-grid/tree-grid.component.d.ts +2 -1
- package/lib/icon/icon.component.d.ts +2 -2
- package/lib/services/overlay/utilities.d.ts +2 -1
- package/lib/simple-combo/public_api.d.ts +1 -0
- package/lib/simple-combo/simple-combo.component.d.ts +126 -0
- package/lib/toast/toast.component.d.ts +2 -0
- package/migrations/common/filterSourceDirs.d.ts +2 -2
- package/migrations/common/filterSourceDirs.js +2 -2
- package/migrations/update-13_0_0/changes/members.json +26 -0
- package/package.json +1 -1
- package/public_api.d.ts +1 -0
- package/esm2015/lib/core/deprecateDecorators.js +0 -101
- package/lib/core/deprecateDecorators.d.ts +0 -20
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as i1 from '@angular/animations';
|
|
2
2
|
import { style, animate, animation, keyframes, AnimationBuilder, useAnimation, trigger, transition } from '@angular/animations';
|
|
3
3
|
import * as i0 from '@angular/core';
|
|
4
|
-
import { Injectable, Directive, Input, HostListener, NgModule, Inject, PLATFORM_ID, SimpleChange, InjectionToken, EventEmitter, Optional, Output, ElementRef, Renderer2, NgZone, Component, ViewChild, HostBinding, forwardRef, ChangeDetectorRef, ViewContainerRef, TemplateRef, IterableDiffers, ComponentFactoryResolver, QueryList, ViewChildren, ChangeDetectionStrategy, ContentChild, ContentChildren, ApplicationRef, Injector,
|
|
4
|
+
import { Injectable, Directive, Input, HostListener, NgModule, isDevMode, Inject, PLATFORM_ID, SimpleChange, InjectionToken, EventEmitter, Optional, Output, ElementRef, Renderer2, NgZone, Component, ViewChild, HostBinding, forwardRef, ChangeDetectorRef, ViewContainerRef, TemplateRef, IterableDiffers, ComponentFactoryResolver, QueryList, ViewChildren, ChangeDetectionStrategy, ContentChild, ContentChildren, ApplicationRef, Injector, Self, SecurityContext, Pipe, LOCALE_ID, Host, NgModuleRef, inject, CUSTOM_ELEMENTS_SCHEMA, SkipSelf } from '@angular/core';
|
|
5
5
|
import { NG_VALUE_ACCESSOR, NG_VALIDATORS, CheckboxRequiredValidator, NgModel, FormControlName, FormsModule, NgControl, ReactiveFormsModule } from '@angular/forms';
|
|
6
6
|
import * as i2 from '@angular/common';
|
|
7
7
|
import { isPlatformBrowser, CommonModule, DOCUMENT, DatePipe, formatDate, FormatWidth, getLocaleDateFormat, getLocaleCurrencyCode, DecimalPipe, CurrencyPipe, PercentPipe, getLocaleNumberFormat, NumberFormatStyle, getCurrencySymbol } from '@angular/common';
|
|
@@ -892,7 +892,7 @@ const run = (id) => {
|
|
|
892
892
|
fn();
|
|
893
893
|
}
|
|
894
894
|
};
|
|
895
|
-
const ɵ0$
|
|
895
|
+
const ɵ0$4 = run;
|
|
896
896
|
const listener = (event) => run(event.data);
|
|
897
897
|
const ɵ1$1 = listener;
|
|
898
898
|
// Use function instead of arrow function to workaround an issue in codesandbox
|
|
@@ -920,6 +920,15 @@ function clearImmediate(id) {
|
|
|
920
920
|
delete queue[id];
|
|
921
921
|
}
|
|
922
922
|
|
|
923
|
+
/**
|
|
924
|
+
* @hidden
|
|
925
|
+
*/
|
|
926
|
+
const showMessage = (message, isMessageShown) => {
|
|
927
|
+
if (!isMessageShown && isDevMode()) {
|
|
928
|
+
console.warn(message);
|
|
929
|
+
}
|
|
930
|
+
return true;
|
|
931
|
+
};
|
|
923
932
|
const mkenum = (x) => x;
|
|
924
933
|
/**
|
|
925
934
|
* Returns the ResizeObserver type or the polyfilled version if not available.
|
|
@@ -1702,8 +1711,17 @@ class IgxSorting {
|
|
|
1702
1711
|
fullResult.data.push(groupItem);
|
|
1703
1712
|
}
|
|
1704
1713
|
if (expanded) {
|
|
1705
|
-
|
|
1706
|
-
|
|
1714
|
+
// Replaced object destructing as in a single big group scenario
|
|
1715
|
+
// it hits the max number of arguments for a function the underlying JS engine
|
|
1716
|
+
// supports.
|
|
1717
|
+
let j = fullResult.metadata.length - group.length;
|
|
1718
|
+
for (; j < fullResult.metadata.length; j++) {
|
|
1719
|
+
metadata.push(fullResult.metadata[j]);
|
|
1720
|
+
}
|
|
1721
|
+
j = fullResult.data.length - group.length;
|
|
1722
|
+
for (; j < fullResult.data.length; j++) {
|
|
1723
|
+
result.push(fullResult.data[j]);
|
|
1724
|
+
}
|
|
1707
1725
|
}
|
|
1708
1726
|
}
|
|
1709
1727
|
i += group.length;
|
|
@@ -8198,7 +8216,7 @@ IgxRowDirective.propDecorators = {
|
|
|
8198
8216
|
};
|
|
8199
8217
|
|
|
8200
8218
|
const clear = (el) => el === 0 || Boolean(el);
|
|
8201
|
-
const ɵ0$
|
|
8219
|
+
const ɵ0$3 = clear;
|
|
8202
8220
|
const first = (arr) => arr[0];
|
|
8203
8221
|
const ɵ1 = first;
|
|
8204
8222
|
const last = (arr) => arr[arr.length - 1];
|
|
@@ -16382,105 +16400,6 @@ IgxSelectionAPIService.decorators = [
|
|
|
16382
16400
|
},] }
|
|
16383
16401
|
];
|
|
16384
16402
|
|
|
16385
|
-
/**
|
|
16386
|
-
* @hidden
|
|
16387
|
-
*/
|
|
16388
|
-
const DeprecateClass = (message) => {
|
|
16389
|
-
let isMessageShown = false;
|
|
16390
|
-
return (originalClass) => class extends originalClass {
|
|
16391
|
-
constructor(...args) {
|
|
16392
|
-
const target = originalClass;
|
|
16393
|
-
const targetName = typeof target === 'function' ? target.name : target.constructor.name;
|
|
16394
|
-
isMessageShown = showMessage(`${targetName}: ${message}`, isMessageShown);
|
|
16395
|
-
super(...args);
|
|
16396
|
-
}
|
|
16397
|
-
};
|
|
16398
|
-
};
|
|
16399
|
-
/**
|
|
16400
|
-
* @hidden
|
|
16401
|
-
*/
|
|
16402
|
-
function DeprecateMethod(message) {
|
|
16403
|
-
let isMessageShown = false;
|
|
16404
|
-
return function (target, key, descriptor) {
|
|
16405
|
-
if (descriptor && descriptor.value) {
|
|
16406
|
-
const originalMethod = descriptor.value;
|
|
16407
|
-
descriptor.value = function () {
|
|
16408
|
-
const targetName = typeof target === 'function' ? target.name : target.constructor.name;
|
|
16409
|
-
isMessageShown = showMessage(`${targetName}.${key}: ${message}`, isMessageShown);
|
|
16410
|
-
const args = [];
|
|
16411
|
-
for (const x of arguments) {
|
|
16412
|
-
args.push(x);
|
|
16413
|
-
}
|
|
16414
|
-
return originalMethod.call(this, ...args);
|
|
16415
|
-
};
|
|
16416
|
-
return descriptor;
|
|
16417
|
-
}
|
|
16418
|
-
};
|
|
16419
|
-
}
|
|
16420
|
-
/**
|
|
16421
|
-
* @hidden
|
|
16422
|
-
*/
|
|
16423
|
-
function DeprecateProperty(message) {
|
|
16424
|
-
return function (target, key) {
|
|
16425
|
-
let isMessageShown = false;
|
|
16426
|
-
const messageToDisplay = `${target.constructor.name}.${key}: ${message}`;
|
|
16427
|
-
// if the target already has the property defined
|
|
16428
|
-
const originalDescriptor = Object.getOwnPropertyDescriptor(target, key);
|
|
16429
|
-
if (originalDescriptor) {
|
|
16430
|
-
const getter = originalDescriptor.get;
|
|
16431
|
-
const setter = originalDescriptor.set;
|
|
16432
|
-
if (getter) {
|
|
16433
|
-
originalDescriptor.get = function () {
|
|
16434
|
-
isMessageShown = showMessage(messageToDisplay, isMessageShown);
|
|
16435
|
-
return getter.call(this);
|
|
16436
|
-
};
|
|
16437
|
-
}
|
|
16438
|
-
if (setter) {
|
|
16439
|
-
originalDescriptor.set = function (value) {
|
|
16440
|
-
isMessageShown = showMessage(messageToDisplay, isMessageShown);
|
|
16441
|
-
setter.call(this, value);
|
|
16442
|
-
};
|
|
16443
|
-
}
|
|
16444
|
-
return originalDescriptor;
|
|
16445
|
-
}
|
|
16446
|
-
// the target doesn't contain a descriptor for that property, so create one
|
|
16447
|
-
// use backing field to set/get the value of the property to ensure there won't be infinite recursive calls
|
|
16448
|
-
const newKey = generateUniqueKey(target, key);
|
|
16449
|
-
Object.defineProperty(target, key, {
|
|
16450
|
-
configurable: true,
|
|
16451
|
-
enumerable: true,
|
|
16452
|
-
set(value) {
|
|
16453
|
-
isMessageShown = showMessage(messageToDisplay, isMessageShown);
|
|
16454
|
-
this[newKey] = value;
|
|
16455
|
-
},
|
|
16456
|
-
get() {
|
|
16457
|
-
isMessageShown = showMessage(messageToDisplay, isMessageShown);
|
|
16458
|
-
return this[newKey];
|
|
16459
|
-
}
|
|
16460
|
-
});
|
|
16461
|
-
};
|
|
16462
|
-
}
|
|
16463
|
-
/**
|
|
16464
|
-
* @hidden
|
|
16465
|
-
*/
|
|
16466
|
-
const generateUniqueKey = (target, key) => {
|
|
16467
|
-
let newKey = '_' + key;
|
|
16468
|
-
while (target.hasOwnProperty(newKey)) {
|
|
16469
|
-
newKey = '_' + newKey;
|
|
16470
|
-
}
|
|
16471
|
-
return newKey;
|
|
16472
|
-
};
|
|
16473
|
-
const ɵ0$3 = generateUniqueKey;
|
|
16474
|
-
/**
|
|
16475
|
-
* @hidden
|
|
16476
|
-
*/
|
|
16477
|
-
const showMessage = (message, isMessageShown) => {
|
|
16478
|
-
if (!isMessageShown && isDevMode()) {
|
|
16479
|
-
console.warn(message);
|
|
16480
|
-
}
|
|
16481
|
-
return true;
|
|
16482
|
-
};
|
|
16483
|
-
|
|
16484
16403
|
let NEXT_ID$t = 0;
|
|
16485
16404
|
/**
|
|
16486
16405
|
* The `<igx-drop-down-item>` is a container intended for row items in
|
|
@@ -16550,7 +16469,6 @@ IgxDropDownGroupComponent.propDecorators = {
|
|
|
16550
16469
|
};
|
|
16551
16470
|
|
|
16552
16471
|
let NEXT_ID$s = 0;
|
|
16553
|
-
let warningShown = false;
|
|
16554
16472
|
/**
|
|
16555
16473
|
* An abstract class defining a drop-down item:
|
|
16556
16474
|
* With properties / styles for selection, highlight, height
|
|
@@ -16615,8 +16533,6 @@ class IgxDropDownItemBaseDirective {
|
|
|
16615
16533
|
*/
|
|
16616
16534
|
get index() {
|
|
16617
16535
|
if (this._index === null) {
|
|
16618
|
-
warningShown = showMessage('IgxDropDownItemBaseDirective: Automatic index is deprecated.' +
|
|
16619
|
-
'Bind in the template instead using `<igx-drop-down-item [index]="i"` instead.`', warningShown);
|
|
16620
16536
|
return this.itemIndex;
|
|
16621
16537
|
}
|
|
16622
16538
|
return this._index;
|
|
@@ -19115,9 +19031,6 @@ IgxIconComponent.propDecorators = {
|
|
|
19115
19031
|
getInactive: [{ type: HostBinding, args: ['class.igx-icon--inactive',] }],
|
|
19116
19032
|
getColor: [{ type: HostBinding, args: ['style.color',] }]
|
|
19117
19033
|
};
|
|
19118
|
-
__decorate([
|
|
19119
|
-
DeprecateProperty('`color` is deprecated.')
|
|
19120
|
-
], IgxIconComponent.prototype, "color", void 0);
|
|
19121
19034
|
|
|
19122
19035
|
/**
|
|
19123
19036
|
* @hidden
|
|
@@ -23288,10 +23201,10 @@ class IgxRadioGroupDirective {
|
|
|
23288
23201
|
this._setRadioButtonsRequired();
|
|
23289
23202
|
}
|
|
23290
23203
|
/**
|
|
23291
|
-
* An @Input property that allows you to disable the radio group. By default it's false.
|
|
23292
|
-
*
|
|
23293
23204
|
* @deprecated in version 12.2.0
|
|
23294
23205
|
*
|
|
23206
|
+
* An input property that allows you to disable the radio group. By default it's false.
|
|
23207
|
+
*
|
|
23295
23208
|
* @example
|
|
23296
23209
|
* ```html
|
|
23297
23210
|
* <igx-radio-group disabled></igx-radio-group>
|
|
@@ -23305,10 +23218,10 @@ class IgxRadioGroupDirective {
|
|
|
23305
23218
|
this.setDisabledState(value);
|
|
23306
23219
|
}
|
|
23307
23220
|
/**
|
|
23308
|
-
* Sets/gets the position of the `label` in the child radio buttons.
|
|
23309
|
-
*
|
|
23310
23221
|
* @deprecated in version 12.2.0
|
|
23311
23222
|
*
|
|
23223
|
+
* Sets/gets the position of the `label` in the child radio buttons.
|
|
23224
|
+
*
|
|
23312
23225
|
* @remarks
|
|
23313
23226
|
* If not set, `labelPosition` will have value `"after"`.
|
|
23314
23227
|
*
|
|
@@ -23558,12 +23471,6 @@ IgxRadioGroupDirective.propDecorators = {
|
|
|
23558
23471
|
vertical: [{ type: HostBinding, args: ['class.igx-radio-group--vertical',] }],
|
|
23559
23472
|
alignment: [{ type: Input }]
|
|
23560
23473
|
};
|
|
23561
|
-
__decorate([
|
|
23562
|
-
DeprecateProperty('`disabled` is deprecated.')
|
|
23563
|
-
], IgxRadioGroupDirective.prototype, "disabled", null);
|
|
23564
|
-
__decorate([
|
|
23565
|
-
DeprecateProperty('`labelPosition` is deprecated.')
|
|
23566
|
-
], IgxRadioGroupDirective.prototype, "labelPosition", null);
|
|
23567
23474
|
/**
|
|
23568
23475
|
* @hidden
|
|
23569
23476
|
*/
|
|
@@ -34973,10 +34880,10 @@ class IgxComboAPIService {
|
|
|
34973
34880
|
return;
|
|
34974
34881
|
}
|
|
34975
34882
|
if (!selected) {
|
|
34976
|
-
this.combo.
|
|
34883
|
+
this.combo.select([itemID], false, event);
|
|
34977
34884
|
}
|
|
34978
34885
|
else {
|
|
34979
|
-
this.combo.
|
|
34886
|
+
this.combo.deselect([itemID], event);
|
|
34980
34887
|
}
|
|
34981
34888
|
}
|
|
34982
34889
|
is_item_selected(itemID) {
|
|
@@ -35074,7 +34981,7 @@ class IgxComboItemComponent extends IgxDropDownItemComponent {
|
|
|
35074
34981
|
IgxComboItemComponent.decorators = [
|
|
35075
34982
|
{ type: Component, args: [{
|
|
35076
34983
|
selector: 'igx-combo-item',
|
|
35077
|
-
template: "<ng-container *ngIf=\"!isHeader\">\n <igx-checkbox [checked]=\"selected\" [disableRipple]=\"true\" [disableTransitions]=\"disableTransitions\" [tabindex]=\"-1\" (click)=\"disableCheck($event)\" class=\"igx-combo__checkbox\"></igx-checkbox>\n</ng-container>\n<span class=\"igx-drop-down__inner\"><ng-content></ng-content></span>\n"
|
|
34984
|
+
template: "<ng-container *ngIf=\"!isHeader && !singleMode\">\n <igx-checkbox [checked]=\"selected\" [disableRipple]=\"true\" [disableTransitions]=\"disableTransitions\" [tabindex]=\"-1\" (click)=\"disableCheck($event)\" class=\"igx-combo__checkbox\"></igx-checkbox>\n</ng-container>\n<span class=\"igx-drop-down__inner\"><ng-content></ng-content></span>\n"
|
|
35078
34985
|
},] }
|
|
35079
34986
|
];
|
|
35080
34987
|
IgxComboItemComponent.ctorParameters = () => [
|
|
@@ -35084,311 +34991,25 @@ IgxComboItemComponent.ctorParameters = () => [
|
|
|
35084
34991
|
{ type: IgxSelectionAPIService, decorators: [{ type: Inject, args: [IgxSelectionAPIService,] }] }
|
|
35085
34992
|
];
|
|
35086
34993
|
IgxComboItemComponent.propDecorators = {
|
|
35087
|
-
itemHeight: [{ type: Input }, { type: HostBinding, args: ['style.height.px',] }]
|
|
34994
|
+
itemHeight: [{ type: Input }, { type: HostBinding, args: ['style.height.px',] }],
|
|
34995
|
+
singleMode: [{ type: Input }]
|
|
35088
34996
|
};
|
|
35089
34997
|
|
|
35090
34998
|
const IGX_COMBO_COMPONENT = new InjectionToken('IgxComboComponentToken');
|
|
35091
|
-
|
|
34999
|
+
let NEXT_ID$c = 0;
|
|
35092
35000
|
/**
|
|
35093
35001
|
* @hidden
|
|
35002
|
+
* The default number of items that should be in the combo's
|
|
35003
|
+
* drop-down list if no `[itemsMaxHeight]` is specified
|
|
35094
35004
|
*/
|
|
35095
|
-
|
|
35096
|
-
|
|
35097
|
-
|
|
35098
|
-
|
|
35099
|
-
|
|
35100
|
-
|
|
35101
|
-
/**
|
|
35102
|
-
* @inheritdoc
|
|
35103
|
-
*/
|
|
35104
|
-
clicked(event) {
|
|
35105
|
-
this.comboAPI.disableTransitions = false;
|
|
35106
|
-
this.comboAPI.add_custom_item();
|
|
35107
|
-
}
|
|
35108
|
-
}
|
|
35109
|
-
IgxComboAddItemComponent.decorators = [
|
|
35110
|
-
{ type: Component, args: [{
|
|
35111
|
-
selector: 'igx-combo-add-item',
|
|
35112
|
-
template: '<ng-content></ng-content>',
|
|
35113
|
-
providers: [{ provide: IgxComboItemComponent, useExisting: IgxComboAddItemComponent }]
|
|
35114
|
-
},] }
|
|
35115
|
-
];
|
|
35116
|
-
|
|
35117
|
-
/** @hidden */
|
|
35118
|
-
class IgxComboDropDownComponent extends IgxDropDownComponent {
|
|
35119
|
-
constructor(elementRef, cdr, platform, selection, combo, comboAPI, _displayDensityOptions) {
|
|
35120
|
-
super(elementRef, cdr, platform, selection, _displayDensityOptions);
|
|
35121
|
-
this.elementRef = elementRef;
|
|
35122
|
-
this.cdr = cdr;
|
|
35123
|
-
this.platform = platform;
|
|
35124
|
-
this.selection = selection;
|
|
35125
|
-
this.combo = combo;
|
|
35126
|
-
this.comboAPI = comboAPI;
|
|
35127
|
-
this._displayDensityOptions = _displayDensityOptions;
|
|
35128
|
-
/**
|
|
35129
|
-
* @hidden
|
|
35130
|
-
* @internal
|
|
35131
|
-
*/
|
|
35132
|
-
this.children = null;
|
|
35133
|
-
this.scrollHandler = () => {
|
|
35134
|
-
this.comboAPI.disableTransitions = true;
|
|
35135
|
-
};
|
|
35136
|
-
}
|
|
35137
|
-
/** @hidden @internal */
|
|
35138
|
-
get scrollContainer() {
|
|
35139
|
-
return this.virtDir.dc.location.nativeElement;
|
|
35140
|
-
}
|
|
35141
|
-
get isScrolledToLast() {
|
|
35142
|
-
const scrollTop = this.virtDir.scrollPosition;
|
|
35143
|
-
const scrollHeight = this.virtDir.getScroll().scrollHeight;
|
|
35144
|
-
return Math.floor(scrollTop + this.virtDir.igxForContainerSize) === scrollHeight;
|
|
35145
|
-
}
|
|
35146
|
-
get lastVisibleIndex() {
|
|
35147
|
-
return this.combo.totalItemCount ?
|
|
35148
|
-
Math.floor(this.combo.itemsMaxHeight / this.combo.itemHeight) :
|
|
35149
|
-
this.items.length - 1;
|
|
35150
|
-
}
|
|
35151
|
-
get sortedChildren() {
|
|
35152
|
-
if (this.children !== undefined) {
|
|
35153
|
-
return this.children.toArray()
|
|
35154
|
-
.sort((a, b) => a.index - b.index);
|
|
35155
|
-
}
|
|
35156
|
-
return null;
|
|
35157
|
-
}
|
|
35158
|
-
/**
|
|
35159
|
-
* Get all non-header items
|
|
35160
|
-
*
|
|
35161
|
-
* ```typescript
|
|
35162
|
-
* let myDropDownItems = this.dropdown.items;
|
|
35163
|
-
* ```
|
|
35164
|
-
*/
|
|
35165
|
-
get items() {
|
|
35166
|
-
const items = [];
|
|
35167
|
-
if (this.children !== undefined) {
|
|
35168
|
-
const sortedChildren = this.sortedChildren;
|
|
35169
|
-
for (const child of sortedChildren) {
|
|
35170
|
-
if (!child.isHeader) {
|
|
35171
|
-
items.push(child);
|
|
35172
|
-
}
|
|
35173
|
-
}
|
|
35174
|
-
}
|
|
35175
|
-
return items;
|
|
35176
|
-
}
|
|
35177
|
-
/**
|
|
35178
|
-
* @hidden @internal
|
|
35179
|
-
*/
|
|
35180
|
-
onFocus() {
|
|
35181
|
-
this.focusedItem = this._focusedItem || this.items[0];
|
|
35182
|
-
}
|
|
35183
|
-
/**
|
|
35184
|
-
* @hidden @internal
|
|
35185
|
-
*/
|
|
35186
|
-
onBlur(_evt) {
|
|
35187
|
-
this.focusedItem = null;
|
|
35188
|
-
}
|
|
35189
|
-
/**
|
|
35190
|
-
* @hidden @internal
|
|
35191
|
-
*/
|
|
35192
|
-
onToggleOpened() {
|
|
35193
|
-
this.opened.emit();
|
|
35194
|
-
}
|
|
35195
|
-
/**
|
|
35196
|
-
* @hidden
|
|
35197
|
-
*/
|
|
35198
|
-
navigateFirst() {
|
|
35199
|
-
this.navigateItem(this.virtDir.igxForOf.findIndex(e => !e.isHeader));
|
|
35200
|
-
}
|
|
35201
|
-
/**
|
|
35202
|
-
* @hidden
|
|
35203
|
-
*/
|
|
35204
|
-
navigatePrev() {
|
|
35205
|
-
if (this._focusedItem && this._focusedItem.index === 0 && this.virtDir.state.startIndex === 0) {
|
|
35206
|
-
this.combo.focusSearchInput(false);
|
|
35207
|
-
}
|
|
35208
|
-
else {
|
|
35209
|
-
super.navigatePrev();
|
|
35210
|
-
}
|
|
35211
|
-
}
|
|
35212
|
-
/**
|
|
35213
|
-
* @hidden
|
|
35214
|
-
*/
|
|
35215
|
-
navigateNext() {
|
|
35216
|
-
const lastIndex = this.combo.totalItemCount ? this.combo.totalItemCount - 1 : this.virtDir.igxForOf.length - 1;
|
|
35217
|
-
if (this._focusedItem && this._focusedItem.index === lastIndex) {
|
|
35218
|
-
this.focusAddItemButton();
|
|
35219
|
-
}
|
|
35220
|
-
else {
|
|
35221
|
-
super.navigateNext();
|
|
35222
|
-
}
|
|
35223
|
-
}
|
|
35224
|
-
/**
|
|
35225
|
-
* @hidden @internal
|
|
35226
|
-
*/
|
|
35227
|
-
selectItem(item) {
|
|
35228
|
-
if (item === null || item === undefined) {
|
|
35229
|
-
return;
|
|
35230
|
-
}
|
|
35231
|
-
this.comboAPI.set_selected_item(item.itemID);
|
|
35232
|
-
this._focusedItem = item;
|
|
35233
|
-
}
|
|
35234
|
-
/**
|
|
35235
|
-
* @hidden @internal
|
|
35236
|
-
*/
|
|
35237
|
-
updateScrollPosition() {
|
|
35238
|
-
this.virtDir.getScroll().scrollTop = this._scrollPosition;
|
|
35239
|
-
}
|
|
35240
|
-
/**
|
|
35241
|
-
* @hidden @internal
|
|
35242
|
-
*/
|
|
35243
|
-
onItemActionKey(key) {
|
|
35244
|
-
switch (key) {
|
|
35245
|
-
case DropDownActionKey.ENTER:
|
|
35246
|
-
this.handleEnter();
|
|
35247
|
-
break;
|
|
35248
|
-
case DropDownActionKey.SPACE:
|
|
35249
|
-
this.handleSpace();
|
|
35250
|
-
break;
|
|
35251
|
-
case DropDownActionKey.ESCAPE:
|
|
35252
|
-
this.close();
|
|
35253
|
-
}
|
|
35254
|
-
}
|
|
35255
|
-
ngAfterViewInit() {
|
|
35256
|
-
this.virtDir.getScroll().addEventListener('scroll', this.scrollHandler);
|
|
35257
|
-
}
|
|
35258
|
-
/**
|
|
35259
|
-
* @hidden @internal
|
|
35260
|
-
*/
|
|
35261
|
-
ngOnDestroy() {
|
|
35262
|
-
this.virtDir.getScroll().removeEventListener('scroll', this.scrollHandler);
|
|
35263
|
-
this.destroy$.next(true);
|
|
35264
|
-
this.destroy$.complete();
|
|
35265
|
-
}
|
|
35266
|
-
scrollToHiddenItem(_newItem) { }
|
|
35267
|
-
handleEnter() {
|
|
35268
|
-
if (this.isAddItemFocused()) {
|
|
35269
|
-
this.combo.addItemToCollection();
|
|
35270
|
-
}
|
|
35271
|
-
else {
|
|
35272
|
-
this.close();
|
|
35273
|
-
}
|
|
35274
|
-
}
|
|
35275
|
-
handleSpace() {
|
|
35276
|
-
if (this.isAddItemFocused()) {
|
|
35277
|
-
return;
|
|
35278
|
-
}
|
|
35279
|
-
else {
|
|
35280
|
-
this.selectItem(this.focusedItem);
|
|
35281
|
-
}
|
|
35282
|
-
}
|
|
35283
|
-
isAddItemFocused() {
|
|
35284
|
-
return this.focusedItem instanceof IgxComboAddItemComponent;
|
|
35285
|
-
}
|
|
35286
|
-
focusAddItemButton() {
|
|
35287
|
-
if (this.combo.isAddButtonVisible()) {
|
|
35288
|
-
this.focusedItem = this.items[this.items.length - 1];
|
|
35289
|
-
}
|
|
35290
|
-
}
|
|
35291
|
-
}
|
|
35292
|
-
IgxComboDropDownComponent.decorators = [
|
|
35293
|
-
{ type: Component, args: [{
|
|
35294
|
-
selector: 'igx-combo-drop-down',
|
|
35295
|
-
template: "<div class=\"igx-drop-down__list\" [style.width]=\"width\"\nigxToggle\n(appended)=\"onToggleContentAppended($event)\"\n(opening)=\"onToggleOpening($event)\" (opened)=\"onToggleOpened()\"\n(closing)=\"onToggleClosing($event)\" (closed)=\"onToggleClosed()\">\n <div class=\"igx-drop-down__list-scroll\" #scrollContainer [attr.id]=\"this.listId\" role=\"listbox\" [attr.aria-label]=\"this.listId\"\n [style.height]=\"height\"\n [style.maxHeight]=\"maxHeight\">\n <ng-container *ngIf=\"!collapsed\">\n <ng-content></ng-content>\n </ng-container>\n </div>\n</div>\n",
|
|
35296
|
-
providers: [{ provide: IGX_DROPDOWN_BASE, useExisting: IgxComboDropDownComponent }]
|
|
35297
|
-
},] }
|
|
35298
|
-
];
|
|
35299
|
-
IgxComboDropDownComponent.ctorParameters = () => [
|
|
35300
|
-
{ type: ElementRef },
|
|
35301
|
-
{ type: ChangeDetectorRef },
|
|
35302
|
-
{ type: PlatformUtil },
|
|
35303
|
-
{ type: IgxSelectionAPIService },
|
|
35304
|
-
{ type: undefined, decorators: [{ type: Inject, args: [IGX_COMBO_COMPONENT,] }] },
|
|
35305
|
-
{ type: IgxComboAPIService },
|
|
35306
|
-
{ type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [DisplayDensityToken,] }] }
|
|
35307
|
-
];
|
|
35308
|
-
IgxComboDropDownComponent.propDecorators = {
|
|
35309
|
-
children: [{ type: ContentChildren, args: [IgxComboItemComponent, { descendants: true },] }]
|
|
35005
|
+
const itemsInContainer = 10; // TODO: make private readonly
|
|
35006
|
+
/** @hidden @internal */
|
|
35007
|
+
const ItemHeights = {
|
|
35008
|
+
comfortable: 40,
|
|
35009
|
+
cosy: 32,
|
|
35010
|
+
compact: 28,
|
|
35310
35011
|
};
|
|
35311
|
-
|
|
35312
|
-
/**
|
|
35313
|
-
* @hidden
|
|
35314
|
-
*/
|
|
35315
|
-
class IgxComboFilteringPipe {
|
|
35316
|
-
transform(collection, searchValue, displayKey, shouldFilter, filteringOptions) {
|
|
35317
|
-
if (!collection) {
|
|
35318
|
-
return [];
|
|
35319
|
-
}
|
|
35320
|
-
if (!searchValue || !shouldFilter) {
|
|
35321
|
-
return collection;
|
|
35322
|
-
}
|
|
35323
|
-
else {
|
|
35324
|
-
const searchTerm = filteringOptions.caseSensitive ? searchValue.trim() : searchValue.toLowerCase().trim();
|
|
35325
|
-
if (displayKey != null) {
|
|
35326
|
-
return collection.filter(e => filteringOptions.caseSensitive ? e[displayKey].includes(searchTerm) :
|
|
35327
|
-
e[displayKey].toString().toLowerCase().includes(searchTerm));
|
|
35328
|
-
}
|
|
35329
|
-
else {
|
|
35330
|
-
return collection.filter(e => filteringOptions.caseSensitive ? e.includes(searchTerm) :
|
|
35331
|
-
e.toLowerCase().includes(searchTerm));
|
|
35332
|
-
}
|
|
35333
|
-
}
|
|
35334
|
-
}
|
|
35335
|
-
}
|
|
35336
|
-
IgxComboFilteringPipe.decorators = [
|
|
35337
|
-
{ type: Pipe, args: [{
|
|
35338
|
-
name: 'comboFiltering'
|
|
35339
|
-
},] }
|
|
35340
|
-
];
|
|
35341
|
-
/**
|
|
35342
|
-
* @hidden
|
|
35343
|
-
*/
|
|
35344
|
-
class IgxComboGroupingPipe {
|
|
35345
|
-
constructor(combo) {
|
|
35346
|
-
this.combo = combo;
|
|
35347
|
-
}
|
|
35348
|
-
transform(collection, groupKey, valueKey) {
|
|
35349
|
-
this.combo.filteredData = collection;
|
|
35350
|
-
if ((!groupKey && groupKey !== 0) || !collection.length) {
|
|
35351
|
-
return collection;
|
|
35352
|
-
}
|
|
35353
|
-
const sorted = DataUtil.sort(cloneArray(collection), [{
|
|
35354
|
-
fieldName: groupKey,
|
|
35355
|
-
dir: SortingDirection.Asc,
|
|
35356
|
-
ignoreCase: true,
|
|
35357
|
-
strategy: DefaultSortingStrategy.instance()
|
|
35358
|
-
}]);
|
|
35359
|
-
const data = cloneArray(sorted);
|
|
35360
|
-
let inserts = 0;
|
|
35361
|
-
let currentHeader = null;
|
|
35362
|
-
for (let i = 0; i < sorted.length; i++) {
|
|
35363
|
-
let insertFlag = 0;
|
|
35364
|
-
if (currentHeader !== sorted[i][groupKey]) {
|
|
35365
|
-
currentHeader = sorted[i][groupKey];
|
|
35366
|
-
insertFlag = 1;
|
|
35367
|
-
}
|
|
35368
|
-
if (insertFlag) {
|
|
35369
|
-
data.splice(i + inserts, 0, {
|
|
35370
|
-
[valueKey]: currentHeader,
|
|
35371
|
-
[groupKey]: currentHeader,
|
|
35372
|
-
isHeader: true
|
|
35373
|
-
});
|
|
35374
|
-
inserts++;
|
|
35375
|
-
}
|
|
35376
|
-
}
|
|
35377
|
-
return data;
|
|
35378
|
-
}
|
|
35379
|
-
}
|
|
35380
|
-
IgxComboGroupingPipe.decorators = [
|
|
35381
|
-
{ type: Pipe, args: [{
|
|
35382
|
-
name: 'comboGrouping'
|
|
35383
|
-
},] }
|
|
35384
|
-
];
|
|
35385
|
-
IgxComboGroupingPipe.ctorParameters = () => [
|
|
35386
|
-
{ type: undefined, decorators: [{ type: Inject, args: [IGX_COMBO_COMPONENT,] }] }
|
|
35387
|
-
];
|
|
35388
|
-
|
|
35389
|
-
/**
|
|
35390
|
-
* @hidden
|
|
35391
|
-
*/
|
|
35012
|
+
/** @hidden @internal */
|
|
35392
35013
|
var DataTypes;
|
|
35393
35014
|
(function (DataTypes) {
|
|
35394
35015
|
DataTypes["EMPTY"] = "empty";
|
|
@@ -35396,20 +35017,6 @@ var DataTypes;
|
|
|
35396
35017
|
DataTypes["COMPLEX"] = "complex";
|
|
35397
35018
|
DataTypes["PRIMARYKEY"] = "valueKey";
|
|
35398
35019
|
})(DataTypes || (DataTypes = {}));
|
|
35399
|
-
/**
|
|
35400
|
-
* @hidden
|
|
35401
|
-
*/
|
|
35402
|
-
const ItemHeights = {
|
|
35403
|
-
comfortable: 40,
|
|
35404
|
-
cosy: 32,
|
|
35405
|
-
compact: 28,
|
|
35406
|
-
};
|
|
35407
|
-
/**
|
|
35408
|
-
* @hidden
|
|
35409
|
-
* The default number of items that should be in the combo's
|
|
35410
|
-
* drop-down list if no `[itemsMaxHeight]` is specified
|
|
35411
|
-
*/
|
|
35412
|
-
const itemsInContainer = 10;
|
|
35413
35020
|
var IgxComboState;
|
|
35414
35021
|
(function (IgxComboState) {
|
|
35415
35022
|
/**
|
|
@@ -35425,52 +35032,31 @@ var IgxComboState;
|
|
|
35425
35032
|
*/
|
|
35426
35033
|
IgxComboState[IgxComboState["INVALID"] = 2] = "INVALID";
|
|
35427
35034
|
})(IgxComboState || (IgxComboState = {}));
|
|
35428
|
-
|
|
35429
|
-
|
|
35430
|
-
*
|
|
35431
|
-
* @hidden
|
|
35432
|
-
*/
|
|
35433
|
-
const diffInSets = (set1, set2) => {
|
|
35434
|
-
const results = [];
|
|
35435
|
-
set1.forEach(entry => {
|
|
35436
|
-
if (!set2.has(entry)) {
|
|
35437
|
-
results.push(entry);
|
|
35438
|
-
}
|
|
35439
|
-
});
|
|
35440
|
-
return results;
|
|
35441
|
-
};
|
|
35442
|
-
const ɵ0$1 = diffInSets;
|
|
35443
|
-
let NEXT_ID$c = 0;
|
|
35444
|
-
/**
|
|
35445
|
-
* Represents a drop-down list that provides editable functionalities, allowing users to choose an option from a predefined list.
|
|
35446
|
-
*
|
|
35447
|
-
* @igxModule IgxComboModule
|
|
35448
|
-
* @igxTheme igx-combo-theme
|
|
35449
|
-
* @igxKeywords combobox, combo selection
|
|
35450
|
-
* @igxGroup Grids & Lists
|
|
35451
|
-
*
|
|
35452
|
-
* @remarks
|
|
35453
|
-
* It provides the ability to filter items as well as perform single or multiple seleciton with the provided data.
|
|
35454
|
-
* Additionally, it exposes keyboard navigation and custom styling capabilities.
|
|
35455
|
-
* @example
|
|
35456
|
-
* ```html
|
|
35457
|
-
* <igx-combo [itemsMaxHeight]="250" [data]="locationData"
|
|
35458
|
-
* [displayKey]="'field'" [valueKey]="'field'"
|
|
35459
|
-
* placeholder="Location(s)" searchPlaceholder="Search...">
|
|
35460
|
-
* </igx-combo>
|
|
35461
|
-
* ```
|
|
35462
|
-
*/
|
|
35463
|
-
class IgxComboComponent extends DisplayDensityBase {
|
|
35464
|
-
constructor(elementRef, cdr, selection, comboAPI, _iconService, _displayDensityOptions, _inputGroupType, _injector) {
|
|
35035
|
+
class IgxComboBaseDirective extends DisplayDensityBase {
|
|
35036
|
+
constructor(elementRef, cdr, selectionService, comboAPI, _iconService, _displayDensityOptions, _inputGroupType, _injector) {
|
|
35465
35037
|
super(_displayDensityOptions);
|
|
35466
35038
|
this.elementRef = elementRef;
|
|
35467
35039
|
this.cdr = cdr;
|
|
35468
|
-
this.
|
|
35040
|
+
this.selectionService = selectionService;
|
|
35469
35041
|
this.comboAPI = comboAPI;
|
|
35470
35042
|
this._iconService = _iconService;
|
|
35471
35043
|
this._displayDensityOptions = _displayDensityOptions;
|
|
35472
35044
|
this._inputGroupType = _inputGroupType;
|
|
35473
35045
|
this._injector = _injector;
|
|
35046
|
+
/**
|
|
35047
|
+
* Defines whether the caseSensitive icon should be shown in the search input
|
|
35048
|
+
*
|
|
35049
|
+
* ```typescript
|
|
35050
|
+
* // get
|
|
35051
|
+
* let myComboShowSearchCaseIcon = this.combo.showSearchCaseIcon;
|
|
35052
|
+
* ```
|
|
35053
|
+
*
|
|
35054
|
+
* ```html
|
|
35055
|
+
* <!--set-->
|
|
35056
|
+
* <igx-combo [showSearchCaseIcon]='true'></igx-combo>
|
|
35057
|
+
* ```
|
|
35058
|
+
*/
|
|
35059
|
+
this.showSearchCaseIcon = false;
|
|
35474
35060
|
/**
|
|
35475
35061
|
* Set custom overlay settings that control how the combo's list of items is displayed.
|
|
35476
35062
|
* Set:
|
|
@@ -35489,180 +35075,65 @@ class IgxComboComponent extends DisplayDensityBase {
|
|
|
35489
35075
|
*/
|
|
35490
35076
|
this.overlaySettings = null;
|
|
35491
35077
|
/**
|
|
35492
|
-
*
|
|
35493
|
-
*/
|
|
35494
|
-
this.searchInput = null;
|
|
35495
|
-
/**
|
|
35496
|
-
* The custom template, if any, that should be used when rendering ITEMS in the combo list
|
|
35078
|
+
* Gets/gets combo id.
|
|
35497
35079
|
*
|
|
35498
35080
|
* ```typescript
|
|
35499
|
-
* //
|
|
35500
|
-
*
|
|
35501
|
-
* myComponent.combo.itemTemplate = myCustomTemplate;
|
|
35081
|
+
* // get
|
|
35082
|
+
* let id = this.combo.id;
|
|
35502
35083
|
* ```
|
|
35084
|
+
*
|
|
35503
35085
|
* ```html
|
|
35504
|
-
* <!--
|
|
35505
|
-
*
|
|
35506
|
-
* ...
|
|
35507
|
-
* <ng-template igxComboItem>
|
|
35508
|
-
* <div class="custom-item" let-item let-key="valueKey">
|
|
35509
|
-
* <div class="custom-item__name">{{ item[key] }}</div>
|
|
35510
|
-
* <div class="custom-item__cost">{{ item.cost }}</div>
|
|
35511
|
-
* </div>
|
|
35512
|
-
* </ng-template>
|
|
35513
|
-
* </igx-combo>
|
|
35086
|
+
* <!--set-->
|
|
35087
|
+
* <igx-combo [id]='combo1'></igx-combo>
|
|
35514
35088
|
* ```
|
|
35515
35089
|
*/
|
|
35516
|
-
this.
|
|
35090
|
+
this.id = `igx-combo-${NEXT_ID$c++}`;
|
|
35517
35091
|
/**
|
|
35518
|
-
*
|
|
35092
|
+
* Controls whether custom values can be added to the collection
|
|
35519
35093
|
*
|
|
35520
35094
|
* ```typescript
|
|
35521
|
-
* //
|
|
35522
|
-
*
|
|
35523
|
-
* myComponent.combo.headerTemplate = myCustomTemplate;
|
|
35095
|
+
* // get
|
|
35096
|
+
* let comboAllowsCustomValues = this.combo.allowCustomValues;
|
|
35524
35097
|
* ```
|
|
35098
|
+
*
|
|
35525
35099
|
* ```html
|
|
35526
|
-
* <!--
|
|
35527
|
-
*
|
|
35528
|
-
* ...
|
|
35529
|
-
* <ng-template igxComboHeader>
|
|
35530
|
-
* <div class="combo__header">
|
|
35531
|
-
* This is a custom header
|
|
35532
|
-
* </div>
|
|
35533
|
-
* </ng-template>
|
|
35534
|
-
* </igx-combo>
|
|
35100
|
+
* <!--set-->
|
|
35101
|
+
* <igx-combo [allowCustomValues]='true'></igx-combo>
|
|
35535
35102
|
* ```
|
|
35536
35103
|
*/
|
|
35537
|
-
this.
|
|
35104
|
+
this.allowCustomValues = false;
|
|
35538
35105
|
/**
|
|
35539
|
-
*
|
|
35106
|
+
* Determines which column in the data source is used to determine the value.
|
|
35540
35107
|
*
|
|
35541
35108
|
* ```typescript
|
|
35542
|
-
* //
|
|
35543
|
-
*
|
|
35544
|
-
* myComponent.combo.footerTemplate = myCustomTemplate;
|
|
35109
|
+
* // get
|
|
35110
|
+
* let myComboValueKey = this.combo.valueKey;
|
|
35545
35111
|
* ```
|
|
35112
|
+
*
|
|
35546
35113
|
* ```html
|
|
35547
|
-
* <!--
|
|
35548
|
-
*
|
|
35549
|
-
* ...
|
|
35550
|
-
* <ng-template igxComboFooter>
|
|
35551
|
-
* <div class="combo__footer">
|
|
35552
|
-
* This is a custom footer
|
|
35553
|
-
* </div>
|
|
35554
|
-
* </ng-template>
|
|
35555
|
-
* </igx-combo>
|
|
35114
|
+
* <!--set-->
|
|
35115
|
+
* <igx-combo [valueKey]='myKey'></igx-combo>
|
|
35556
35116
|
* ```
|
|
35557
35117
|
*/
|
|
35558
|
-
this.
|
|
35118
|
+
this.valueKey = null;
|
|
35559
35119
|
/**
|
|
35560
|
-
*
|
|
35561
|
-
*
|
|
35562
|
-
* ```typescript
|
|
35563
|
-
* // Set in typescript
|
|
35564
|
-
* const myCustomTemplate: TemplateRef<any> = myComponent.customTemplate;
|
|
35565
|
-
* myComponent.combo.headerItemTemplate = myCustomTemplate;
|
|
35566
|
-
* ```
|
|
35120
|
+
* An @Input property that enabled/disables filtering in the list. The default is `true`.
|
|
35567
35121
|
* ```html
|
|
35568
|
-
*
|
|
35569
|
-
* <igx-combo #combo>
|
|
35570
|
-
* ...
|
|
35571
|
-
* <ng-template igxComboHeaderItem let-item let-key="groupKey">
|
|
35572
|
-
* <div class="custom-item--group">Group header for {{ item[key] }}</div>
|
|
35573
|
-
* </ng-template>
|
|
35574
|
-
* </igx-combo>
|
|
35575
|
-
* ```
|
|
35576
|
-
*/
|
|
35577
|
-
this.headerItemTemplate = null;
|
|
35578
|
-
/**
|
|
35579
|
-
* The custom template, if any, that should be used when rendering the ADD BUTTON in the combo drop down
|
|
35580
|
-
*
|
|
35581
|
-
* ```typescript
|
|
35582
|
-
* // Set in typescript
|
|
35583
|
-
* const myCustomTemplate: TemplateRef<any> = myComponent.customTemplate;
|
|
35584
|
-
* myComponent.combo.addItemTemplate = myCustomTemplate;
|
|
35585
|
-
* ```
|
|
35586
|
-
* ```html
|
|
35587
|
-
* <!-- Set in markup -->
|
|
35588
|
-
* <igx-combo #combo>
|
|
35589
|
-
* ...
|
|
35590
|
-
* <ng-template igxComboAddItem>
|
|
35591
|
-
* <button class="combo__add-button">
|
|
35592
|
-
* Click to add item
|
|
35593
|
-
* </button>
|
|
35594
|
-
* </ng-template>
|
|
35595
|
-
* </igx-combo>
|
|
35596
|
-
* ```
|
|
35597
|
-
*/
|
|
35598
|
-
this.addItemTemplate = null;
|
|
35599
|
-
/**
|
|
35600
|
-
* The custom template, if any, that should be used when rendering the ADD BUTTON in the combo drop down
|
|
35601
|
-
*
|
|
35602
|
-
* ```typescript
|
|
35603
|
-
* // Set in typescript
|
|
35604
|
-
* const myCustomTemplate: TemplateRef<any> = myComponent.customTemplate;
|
|
35605
|
-
* myComponent.combo.emptyTemplate = myCustomTemplate;
|
|
35606
|
-
* ```
|
|
35607
|
-
* ```html
|
|
35608
|
-
* <!-- Set in markup -->
|
|
35609
|
-
* <igx-combo #combo>
|
|
35610
|
-
* ...
|
|
35611
|
-
* <ng-template igxComboEmpty>
|
|
35612
|
-
* <div class="combo--empty">
|
|
35613
|
-
* There are no items to display
|
|
35614
|
-
* </div>
|
|
35615
|
-
* </ng-template>
|
|
35616
|
-
* </igx-combo>
|
|
35617
|
-
* ```
|
|
35618
|
-
*/
|
|
35619
|
-
this.emptyTemplate = null;
|
|
35620
|
-
/**
|
|
35621
|
-
* The custom template, if any, that should be used when rendering the combo TOGGLE(open/close) button
|
|
35622
|
-
*
|
|
35623
|
-
* ```typescript
|
|
35624
|
-
* // Set in typescript
|
|
35625
|
-
* const myCustomTemplate: TemplateRef<any> = myComponent.customTemplate;
|
|
35626
|
-
* myComponent.combo.toggleIconTemplate = myCustomTemplate;
|
|
35627
|
-
* ```
|
|
35628
|
-
* ```html
|
|
35629
|
-
* <!-- Set in markup -->
|
|
35630
|
-
* <igx-combo #combo>
|
|
35631
|
-
* ...
|
|
35632
|
-
* <ng-template igxComboToggleIcon let-collapsed>
|
|
35633
|
-
* <igx-icon>{{ collapsed ? 'remove_circle' : 'remove_circle_outline'}}</igx-icon>
|
|
35634
|
-
* </ng-template>
|
|
35635
|
-
* </igx-combo>
|
|
35636
|
-
* ```
|
|
35637
|
-
*/
|
|
35638
|
-
this.toggleIconTemplate = null;
|
|
35639
|
-
/**
|
|
35640
|
-
* The custom template, if any, that should be used when rendering the combo CLEAR button
|
|
35641
|
-
*
|
|
35642
|
-
* ```typescript
|
|
35643
|
-
* // Set in typescript
|
|
35644
|
-
* const myCustomTemplate: TemplateRef<any> = myComponent.customTemplate;
|
|
35645
|
-
* myComponent.combo.clearIconTemplate = myCustomTemplate;
|
|
35646
|
-
* ```
|
|
35647
|
-
* ```html
|
|
35648
|
-
* <!-- Set in markup -->
|
|
35649
|
-
* <igx-combo #combo>
|
|
35650
|
-
* ...
|
|
35651
|
-
* <ng-template igxComboClearIcon>
|
|
35652
|
-
* <igx-icon>clear</igx-icon>
|
|
35653
|
-
* </ng-template>
|
|
35654
|
-
* </igx-combo>
|
|
35122
|
+
* <igx-combo [filterable]="false">
|
|
35655
35123
|
* ```
|
|
35656
35124
|
*/
|
|
35657
|
-
this.
|
|
35125
|
+
this.filterable = true;
|
|
35126
|
+
/** @hidden @internal */
|
|
35127
|
+
this.cssClass = 'igx-combo'; // Independent of display density for the time being
|
|
35128
|
+
/** @hidden @internal */
|
|
35129
|
+
this.role = 'combobox';
|
|
35658
35130
|
/**
|
|
35659
|
-
*
|
|
35660
|
-
*
|
|
35131
|
+
* An @Input property that enabled/disables combo. The default is `false`.
|
|
35661
35132
|
* ```html
|
|
35662
|
-
* <igx-combo
|
|
35133
|
+
* <igx-combo [disabled]="'true'">
|
|
35663
35134
|
* ```
|
|
35664
35135
|
*/
|
|
35665
|
-
this.
|
|
35136
|
+
this.disabled = false;
|
|
35666
35137
|
/**
|
|
35667
35138
|
* Emitted before the dropdown is opened
|
|
35668
35139
|
*
|
|
@@ -35720,142 +35191,196 @@ class IgxComboComponent extends DisplayDensityBase {
|
|
|
35720
35191
|
*/
|
|
35721
35192
|
this.dataPreLoad = new EventEmitter();
|
|
35722
35193
|
/**
|
|
35723
|
-
*
|
|
35194
|
+
* The custom template, if any, that should be used when rendering ITEMS in the combo list
|
|
35724
35195
|
*
|
|
35725
35196
|
* ```typescript
|
|
35726
|
-
* //
|
|
35727
|
-
*
|
|
35197
|
+
* // Set in typescript
|
|
35198
|
+
* const myCustomTemplate: TemplateRef<any> = myComponent.customTemplate;
|
|
35199
|
+
* myComponent.combo.itemTemplate = myCustomTemplate;
|
|
35728
35200
|
* ```
|
|
35729
|
-
*
|
|
35730
35201
|
* ```html
|
|
35731
|
-
* <!--
|
|
35732
|
-
*
|
|
35202
|
+
* <!-- Set in markup -->
|
|
35203
|
+
* <igx-combo #combo>
|
|
35204
|
+
* ...
|
|
35205
|
+
* <ng-template igxComboItem>
|
|
35206
|
+
* <div class="custom-item" let-item let-key="valueKey">
|
|
35207
|
+
* <div class="custom-item__name">{{ item[key] }}</div>
|
|
35208
|
+
* <div class="custom-item__cost">{{ item.cost }}</div>
|
|
35209
|
+
* </div>
|
|
35210
|
+
* </ng-template>
|
|
35211
|
+
* </igx-combo>
|
|
35733
35212
|
* ```
|
|
35734
35213
|
*/
|
|
35735
|
-
this.
|
|
35736
|
-
/**
|
|
35737
|
-
* @hidden @internal
|
|
35738
|
-
*/
|
|
35739
|
-
this.cssClass = 'igx-combo'; // Independent of display density, at the time being
|
|
35740
|
-
/**
|
|
35741
|
-
* @hidden @internal
|
|
35742
|
-
*/
|
|
35743
|
-
this.role = 'combobox';
|
|
35214
|
+
this.itemTemplate = null;
|
|
35744
35215
|
/**
|
|
35745
|
-
*
|
|
35216
|
+
* The custom template, if any, that should be used when rendering the HEADER for the combo items list
|
|
35746
35217
|
*
|
|
35747
35218
|
* ```typescript
|
|
35748
|
-
* //
|
|
35749
|
-
*
|
|
35219
|
+
* // Set in typescript
|
|
35220
|
+
* const myCustomTemplate: TemplateRef<any> = myComponent.customTemplate;
|
|
35221
|
+
* myComponent.combo.headerTemplate = myCustomTemplate;
|
|
35750
35222
|
* ```
|
|
35751
|
-
*
|
|
35752
35223
|
* ```html
|
|
35753
|
-
* <!--
|
|
35754
|
-
*
|
|
35224
|
+
* <!-- Set in markup -->
|
|
35225
|
+
* <igx-combo #combo>
|
|
35226
|
+
* ...
|
|
35227
|
+
* <ng-template igxComboHeader>
|
|
35228
|
+
* <div class="combo__header">
|
|
35229
|
+
* This is a custom header
|
|
35230
|
+
* </div>
|
|
35231
|
+
* </ng-template>
|
|
35232
|
+
* </igx-combo>
|
|
35755
35233
|
* ```
|
|
35756
35234
|
*/
|
|
35757
|
-
this.
|
|
35235
|
+
this.headerTemplate = null;
|
|
35758
35236
|
/**
|
|
35759
|
-
*
|
|
35237
|
+
* The custom template, if any, that should be used when rendering the FOOTER for the combo items list
|
|
35760
35238
|
*
|
|
35761
35239
|
* ```typescript
|
|
35762
|
-
* //
|
|
35763
|
-
*
|
|
35240
|
+
* // Set in typescript
|
|
35241
|
+
* const myCustomTemplate: TemplateRef<any> = myComponent.customTemplate;
|
|
35242
|
+
* myComponent.combo.footerTemplate = myCustomTemplate;
|
|
35764
35243
|
* ```
|
|
35765
|
-
*
|
|
35766
35244
|
* ```html
|
|
35767
|
-
* <!--
|
|
35768
|
-
*
|
|
35245
|
+
* <!-- Set in markup -->
|
|
35246
|
+
* <igx-combo #combo>
|
|
35247
|
+
* ...
|
|
35248
|
+
* <ng-template igxComboFooter>
|
|
35249
|
+
* <div class="combo__footer">
|
|
35250
|
+
* This is a custom footer
|
|
35251
|
+
* </div>
|
|
35252
|
+
* </ng-template>
|
|
35253
|
+
* </igx-combo>
|
|
35769
35254
|
* ```
|
|
35770
35255
|
*/
|
|
35771
|
-
this.
|
|
35256
|
+
this.footerTemplate = null;
|
|
35772
35257
|
/**
|
|
35773
|
-
*
|
|
35258
|
+
* The custom template, if any, that should be used when rendering HEADER ITEMS for groups in the combo list
|
|
35774
35259
|
*
|
|
35775
35260
|
* ```typescript
|
|
35776
|
-
* //
|
|
35777
|
-
*
|
|
35261
|
+
* // Set in typescript
|
|
35262
|
+
* const myCustomTemplate: TemplateRef<any> = myComponent.customTemplate;
|
|
35263
|
+
* myComponent.combo.headerItemTemplate = myCustomTemplate;
|
|
35778
35264
|
* ```
|
|
35779
|
-
*
|
|
35780
35265
|
* ```html
|
|
35781
|
-
* <!--
|
|
35782
|
-
*
|
|
35266
|
+
* <!-- Set in markup -->
|
|
35267
|
+
* <igx-combo #combo>
|
|
35268
|
+
* ...
|
|
35269
|
+
* <ng-template igxComboHeaderItem let-item let-key="groupKey">
|
|
35270
|
+
* <div class="custom-item--group">Group header for {{ item[key] }}</div>
|
|
35271
|
+
* </ng-template>
|
|
35272
|
+
* </igx-combo>
|
|
35783
35273
|
* ```
|
|
35784
35274
|
*/
|
|
35785
|
-
this.
|
|
35275
|
+
this.headerItemTemplate = null;
|
|
35786
35276
|
/**
|
|
35787
|
-
*
|
|
35277
|
+
* The custom template, if any, that should be used when rendering the ADD BUTTON in the combo drop down
|
|
35788
35278
|
*
|
|
35789
35279
|
* ```typescript
|
|
35790
|
-
* //
|
|
35791
|
-
*
|
|
35280
|
+
* // Set in typescript
|
|
35281
|
+
* const myCustomTemplate: TemplateRef<any> = myComponent.customTemplate;
|
|
35282
|
+
* myComponent.combo.addItemTemplate = myCustomTemplate;
|
|
35792
35283
|
* ```
|
|
35793
|
-
*
|
|
35794
35284
|
* ```html
|
|
35795
|
-
* <!--
|
|
35796
|
-
*
|
|
35285
|
+
* <!-- Set in markup -->
|
|
35286
|
+
* <igx-combo #combo>
|
|
35287
|
+
* ...
|
|
35288
|
+
* <ng-template igxComboAddItem>
|
|
35289
|
+
* <button class="combo__add-button">
|
|
35290
|
+
* Click to add item
|
|
35291
|
+
* </button>
|
|
35292
|
+
* </ng-template>
|
|
35293
|
+
* </igx-combo>
|
|
35797
35294
|
* ```
|
|
35798
35295
|
*/
|
|
35799
|
-
this.
|
|
35296
|
+
this.addItemTemplate = null;
|
|
35800
35297
|
/**
|
|
35801
|
-
*
|
|
35298
|
+
* The custom template, if any, that should be used when rendering the ADD BUTTON in the combo drop down
|
|
35299
|
+
*
|
|
35300
|
+
* ```typescript
|
|
35301
|
+
* // Set in typescript
|
|
35302
|
+
* const myCustomTemplate: TemplateRef<any> = myComponent.customTemplate;
|
|
35303
|
+
* myComponent.combo.emptyTemplate = myCustomTemplate;
|
|
35304
|
+
* ```
|
|
35802
35305
|
* ```html
|
|
35803
|
-
*
|
|
35306
|
+
* <!-- Set in markup -->
|
|
35307
|
+
* <igx-combo #combo>
|
|
35308
|
+
* ...
|
|
35309
|
+
* <ng-template igxComboEmpty>
|
|
35310
|
+
* <div class="combo--empty">
|
|
35311
|
+
* There are no items to display
|
|
35312
|
+
* </div>
|
|
35313
|
+
* </ng-template>
|
|
35314
|
+
* </igx-combo>
|
|
35804
35315
|
* ```
|
|
35805
35316
|
*/
|
|
35806
|
-
this.
|
|
35317
|
+
this.emptyTemplate = null;
|
|
35807
35318
|
/**
|
|
35808
|
-
*
|
|
35319
|
+
* The custom template, if any, that should be used when rendering the combo TOGGLE(open/close) button
|
|
35320
|
+
*
|
|
35321
|
+
* ```typescript
|
|
35322
|
+
* // Set in typescript
|
|
35323
|
+
* const myCustomTemplate: TemplateRef<any> = myComponent.customTemplate;
|
|
35324
|
+
* myComponent.combo.toggleIconTemplate = myCustomTemplate;
|
|
35325
|
+
* ```
|
|
35809
35326
|
* ```html
|
|
35810
|
-
*
|
|
35327
|
+
* <!-- Set in markup -->
|
|
35328
|
+
* <igx-combo #combo>
|
|
35329
|
+
* ...
|
|
35330
|
+
* <ng-template igxComboToggleIcon let-collapsed>
|
|
35331
|
+
* <igx-icon>{{ collapsed ? 'remove_circle' : 'remove_circle_outline'}}</igx-icon>
|
|
35332
|
+
* </ng-template>
|
|
35333
|
+
* </igx-combo>
|
|
35811
35334
|
* ```
|
|
35812
35335
|
*/
|
|
35813
|
-
this.
|
|
35336
|
+
this.toggleIconTemplate = null;
|
|
35814
35337
|
/**
|
|
35815
|
-
*
|
|
35816
|
-
*
|
|
35817
|
-
*
|
|
35338
|
+
* The custom template, if any, that should be used when rendering the combo CLEAR button
|
|
35339
|
+
*
|
|
35340
|
+
* ```typescript
|
|
35341
|
+
* // Set in typescript
|
|
35342
|
+
* const myCustomTemplate: TemplateRef<any> = myComponent.customTemplate;
|
|
35343
|
+
* myComponent.combo.clearIconTemplate = myCustomTemplate;
|
|
35344
|
+
* ```
|
|
35345
|
+
* ```html
|
|
35346
|
+
* <!-- Set in markup -->
|
|
35347
|
+
* <igx-combo #combo>
|
|
35348
|
+
* ...
|
|
35349
|
+
* <ng-template igxComboClearIcon>
|
|
35350
|
+
* <igx-icon>clear</igx-icon>
|
|
35351
|
+
* </ng-template>
|
|
35352
|
+
* </igx-combo>
|
|
35353
|
+
* ```
|
|
35818
35354
|
*/
|
|
35819
|
-
this.
|
|
35355
|
+
this.clearIconTemplate = null;
|
|
35356
|
+
/** @hidden @internal */
|
|
35357
|
+
this.searchInput = null;
|
|
35820
35358
|
this.dropdownContainer = null;
|
|
35821
|
-
/**
|
|
35822
|
-
* @hidden @internal
|
|
35823
|
-
*/
|
|
35359
|
+
/** @hidden @internal */
|
|
35824
35360
|
this.customValueFlag = true;
|
|
35825
|
-
/**
|
|
35826
|
-
|
|
35827
|
-
|
|
35361
|
+
/** @hidden @internal */
|
|
35362
|
+
this.filterValue = '';
|
|
35363
|
+
/** @hidden @internal */
|
|
35828
35364
|
this.defaultFallbackGroup = 'Other';
|
|
35829
|
-
/**
|
|
35830
|
-
* @hidden @internal
|
|
35831
|
-
*/
|
|
35365
|
+
/** @hidden @internal */
|
|
35832
35366
|
this.filteringOptions = {
|
|
35833
35367
|
caseSensitive: false
|
|
35834
35368
|
};
|
|
35835
|
-
|
|
35836
|
-
|
|
35837
|
-
*/
|
|
35838
|
-
this.filteringLogic = FilteringLogic.Or;
|
|
35839
|
-
/** @hidden @internal */
|
|
35840
|
-
this.filterValue = '';
|
|
35841
|
-
this.stringFilters = IgxStringFilteringOperand;
|
|
35842
|
-
this.booleanFilters = IgxBooleanFilteringOperand;
|
|
35369
|
+
this._data = [];
|
|
35370
|
+
this._value = '';
|
|
35843
35371
|
this._groupKey = '';
|
|
35844
|
-
this.
|
|
35845
|
-
this.
|
|
35846
|
-
this.
|
|
35847
|
-
this._type = null;
|
|
35372
|
+
this._filteredData = [];
|
|
35373
|
+
this._remoteSelection = {};
|
|
35374
|
+
this._valid = IgxComboState.INITIAL;
|
|
35848
35375
|
this.ngControl = null;
|
|
35849
35376
|
this.destroy$ = new Subject();
|
|
35850
|
-
this.
|
|
35851
|
-
this.
|
|
35377
|
+
this._onTouchedCallback = noop;
|
|
35378
|
+
this._onChangeCallback = noop;
|
|
35379
|
+
this._type = null;
|
|
35380
|
+
this._dataType = '';
|
|
35381
|
+
this._searchValue = '';
|
|
35852
35382
|
this._itemHeight = null;
|
|
35853
35383
|
this._itemsMaxHeight = null;
|
|
35854
|
-
this._remoteSelection = {};
|
|
35855
|
-
this._onChangeCallback = noop;
|
|
35856
|
-
this._onTouchedCallback = noop;
|
|
35857
|
-
this._value = '';
|
|
35858
|
-
this._valid = IgxComboState.INITIAL;
|
|
35859
35384
|
this.onStatusChanged = () => {
|
|
35860
35385
|
if ((this.ngControl.control.touched || this.ngControl.control.dirty) &&
|
|
35861
35386
|
(this.ngControl.control.validator || this.ngControl.control.asyncValidator)) {
|
|
@@ -35872,31 +35397,10 @@ class IgxComboComponent extends DisplayDensityBase {
|
|
|
35872
35397
|
}
|
|
35873
35398
|
this.manageRequiredAsterisk();
|
|
35874
35399
|
};
|
|
35875
|
-
this.
|
|
35876
|
-
|
|
35877
|
-
|
|
35878
|
-
|
|
35879
|
-
*/
|
|
35880
|
-
get displaySearchInput() {
|
|
35881
|
-
return this.filterable || this.allowCustomValues;
|
|
35882
|
-
}
|
|
35883
|
-
/**
|
|
35884
|
-
* @hidden @internal
|
|
35885
|
-
*/
|
|
35886
|
-
get ariaExpanded() {
|
|
35887
|
-
return !this.dropdown.collapsed;
|
|
35888
|
-
}
|
|
35889
|
-
/**
|
|
35890
|
-
* @hidden @internal
|
|
35891
|
-
*/
|
|
35892
|
-
get hasPopUp() {
|
|
35893
|
-
return 'listbox';
|
|
35894
|
-
}
|
|
35895
|
-
/**
|
|
35896
|
-
* @hidden @internal
|
|
35897
|
-
*/
|
|
35898
|
-
get ariaOwns() {
|
|
35899
|
-
return this.dropdown.id;
|
|
35400
|
+
this.findMatch = (element) => {
|
|
35401
|
+
const value = this.displayKey ? element[this.displayKey] : element;
|
|
35402
|
+
return value.toString().toLowerCase() === this.searchValue.trim().toLowerCase();
|
|
35403
|
+
};
|
|
35900
35404
|
}
|
|
35901
35405
|
/**
|
|
35902
35406
|
* Configures the drop down list height
|
|
@@ -35942,12 +35446,6 @@ class IgxComboComponent extends DisplayDensityBase {
|
|
|
35942
35446
|
set itemHeight(val) {
|
|
35943
35447
|
this._itemHeight = val;
|
|
35944
35448
|
}
|
|
35945
|
-
/**
|
|
35946
|
-
* @hidden @internal
|
|
35947
|
-
*/
|
|
35948
|
-
get inputEmpty() {
|
|
35949
|
-
return !this.value && !this.placeholder;
|
|
35950
|
-
}
|
|
35951
35449
|
/**
|
|
35952
35450
|
* Combo data source.
|
|
35953
35451
|
*
|
|
@@ -35966,7 +35464,7 @@ class IgxComboComponent extends DisplayDensityBase {
|
|
|
35966
35464
|
this._displayKey = val;
|
|
35967
35465
|
}
|
|
35968
35466
|
/**
|
|
35969
|
-
*
|
|
35467
|
+
* Determines which column in the data source is used to determine the display value.
|
|
35970
35468
|
*
|
|
35971
35469
|
* ```typescript
|
|
35972
35470
|
* // get
|
|
@@ -36007,6 +35505,18 @@ class IgxComboComponent extends DisplayDensityBase {
|
|
|
36007
35505
|
get groupKey() {
|
|
36008
35506
|
return this._groupKey;
|
|
36009
35507
|
}
|
|
35508
|
+
/** @hidden @internal */
|
|
35509
|
+
get ariaExpanded() {
|
|
35510
|
+
return !this.dropdown.collapsed;
|
|
35511
|
+
}
|
|
35512
|
+
/** @hidden @internal */
|
|
35513
|
+
get hasPopUp() {
|
|
35514
|
+
return 'listbox';
|
|
35515
|
+
}
|
|
35516
|
+
/** @hidden @internal */
|
|
35517
|
+
get ariaOwns() {
|
|
35518
|
+
return this.dropdown.id;
|
|
35519
|
+
}
|
|
36010
35520
|
/**
|
|
36011
35521
|
* An @Input property that sets how the combo will be styled.
|
|
36012
35522
|
* The allowed values are `line`, `box`, `border` and `search`. The default is `box`.
|
|
@@ -36020,6 +35530,27 @@ class IgxComboComponent extends DisplayDensityBase {
|
|
|
36020
35530
|
set type(val) {
|
|
36021
35531
|
this._type = val;
|
|
36022
35532
|
}
|
|
35533
|
+
/** @hidden @internal */
|
|
35534
|
+
get searchValue() {
|
|
35535
|
+
return this._searchValue;
|
|
35536
|
+
}
|
|
35537
|
+
set searchValue(val) {
|
|
35538
|
+
this.filterValue = val;
|
|
35539
|
+
this._searchValue = val;
|
|
35540
|
+
}
|
|
35541
|
+
/** @hidden @internal */
|
|
35542
|
+
get isRemote() {
|
|
35543
|
+
return this.totalItemCount > 0 &&
|
|
35544
|
+
this.valueKey &&
|
|
35545
|
+
this.dataType === DataTypes.COMPLEX;
|
|
35546
|
+
}
|
|
35547
|
+
/** @hidden @internal */
|
|
35548
|
+
get dataType() {
|
|
35549
|
+
if (this.displayKey) {
|
|
35550
|
+
return DataTypes.COMPLEX;
|
|
35551
|
+
}
|
|
35552
|
+
return DataTypes.PRIMITIVE;
|
|
35553
|
+
}
|
|
36023
35554
|
/**
|
|
36024
35555
|
* Gets if control is valid, when used in a form
|
|
36025
35556
|
*
|
|
@@ -36044,32 +35575,15 @@ class IgxComboComponent extends DisplayDensityBase {
|
|
|
36044
35575
|
this.comboInput.valid = IgxInputState[IgxComboState[valid]];
|
|
36045
35576
|
}
|
|
36046
35577
|
/**
|
|
36047
|
-
*
|
|
36048
|
-
|
|
36049
|
-
|
|
36050
|
-
|
|
36051
|
-
|
|
36052
|
-
|
|
36053
|
-
this.filterValue = val;
|
|
36054
|
-
this._searchValue = val;
|
|
36055
|
-
}
|
|
36056
|
-
/**
|
|
36057
|
-
* @hidden @internal
|
|
36058
|
-
*/
|
|
36059
|
-
onArrowDown(event) {
|
|
36060
|
-
event.preventDefault();
|
|
36061
|
-
event.stopPropagation();
|
|
36062
|
-
this.open();
|
|
36063
|
-
}
|
|
36064
|
-
/**
|
|
36065
|
-
* @hidden @internal
|
|
35578
|
+
* The text displayed in the combo input
|
|
35579
|
+
*
|
|
35580
|
+
* ```typescript
|
|
35581
|
+
* // get
|
|
35582
|
+
* let comboValue = this.combo.value;
|
|
35583
|
+
* ```
|
|
36066
35584
|
*/
|
|
36067
|
-
|
|
36068
|
-
|
|
36069
|
-
event.preventDefault();
|
|
36070
|
-
if (!this.disabled) {
|
|
36071
|
-
this.toggle();
|
|
36072
|
-
}
|
|
35585
|
+
get value() {
|
|
35586
|
+
return this._value;
|
|
36073
35587
|
}
|
|
36074
35588
|
/**
|
|
36075
35589
|
* Defines the current state of the virtualized data. It contains `startIndex` and `chunkSize`
|
|
@@ -36093,6 +35607,16 @@ class IgxComboComponent extends DisplayDensityBase {
|
|
|
36093
35607
|
set virtualizationState(state) {
|
|
36094
35608
|
this.virtDir.state = state;
|
|
36095
35609
|
}
|
|
35610
|
+
/**
|
|
35611
|
+
* Gets drop down state.
|
|
35612
|
+
*
|
|
35613
|
+
* ```typescript
|
|
35614
|
+
* let state = this.combo.collapsed;
|
|
35615
|
+
* ```
|
|
35616
|
+
*/
|
|
35617
|
+
get collapsed() {
|
|
35618
|
+
return this.dropdown.collapsed;
|
|
35619
|
+
}
|
|
36096
35620
|
/**
|
|
36097
35621
|
* Gets total count of the virtual data items, when using remote service.
|
|
36098
35622
|
*
|
|
@@ -36115,85 +35639,110 @@ class IgxComboComponent extends DisplayDensityBase {
|
|
|
36115
35639
|
set totalItemCount(count) {
|
|
36116
35640
|
this.virtDir.totalItemCount = count;
|
|
36117
35641
|
}
|
|
35642
|
+
/** @hidden @internal */
|
|
35643
|
+
get template() {
|
|
35644
|
+
this._dataType = this.dataType;
|
|
35645
|
+
if (this.itemTemplate) {
|
|
35646
|
+
return this.itemTemplate;
|
|
35647
|
+
}
|
|
35648
|
+
if (this._dataType === DataTypes.COMPLEX) {
|
|
35649
|
+
return this.complexTemplate;
|
|
35650
|
+
}
|
|
35651
|
+
return this.primitiveTemplate;
|
|
35652
|
+
}
|
|
35653
|
+
/** @hidden @internal */
|
|
35654
|
+
onArrowDown(event) {
|
|
35655
|
+
event.preventDefault();
|
|
35656
|
+
event.stopPropagation();
|
|
35657
|
+
this.open();
|
|
35658
|
+
}
|
|
35659
|
+
/** @hidden @internal */
|
|
35660
|
+
ngOnInit() {
|
|
35661
|
+
this.ngControl = this._injector.get(NgControl, null);
|
|
35662
|
+
const targetElement = this.elementRef.nativeElement;
|
|
35663
|
+
this._overlaySettings = {
|
|
35664
|
+
target: targetElement,
|
|
35665
|
+
scrollStrategy: new AbsoluteScrollStrategy(),
|
|
35666
|
+
positionStrategy: new AutoPositionStrategy(),
|
|
35667
|
+
modal: false,
|
|
35668
|
+
closeOnOutsideClick: true,
|
|
35669
|
+
excludeFromOutsideClick: [targetElement]
|
|
35670
|
+
};
|
|
35671
|
+
this.selectionService.set(this.id, new Set());
|
|
35672
|
+
this._iconService.addSvgIconFromText(caseSensitive.name, caseSensitive.value, 'imx-icons');
|
|
35673
|
+
}
|
|
35674
|
+
/** @hidden @internal */
|
|
35675
|
+
ngAfterViewInit() {
|
|
35676
|
+
this.filteredData = [...this.data];
|
|
35677
|
+
if (this.ngControl) {
|
|
35678
|
+
this.ngControl.statusChanges.pipe(takeUntil(this.destroy$)).subscribe(this.onStatusChanged);
|
|
35679
|
+
this.manageRequiredAsterisk();
|
|
35680
|
+
this.cdr.detectChanges();
|
|
35681
|
+
}
|
|
35682
|
+
this.virtDir.chunkPreload.pipe(takeUntil(this.destroy$)).subscribe((e) => {
|
|
35683
|
+
const eventArgs = Object.assign({}, e, { owner: this });
|
|
35684
|
+
this.dataPreLoad.emit(eventArgs);
|
|
35685
|
+
});
|
|
35686
|
+
}
|
|
35687
|
+
/** @hidden @internal */
|
|
35688
|
+
ngOnDestroy() {
|
|
35689
|
+
this.destroy$.next();
|
|
35690
|
+
this.destroy$.complete();
|
|
35691
|
+
this.comboAPI.clear();
|
|
35692
|
+
this.selectionService.clear(this.id);
|
|
35693
|
+
}
|
|
36118
35694
|
/**
|
|
36119
|
-
*
|
|
35695
|
+
* A method that opens/closes the combo.
|
|
36120
35696
|
*
|
|
36121
|
-
* ```
|
|
36122
|
-
*
|
|
36123
|
-
*
|
|
35697
|
+
* ```html
|
|
35698
|
+
* <button (click)="combo.toggle()">Toggle Combo</button>
|
|
35699
|
+
* <igx-combo #combo></igx-combo>
|
|
36124
35700
|
* ```
|
|
36125
35701
|
*/
|
|
36126
|
-
|
|
36127
|
-
|
|
35702
|
+
toggle() {
|
|
35703
|
+
const overlaySettings = Object.assign({}, this._overlaySettings, this.overlaySettings);
|
|
35704
|
+
this.dropdown.toggle(overlaySettings);
|
|
36128
35705
|
}
|
|
36129
35706
|
/**
|
|
36130
|
-
*
|
|
35707
|
+
* A method that opens the combo.
|
|
35708
|
+
*
|
|
35709
|
+
* ```html
|
|
35710
|
+
* <button (click)="combo.open()">Open Combo</button>
|
|
35711
|
+
* <igx-combo #combo></igx-combo>
|
|
35712
|
+
* ```
|
|
36131
35713
|
*/
|
|
36132
|
-
|
|
36133
|
-
|
|
35714
|
+
open() {
|
|
35715
|
+
const overlaySettings = Object.assign({}, this._overlaySettings, this.overlaySettings);
|
|
35716
|
+
this.dropdown.open(overlaySettings);
|
|
36134
35717
|
}
|
|
36135
35718
|
/**
|
|
36136
|
-
*
|
|
35719
|
+
* A method that closes the combo.
|
|
35720
|
+
*
|
|
35721
|
+
* ```html
|
|
35722
|
+
* <button (click)="combo.close()">Close Combo</button>
|
|
35723
|
+
* <igx-combo #combo></igx-combo>
|
|
35724
|
+
* ```
|
|
36137
35725
|
*/
|
|
36138
|
-
|
|
36139
|
-
this.
|
|
36140
|
-
this.checkMatch();
|
|
35726
|
+
close() {
|
|
35727
|
+
this.dropdown.close();
|
|
36141
35728
|
}
|
|
36142
35729
|
/**
|
|
36143
|
-
*
|
|
35730
|
+
* Triggers change detection on the combo view
|
|
36144
35731
|
*/
|
|
36145
|
-
|
|
36146
|
-
|
|
36147
|
-
this.dropdown.focusedItem = this.dropdown.items[0];
|
|
36148
|
-
this.dropdownContainer.nativeElement.focus();
|
|
36149
|
-
}
|
|
36150
|
-
else if (event.key === 'Escape' || event.key === 'Esc') {
|
|
36151
|
-
this.toggle();
|
|
36152
|
-
}
|
|
36153
|
-
}
|
|
36154
|
-
/**
|
|
36155
|
-
* @hidden @internal
|
|
36156
|
-
*/
|
|
36157
|
-
handleKeyDown(event) {
|
|
36158
|
-
if (event.key === 'ArrowUp' || event.key === 'Up') {
|
|
36159
|
-
event.preventDefault();
|
|
36160
|
-
event.stopPropagation();
|
|
36161
|
-
this.close();
|
|
36162
|
-
}
|
|
36163
|
-
}
|
|
36164
|
-
/**
|
|
36165
|
-
* @hidden @internal
|
|
36166
|
-
*/
|
|
36167
|
-
handleInputChange(event) {
|
|
36168
|
-
if (event !== undefined) {
|
|
36169
|
-
const args = {
|
|
36170
|
-
searchText: event,
|
|
36171
|
-
owner: this,
|
|
36172
|
-
cancel: false
|
|
36173
|
-
};
|
|
36174
|
-
this.searchInputUpdate.emit(args);
|
|
36175
|
-
if (args.cancel) {
|
|
36176
|
-
this.filterValue = null;
|
|
36177
|
-
}
|
|
36178
|
-
}
|
|
36179
|
-
this.checkMatch();
|
|
36180
|
-
}
|
|
36181
|
-
/**
|
|
36182
|
-
* @hidden @internal
|
|
36183
|
-
*/
|
|
36184
|
-
get dataType() {
|
|
36185
|
-
if (this.displayKey) {
|
|
36186
|
-
return DataTypes.COMPLEX;
|
|
36187
|
-
}
|
|
36188
|
-
return DataTypes.PRIMITIVE;
|
|
35732
|
+
triggerCheck() {
|
|
35733
|
+
this.cdr.detectChanges();
|
|
36189
35734
|
}
|
|
36190
35735
|
/**
|
|
36191
|
-
*
|
|
35736
|
+
* Get current selection state
|
|
35737
|
+
*
|
|
35738
|
+
* @returns Array of selected items
|
|
35739
|
+
* ```typescript
|
|
35740
|
+
* let selectedItems = this.combo.selectedItems();
|
|
35741
|
+
* ```
|
|
36192
35742
|
*/
|
|
36193
|
-
get
|
|
36194
|
-
|
|
36195
|
-
|
|
36196
|
-
this.dataType === DataTypes.COMPLEX;
|
|
35743
|
+
get selection() {
|
|
35744
|
+
const items = Array.from(this.selectionService.get(this.id));
|
|
35745
|
+
return items;
|
|
36197
35746
|
}
|
|
36198
35747
|
/**
|
|
36199
35748
|
* Returns if the specified itemID is selected
|
|
@@ -36202,36 +35751,11 @@ class IgxComboComponent extends DisplayDensityBase {
|
|
|
36202
35751
|
* @internal
|
|
36203
35752
|
*/
|
|
36204
35753
|
isItemSelected(item) {
|
|
36205
|
-
return this.
|
|
36206
|
-
}
|
|
36207
|
-
/**
|
|
36208
|
-
* Triggers change detection on the combo view
|
|
36209
|
-
*/
|
|
36210
|
-
triggerCheck() {
|
|
36211
|
-
this.cdr.detectChanges();
|
|
36212
|
-
}
|
|
36213
|
-
/**
|
|
36214
|
-
* @hidden @internal
|
|
36215
|
-
*/
|
|
36216
|
-
isAddButtonVisible() {
|
|
36217
|
-
// This should always return a boolean value. If this.searchValue was '', it returns '' instead of false;
|
|
36218
|
-
return this.searchValue !== '' && this.customValueFlag;
|
|
35754
|
+
return this.selectionService.is_item_selected(this.id, item);
|
|
36219
35755
|
}
|
|
36220
|
-
/**
|
|
36221
|
-
* @hidden @internal
|
|
36222
|
-
*/
|
|
36223
|
-
handleSelectAll(evt) {
|
|
36224
|
-
if (evt.checked) {
|
|
36225
|
-
this.selectAllItems();
|
|
36226
|
-
}
|
|
36227
|
-
else {
|
|
36228
|
-
this.deselectAllItems();
|
|
36229
|
-
}
|
|
36230
|
-
}
|
|
36231
|
-
/**
|
|
36232
|
-
* @hidden @internal
|
|
36233
|
-
*/
|
|
35756
|
+
/** @hidden @internal */
|
|
36234
35757
|
addItemToCollection() {
|
|
35758
|
+
var _a;
|
|
36235
35759
|
if (!this.searchValue) {
|
|
36236
35760
|
return;
|
|
36237
35761
|
}
|
|
@@ -36256,33 +35780,91 @@ class IgxComboComponent extends DisplayDensityBase {
|
|
|
36256
35780
|
this.data.push(args.addedItem);
|
|
36257
35781
|
// trigger re-render
|
|
36258
35782
|
this.data = cloneArray(this.data);
|
|
36259
|
-
this.
|
|
35783
|
+
this.select(this.valueKey !== null && this.valueKey !== undefined ?
|
|
36260
35784
|
[args.addedItem[this.valueKey]] : [args.addedItem], false);
|
|
36261
35785
|
this.customValueFlag = false;
|
|
36262
|
-
this.searchInput.nativeElement.focus();
|
|
35786
|
+
(_a = this.searchInput) === null || _a === void 0 ? void 0 : _a.nativeElement.focus();
|
|
36263
35787
|
this.dropdown.focusedItem = null;
|
|
36264
35788
|
this.virtDir.scrollTo(0);
|
|
36265
35789
|
}
|
|
36266
|
-
/**
|
|
36267
|
-
|
|
36268
|
-
|
|
36269
|
-
|
|
36270
|
-
|
|
36271
|
-
|
|
36272
|
-
|
|
36273
|
-
|
|
36274
|
-
|
|
36275
|
-
|
|
36276
|
-
|
|
36277
|
-
|
|
36278
|
-
|
|
36279
|
-
|
|
35790
|
+
/** @hidden @internal */
|
|
35791
|
+
isAddButtonVisible() {
|
|
35792
|
+
// This should always return a boolean value. If this.searchValue was '', it returns '' instead of false;
|
|
35793
|
+
return this.searchValue !== '' && this.customValueFlag;
|
|
35794
|
+
}
|
|
35795
|
+
/** @hidden @internal */
|
|
35796
|
+
handleInputChange(event) {
|
|
35797
|
+
if (event !== undefined) {
|
|
35798
|
+
const args = {
|
|
35799
|
+
searchText: typeof event === 'string' ? event : event.target.value,
|
|
35800
|
+
owner: this,
|
|
35801
|
+
cancel: false
|
|
35802
|
+
};
|
|
35803
|
+
this.searchInputUpdate.emit(args);
|
|
35804
|
+
if (args.cancel) {
|
|
35805
|
+
this.filterValue = null;
|
|
36280
35806
|
}
|
|
36281
35807
|
}
|
|
35808
|
+
this.checkMatch();
|
|
36282
35809
|
}
|
|
36283
35810
|
/**
|
|
36284
|
-
*
|
|
35811
|
+
* Event handlers
|
|
35812
|
+
*
|
|
35813
|
+
* @hidden
|
|
35814
|
+
* @internal
|
|
36285
35815
|
*/
|
|
35816
|
+
handleOpening(e) {
|
|
35817
|
+
const args = { owner: this, event: e.event, cancel: e.cancel };
|
|
35818
|
+
this.opening.emit(args);
|
|
35819
|
+
e.cancel = args.cancel;
|
|
35820
|
+
}
|
|
35821
|
+
/** @hidden @internal */
|
|
35822
|
+
handleClosing(e) {
|
|
35823
|
+
var _a;
|
|
35824
|
+
const args = { owner: this, event: e.event, cancel: e.cancel };
|
|
35825
|
+
this.closing.emit(args);
|
|
35826
|
+
e.cancel = args.cancel;
|
|
35827
|
+
if (e.cancel) {
|
|
35828
|
+
return;
|
|
35829
|
+
}
|
|
35830
|
+
this.searchValue = '';
|
|
35831
|
+
if (!e.event) {
|
|
35832
|
+
(_a = this.comboInput) === null || _a === void 0 ? void 0 : _a.nativeElement.focus();
|
|
35833
|
+
}
|
|
35834
|
+
}
|
|
35835
|
+
/** @hidden @internal */
|
|
35836
|
+
handleClosed() {
|
|
35837
|
+
this.closed.emit({ owner: this });
|
|
35838
|
+
}
|
|
35839
|
+
/** @hidden @internal */
|
|
35840
|
+
handleKeyDown(event) {
|
|
35841
|
+
if (event.key === 'ArrowUp' || event.key === 'Up') {
|
|
35842
|
+
event.preventDefault();
|
|
35843
|
+
event.stopPropagation();
|
|
35844
|
+
this.close();
|
|
35845
|
+
}
|
|
35846
|
+
}
|
|
35847
|
+
/** @hidden @internal */
|
|
35848
|
+
registerOnChange(fn) {
|
|
35849
|
+
this._onChangeCallback = fn;
|
|
35850
|
+
}
|
|
35851
|
+
/** @hidden @internal */
|
|
35852
|
+
registerOnTouched(fn) {
|
|
35853
|
+
this._onTouchedCallback = fn;
|
|
35854
|
+
}
|
|
35855
|
+
/** @hidden @internal */
|
|
35856
|
+
setDisabledState(isDisabled) {
|
|
35857
|
+
this.disabled = isDisabled;
|
|
35858
|
+
}
|
|
35859
|
+
/** @hidden @internal */
|
|
35860
|
+
onClick(event) {
|
|
35861
|
+
event.stopPropagation();
|
|
35862
|
+
event.preventDefault();
|
|
35863
|
+
if (!this.disabled) {
|
|
35864
|
+
this.toggle();
|
|
35865
|
+
}
|
|
35866
|
+
}
|
|
35867
|
+
/** @hidden @internal */
|
|
36286
35868
|
onBlur() {
|
|
36287
35869
|
if (this.collapsed) {
|
|
36288
35870
|
this._onTouchedCallback();
|
|
@@ -36294,174 +35876,600 @@ class IgxComboComponent extends DisplayDensityBase {
|
|
|
36294
35876
|
}
|
|
36295
35877
|
}
|
|
36296
35878
|
}
|
|
35879
|
+
/** @hidden @internal */
|
|
35880
|
+
toggleCaseSensitive() {
|
|
35881
|
+
this.filteringOptions = { caseSensitive: !this.filteringOptions.caseSensitive };
|
|
35882
|
+
}
|
|
35883
|
+
/** if there is a valueKey - map the keys to data items, else - just return the keys */
|
|
35884
|
+
convertKeysToItems(keys) {
|
|
35885
|
+
if (this.comboAPI.valueKey === null) {
|
|
35886
|
+
return keys;
|
|
35887
|
+
}
|
|
35888
|
+
// map keys vs. filter data to retain the order of the selected items
|
|
35889
|
+
return keys.map(key => this.data.find(entry => entry[this.valueKey] === key)).filter(e => e !== undefined);
|
|
35890
|
+
}
|
|
35891
|
+
checkMatch() {
|
|
35892
|
+
const itemMatch = this.filteredData.some(this.findMatch);
|
|
35893
|
+
this.customValueFlag = this.allowCustomValues && !itemMatch;
|
|
35894
|
+
}
|
|
35895
|
+
manageRequiredAsterisk() {
|
|
35896
|
+
if (this.ngControl && this.ngControl.control.validator) {
|
|
35897
|
+
// Run the validation with empty object to check if required is enabled.
|
|
35898
|
+
const error = this.ngControl.control.validator({});
|
|
35899
|
+
this.inputGroup.isRequired = error && error.required;
|
|
35900
|
+
}
|
|
35901
|
+
}
|
|
35902
|
+
/** Contains key-value pairs of the selected valueKeys and their resp. displayKeys */
|
|
35903
|
+
registerRemoteEntries(ids, add = true) {
|
|
35904
|
+
if (add) {
|
|
35905
|
+
const selection = this.getValueDisplayPairs(ids);
|
|
35906
|
+
for (const entry of selection) {
|
|
35907
|
+
this._remoteSelection[entry[this.valueKey]] = entry[this.displayKey];
|
|
35908
|
+
}
|
|
35909
|
+
}
|
|
35910
|
+
else {
|
|
35911
|
+
for (const entry of ids) {
|
|
35912
|
+
delete this._remoteSelection[entry];
|
|
35913
|
+
}
|
|
35914
|
+
}
|
|
35915
|
+
}
|
|
36297
35916
|
/**
|
|
36298
|
-
*
|
|
35917
|
+
* For `id: any[]` returns a mapped `{ [combo.valueKey]: any, [combo.displayKey]: any }[]`
|
|
36299
35918
|
*/
|
|
36300
|
-
|
|
36301
|
-
this.
|
|
36302
|
-
|
|
36303
|
-
|
|
36304
|
-
|
|
36305
|
-
|
|
36306
|
-
|
|
36307
|
-
|
|
36308
|
-
|
|
36309
|
-
|
|
35919
|
+
getValueDisplayPairs(ids) {
|
|
35920
|
+
return this.data.filter(entry => ids.indexOf(entry[this.valueKey]) > -1).map(e => ({
|
|
35921
|
+
[this.valueKey]: e[this.valueKey],
|
|
35922
|
+
[this.displayKey]: e[this.displayKey]
|
|
35923
|
+
}));
|
|
35924
|
+
}
|
|
35925
|
+
getRemoteSelection(newSelection, oldSelection) {
|
|
35926
|
+
if (!newSelection.length) {
|
|
35927
|
+
// If new selection is empty, clear all items
|
|
35928
|
+
this.registerRemoteEntries(oldSelection, false);
|
|
35929
|
+
return '';
|
|
35930
|
+
}
|
|
35931
|
+
const removedItems = oldSelection.filter(e => newSelection.indexOf(e) < 0);
|
|
35932
|
+
const addedItems = newSelection.filter(e => oldSelection.indexOf(e) < 0);
|
|
35933
|
+
this.registerRemoteEntries(addedItems);
|
|
35934
|
+
this.registerRemoteEntries(removedItems, false);
|
|
35935
|
+
return Object.keys(this._remoteSelection).map(e => this._remoteSelection[e]).join(', ');
|
|
35936
|
+
}
|
|
35937
|
+
}
|
|
35938
|
+
IgxComboBaseDirective.decorators = [
|
|
35939
|
+
{ type: Directive }
|
|
35940
|
+
];
|
|
35941
|
+
IgxComboBaseDirective.ctorParameters = () => [
|
|
35942
|
+
{ type: ElementRef },
|
|
35943
|
+
{ type: ChangeDetectorRef },
|
|
35944
|
+
{ type: IgxSelectionAPIService },
|
|
35945
|
+
{ type: IgxComboAPIService },
|
|
35946
|
+
{ type: IgxIconService },
|
|
35947
|
+
{ type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [DisplayDensityToken,] }] },
|
|
35948
|
+
{ type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [IGX_INPUT_GROUP_TYPE,] }] },
|
|
35949
|
+
{ type: Injector, decorators: [{ type: Optional }] }
|
|
35950
|
+
];
|
|
35951
|
+
IgxComboBaseDirective.propDecorators = {
|
|
35952
|
+
showSearchCaseIcon: [{ type: Input }],
|
|
35953
|
+
overlaySettings: [{ type: Input }],
|
|
35954
|
+
id: [{ type: HostBinding, args: ['attr.id',] }, { type: Input }],
|
|
35955
|
+
width: [{ type: HostBinding, args: ['style.width',] }, { type: Input }],
|
|
35956
|
+
allowCustomValues: [{ type: Input }],
|
|
35957
|
+
itemsMaxHeight: [{ type: Input }],
|
|
35958
|
+
itemHeight: [{ type: Input }],
|
|
35959
|
+
itemsWidth: [{ type: Input }],
|
|
35960
|
+
placeholder: [{ type: Input }],
|
|
35961
|
+
data: [{ type: Input }],
|
|
35962
|
+
valueKey: [{ type: Input }],
|
|
35963
|
+
displayKey: [{ type: Input }],
|
|
35964
|
+
groupKey: [{ type: Input }],
|
|
35965
|
+
filterable: [{ type: Input }],
|
|
35966
|
+
ariaLabelledBy: [{ type: Input }, { type: HostBinding, args: ['attr.aria-labelledby',] }],
|
|
35967
|
+
cssClass: [{ type: HostBinding, args: ['class.igx-combo',] }],
|
|
35968
|
+
role: [{ type: HostBinding, args: [`attr.role`,] }],
|
|
35969
|
+
ariaExpanded: [{ type: HostBinding, args: ['attr.aria-expanded',] }],
|
|
35970
|
+
hasPopUp: [{ type: HostBinding, args: ['attr.aria-haspopup',] }],
|
|
35971
|
+
ariaOwns: [{ type: HostBinding, args: ['attr.aria-owns',] }],
|
|
35972
|
+
disabled: [{ type: Input }],
|
|
35973
|
+
type: [{ type: Input }],
|
|
35974
|
+
opening: [{ type: Output }],
|
|
35975
|
+
opened: [{ type: Output }],
|
|
35976
|
+
closing: [{ type: Output }],
|
|
35977
|
+
closed: [{ type: Output }],
|
|
35978
|
+
addition: [{ type: Output }],
|
|
35979
|
+
searchInputUpdate: [{ type: Output }],
|
|
35980
|
+
dataPreLoad: [{ type: Output }],
|
|
35981
|
+
itemTemplate: [{ type: ContentChild, args: [IgxComboItemDirective, { read: TemplateRef },] }],
|
|
35982
|
+
headerTemplate: [{ type: ContentChild, args: [IgxComboHeaderDirective, { read: TemplateRef },] }],
|
|
35983
|
+
footerTemplate: [{ type: ContentChild, args: [IgxComboFooterDirective, { read: TemplateRef },] }],
|
|
35984
|
+
headerItemTemplate: [{ type: ContentChild, args: [IgxComboHeaderItemDirective, { read: TemplateRef },] }],
|
|
35985
|
+
addItemTemplate: [{ type: ContentChild, args: [IgxComboAddItemDirective, { read: TemplateRef },] }],
|
|
35986
|
+
emptyTemplate: [{ type: ContentChild, args: [IgxComboEmptyDirective, { read: TemplateRef },] }],
|
|
35987
|
+
toggleIconTemplate: [{ type: ContentChild, args: [IgxComboToggleIconDirective, { read: TemplateRef },] }],
|
|
35988
|
+
clearIconTemplate: [{ type: ContentChild, args: [IgxComboClearIconDirective, { read: TemplateRef },] }],
|
|
35989
|
+
inputGroup: [{ type: ViewChild, args: ['inputGroup', { read: IgxInputGroupComponent, static: true },] }],
|
|
35990
|
+
comboInput: [{ type: ViewChild, args: ['comboInput', { read: IgxInputDirective, static: true },] }],
|
|
35991
|
+
searchInput: [{ type: ViewChild, args: ['searchInput',] }],
|
|
35992
|
+
virtualScrollContainer: [{ type: ViewChild, args: [IgxForOfDirective, { static: true },] }],
|
|
35993
|
+
virtDir: [{ type: ViewChild, args: [IgxForOfDirective, { read: IgxForOfDirective, static: true },] }],
|
|
35994
|
+
dropdownContainer: [{ type: ViewChild, args: ['dropdownItemContainer', { static: true },] }],
|
|
35995
|
+
primitiveTemplate: [{ type: ViewChild, args: ['primitive', { read: TemplateRef, static: true },] }],
|
|
35996
|
+
complexTemplate: [{ type: ViewChild, args: ['complex', { read: TemplateRef, static: true },] }],
|
|
35997
|
+
onArrowDown: [{ type: HostListener, args: ['keydown.ArrowDown', ['$event'],] }, { type: HostListener, args: ['keydown.Alt.ArrowDown', ['$event'],] }]
|
|
35998
|
+
};
|
|
35999
|
+
|
|
36000
|
+
/**
|
|
36001
|
+
* @hidden
|
|
36002
|
+
*/
|
|
36003
|
+
class IgxComboAddItemComponent extends IgxComboItemComponent {
|
|
36004
|
+
get selected() {
|
|
36005
|
+
return false;
|
|
36006
|
+
}
|
|
36007
|
+
set selected(value) {
|
|
36008
|
+
}
|
|
36009
|
+
/**
|
|
36010
|
+
* @inheritdoc
|
|
36011
|
+
*/
|
|
36012
|
+
clicked(event) {
|
|
36013
|
+
this.comboAPI.disableTransitions = false;
|
|
36014
|
+
this.comboAPI.add_custom_item();
|
|
36015
|
+
}
|
|
36016
|
+
}
|
|
36017
|
+
IgxComboAddItemComponent.decorators = [
|
|
36018
|
+
{ type: Component, args: [{
|
|
36019
|
+
selector: 'igx-combo-add-item',
|
|
36020
|
+
template: '<ng-content></ng-content>',
|
|
36021
|
+
providers: [{ provide: IgxComboItemComponent, useExisting: IgxComboAddItemComponent }]
|
|
36022
|
+
},] }
|
|
36023
|
+
];
|
|
36024
|
+
|
|
36025
|
+
/** @hidden */
|
|
36026
|
+
class IgxComboDropDownComponent extends IgxDropDownComponent {
|
|
36027
|
+
constructor(elementRef, cdr, platform, selection, combo, comboAPI, _displayDensityOptions) {
|
|
36028
|
+
super(elementRef, cdr, platform, selection, _displayDensityOptions);
|
|
36029
|
+
this.elementRef = elementRef;
|
|
36030
|
+
this.cdr = cdr;
|
|
36031
|
+
this.platform = platform;
|
|
36032
|
+
this.selection = selection;
|
|
36033
|
+
this.combo = combo;
|
|
36034
|
+
this.comboAPI = comboAPI;
|
|
36035
|
+
this._displayDensityOptions = _displayDensityOptions;
|
|
36036
|
+
/** @hidden @internal */
|
|
36037
|
+
this.singleMode = false;
|
|
36038
|
+
/**
|
|
36039
|
+
* @hidden
|
|
36040
|
+
* @internal
|
|
36041
|
+
*/
|
|
36042
|
+
this.children = null;
|
|
36043
|
+
this.scrollHandler = () => {
|
|
36044
|
+
this.comboAPI.disableTransitions = true;
|
|
36310
36045
|
};
|
|
36311
|
-
|
|
36312
|
-
|
|
36046
|
+
}
|
|
36047
|
+
/** @hidden @internal */
|
|
36048
|
+
get scrollContainer() {
|
|
36049
|
+
return this.virtDir.dc.location.nativeElement;
|
|
36050
|
+
}
|
|
36051
|
+
get isScrolledToLast() {
|
|
36052
|
+
const scrollTop = this.virtDir.scrollPosition;
|
|
36053
|
+
const scrollHeight = this.virtDir.getScroll().scrollHeight;
|
|
36054
|
+
return Math.floor(scrollTop + this.virtDir.igxForContainerSize) === scrollHeight;
|
|
36055
|
+
}
|
|
36056
|
+
get lastVisibleIndex() {
|
|
36057
|
+
return this.combo.totalItemCount ?
|
|
36058
|
+
Math.floor(this.combo.itemsMaxHeight / this.combo.itemHeight) :
|
|
36059
|
+
this.items.length - 1;
|
|
36060
|
+
}
|
|
36061
|
+
get sortedChildren() {
|
|
36062
|
+
if (this.children !== undefined) {
|
|
36063
|
+
return this.children.toArray()
|
|
36064
|
+
.sort((a, b) => a.index - b.index);
|
|
36065
|
+
}
|
|
36066
|
+
return null;
|
|
36313
36067
|
}
|
|
36314
36068
|
/**
|
|
36315
|
-
*
|
|
36069
|
+
* Get all non-header items
|
|
36070
|
+
*
|
|
36071
|
+
* ```typescript
|
|
36072
|
+
* let myDropDownItems = this.dropdown.items;
|
|
36073
|
+
* ```
|
|
36316
36074
|
*/
|
|
36317
|
-
|
|
36318
|
-
|
|
36319
|
-
if (this.
|
|
36320
|
-
this.
|
|
36321
|
-
|
|
36322
|
-
|
|
36075
|
+
get items() {
|
|
36076
|
+
const items = [];
|
|
36077
|
+
if (this.children !== undefined) {
|
|
36078
|
+
const sortedChildren = this.sortedChildren;
|
|
36079
|
+
for (const child of sortedChildren) {
|
|
36080
|
+
if (!child.isHeader) {
|
|
36081
|
+
items.push(child);
|
|
36082
|
+
}
|
|
36083
|
+
}
|
|
36323
36084
|
}
|
|
36324
|
-
|
|
36325
|
-
const eventArgs = Object.assign({}, e, { owner: this });
|
|
36326
|
-
this.dataPreLoad.emit(eventArgs);
|
|
36327
|
-
});
|
|
36085
|
+
return items;
|
|
36328
36086
|
}
|
|
36329
36087
|
/**
|
|
36330
36088
|
* @hidden @internal
|
|
36331
36089
|
*/
|
|
36332
|
-
|
|
36333
|
-
this.
|
|
36334
|
-
this.destroy$.complete();
|
|
36335
|
-
this.comboAPI.clear();
|
|
36336
|
-
this.selection.clear(this.id);
|
|
36090
|
+
onFocus() {
|
|
36091
|
+
this.focusedItem = this._focusedItem || this.items[0];
|
|
36337
36092
|
}
|
|
36338
36093
|
/**
|
|
36339
36094
|
* @hidden @internal
|
|
36340
36095
|
*/
|
|
36341
|
-
|
|
36342
|
-
|
|
36343
|
-
const oldSelection = this.selectedItems();
|
|
36344
|
-
this.selection.select_items(this.id, selection, true);
|
|
36345
|
-
this.cdr.markForCheck();
|
|
36346
|
-
this._value = this.createDisplayText(this.selectedItems(), oldSelection);
|
|
36096
|
+
onBlur(_evt) {
|
|
36097
|
+
this.focusedItem = null;
|
|
36347
36098
|
}
|
|
36348
36099
|
/**
|
|
36349
36100
|
* @hidden @internal
|
|
36350
36101
|
*/
|
|
36351
|
-
|
|
36352
|
-
this.
|
|
36102
|
+
onToggleOpened() {
|
|
36103
|
+
this.opened.emit();
|
|
36353
36104
|
}
|
|
36354
36105
|
/**
|
|
36355
|
-
* @hidden
|
|
36106
|
+
* @hidden
|
|
36356
36107
|
*/
|
|
36357
|
-
|
|
36358
|
-
this.
|
|
36108
|
+
navigateFirst() {
|
|
36109
|
+
this.navigateItem(this.virtDir.igxForOf.findIndex(e => !e.isHeader));
|
|
36359
36110
|
}
|
|
36360
36111
|
/**
|
|
36361
|
-
* @hidden
|
|
36112
|
+
* @hidden
|
|
36362
36113
|
*/
|
|
36363
|
-
|
|
36364
|
-
this.
|
|
36114
|
+
navigatePrev() {
|
|
36115
|
+
if (this._focusedItem && this._focusedItem.index === 0 && this.virtDir.state.startIndex === 0) {
|
|
36116
|
+
this.combo.focusSearchInput(false);
|
|
36117
|
+
}
|
|
36118
|
+
else {
|
|
36119
|
+
super.navigatePrev();
|
|
36120
|
+
}
|
|
36365
36121
|
}
|
|
36366
36122
|
/**
|
|
36367
36123
|
* @hidden
|
|
36368
36124
|
*/
|
|
36369
|
-
|
|
36370
|
-
|
|
36125
|
+
navigateNext() {
|
|
36126
|
+
const lastIndex = this.combo.totalItemCount ? this.combo.totalItemCount - 1 : this.virtDir.igxForOf.length - 1;
|
|
36127
|
+
if (this._focusedItem && this._focusedItem.index === lastIndex) {
|
|
36128
|
+
this.focusAddItemButton();
|
|
36129
|
+
}
|
|
36130
|
+
else {
|
|
36131
|
+
super.navigateNext();
|
|
36132
|
+
}
|
|
36371
36133
|
}
|
|
36372
36134
|
/**
|
|
36373
36135
|
* @hidden @internal
|
|
36374
36136
|
*/
|
|
36375
|
-
|
|
36376
|
-
|
|
36377
|
-
|
|
36378
|
-
return this.itemTemplate;
|
|
36379
|
-
}
|
|
36380
|
-
if (this._dataType === DataTypes.COMPLEX) {
|
|
36381
|
-
return this.complexTemplate;
|
|
36137
|
+
selectItem(item) {
|
|
36138
|
+
if (item === null || item === undefined) {
|
|
36139
|
+
return;
|
|
36382
36140
|
}
|
|
36383
|
-
|
|
36141
|
+
this.comboAPI.set_selected_item(item.itemID);
|
|
36142
|
+
this._focusedItem = item;
|
|
36384
36143
|
}
|
|
36385
36144
|
/**
|
|
36386
36145
|
* @hidden @internal
|
|
36387
36146
|
*/
|
|
36388
|
-
|
|
36389
|
-
|
|
36390
|
-
$implicit: this
|
|
36391
|
-
};
|
|
36147
|
+
updateScrollPosition() {
|
|
36148
|
+
this.virtDir.getScroll().scrollTop = this._scrollPosition;
|
|
36392
36149
|
}
|
|
36393
36150
|
/**
|
|
36394
36151
|
* @hidden @internal
|
|
36395
36152
|
*/
|
|
36396
|
-
|
|
36397
|
-
|
|
36153
|
+
onItemActionKey(key) {
|
|
36154
|
+
switch (key) {
|
|
36155
|
+
case DropDownActionKey.ENTER:
|
|
36156
|
+
this.handleEnter();
|
|
36157
|
+
break;
|
|
36158
|
+
case DropDownActionKey.SPACE:
|
|
36159
|
+
this.handleSpace();
|
|
36160
|
+
break;
|
|
36161
|
+
case DropDownActionKey.ESCAPE:
|
|
36162
|
+
this.close();
|
|
36163
|
+
}
|
|
36164
|
+
}
|
|
36165
|
+
ngAfterViewInit() {
|
|
36166
|
+
this.virtDir.getScroll().addEventListener('scroll', this.scrollHandler);
|
|
36167
|
+
}
|
|
36168
|
+
/**
|
|
36169
|
+
* @hidden @internal
|
|
36170
|
+
*/
|
|
36171
|
+
ngOnDestroy() {
|
|
36172
|
+
this.virtDir.getScroll().removeEventListener('scroll', this.scrollHandler);
|
|
36173
|
+
this.destroy$.next(true);
|
|
36174
|
+
this.destroy$.complete();
|
|
36175
|
+
}
|
|
36176
|
+
scrollToHiddenItem(_newItem) { }
|
|
36177
|
+
handleEnter() {
|
|
36178
|
+
if (this.isAddItemFocused()) {
|
|
36179
|
+
this.combo.addItemToCollection();
|
|
36398
36180
|
return;
|
|
36399
36181
|
}
|
|
36400
|
-
this.
|
|
36401
|
-
|
|
36402
|
-
|
|
36182
|
+
if (this.singleMode && this.focusedItem) {
|
|
36183
|
+
this.combo.select(this.focusedItem.itemID);
|
|
36184
|
+
}
|
|
36185
|
+
this.close();
|
|
36186
|
+
}
|
|
36187
|
+
handleSpace() {
|
|
36188
|
+
if (this.isAddItemFocused()) {
|
|
36189
|
+
return;
|
|
36403
36190
|
}
|
|
36404
36191
|
else {
|
|
36405
|
-
this.
|
|
36192
|
+
this.selectItem(this.focusedItem);
|
|
36406
36193
|
}
|
|
36407
|
-
|
|
36194
|
+
}
|
|
36195
|
+
isAddItemFocused() {
|
|
36196
|
+
return this.focusedItem instanceof IgxComboAddItemComponent;
|
|
36197
|
+
}
|
|
36198
|
+
focusAddItemButton() {
|
|
36199
|
+
if (this.combo.isAddButtonVisible()) {
|
|
36200
|
+
this.focusedItem = this.items[this.items.length - 1];
|
|
36201
|
+
}
|
|
36202
|
+
}
|
|
36203
|
+
}
|
|
36204
|
+
IgxComboDropDownComponent.decorators = [
|
|
36205
|
+
{ type: Component, args: [{
|
|
36206
|
+
selector: 'igx-combo-drop-down',
|
|
36207
|
+
template: "<div class=\"igx-drop-down__list\" [style.width]=\"width\"\nigxToggle\n(appended)=\"onToggleContentAppended($event)\"\n(opening)=\"onToggleOpening($event)\" (opened)=\"onToggleOpened()\"\n(closing)=\"onToggleClosing($event)\" (closed)=\"onToggleClosed()\">\n <div class=\"igx-drop-down__list-scroll\" #scrollContainer [attr.id]=\"this.listId\" role=\"listbox\" [attr.aria-label]=\"this.listId\"\n [style.height]=\"height\"\n [style.maxHeight]=\"maxHeight\">\n <ng-container *ngIf=\"!collapsed\">\n <ng-content></ng-content>\n </ng-container>\n </div>\n</div>\n",
|
|
36208
|
+
providers: [{ provide: IGX_DROPDOWN_BASE, useExisting: IgxComboDropDownComponent }]
|
|
36209
|
+
},] }
|
|
36210
|
+
];
|
|
36211
|
+
IgxComboDropDownComponent.ctorParameters = () => [
|
|
36212
|
+
{ type: ElementRef },
|
|
36213
|
+
{ type: ChangeDetectorRef },
|
|
36214
|
+
{ type: PlatformUtil },
|
|
36215
|
+
{ type: IgxSelectionAPIService },
|
|
36216
|
+
{ type: undefined, decorators: [{ type: Inject, args: [IGX_COMBO_COMPONENT,] }] },
|
|
36217
|
+
{ type: IgxComboAPIService },
|
|
36218
|
+
{ type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [DisplayDensityToken,] }] }
|
|
36219
|
+
];
|
|
36220
|
+
IgxComboDropDownComponent.propDecorators = {
|
|
36221
|
+
singleMode: [{ type: Input }],
|
|
36222
|
+
children: [{ type: ContentChildren, args: [IgxComboItemComponent, { descendants: true },] }]
|
|
36223
|
+
};
|
|
36224
|
+
|
|
36225
|
+
/**
|
|
36226
|
+
* @hidden
|
|
36227
|
+
*/
|
|
36228
|
+
class IgxComboFilteringPipe {
|
|
36229
|
+
transform(collection, searchValue, displayKey, filteringOptions, shouldFilter = false) {
|
|
36230
|
+
if (!collection) {
|
|
36231
|
+
return [];
|
|
36232
|
+
}
|
|
36233
|
+
if (!searchValue || !shouldFilter) {
|
|
36234
|
+
return collection;
|
|
36235
|
+
}
|
|
36236
|
+
else {
|
|
36237
|
+
const searchTerm = filteringOptions.caseSensitive ? searchValue.trim() : searchValue.toLowerCase().trim();
|
|
36238
|
+
if (displayKey != null) {
|
|
36239
|
+
return collection.filter(e => filteringOptions.caseSensitive ? e[displayKey].includes(searchTerm) :
|
|
36240
|
+
e[displayKey].toString().toLowerCase().includes(searchTerm));
|
|
36241
|
+
}
|
|
36242
|
+
else {
|
|
36243
|
+
return collection.filter(e => filteringOptions.caseSensitive ? e.includes(searchTerm) :
|
|
36244
|
+
e.toString().toLowerCase().includes(searchTerm));
|
|
36245
|
+
}
|
|
36246
|
+
}
|
|
36247
|
+
}
|
|
36248
|
+
}
|
|
36249
|
+
IgxComboFilteringPipe.decorators = [
|
|
36250
|
+
{ type: Pipe, args: [{
|
|
36251
|
+
name: 'comboFiltering'
|
|
36252
|
+
},] }
|
|
36253
|
+
];
|
|
36254
|
+
/**
|
|
36255
|
+
* @hidden
|
|
36256
|
+
*/
|
|
36257
|
+
class IgxComboGroupingPipe {
|
|
36258
|
+
constructor(combo) {
|
|
36259
|
+
this.combo = combo;
|
|
36260
|
+
}
|
|
36261
|
+
transform(collection, groupKey, valueKey) {
|
|
36262
|
+
this.combo.filteredData = collection;
|
|
36263
|
+
if ((!groupKey && groupKey !== 0) || !collection.length) {
|
|
36264
|
+
return collection;
|
|
36265
|
+
}
|
|
36266
|
+
const sorted = DataUtil.sort(cloneArray(collection), [{
|
|
36267
|
+
fieldName: groupKey,
|
|
36268
|
+
dir: SortingDirection.Asc,
|
|
36269
|
+
ignoreCase: true,
|
|
36270
|
+
strategy: DefaultSortingStrategy.instance()
|
|
36271
|
+
}]);
|
|
36272
|
+
const data = cloneArray(sorted);
|
|
36273
|
+
let inserts = 0;
|
|
36274
|
+
let currentHeader = null;
|
|
36275
|
+
for (let i = 0; i < sorted.length; i++) {
|
|
36276
|
+
let insertFlag = 0;
|
|
36277
|
+
if (currentHeader !== sorted[i][groupKey]) {
|
|
36278
|
+
currentHeader = sorted[i][groupKey];
|
|
36279
|
+
insertFlag = 1;
|
|
36280
|
+
}
|
|
36281
|
+
if (insertFlag) {
|
|
36282
|
+
data.splice(i + inserts, 0, {
|
|
36283
|
+
[valueKey]: currentHeader,
|
|
36284
|
+
[groupKey]: currentHeader,
|
|
36285
|
+
isHeader: true
|
|
36286
|
+
});
|
|
36287
|
+
inserts++;
|
|
36288
|
+
}
|
|
36289
|
+
}
|
|
36290
|
+
return data;
|
|
36291
|
+
}
|
|
36292
|
+
}
|
|
36293
|
+
IgxComboGroupingPipe.decorators = [
|
|
36294
|
+
{ type: Pipe, args: [{
|
|
36295
|
+
name: 'comboGrouping'
|
|
36296
|
+
},] }
|
|
36297
|
+
];
|
|
36298
|
+
IgxComboGroupingPipe.ctorParameters = () => [
|
|
36299
|
+
{ type: undefined, decorators: [{ type: Inject, args: [IGX_COMBO_COMPONENT,] }] }
|
|
36300
|
+
];
|
|
36301
|
+
|
|
36302
|
+
/**
|
|
36303
|
+
* When called with sets A & B, returns A - B (as array);
|
|
36304
|
+
*
|
|
36305
|
+
* @hidden
|
|
36306
|
+
*/
|
|
36307
|
+
const diffInSets = (set1, set2) => {
|
|
36308
|
+
const results = [];
|
|
36309
|
+
set1.forEach(entry => {
|
|
36310
|
+
if (!set2.has(entry)) {
|
|
36311
|
+
results.push(entry);
|
|
36312
|
+
}
|
|
36313
|
+
});
|
|
36314
|
+
return results;
|
|
36315
|
+
};
|
|
36316
|
+
const ɵ0$1 = diffInSets;
|
|
36317
|
+
/**
|
|
36318
|
+
* Represents a drop-down list that provides editable functionalities, allowing users to choose an option from a predefined list.
|
|
36319
|
+
*
|
|
36320
|
+
* @igxModule IgxComboModule
|
|
36321
|
+
* @igxTheme igx-combo-theme
|
|
36322
|
+
* @igxKeywords combobox, combo selection
|
|
36323
|
+
* @igxGroup Grids & Lists
|
|
36324
|
+
*
|
|
36325
|
+
* @remarks
|
|
36326
|
+
* It provides the ability to filter items as well as perform selection with the provided data.
|
|
36327
|
+
* Additionally, it exposes keyboard navigation and custom styling capabilities.
|
|
36328
|
+
* @example
|
|
36329
|
+
* ```html
|
|
36330
|
+
* <igx-combo [itemsMaxHeight]="250" [data]="locationData"
|
|
36331
|
+
* [displayKey]="'field'" [valueKey]="'field'"
|
|
36332
|
+
* placeholder="Location(s)" searchPlaceholder="Search...">
|
|
36333
|
+
* </igx-combo>
|
|
36334
|
+
* ```
|
|
36335
|
+
*/
|
|
36336
|
+
class IgxComboComponent extends IgxComboBaseDirective {
|
|
36337
|
+
constructor(elementRef, cdr, selectionService, comboAPI, _iconService, _displayDensityOptions, _inputGroupType, _injector) {
|
|
36338
|
+
super(elementRef, cdr, selectionService, comboAPI, _iconService, _displayDensityOptions, _inputGroupType, _injector);
|
|
36339
|
+
this.elementRef = elementRef;
|
|
36340
|
+
this.cdr = cdr;
|
|
36341
|
+
this.selectionService = selectionService;
|
|
36342
|
+
this.comboAPI = comboAPI;
|
|
36343
|
+
this._iconService = _iconService;
|
|
36344
|
+
this._displayDensityOptions = _displayDensityOptions;
|
|
36345
|
+
this._inputGroupType = _inputGroupType;
|
|
36346
|
+
this._injector = _injector;
|
|
36347
|
+
/**
|
|
36348
|
+
* An @Input property that controls whether the combo's search box
|
|
36349
|
+
* should be focused after the `opened` event is called
|
|
36350
|
+
* When `false`, the combo's list item container will be focused instead
|
|
36351
|
+
*/
|
|
36352
|
+
this.autoFocusSearch = true;
|
|
36353
|
+
/**
|
|
36354
|
+
* An @Input property that enabled/disables filtering in the list. The default is `true`.
|
|
36355
|
+
* ```html
|
|
36356
|
+
* <igx-combo [filterable]="false">
|
|
36357
|
+
* ```
|
|
36358
|
+
*/
|
|
36359
|
+
this.filterable = true;
|
|
36360
|
+
/**
|
|
36361
|
+
* Defines the placeholder value for the combo dropdown search field
|
|
36362
|
+
*
|
|
36363
|
+
* ```typescript
|
|
36364
|
+
* // get
|
|
36365
|
+
* let myComboSearchPlaceholder = this.combo.searchPlaceholder;
|
|
36366
|
+
* ```
|
|
36367
|
+
*
|
|
36368
|
+
* ```html
|
|
36369
|
+
* <!--set-->
|
|
36370
|
+
* <igx-combo [searchPlaceholder]='newPlaceHolder'></igx-combo>
|
|
36371
|
+
* ```
|
|
36372
|
+
*/
|
|
36373
|
+
this.searchPlaceholder = 'Enter a Search Term';
|
|
36374
|
+
/**
|
|
36375
|
+
* Emitted when item selection is changing, before the selection completes
|
|
36376
|
+
*
|
|
36377
|
+
* ```html
|
|
36378
|
+
* <igx-combo (selectionChanging)='handleSelection()'></igx-combo>
|
|
36379
|
+
* ```
|
|
36380
|
+
*/
|
|
36381
|
+
this.selectionChanging = new EventEmitter();
|
|
36382
|
+
/**
|
|
36383
|
+
* @hidden @internal
|
|
36384
|
+
*/
|
|
36385
|
+
this.filteringLogic = FilteringLogic.Or;
|
|
36386
|
+
this.stringFilters = IgxStringFilteringOperand;
|
|
36387
|
+
this.booleanFilters = IgxBooleanFilteringOperand;
|
|
36388
|
+
this._prevInputValue = '';
|
|
36389
|
+
this.comboAPI.register(this);
|
|
36408
36390
|
}
|
|
36409
36391
|
/**
|
|
36410
|
-
*
|
|
36411
|
-
*
|
|
36412
|
-
* ```html
|
|
36413
|
-
* <button (click)="combo.toggle()">Toggle Combo</button>
|
|
36414
|
-
* <igx-combo #combo></igx-combo>
|
|
36415
|
-
* ```
|
|
36392
|
+
* @hidden @internal
|
|
36416
36393
|
*/
|
|
36417
|
-
|
|
36418
|
-
|
|
36419
|
-
|
|
36394
|
+
get inputEmpty() {
|
|
36395
|
+
return !this.value && !this.placeholder;
|
|
36396
|
+
}
|
|
36397
|
+
/** @hidden @internal */
|
|
36398
|
+
get filteredData() {
|
|
36399
|
+
return this.filterable ? this._filteredData : this.data;
|
|
36400
|
+
}
|
|
36401
|
+
/** @hidden @internal */
|
|
36402
|
+
set filteredData(val) {
|
|
36403
|
+
this._filteredData = this.groupKey ? (val || []).filter((e) => e.isHeader !== true) : val;
|
|
36404
|
+
this.checkMatch();
|
|
36405
|
+
}
|
|
36406
|
+
/** @hidden @internal */
|
|
36407
|
+
get displaySearchInput() {
|
|
36408
|
+
return this.filterable || this.allowCustomValues;
|
|
36420
36409
|
}
|
|
36421
36410
|
/**
|
|
36422
|
-
*
|
|
36423
|
-
*
|
|
36424
|
-
* ```html
|
|
36425
|
-
* <button (click)="combo.open()">Open Combo</button>
|
|
36426
|
-
* <igx-combo #combo></igx-combo>
|
|
36427
|
-
* ```
|
|
36411
|
+
* @hidden @internal
|
|
36428
36412
|
*/
|
|
36429
|
-
|
|
36430
|
-
|
|
36431
|
-
|
|
36413
|
+
handleKeyUp(event) {
|
|
36414
|
+
// TODO: use PlatformUtil for keyboard navigation
|
|
36415
|
+
if (event.key === 'ArrowDown' || event.key === 'Down') {
|
|
36416
|
+
this.dropdown.focusedItem = this.dropdown.items[0];
|
|
36417
|
+
this.dropdownContainer.nativeElement.focus();
|
|
36418
|
+
}
|
|
36419
|
+
else if (event.key === 'Escape' || event.key === 'Esc') {
|
|
36420
|
+
this.toggle();
|
|
36421
|
+
}
|
|
36432
36422
|
}
|
|
36433
36423
|
/**
|
|
36434
|
-
*
|
|
36435
|
-
*
|
|
36436
|
-
* ```html
|
|
36437
|
-
* <button (click)="combo.close()">Close Combo</button>
|
|
36438
|
-
* <igx-combo #combo></igx-combo>
|
|
36439
|
-
* ```
|
|
36424
|
+
* @hidden @internal
|
|
36440
36425
|
*/
|
|
36441
|
-
|
|
36442
|
-
|
|
36426
|
+
handleSelectAll(evt) {
|
|
36427
|
+
if (evt.checked) {
|
|
36428
|
+
this.selectAllItems();
|
|
36429
|
+
}
|
|
36430
|
+
else {
|
|
36431
|
+
this.deselectAllItems();
|
|
36432
|
+
}
|
|
36443
36433
|
}
|
|
36444
36434
|
/**
|
|
36445
|
-
*
|
|
36446
|
-
*
|
|
36447
|
-
* ```typescript
|
|
36448
|
-
* let state = this.combo.collapsed;
|
|
36449
|
-
* ```
|
|
36435
|
+
* @hidden @internal
|
|
36450
36436
|
*/
|
|
36451
|
-
|
|
36452
|
-
|
|
36437
|
+
writeValue(value) {
|
|
36438
|
+
const selection = Array.isArray(value) ? value : [];
|
|
36439
|
+
const oldSelection = this.selection;
|
|
36440
|
+
this.selectionService.select_items(this.id, selection, true);
|
|
36441
|
+
this.cdr.markForCheck();
|
|
36442
|
+
this._value = this.createDisplayText(this.selection, oldSelection);
|
|
36453
36443
|
}
|
|
36454
36444
|
/**
|
|
36455
|
-
*
|
|
36456
|
-
*
|
|
36457
|
-
* @returns Array of selected items
|
|
36458
|
-
* ```typescript
|
|
36459
|
-
* let selectedItems = this.combo.selectedItems();
|
|
36460
|
-
* ```
|
|
36445
|
+
* @hidden
|
|
36461
36446
|
*/
|
|
36462
|
-
|
|
36463
|
-
|
|
36464
|
-
|
|
36447
|
+
getEditElement() {
|
|
36448
|
+
return this.comboInput.nativeElement;
|
|
36449
|
+
}
|
|
36450
|
+
/**
|
|
36451
|
+
* @hidden @internal
|
|
36452
|
+
*/
|
|
36453
|
+
get context() {
|
|
36454
|
+
return {
|
|
36455
|
+
$implicit: this
|
|
36456
|
+
};
|
|
36457
|
+
}
|
|
36458
|
+
/**
|
|
36459
|
+
* @hidden @internal
|
|
36460
|
+
*/
|
|
36461
|
+
handleClearItems(event) {
|
|
36462
|
+
if (this.disabled) {
|
|
36463
|
+
return;
|
|
36464
|
+
}
|
|
36465
|
+
this.deselectAllItems(true, event);
|
|
36466
|
+
if (this.collapsed) {
|
|
36467
|
+
this.getEditElement().focus();
|
|
36468
|
+
}
|
|
36469
|
+
else {
|
|
36470
|
+
this.focusSearchInput(true);
|
|
36471
|
+
}
|
|
36472
|
+
event.stopPropagation();
|
|
36465
36473
|
}
|
|
36466
36474
|
/**
|
|
36467
36475
|
* Select defined items
|
|
@@ -36469,12 +36477,12 @@ class IgxComboComponent extends DisplayDensityBase {
|
|
|
36469
36477
|
* @param newItems new items to be selected
|
|
36470
36478
|
* @param clearCurrentSelection if true clear previous selected items
|
|
36471
36479
|
* ```typescript
|
|
36472
|
-
* this.combo.
|
|
36480
|
+
* this.combo.select(["New York", "New Jersey"]);
|
|
36473
36481
|
* ```
|
|
36474
36482
|
*/
|
|
36475
|
-
|
|
36483
|
+
select(newItems, clearCurrentSelection, event) {
|
|
36476
36484
|
if (newItems) {
|
|
36477
|
-
const newSelection = this.
|
|
36485
|
+
const newSelection = this.selectionService.add_items(this.id, newItems, clearCurrentSelection);
|
|
36478
36486
|
this.setSelection(newSelection, event);
|
|
36479
36487
|
}
|
|
36480
36488
|
}
|
|
@@ -36483,12 +36491,12 @@ class IgxComboComponent extends DisplayDensityBase {
|
|
|
36483
36491
|
*
|
|
36484
36492
|
* @param items items to deselected
|
|
36485
36493
|
* ```typescript
|
|
36486
|
-
* this.combo.
|
|
36494
|
+
* this.combo.deselect(["New York", "New Jersey"]);
|
|
36487
36495
|
* ```
|
|
36488
36496
|
*/
|
|
36489
|
-
|
|
36497
|
+
deselect(items, event) {
|
|
36490
36498
|
if (items) {
|
|
36491
|
-
const newSelection = this.
|
|
36499
|
+
const newSelection = this.selectionService.delete_items(this.id, items);
|
|
36492
36500
|
this.setSelection(newSelection, event);
|
|
36493
36501
|
}
|
|
36494
36502
|
}
|
|
@@ -36501,8 +36509,8 @@ class IgxComboComponent extends DisplayDensityBase {
|
|
|
36501
36509
|
* ```
|
|
36502
36510
|
*/
|
|
36503
36511
|
selectAllItems(ignoreFilter, event) {
|
|
36504
|
-
const allVisible = this.
|
|
36505
|
-
const newSelection = this.
|
|
36512
|
+
const allVisible = this.selectionService.get_all_ids(ignoreFilter ? this.data : this.filteredData, this.valueKey);
|
|
36513
|
+
const newSelection = this.selectionService.add_items(this.id, allVisible);
|
|
36506
36514
|
this.setSelection(newSelection, event);
|
|
36507
36515
|
}
|
|
36508
36516
|
/**
|
|
@@ -36514,9 +36522,9 @@ class IgxComboComponent extends DisplayDensityBase {
|
|
|
36514
36522
|
* ```
|
|
36515
36523
|
*/
|
|
36516
36524
|
deselectAllItems(ignoreFilter, event) {
|
|
36517
|
-
let newSelection = this.
|
|
36525
|
+
let newSelection = this.selectionService.get_empty();
|
|
36518
36526
|
if (this.filteredData.length !== this.data.length && !ignoreFilter) {
|
|
36519
|
-
newSelection = this.
|
|
36527
|
+
newSelection = this.selectionService.delete_items(this.id, this.selectionService.get_all_ids(this.filteredData, this.valueKey));
|
|
36520
36528
|
}
|
|
36521
36529
|
this.setSelection(newSelection, event);
|
|
36522
36530
|
}
|
|
@@ -36544,26 +36552,13 @@ class IgxComboComponent extends DisplayDensityBase {
|
|
|
36544
36552
|
return;
|
|
36545
36553
|
}
|
|
36546
36554
|
if (select) {
|
|
36547
|
-
this.
|
|
36555
|
+
this.select([itemID], false, event);
|
|
36548
36556
|
}
|
|
36549
36557
|
else {
|
|
36550
|
-
this.
|
|
36558
|
+
this.deselect([itemID], event);
|
|
36551
36559
|
}
|
|
36552
36560
|
}
|
|
36553
|
-
/**
|
|
36554
|
-
* Event handlers
|
|
36555
|
-
*
|
|
36556
|
-
* @hidden
|
|
36557
|
-
* @internal
|
|
36558
|
-
*/
|
|
36559
|
-
handleOpening(e) {
|
|
36560
|
-
const args = { owner: this, event: e.event, cancel: e.cancel };
|
|
36561
|
-
this.opening.emit(args);
|
|
36562
|
-
e.cancel = args.cancel;
|
|
36563
|
-
}
|
|
36564
|
-
/**
|
|
36565
|
-
* @hidden @internal
|
|
36566
|
-
*/
|
|
36561
|
+
/** @hidden @internal */
|
|
36567
36562
|
handleOpened() {
|
|
36568
36563
|
this.triggerCheck();
|
|
36569
36564
|
// Disabling focus of the search input should happen only when drop down opens.
|
|
@@ -36577,36 +36572,26 @@ class IgxComboComponent extends DisplayDensityBase {
|
|
|
36577
36572
|
}
|
|
36578
36573
|
this.opened.emit({ owner: this });
|
|
36579
36574
|
}
|
|
36580
|
-
/**
|
|
36581
|
-
|
|
36582
|
-
|
|
36583
|
-
|
|
36584
|
-
|
|
36585
|
-
|
|
36586
|
-
|
|
36587
|
-
|
|
36588
|
-
|
|
36575
|
+
/** @hidden @internal */
|
|
36576
|
+
focusSearchInput(opening) {
|
|
36577
|
+
if (this.displaySearchInput && this.searchInput) {
|
|
36578
|
+
this.searchInput.nativeElement.focus();
|
|
36579
|
+
}
|
|
36580
|
+
else {
|
|
36581
|
+
if (opening) {
|
|
36582
|
+
this.dropdownContainer.nativeElement.focus();
|
|
36583
|
+
}
|
|
36584
|
+
else {
|
|
36585
|
+
this.comboInput.nativeElement.focus();
|
|
36586
|
+
this.toggle();
|
|
36587
|
+
}
|
|
36589
36588
|
}
|
|
36590
|
-
this.searchValue = '';
|
|
36591
|
-
this.comboInput.nativeElement.focus();
|
|
36592
|
-
}
|
|
36593
|
-
/**
|
|
36594
|
-
* @hidden @internal
|
|
36595
|
-
*/
|
|
36596
|
-
handleClosed() {
|
|
36597
|
-
this.closed.emit({ owner: this });
|
|
36598
|
-
}
|
|
36599
|
-
/**
|
|
36600
|
-
* @hidden @internal
|
|
36601
|
-
*/
|
|
36602
|
-
toggleCaseSensitive() {
|
|
36603
|
-
this.filteringOptions = { caseSensitive: !this.filteringOptions.caseSensitive };
|
|
36604
36589
|
}
|
|
36605
36590
|
setSelection(newSelection, event) {
|
|
36606
|
-
const removed = diffInSets(this.
|
|
36607
|
-
const added = diffInSets(newSelection, this.
|
|
36591
|
+
const removed = diffInSets(this.selectionService.get(this.id), newSelection);
|
|
36592
|
+
const added = diffInSets(newSelection, this.selectionService.get(this.id));
|
|
36608
36593
|
const newSelectionAsArray = Array.from(newSelection);
|
|
36609
|
-
const oldSelectionAsArray = Array.from(this.
|
|
36594
|
+
const oldSelectionAsArray = Array.from(this.selectionService.get(this.id) || []);
|
|
36610
36595
|
const displayText = this.createDisplayText(newSelectionAsArray, oldSelectionAsArray);
|
|
36611
36596
|
const args = {
|
|
36612
36597
|
newSelection: newSelectionAsArray,
|
|
@@ -36620,7 +36605,7 @@ class IgxComboComponent extends DisplayDensityBase {
|
|
|
36620
36605
|
};
|
|
36621
36606
|
this.selectionChanging.emit(args);
|
|
36622
36607
|
if (!args.cancel) {
|
|
36623
|
-
this.
|
|
36608
|
+
this.selectionService.select_items(this.id, args.newSelection, true);
|
|
36624
36609
|
if (displayText !== args.displayText) {
|
|
36625
36610
|
this._value = args.displayText;
|
|
36626
36611
|
}
|
|
@@ -36630,44 +36615,10 @@ class IgxComboComponent extends DisplayDensityBase {
|
|
|
36630
36615
|
this._onChangeCallback(args.newSelection);
|
|
36631
36616
|
}
|
|
36632
36617
|
}
|
|
36633
|
-
|
|
36634
|
-
|
|
36635
|
-
|
|
36636
|
-
|
|
36637
|
-
this.inputGroup.isRequired = error && error.required;
|
|
36638
|
-
}
|
|
36639
|
-
}
|
|
36640
|
-
/** Contains key-value pairs of the selected valueKeys and their resp. displayKeys */
|
|
36641
|
-
registerRemoteEntries(ids, add = true) {
|
|
36642
|
-
if (add) {
|
|
36643
|
-
const selection = this.getValueDisplayPairs(ids);
|
|
36644
|
-
for (const entry of selection) {
|
|
36645
|
-
this._remoteSelection[entry[this.valueKey]] = entry[this.displayKey];
|
|
36646
|
-
}
|
|
36647
|
-
}
|
|
36648
|
-
else {
|
|
36649
|
-
for (const entry of ids) {
|
|
36650
|
-
delete this._remoteSelection[entry];
|
|
36651
|
-
}
|
|
36652
|
-
}
|
|
36653
|
-
}
|
|
36654
|
-
/**
|
|
36655
|
-
* For `id: any[]` returns a mapped `{ [combo.valueKey]: any, [combo.displayKey]: any }[]`
|
|
36656
|
-
*/
|
|
36657
|
-
getValueDisplayPairs(ids) {
|
|
36658
|
-
return this.data.filter(entry => ids.indexOf(entry[this.valueKey]) > -1).map(e => ({
|
|
36659
|
-
[this.valueKey]: e[this.valueKey],
|
|
36660
|
-
[this.displayKey]: e[this.displayKey]
|
|
36661
|
-
}));
|
|
36662
|
-
}
|
|
36663
|
-
checkMatch() {
|
|
36664
|
-
const displayKey = this.displayKey;
|
|
36665
|
-
const matchFn = (e) => {
|
|
36666
|
-
const value = displayKey ? e[displayKey] : e;
|
|
36667
|
-
return value.toString().toLowerCase() === this.searchValue.trim().toLowerCase();
|
|
36668
|
-
};
|
|
36669
|
-
const itemMatch = this.filteredData.some(matchFn);
|
|
36670
|
-
this.customValueFlag = this.allowCustomValues && !itemMatch;
|
|
36618
|
+
createDisplayText(newSelection, oldSelection) {
|
|
36619
|
+
return this.isRemote
|
|
36620
|
+
? this.getRemoteSelection(newSelection, oldSelection)
|
|
36621
|
+
: this.concatDisplayText(newSelection);
|
|
36671
36622
|
}
|
|
36672
36623
|
/** Returns a string that should be populated in the combo's text box */
|
|
36673
36624
|
concatDisplayText(selection) {
|
|
@@ -36676,44 +36627,11 @@ class IgxComboComponent extends DisplayDensityBase {
|
|
|
36676
36627
|
selection.join(', ');
|
|
36677
36628
|
return value;
|
|
36678
36629
|
}
|
|
36679
|
-
/**
|
|
36680
|
-
* Constructs the combo display value
|
|
36681
|
-
* If remote, caches the key displayText
|
|
36682
|
-
* If not, just combine the object.displayKeys
|
|
36683
|
-
*/
|
|
36684
|
-
createDisplayText(newSelection, oldSelection) {
|
|
36685
|
-
let value = '';
|
|
36686
|
-
if (this.isRemote) {
|
|
36687
|
-
if (newSelection.length) {
|
|
36688
|
-
const removedItems = oldSelection.filter(e => newSelection.indexOf(e) < 0);
|
|
36689
|
-
const addedItems = newSelection.filter(e => oldSelection.indexOf(e) < 0);
|
|
36690
|
-
this.registerRemoteEntries(addedItems);
|
|
36691
|
-
this.registerRemoteEntries(removedItems, false);
|
|
36692
|
-
value = Object.keys(this._remoteSelection).map(e => this._remoteSelection[e]).join(', ');
|
|
36693
|
-
}
|
|
36694
|
-
else {
|
|
36695
|
-
// If new selection is empty, clear all items
|
|
36696
|
-
this.registerRemoteEntries(oldSelection, false);
|
|
36697
|
-
}
|
|
36698
|
-
}
|
|
36699
|
-
else {
|
|
36700
|
-
value = this.concatDisplayText(newSelection);
|
|
36701
|
-
}
|
|
36702
|
-
return value;
|
|
36703
|
-
}
|
|
36704
|
-
/** if there is a valueKey - map the keys to data items, else - just return the keys */
|
|
36705
|
-
convertKeysToItems(keys) {
|
|
36706
|
-
if (this.comboAPI.valueKey === null) {
|
|
36707
|
-
return keys;
|
|
36708
|
-
}
|
|
36709
|
-
// map keys vs. filter data to retain the order of the selected items
|
|
36710
|
-
return keys.map(key => this.data.find(entry => entry[this.valueKey] === key)).filter(e => e !== undefined);
|
|
36711
|
-
}
|
|
36712
36630
|
}
|
|
36713
36631
|
IgxComboComponent.decorators = [
|
|
36714
36632
|
{ type: Component, args: [{
|
|
36715
36633
|
selector: 'igx-combo',
|
|
36716
|
-
template: "<igx-input-group #inputGroup [displayDensity]=\"displayDensity\" [type]=\"type\" (click)=\"
|
|
36634
|
+
template: "<igx-input-group #inputGroup [displayDensity]=\"displayDensity\" [type]=\"type\" (click)=\"onClick($event)\">\n <ng-container ngProjectAs=\"[igxLabel]\">\n <ng-content select=\"[igxLabel]\"></ng-content>\n </ng-container>\n <ng-container ngProjectAs=\"igx-prefix\">\n <ng-content select=\"igx-prefix\"></ng-content>\n </ng-container>\n <ng-container ngProjectAs=\"igx-hint, [igxHint]\">\n <ng-content select=\"igx-hint, [igxHint]\"></ng-content>\n </ng-container>\n <input igxInput #comboInput name=\"comboInput\" type=\"text\" [value]=\"value\" readonly [attr.placeholder]=\"placeholder\"\n [disabled]=\"disabled\" (blur)=\"onBlur()\" />\n <ng-container ngProjectAs=\"igx-suffix\">\n <ng-content select=\"igx-suffix\"></ng-content>\n </ng-container>\n <igx-suffix *ngIf=\"value.length\" aria-label=\"Clear Selection\" class=\"igx-combo__clear-button\"\n (click)=\"handleClearItems($event)\">\n <ng-container *ngIf=\"clearIconTemplate\">\n <ng-container *ngTemplateOutlet=\"clearIconTemplate\"></ng-container>\n </ng-container>\n <igx-icon *ngIf=\"!clearIconTemplate\">\n clear\n </igx-icon>\n </igx-suffix>\n <igx-suffix class=\"igx-combo__toggle-button\">\n <ng-container *ngIf=\"toggleIconTemplate\">\n <ng-container *ngTemplateOutlet=\"toggleIconTemplate; context: {$implicit: this.collapsed}\"></ng-container>\n </ng-container>\n <igx-icon *ngIf=\"!toggleIconTemplate\">\n {{ dropdown.collapsed ? 'arrow_drop_down' : 'arrow_drop_up'}}\n </igx-icon>\n </igx-suffix>\n</igx-input-group>\n<igx-combo-drop-down #igxComboDropDown class=\"igx-combo__drop-down\" [displayDensity]=\"displayDensity\"\n [width]=\"itemsWidth || '100%'\" (opening)=\"handleOpening($event)\" (closing)=\"handleClosing($event)\"\n (opened)=\"handleOpened()\" (closed)=\"handleClosed()\">\n <igx-input-group *ngIf=\"displaySearchInput\" [displayDensity]=\"displayDensity\" theme=\"material\" class=\"igx-combo__search\">\n <input class=\"igx-combo-input\" igxInput #searchInput name=\"searchInput\" autocomplete=\"off\" type=\"text\"\n [(ngModel)]=\"searchValue\" (ngModelChange)=\"handleInputChange($event)\" (keyup)=\"handleKeyUp($event)\"\n (keydown)=\"handleKeyDown($event)\" (focus)=\"dropdown.onBlur($event)\" [attr.placeholder]=\"searchPlaceholder\"\n aria-autocomplete=\"both\" [attr.aria-owns]=\"dropdown.id\" [attr.aria-labelledby]=\"ariaLabelledBy\" />\n <igx-suffix *ngIf=\"showSearchCaseIcon\">\n <igx-icon family=\"imx-icons\" name=\"case-sensitive\" [active]=\"filteringOptions.caseSensitive\"\n (click)=\"toggleCaseSensitive()\">\n </igx-icon>\n </igx-suffix>\n </igx-input-group>\n <ng-container *ngTemplateOutlet=\"headerTemplate\">\n </ng-container>\n <div #dropdownItemContainer class=\"igx-combo__content\" [style.overflow]=\"'hidden'\"\n [style.maxHeight.px]=\"itemsMaxHeight\" [igxDropDownItemNavigation]=\"dropdown\" (focus)=\"dropdown.onFocus()\"\n [tabindex]=\"dropdown.collapsed ? -1 : 0\" role=\"listbox\" [attr.id]=\"dropdown.id\">\n <igx-combo-item role=\"option\" [itemHeight]='itemHeight' *igxFor=\"let item of data\n | comboFiltering:filterValue:displayKey:filteringOptions:filterable\n | comboGrouping:groupKey:valueKey\n index as rowIndex; containerSize: itemsMaxHeight; scrollOrientation: 'vertical'; itemSize: itemHeight\"\n [value]=\"item\" [isHeader]=\"item.isHeader\" [index]=\"rowIndex\">\n <ng-container *ngIf=\"item.isHeader\">\n <ng-container\n *ngTemplateOutlet=\"headerItemTemplate ? headerItemTemplate : headerItemBase;\n context: {$implicit: item, data: data, valueKey: valueKey, groupKey: groupKey, displayKey: displayKey}\">\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"!item.isHeader\">\n <ng-container #listItem\n *ngTemplateOutlet=\"template; context: {$implicit: item, data: data, valueKey: valueKey, displayKey: displayKey};\">\n </ng-container>\n </ng-container>\n </igx-combo-item>\n </div>\n <div class=\"igx-combo__add\" *ngIf=\"filteredData.length === 0 || isAddButtonVisible()\">\n <div class=\"igx-combo__empty\" *ngIf=\"filteredData.length === 0\">\n <ng-container *ngTemplateOutlet=\"emptyTemplate ? emptyTemplate : empty\">\n </ng-container>\n </div>\n <igx-combo-add-item [itemHeight]=\"itemHeight\" *ngIf=\"isAddButtonVisible()\"\n [tabindex]=\"dropdown.collapsed ? -1 : customValueFlag ? 1 : -1\" class=\"igx-combo__add-item\" role=\"button\"\n aria-label=\"Add Item\" [index]=\"virtualScrollContainer.igxForOf.length\">\n <ng-container *ngTemplateOutlet=\"addItemTemplate ? addItemTemplate : addItemDefault\">\n </ng-container>\n </igx-combo-add-item>\n </div>\n <ng-container *ngTemplateOutlet=\"footerTemplate\">\n </ng-container>\n</igx-combo-drop-down>\n<ng-template #complex let-display let-data=\"data\" let-key=\"displayKey\">\n {{display[key]}}\n</ng-template>\n<ng-template #primitive let-display>\n {{display}}\n</ng-template>\n<ng-template #empty>\n <span>The list is empty</span>\n</ng-template>\n<ng-template #addItemDefault let-control>\n <button igxButton=\"flat\" igxRipple>Add item</button>\n</ng-template>\n<ng-template #headerItemBase let-item let-key=\"valueKey\" let-groupKey=\"groupKey\">\n {{ item[key] }}\n</ng-template>\n",
|
|
36717
36635
|
providers: [
|
|
36718
36636
|
IgxComboAPIService,
|
|
36719
36637
|
{ provide: IGX_COMBO_COMPONENT, useExisting: IgxComboComponent },
|
|
@@ -36732,56 +36650,11 @@ IgxComboComponent.ctorParameters = () => [
|
|
|
36732
36650
|
{ type: Injector, decorators: [{ type: Optional }] }
|
|
36733
36651
|
];
|
|
36734
36652
|
IgxComboComponent.propDecorators = {
|
|
36735
|
-
overlaySettings: [{ type: Input }],
|
|
36736
|
-
inputGroup: [{ type: ViewChild, args: ['inputGroup', { read: IgxInputGroupComponent, static: true },] }],
|
|
36737
|
-
comboInput: [{ type: ViewChild, args: ['comboInput', { read: IgxInputDirective, static: true },] }],
|
|
36738
|
-
dropdown: [{ type: ViewChild, args: [IgxComboDropDownComponent, { read: IgxComboDropDownComponent, static: true },] }],
|
|
36739
|
-
searchInput: [{ type: ViewChild, args: ['searchInput',] }],
|
|
36740
|
-
itemTemplate: [{ type: ContentChild, args: [IgxComboItemDirective, { read: TemplateRef },] }],
|
|
36741
|
-
headerTemplate: [{ type: ContentChild, args: [IgxComboHeaderDirective, { read: TemplateRef },] }],
|
|
36742
|
-
footerTemplate: [{ type: ContentChild, args: [IgxComboFooterDirective, { read: TemplateRef },] }],
|
|
36743
|
-
headerItemTemplate: [{ type: ContentChild, args: [IgxComboHeaderItemDirective, { read: TemplateRef },] }],
|
|
36744
|
-
addItemTemplate: [{ type: ContentChild, args: [IgxComboAddItemDirective, { read: TemplateRef },] }],
|
|
36745
|
-
emptyTemplate: [{ type: ContentChild, args: [IgxComboEmptyDirective, { read: TemplateRef },] }],
|
|
36746
|
-
toggleIconTemplate: [{ type: ContentChild, args: [IgxComboToggleIconDirective, { read: TemplateRef },] }],
|
|
36747
|
-
clearIconTemplate: [{ type: ContentChild, args: [IgxComboClearIconDirective, { read: TemplateRef },] }],
|
|
36748
|
-
virtualScrollContainer: [{ type: ViewChild, args: [IgxForOfDirective, { static: true },] }],
|
|
36749
|
-
selectionChanging: [{ type: Output }],
|
|
36750
|
-
opening: [{ type: Output }],
|
|
36751
|
-
opened: [{ type: Output }],
|
|
36752
|
-
closing: [{ type: Output }],
|
|
36753
|
-
closed: [{ type: Output }],
|
|
36754
|
-
addition: [{ type: Output }],
|
|
36755
|
-
searchInputUpdate: [{ type: Output }],
|
|
36756
|
-
dataPreLoad: [{ type: Output }],
|
|
36757
|
-
id: [{ type: HostBinding, args: ['attr.id',] }, { type: Input }],
|
|
36758
|
-
width: [{ type: HostBinding, args: ['style.width',] }, { type: Input }],
|
|
36759
|
-
cssClass: [{ type: HostBinding, args: ['class.igx-combo',] }],
|
|
36760
|
-
role: [{ type: HostBinding, args: [`attr.role`,] }],
|
|
36761
|
-
ariaExpanded: [{ type: HostBinding, args: ['attr.aria-expanded',] }],
|
|
36762
|
-
hasPopUp: [{ type: HostBinding, args: ['attr.aria-haspopup',] }],
|
|
36763
|
-
ariaOwns: [{ type: HostBinding, args: ['attr.aria-owns',] }],
|
|
36764
|
-
allowCustomValues: [{ type: Input }],
|
|
36765
|
-
itemsMaxHeight: [{ type: Input }],
|
|
36766
|
-
itemsWidth: [{ type: Input }],
|
|
36767
|
-
itemHeight: [{ type: Input }],
|
|
36768
|
-
placeholder: [{ type: Input }],
|
|
36769
|
-
searchPlaceholder: [{ type: Input }],
|
|
36770
|
-
showSearchCaseIcon: [{ type: Input }],
|
|
36771
|
-
data: [{ type: Input }],
|
|
36772
|
-
valueKey: [{ type: Input }],
|
|
36773
|
-
displayKey: [{ type: Input }],
|
|
36774
|
-
groupKey: [{ type: Input }],
|
|
36775
|
-
filterable: [{ type: Input }],
|
|
36776
|
-
ariaLabelledBy: [{ type: Input }, { type: HostBinding, args: ['attr.aria-labelledby',] }],
|
|
36777
|
-
disabled: [{ type: Input }],
|
|
36778
|
-
type: [{ type: Input }],
|
|
36779
36653
|
autoFocusSearch: [{ type: Input }],
|
|
36780
|
-
|
|
36781
|
-
|
|
36782
|
-
|
|
36783
|
-
|
|
36784
|
-
onArrowDown: [{ type: HostListener, args: ['keydown.ArrowDown', ['$event'],] }, { type: HostListener, args: ['keydown.Alt.ArrowDown', ['$event'],] }]
|
|
36654
|
+
filterable: [{ type: Input }],
|
|
36655
|
+
searchPlaceholder: [{ type: Input }],
|
|
36656
|
+
selectionChanging: [{ type: Output }],
|
|
36657
|
+
dropdown: [{ type: ViewChild, args: [IgxComboDropDownComponent, { static: true },] }]
|
|
36785
36658
|
};
|
|
36786
36659
|
/**
|
|
36787
36660
|
* @hidden
|
|
@@ -36801,6 +36674,8 @@ IgxComboModule.decorators = [
|
|
|
36801
36674
|
IgxComboToggleIconDirective,
|
|
36802
36675
|
IgxComboClearIconDirective],
|
|
36803
36676
|
exports: [IgxComboComponent, IgxComboItemComponent, IgxComboDropDownComponent, IgxComboAddItemComponent,
|
|
36677
|
+
IgxComboGroupingPipe,
|
|
36678
|
+
IgxComboFilteringPipe,
|
|
36804
36679
|
IgxComboItemDirective,
|
|
36805
36680
|
IgxComboEmptyDirective,
|
|
36806
36681
|
IgxComboHeaderItemDirective,
|
|
@@ -36815,6 +36690,375 @@ IgxComboModule.decorators = [
|
|
|
36815
36690
|
},] }
|
|
36816
36691
|
];
|
|
36817
36692
|
|
|
36693
|
+
/**
|
|
36694
|
+
* Represents a drop-down list that provides filtering functionality, allowing users to choose a single option from a predefined list.
|
|
36695
|
+
*
|
|
36696
|
+
* @igxModule IgxSimpleComboModule
|
|
36697
|
+
* @igxTheme igx-combo-theme
|
|
36698
|
+
* @igxKeywords combobox, single combo selection
|
|
36699
|
+
* @igxGroup Grids & Lists
|
|
36700
|
+
*
|
|
36701
|
+
* @remarks
|
|
36702
|
+
* It provides the ability to filter items as well as perform single selection on the provided data.
|
|
36703
|
+
* Additionally, it exposes keyboard navigation and custom styling capabilities.
|
|
36704
|
+
* @example
|
|
36705
|
+
* ```html
|
|
36706
|
+
* <igx-simple-combo [itemsMaxHeight]="250" [data]="locationData"
|
|
36707
|
+
* [displayKey]="'field'" [valueKey]="'field'"
|
|
36708
|
+
* placeholder="Location" searchPlaceholder="Search...">
|
|
36709
|
+
* </igx-simple-combo>
|
|
36710
|
+
* ```
|
|
36711
|
+
*/
|
|
36712
|
+
class IgxSimpleComboComponent extends IgxComboBaseDirective {
|
|
36713
|
+
constructor(elementRef, cdr, selectionService, comboAPI, _iconService, platformUtil, _displayDensityOptions, _inputGroupType, _injector) {
|
|
36714
|
+
super(elementRef, cdr, selectionService, comboAPI, _iconService, _displayDensityOptions, _inputGroupType, _injector);
|
|
36715
|
+
this.elementRef = elementRef;
|
|
36716
|
+
this.cdr = cdr;
|
|
36717
|
+
this.selectionService = selectionService;
|
|
36718
|
+
this.comboAPI = comboAPI;
|
|
36719
|
+
this._iconService = _iconService;
|
|
36720
|
+
this.platformUtil = platformUtil;
|
|
36721
|
+
this._displayDensityOptions = _displayDensityOptions;
|
|
36722
|
+
this._inputGroupType = _inputGroupType;
|
|
36723
|
+
this._injector = _injector;
|
|
36724
|
+
/**
|
|
36725
|
+
* Emitted when item selection is changing, before the selection completes
|
|
36726
|
+
*
|
|
36727
|
+
* ```html
|
|
36728
|
+
* <igx-simple-combo (selectionChanging)='handleSelection()'></igx-simple-combo>
|
|
36729
|
+
* ```
|
|
36730
|
+
*/
|
|
36731
|
+
this.selectionChanging = new EventEmitter();
|
|
36732
|
+
/** @hidden @internal */
|
|
36733
|
+
this.composing = false;
|
|
36734
|
+
this._updateInput = true;
|
|
36735
|
+
this.findMatch = (element) => {
|
|
36736
|
+
const value = this.displayKey ? element[this.displayKey] : element;
|
|
36737
|
+
return value.toString().toLowerCase().includes(this.searchValue.trim().toLowerCase());
|
|
36738
|
+
};
|
|
36739
|
+
this.comboAPI.register(this);
|
|
36740
|
+
}
|
|
36741
|
+
/** @hidden @internal */
|
|
36742
|
+
get filteredData() {
|
|
36743
|
+
return this._filteredData;
|
|
36744
|
+
}
|
|
36745
|
+
/** @hidden @internal */
|
|
36746
|
+
set filteredData(val) {
|
|
36747
|
+
this._filteredData = this.groupKey ? (val || []).filter((e) => e.isHeader !== true) : val;
|
|
36748
|
+
this.checkMatch();
|
|
36749
|
+
}
|
|
36750
|
+
/** @hidden @internal */
|
|
36751
|
+
onArrowDown(event) {
|
|
36752
|
+
if (this.collapsed) {
|
|
36753
|
+
event.preventDefault();
|
|
36754
|
+
event.stopPropagation();
|
|
36755
|
+
this.open();
|
|
36756
|
+
}
|
|
36757
|
+
else {
|
|
36758
|
+
if (this.virtDir.igxForOf.length > 0) {
|
|
36759
|
+
this.dropdown.navigateFirst();
|
|
36760
|
+
this.dropdownContainer.nativeElement.focus();
|
|
36761
|
+
}
|
|
36762
|
+
else if (this.allowCustomValues) {
|
|
36763
|
+
this.addItem.element.nativeElement.focus();
|
|
36764
|
+
}
|
|
36765
|
+
}
|
|
36766
|
+
}
|
|
36767
|
+
/**
|
|
36768
|
+
* Select a defined item
|
|
36769
|
+
*
|
|
36770
|
+
* @param item the item to be selected
|
|
36771
|
+
* ```typescript
|
|
36772
|
+
* this.combo.select("New York");
|
|
36773
|
+
* ```
|
|
36774
|
+
*/
|
|
36775
|
+
select(item) {
|
|
36776
|
+
if (item !== null && item !== undefined) {
|
|
36777
|
+
const newSelection = this.selectionService.add_items(this.id, item instanceof Array ? item : [item], true);
|
|
36778
|
+
this.setSelection(newSelection);
|
|
36779
|
+
}
|
|
36780
|
+
}
|
|
36781
|
+
/**
|
|
36782
|
+
* Deselect the currently selected item
|
|
36783
|
+
*
|
|
36784
|
+
* @param item the items to be deselected
|
|
36785
|
+
* ```typescript
|
|
36786
|
+
* this.combo.deselect("New York");
|
|
36787
|
+
* ```
|
|
36788
|
+
*/
|
|
36789
|
+
deselect() {
|
|
36790
|
+
this.clearSelection();
|
|
36791
|
+
}
|
|
36792
|
+
/** @hidden @internal */
|
|
36793
|
+
writeValue(value) {
|
|
36794
|
+
const oldSelection = this.selection;
|
|
36795
|
+
this.selectionService.select_items(this.id, value ? [value] : [], true);
|
|
36796
|
+
this.cdr.markForCheck();
|
|
36797
|
+
this._value = this.createDisplayText(this.selection, oldSelection);
|
|
36798
|
+
}
|
|
36799
|
+
/** @hidden @internal */
|
|
36800
|
+
ngAfterViewInit() {
|
|
36801
|
+
this.virtDir.contentSizeChange.pipe(takeUntil(this.destroy$)).subscribe(() => {
|
|
36802
|
+
if (this.selection.length > 0) {
|
|
36803
|
+
const index = this.virtDir.igxForOf.findIndex(e => {
|
|
36804
|
+
let current = e[this.valueKey];
|
|
36805
|
+
if (this.valueKey === null || this.valueKey === undefined) {
|
|
36806
|
+
current = e;
|
|
36807
|
+
}
|
|
36808
|
+
return current === this.selection[0];
|
|
36809
|
+
});
|
|
36810
|
+
this.dropdown.navigateItem(index);
|
|
36811
|
+
}
|
|
36812
|
+
});
|
|
36813
|
+
this.dropdown.opened.pipe(takeUntil(this.destroy$)).subscribe(() => {
|
|
36814
|
+
if (this.composing) {
|
|
36815
|
+
this.comboInput.focus();
|
|
36816
|
+
}
|
|
36817
|
+
});
|
|
36818
|
+
this.dropdown.closing.pipe(takeUntil(this.destroy$)).subscribe((args) => {
|
|
36819
|
+
if (this.getEditElement() && !args.event) {
|
|
36820
|
+
this.comboInput.focus();
|
|
36821
|
+
}
|
|
36822
|
+
else {
|
|
36823
|
+
this.clearOnBlur();
|
|
36824
|
+
this._onTouchedCallback();
|
|
36825
|
+
}
|
|
36826
|
+
});
|
|
36827
|
+
super.ngAfterViewInit();
|
|
36828
|
+
}
|
|
36829
|
+
/** @hidden @internal */
|
|
36830
|
+
handleInputChange(event) {
|
|
36831
|
+
this.searchValue = event.target.value;
|
|
36832
|
+
this._onChangeCallback(this.searchValue);
|
|
36833
|
+
if (this.collapsed && this.comboInput.focused) {
|
|
36834
|
+
this.open();
|
|
36835
|
+
this.dropdown.navigateFirst();
|
|
36836
|
+
}
|
|
36837
|
+
if (!this.comboInput.value.trim()) {
|
|
36838
|
+
// handle clearing of input by space
|
|
36839
|
+
this.clearSelection();
|
|
36840
|
+
this._onChangeCallback(null);
|
|
36841
|
+
}
|
|
36842
|
+
super.handleInputChange(event);
|
|
36843
|
+
this.composing = true;
|
|
36844
|
+
}
|
|
36845
|
+
/** @hidden @internal */
|
|
36846
|
+
handleKeyDown(event) {
|
|
36847
|
+
if (event.key === this.platformUtil.KEYMAP.ENTER) {
|
|
36848
|
+
const filtered = this.filteredData.find(this.findMatch);
|
|
36849
|
+
if (filtered === null || filtered === undefined) {
|
|
36850
|
+
return;
|
|
36851
|
+
}
|
|
36852
|
+
this.select(this.dropdown.focusedItem.itemID);
|
|
36853
|
+
event.preventDefault();
|
|
36854
|
+
event.stopPropagation();
|
|
36855
|
+
this.close();
|
|
36856
|
+
// manually trigger text selection as it will not be triggered during editing
|
|
36857
|
+
this.textSelection.trigger();
|
|
36858
|
+
return;
|
|
36859
|
+
}
|
|
36860
|
+
if (event.key === this.platformUtil.KEYMAP.BACKSPACE
|
|
36861
|
+
|| event.key === this.platformUtil.KEYMAP.DELETE) {
|
|
36862
|
+
this._updateInput = false;
|
|
36863
|
+
this.clearSelection();
|
|
36864
|
+
}
|
|
36865
|
+
if (!this.collapsed && event.key === this.platformUtil.KEYMAP.TAB) {
|
|
36866
|
+
this.close();
|
|
36867
|
+
this.clearOnBlur();
|
|
36868
|
+
}
|
|
36869
|
+
this.composing = false;
|
|
36870
|
+
super.handleKeyDown(event);
|
|
36871
|
+
}
|
|
36872
|
+
/** @hidden @internal */
|
|
36873
|
+
handleKeyUp(event) {
|
|
36874
|
+
if (event.key === this.platformUtil.KEYMAP.ARROW_DOWN) {
|
|
36875
|
+
const firstItem = this.selectionService.first_item(this.id);
|
|
36876
|
+
this.dropdown.focusedItem = firstItem && this.filteredData.length > 0
|
|
36877
|
+
? this.dropdown.items.find(i => i.itemID === firstItem)
|
|
36878
|
+
: this.dropdown.items[0];
|
|
36879
|
+
this.dropdownContainer.nativeElement.focus();
|
|
36880
|
+
}
|
|
36881
|
+
}
|
|
36882
|
+
/** @hidden @internal */
|
|
36883
|
+
handleItemKeyDown(event) {
|
|
36884
|
+
if (event.key === this.platformUtil.KEYMAP.ARROW_UP && event.altKey) {
|
|
36885
|
+
this.close();
|
|
36886
|
+
this.comboInput.focus();
|
|
36887
|
+
return;
|
|
36888
|
+
}
|
|
36889
|
+
if (event.key === this.platformUtil.KEYMAP.ENTER) {
|
|
36890
|
+
this.comboInput.focus();
|
|
36891
|
+
}
|
|
36892
|
+
}
|
|
36893
|
+
/** @hidden @internal */
|
|
36894
|
+
handleItemClick() {
|
|
36895
|
+
this.close();
|
|
36896
|
+
this.comboInput.focus();
|
|
36897
|
+
}
|
|
36898
|
+
/** @hidden @internal */
|
|
36899
|
+
onBlur() {
|
|
36900
|
+
if (this.collapsed) {
|
|
36901
|
+
this.clearOnBlur();
|
|
36902
|
+
}
|
|
36903
|
+
super.onBlur();
|
|
36904
|
+
}
|
|
36905
|
+
/** @hidden @internal */
|
|
36906
|
+
getEditElement() {
|
|
36907
|
+
return this.comboInput.nativeElement;
|
|
36908
|
+
}
|
|
36909
|
+
/** @hidden @internal */
|
|
36910
|
+
handleClear(event) {
|
|
36911
|
+
if (this.disabled) {
|
|
36912
|
+
return;
|
|
36913
|
+
}
|
|
36914
|
+
this.clearSelection(true);
|
|
36915
|
+
if (this.collapsed) {
|
|
36916
|
+
this.open();
|
|
36917
|
+
this.dropdown.navigateFirst();
|
|
36918
|
+
}
|
|
36919
|
+
else {
|
|
36920
|
+
this.focusSearchInput(true);
|
|
36921
|
+
}
|
|
36922
|
+
event.stopPropagation();
|
|
36923
|
+
this.comboInput.value = this.filterValue = this.searchValue = '';
|
|
36924
|
+
this.dropdown.focusedItem = null;
|
|
36925
|
+
this.composing = false;
|
|
36926
|
+
this.comboInput.focus();
|
|
36927
|
+
}
|
|
36928
|
+
/** @hidden @internal */
|
|
36929
|
+
handleOpened() {
|
|
36930
|
+
this.triggerCheck();
|
|
36931
|
+
this.dropdownContainer.nativeElement.focus();
|
|
36932
|
+
this.opened.emit({ owner: this });
|
|
36933
|
+
}
|
|
36934
|
+
/** @hidden @internal */
|
|
36935
|
+
handleClosing(e) {
|
|
36936
|
+
const args = { owner: this, event: e.event, cancel: e.cancel };
|
|
36937
|
+
this.closing.emit(args);
|
|
36938
|
+
e.cancel = args.cancel;
|
|
36939
|
+
if (e.cancel) {
|
|
36940
|
+
return;
|
|
36941
|
+
}
|
|
36942
|
+
this.composing = false;
|
|
36943
|
+
// explicitly update selection and trigger text selection so that we don't have to force CD
|
|
36944
|
+
this.textSelection.selected = true;
|
|
36945
|
+
this.textSelection.trigger();
|
|
36946
|
+
}
|
|
36947
|
+
/** @hidden @internal */
|
|
36948
|
+
focusSearchInput(opening) {
|
|
36949
|
+
if (opening) {
|
|
36950
|
+
this.dropdownContainer.nativeElement.focus();
|
|
36951
|
+
}
|
|
36952
|
+
else {
|
|
36953
|
+
this.comboInput.nativeElement.focus();
|
|
36954
|
+
this.toggle();
|
|
36955
|
+
}
|
|
36956
|
+
}
|
|
36957
|
+
/** @hidden @internal */
|
|
36958
|
+
onClick(event) {
|
|
36959
|
+
super.onClick(event);
|
|
36960
|
+
if (this.comboInput.value.length === 0) {
|
|
36961
|
+
this.virtDir.scrollTo(0);
|
|
36962
|
+
}
|
|
36963
|
+
}
|
|
36964
|
+
setSelection(newSelection) {
|
|
36965
|
+
const newSelectionAsArray = newSelection ? Array.from(newSelection) : [];
|
|
36966
|
+
const oldSelectionAsArray = Array.from(this.selectionService.get(this.id) || []);
|
|
36967
|
+
const displayText = this.createDisplayText(newSelectionAsArray, oldSelectionAsArray);
|
|
36968
|
+
const args = {
|
|
36969
|
+
newSelection: newSelectionAsArray[0],
|
|
36970
|
+
oldSelection: oldSelectionAsArray[0],
|
|
36971
|
+
displayText,
|
|
36972
|
+
owner: this,
|
|
36973
|
+
cancel: false
|
|
36974
|
+
};
|
|
36975
|
+
this.selectionChanging.emit(args);
|
|
36976
|
+
if (!args.cancel) {
|
|
36977
|
+
const argsSelection = args.newSelection !== undefined
|
|
36978
|
+
&& args.newSelection !== null
|
|
36979
|
+
? [args.newSelection]
|
|
36980
|
+
: [];
|
|
36981
|
+
this.selectionService.select_items(this.id, argsSelection, true);
|
|
36982
|
+
if (this._updateInput) {
|
|
36983
|
+
this.comboInput.value = this._value = displayText !== args.displayText
|
|
36984
|
+
? args.displayText
|
|
36985
|
+
: this.createDisplayText(argsSelection, [args.oldSelection]);
|
|
36986
|
+
}
|
|
36987
|
+
this._onChangeCallback(args.newSelection);
|
|
36988
|
+
this._updateInput = true;
|
|
36989
|
+
}
|
|
36990
|
+
}
|
|
36991
|
+
createDisplayText(newSelection, oldSelection) {
|
|
36992
|
+
if (this.isRemote) {
|
|
36993
|
+
return this.getRemoteSelection(newSelection, oldSelection);
|
|
36994
|
+
}
|
|
36995
|
+
if (this.displayKey !== null && this.displayKey !== undefined
|
|
36996
|
+
&& newSelection.length > 0) {
|
|
36997
|
+
return this.convertKeysToItems(newSelection).map(e => e[this.displayKey])[0];
|
|
36998
|
+
}
|
|
36999
|
+
return newSelection[0] || '';
|
|
37000
|
+
}
|
|
37001
|
+
clearSelection(ignoreFilter) {
|
|
37002
|
+
let newSelection = this.selectionService.get_empty();
|
|
37003
|
+
if (this.filteredData.length !== this.data.length && !ignoreFilter) {
|
|
37004
|
+
newSelection = this.selectionService.delete_items(this.id, this.selectionService.get_all_ids(this.filteredData, this.valueKey));
|
|
37005
|
+
}
|
|
37006
|
+
this.setSelection(newSelection);
|
|
37007
|
+
}
|
|
37008
|
+
clearOnBlur() {
|
|
37009
|
+
const filtered = this.filteredData.find(this.findMatch);
|
|
37010
|
+
if ((filtered === undefined || filtered === null)) {
|
|
37011
|
+
this.close();
|
|
37012
|
+
this.clearSelection();
|
|
37013
|
+
this.searchValue = '';
|
|
37014
|
+
}
|
|
37015
|
+
}
|
|
37016
|
+
}
|
|
37017
|
+
IgxSimpleComboComponent.decorators = [
|
|
37018
|
+
{ type: Component, args: [{
|
|
37019
|
+
selector: 'igx-simple-combo',
|
|
37020
|
+
template: "<igx-input-group #inputGroup [displayDensity]=\"displayDensity\" [suppressInputAutofocus]=\"true\" [type]=\"type\">\n <ng-container ngProjectAs=\"[igxLabel]\">\n <ng-content select=\"[igxLabel]\"></ng-content>\n </ng-container>\n <ng-container ngProjectAs=\"igx-prefix\">\n <ng-content select=\"igx-prefix\"></ng-content>\n </ng-container>\n <ng-container ngProjectAs=\"igx-hint, [igxHint]\">\n <ng-content select=\"igx-hint, [igxHint]\"></ng-content>\n </ng-container>\n\n <input #comboInput igxInput [value]=\"value\" (input)=\"handleInputChange($event)\" (keyup)=\"handleKeyUp($event)\"\n (keydown)=\"handleKeyDown($event)\" (blur)=\"onBlur()\" [attr.placeholder]=\"placeholder\" aria-autocomplete=\"both\"\n [attr.aria-owns]=\"dropdown.id\" [attr.aria-labelledby]=\"ariaLabelledBy\" [disabled]=\"disabled\"\n [igxTextSelection]=\"!composing\" />\n\n <ng-container ngProjectAs=\"igx-suffix\">\n <ng-content select=\"igx-suffix\"></ng-content>\n </ng-container>\n <igx-suffix *ngIf=\"comboInput.value.length\" aria-label=\"Clear Selection\" class=\"igx-combo__clear-button\"\n (click)=\"handleClear($event)\">\n <ng-container *ngIf=\"clearIconTemplate\">\n <ng-container *ngTemplateOutlet=\"clearIconTemplate\"></ng-container>\n </ng-container>\n <igx-icon *ngIf=\"!clearIconTemplate\">\n clear\n </igx-icon>\n </igx-suffix>\n <igx-suffix *ngIf=\"showSearchCaseIcon\">\n <igx-icon family=\"imx-icons\" name=\"case-sensitive\" [active]=\"filteringOptions.caseSensitive\"\n (click)=\"toggleCaseSensitive()\">\n </igx-icon>\n </igx-suffix>\n <igx-suffix class=\"igx-combo__toggle-button\">\n <ng-container *ngIf=\"toggleIconTemplate\">\n <ng-container *ngTemplateOutlet=\"toggleIconTemplate; context: {$implicit: collapsed}\"></ng-container>\n </ng-container>\n <igx-icon (click)=\"onClick($event)\" *ngIf=\"!toggleIconTemplate\">\n {{ dropdown.collapsed ? 'arrow_drop_down' : 'arrow_drop_up'}}\n </igx-icon>\n </igx-suffix>\n</igx-input-group>\n\n<igx-combo-drop-down #igxComboDropDown class=\"igx-combo__drop-down\" [displayDensity]=\"displayDensity\"\n [width]=\"itemsWidth || '100%'\" (opening)=\"handleOpening($event)\" (closing)=\"handleClosing($event)\"\n (opened)=\"handleOpened()\" (closed)=\"handleClosed()\" [singleMode]=\"true\">\n <ng-container *ngTemplateOutlet=\"headerTemplate\">\n </ng-container>\n <div #dropdownItemContainer class=\"igx-combo__content\" [style.overflow]=\"'hidden'\"\n [style.maxHeight.px]=\"itemsMaxHeight\" [igxDropDownItemNavigation]=\"dropdown\" (focus)=\"dropdown.onFocus()\"\n [tabindex]=\"dropdown.collapsed ? -1 : 0\" role=\"listbox\" [attr.id]=\"dropdown.id\"\n (keydown)=\"handleItemKeyDown($event)\">\n <igx-combo-item role=\"option\" [singleMode]=\"true\" [itemHeight]='itemHeight' (click)=\"handleItemClick()\" *igxFor=\"let item of data\n | comboFiltering:filterValue:displayKey:filteringOptions:true\n | comboGrouping:groupKey:valueKey\n index as rowIndex; containerSize: itemsMaxHeight; scrollOrientation: 'vertical'; itemSize: itemHeight\"\n [value]=\"item\" [isHeader]=\"item.isHeader\" [index]=\"rowIndex\">\n <ng-container *ngIf=\"item.isHeader\">\n <ng-container\n *ngTemplateOutlet=\"headerItemTemplate ? headerItemTemplate : headerItemBase;\n context: {$implicit: item, data: data, valueKey: valueKey, groupKey: groupKey, displayKey: displayKey}\">\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"!item.isHeader\">\n <ng-container #listItem\n *ngTemplateOutlet=\"template; context: {$implicit: item, data: data, valueKey: valueKey, displayKey: displayKey};\">\n </ng-container>\n </ng-container>\n </igx-combo-item>\n </div>\n\n <div class=\"igx-combo__add\" *ngIf=\"filteredData.length === 0 || isAddButtonVisible()\">\n <div class=\"igx-combo__empty\" *ngIf=\"filteredData.length === 0\">\n <ng-container *ngTemplateOutlet=\"emptyTemplate ? emptyTemplate : empty\">\n </ng-container>\n </div>\n <igx-combo-add-item #addItem [itemHeight]=\"itemHeight\" *ngIf=\"isAddButtonVisible()\"\n [tabindex]=\"dropdown.collapsed ? -1 : customValueFlag ? 1 : -1\" class=\"igx-combo__add-item\" role=\"button\"\n aria-label=\"Add Item\" [index]=\"virtualScrollContainer.igxForOf.length\">\n <ng-container *ngTemplateOutlet=\"addItemTemplate ? addItemTemplate : addItemDefault\">\n </ng-container>\n </igx-combo-add-item>\n </div>\n <ng-container *ngTemplateOutlet=\"footerTemplate\">\n </ng-container>\n</igx-combo-drop-down>\n\n<ng-template #complex let-display let-data=\"data\" let-key=\"displayKey\">\n {{display[key]}}\n</ng-template>\n<ng-template #primitive let-display>\n {{display}}\n</ng-template>\n<ng-template #empty>\n <span>The list is empty</span>\n</ng-template>\n<ng-template #addItemDefault let-control>\n <button igxButton=\"flat\" igxRipple>Add item</button>\n</ng-template>\n<ng-template #headerItemBase let-item let-key=\"valueKey\" let-groupKey=\"groupKey\">\n {{ item[key] }}\n</ng-template>\n",
|
|
37021
|
+
providers: [
|
|
37022
|
+
IgxComboAPIService,
|
|
37023
|
+
{ provide: IGX_COMBO_COMPONENT, useExisting: IgxSimpleComboComponent },
|
|
37024
|
+
{ provide: NG_VALUE_ACCESSOR, useExisting: IgxSimpleComboComponent, multi: true }
|
|
37025
|
+
]
|
|
37026
|
+
},] }
|
|
37027
|
+
];
|
|
37028
|
+
IgxSimpleComboComponent.ctorParameters = () => [
|
|
37029
|
+
{ type: ElementRef },
|
|
37030
|
+
{ type: ChangeDetectorRef },
|
|
37031
|
+
{ type: IgxSelectionAPIService },
|
|
37032
|
+
{ type: IgxComboAPIService },
|
|
37033
|
+
{ type: IgxIconService },
|
|
37034
|
+
{ type: PlatformUtil },
|
|
37035
|
+
{ type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [DisplayDensityToken,] }] },
|
|
37036
|
+
{ type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [IGX_INPUT_GROUP_TYPE,] }] },
|
|
37037
|
+
{ type: Injector, decorators: [{ type: Optional }] }
|
|
37038
|
+
];
|
|
37039
|
+
IgxSimpleComboComponent.propDecorators = {
|
|
37040
|
+
dropdown: [{ type: ViewChild, args: [IgxComboDropDownComponent, { static: true },] }],
|
|
37041
|
+
addItem: [{ type: ViewChild, args: [IgxComboAddItemComponent,] }],
|
|
37042
|
+
selectionChanging: [{ type: Output }],
|
|
37043
|
+
textSelection: [{ type: ViewChild, args: [IgxTextSelectionDirective, { static: true },] }],
|
|
37044
|
+
onArrowDown: [{ type: HostListener, args: ['keydown.ArrowDown', ['$event'],] }, { type: HostListener, args: ['keydown.Alt.ArrowDown', ['$event'],] }]
|
|
37045
|
+
};
|
|
37046
|
+
class IgxSimpleComboModule {
|
|
37047
|
+
}
|
|
37048
|
+
IgxSimpleComboModule.decorators = [
|
|
37049
|
+
{ type: NgModule, args: [{
|
|
37050
|
+
declarations: [IgxSimpleComboComponent],
|
|
37051
|
+
imports: [
|
|
37052
|
+
IgxComboModule, IgxRippleModule, CommonModule,
|
|
37053
|
+
IgxInputGroupModule, FormsModule, ReactiveFormsModule,
|
|
37054
|
+
IgxForOfModule, IgxToggleModule, IgxCheckboxModule,
|
|
37055
|
+
IgxDropDownModule, IgxButtonModule, IgxIconModule,
|
|
37056
|
+
IgxTextSelectionModule
|
|
37057
|
+
],
|
|
37058
|
+
exports: [IgxSimpleComboComponent, IgxComboModule]
|
|
37059
|
+
},] }
|
|
37060
|
+
];
|
|
37061
|
+
|
|
36818
37062
|
/** Header orientation in `dialog` mode. */
|
|
36819
37063
|
const PickerHeaderOrientation = mkenum({
|
|
36820
37064
|
Horizontal: 'horizontal',
|
|
@@ -46981,15 +47225,23 @@ class IgxGridFilteringRowComponent {
|
|
|
46981
47225
|
set value(val) {
|
|
46982
47226
|
if (!val && val !== 0) {
|
|
46983
47227
|
this.expression.searchVal = null;
|
|
46984
|
-
this.
|
|
47228
|
+
const index = this.expressionsList.findIndex(item => item.expression === this.expression);
|
|
47229
|
+
if (index === 0 && this.expressionsList.length === 1) {
|
|
47230
|
+
this.clearFiltering();
|
|
47231
|
+
return;
|
|
47232
|
+
}
|
|
46985
47233
|
}
|
|
46986
47234
|
else {
|
|
47235
|
+
const oldValue = this.expression.searchVal;
|
|
47236
|
+
if (isEqual(oldValue, val)) {
|
|
47237
|
+
return;
|
|
47238
|
+
}
|
|
46987
47239
|
this.expression.searchVal = DataUtil.parseValue(this.column.dataType, val);
|
|
46988
47240
|
if (this.expressionsList.find(item => item.expression === this.expression) === undefined) {
|
|
46989
47241
|
this.addExpression(true);
|
|
46990
47242
|
}
|
|
47243
|
+
this.filter();
|
|
46991
47244
|
}
|
|
46992
|
-
this.filter();
|
|
46993
47245
|
}
|
|
46994
47246
|
get displayDensity() {
|
|
46995
47247
|
return this.column.grid.displayDensity === DisplayDensity.comfortable ? DisplayDensity.cosy : this.column.grid.displayDensity;
|
|
@@ -48420,7 +48672,7 @@ IgxGridHeaderRowComponent.decorators = [
|
|
|
48420
48672
|
{ type: Component, args: [{
|
|
48421
48673
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
48422
48674
|
selector: 'igx-grid-header-row',
|
|
48423
|
-
template: "<div role=\"rowgroup\" class=\"igx-grid-thead__wrapper\" [style.width.px]=\"width\"\n [
|
|
48675
|
+
template: "<div role=\"rowgroup\" class=\"igx-grid-thead__wrapper\" [style.width.px]=\"width\"\n [class.igx-grid__tr--mrl]=\"hasMRL\">\n\n <!-- Column headers area -->\n <div class=\"igx-grid__tr\" role=\"row\" [style.width.px]=\"width\">\n\n <!-- Left column moving area -->\n <ng-container *ngIf=\"grid.hasMovableColumns && grid.columnInDrag && pinnedColumnCollection.length <= 0\">\n <span id=\"left\" class=\"igx-grid__scroll-on-drag-left\" droppable=\"true\" [style.left.px]=\"grid.pinnedWidth\"\n [igxColumnMovingDrop]=\"headerContainer\"></span>\n </ng-container>\n <ng-container *ngIf=\"grid.hasMovableColumns && grid.columnInDrag && pinnedColumnCollection.length > 0\">\n <span id=\"left\" class=\"igx-grid__scroll-on-drag-pinned\" droppable=\"true\" [style.left.px]=\"grid.pinnedWidth\"\n [igxColumnMovingDrop]=\"headerContainer\"></span>\n </ng-container>\n\n <!-- Row dragging area -->\n <ng-container *ngIf=\"grid.rowDraggable\">\n <div #headerDragContainer class=\"igx-grid__drag-indicator igx-grid__tr-action\" (pointerdown)=\"$event.preventDefault()\" [class.igx-grid__drag-indicator--header]=\"!grid.isRowSelectable\">\n <div style=\"visibility: hidden;\">\n <ng-container *ngTemplateOutlet=\"grid.dragIndicatorIconTemplate || grid.dragIndicatorIconBase\"></ng-container>\n </div>\n </div>\n </ng-container>\n\n <!-- Row selectors area -->\n <ng-container *ngIf=\"grid.showRowSelectors\">\n <div #headerSelectorContainer class=\"igx-grid__cbx-selection igx-grid__tr-action\"\n [class.igx-grid__cbx-selection--push]=\"grid.filteringService.isFilterRowVisible\"\n (click)=\"headerRowSelection($event)\"\n (pointerdown)=\"$event.preventDefault()\">\n <ng-container #headSelector\n *ngTemplateOutlet=\"grid.headSelectorTemplate || headSelectorBaseTemplate; context: rowSelectorsContext\">\n </ng-container>\n </div>\n </ng-container>\n\n <!-- Hierarchical grids expand all area -->\n <ng-container *ngIf=\"isHierarchicalGrid\">\n <div #headerHierarchyExpander\n (click)=\"grid.toggleAll()\"\n (pointerdown)=\"$event.preventDefault()\"\n [hidden]=\"!grid.hasExpandableChildren || !grid.hasVisibleColumns\"\n [ngClass]=\"{\n 'igx-grid__hierarchical-expander igx-grid__hierarchical-expander--header igx-grid__tr-action': grid.hasExpandableChildren,\n 'igx-grid__hierarchical-expander--push': grid.filteringService.isFilterRowVisible,\n 'igx-grid__hierarchical-expander--no-border': grid.isRowSelectable || grid.rowDraggable\n }\">\n <ng-container *ngTemplateOutlet=\"grid.iconTemplate; context: { $implicit: grid }\"></ng-container>\n </div>\n </ng-container>\n\n\n <!-- Grouping icon toggle area -->\n <ng-container *ngIf=\"grid?.groupingExpressions?.length\">\n <div #headerGroupContainer class=\"{{ indentationCSSClasses }}\"\n (click)=\"grid.toggleAllGroupRows()\"\n (pointerdown)=\"$event.preventDefault()\">\n <ng-container *ngTemplateOutlet=\"grid.iconTemplate\"></ng-container>\n </div>\n </ng-container>\n\n <!-- Pinned columns collection from the start -->\n <ng-container *ngIf=\"pinnedColumnCollection.length && grid.isPinningToStart\">\n <ng-container *ngFor=\"let column of pinnedColumnCollection | igxTopLevel\">\n <igx-grid-header-group\n [ngClass]=\"column.headerGroupClasses\"\n [ngStyle]=\"column.headerGroupStyles | igxHeaderGroupStyle:column:grid.pipeTrigger\"\n [column]=\"column\"\n [style.min-width]=\"column.calcWidth | igxHeaderGroupWidth:grid.defaultHeaderGroupMinWidth:hasMRL\"\n [style.flex-basis]=\"column.calcWidth | igxHeaderGroupWidth:grid.defaultHeaderGroupMinWidth:hasMRL\">\n </igx-grid-header-group>\n </ng-container>\n </ng-container>\n\n <!-- Unpinned columns collection -->\n <ng-template igxGridFor #headerVirtualContainer let-column\n [igxGridForOf]=\"unpinnedColumnCollection | igxTopLevel\"\n [igxForScrollContainer]=\"grid.parentVirtDir\"\n [igxForContainerSize]=\"grid.unpinnedWidth\"\n [igxForTrackBy]=\"grid.trackColumnChanges\"\n [igxForSizePropName]=\"'calcPixelWidth'\"\n [igxForScrollOrientation]=\"'horizontal'\"\n >\n <igx-grid-header-group\n [ngClass]=\"column.headerGroupClasses\"\n [ngStyle]=\"column.headerGroupStyles |igxHeaderGroupStyle:column:grid.pipeTrigger\"\n [column]=\"column\"\n [style.min-width]=\"column.calcWidth | igxHeaderGroupWidth:grid.defaultHeaderGroupMinWidth:hasMRL\"\n [style.flex-basis]=\"column.calcWidth | igxHeaderGroupWidth:grid.defaultHeaderGroupMinWidth:hasMRL\">\n </igx-grid-header-group>\n </ng-template>\n\n <!-- Pinned columns collection at the end -->\n <ng-container *ngIf=\"pinnedColumnCollection.length && !grid.isPinningToStart\">\n <ng-container *ngFor=\"let column of pinnedColumnCollection | igxTopLevel\">\n <igx-grid-header-group\n [ngClass]=\"column.headerGroupClasses\"\n [ngStyle]=\"column.headerGroupStyles |igxHeaderGroupStyle:column:grid.pipeTrigger\"\n [column]=\"column\"\n [style.min-width]=\"column.calcWidth | igxHeaderGroupWidth:grid.defaultHeaderGroupMinWidth:hasMRL\"\n [style.flex-basis]=\"column.calcWidth | igxHeaderGroupWidth:grid.defaultHeaderGroupMinWidth:hasMRL\"\n [style.left]=\"column.rightPinnedOffset\">\n </igx-grid-header-group>\n </ng-container>\n </ng-container>\n </div>\n\n <!-- Filter row area -->\n <ng-container *ngIf=\"grid.filteringService.isFilterRowVisible\">\n <igx-grid-filtering-row #filteringRow\n [column]=\"grid.filteringService.filteredColumn\"\n [style.width.px]=\"width\">\n </igx-grid-filtering-row>\n </ng-container>\n\n <!-- Right column moving area -->\n <ng-container *ngIf=\"grid.hasMovableColumns && grid.columnInDrag\">\n <span id=\"right\" class=\"igx-grid__scroll-on-drag-right\" droppable=\"true\" [igxColumnMovingDrop]=\"headerContainer\"></span>\n </ng-container>\n</div>\n\n<!-- Header thumb area -->\n<div class=\"igx-grid-thead__thumb\" [hidden]=\"!grid.hasVerticalScroll()\" [style.width.px]=\"grid.scrollSize\"></div>\n\n<!-- Default row selection header checkbox template -->\n<ng-template #headSelectorBaseTemplate igxHeadSelector let-context>\n <div class=\"igx-grid__cbx-padding\">\n <igx-checkbox\n [tabindex]=\"-1\"\n [readonly]=\"true\"\n [checked]=\"context.selectedCount > 0 && context.totalCount === context.selectedCount\"\n [disableRipple]=\"true\"\n [ngStyle]=\"{'visibility': grid.isMultiRowSelectionEnabled? 'visible' : 'hidden' }\"\n [indeterminate]=\"context.selectedCount > 0 && context.selectedCount !== context.totalCount\"\n [aria-label]=\"grid.headSelectorBaseAriaLabel\"\n #headerCheckbox>\n </igx-checkbox>\n </div>\n</ng-template>\n"
|
|
48424
48676
|
},] }
|
|
48425
48677
|
];
|
|
48426
48678
|
IgxGridHeaderRowComponent.ctorParameters = () => [
|
|
@@ -48600,9 +48852,10 @@ class IgxGridBaseDirective extends DisplayDensityBase {
|
|
|
48600
48852
|
*/
|
|
48601
48853
|
this.gridScroll = new EventEmitter();
|
|
48602
48854
|
/**
|
|
48855
|
+
* @deprecated in version 12.1.0. Use the corresponding output exposed by the `igx-paginator` component instead
|
|
48856
|
+
*
|
|
48603
48857
|
* Emitted after the current page is changed.
|
|
48604
48858
|
*
|
|
48605
|
-
* @deprecated in version 12.1.0
|
|
48606
48859
|
* @example
|
|
48607
48860
|
* ```html
|
|
48608
48861
|
* <igx-grid (pageChange)="onPageChange($event)"></igx-grid>
|
|
@@ -48615,10 +48868,10 @@ class IgxGridBaseDirective extends DisplayDensityBase {
|
|
|
48615
48868
|
*/
|
|
48616
48869
|
this.pageChange = new EventEmitter();
|
|
48617
48870
|
/**
|
|
48871
|
+
* @deprecated in version 12.1.0. Use the corresponding output exposed by the `igx-paginator` component instead
|
|
48872
|
+
*
|
|
48618
48873
|
* Emitted when `perPage` property value of the grid is changed.
|
|
48619
48874
|
*
|
|
48620
|
-
* @deprecated in version 12.1.0
|
|
48621
|
-
* @example
|
|
48622
48875
|
* ```html
|
|
48623
48876
|
* <igx-grid #grid (perPageChange)="onPerPageChange($event)" [autoGenerate]="true"></igx-grid>
|
|
48624
48877
|
* ```
|
|
@@ -48635,6 +48888,8 @@ class IgxGridBaseDirective extends DisplayDensityBase {
|
|
|
48635
48888
|
*/
|
|
48636
48889
|
this.class = '';
|
|
48637
48890
|
/**
|
|
48891
|
+
* @deprecated in version 12.2.0. We suggest using `rowClasses` property instead
|
|
48892
|
+
*
|
|
48638
48893
|
* Gets/Sets the styling classes applied to all even `IgxGridRowComponent`s in the grid.
|
|
48639
48894
|
*
|
|
48640
48895
|
* @example
|
|
@@ -48644,6 +48899,8 @@ class IgxGridBaseDirective extends DisplayDensityBase {
|
|
|
48644
48899
|
*/
|
|
48645
48900
|
this.evenRowCSS = 'igx-grid__tr--even';
|
|
48646
48901
|
/**
|
|
48902
|
+
* @deprecated in version 12.2.0. We suggest using `rowClasses` property instead
|
|
48903
|
+
*
|
|
48647
48904
|
* Gets/Sets the styling classes applied to all odd `IgxGridRowComponent`s in the grid.
|
|
48648
48905
|
*
|
|
48649
48906
|
* @example
|
|
@@ -48898,9 +49155,10 @@ class IgxGridBaseDirective extends DisplayDensityBase {
|
|
|
48898
49155
|
*/
|
|
48899
49156
|
this.filteringDone = new EventEmitter();
|
|
48900
49157
|
/**
|
|
49158
|
+
* @deprecated in version 12.1.0. Use the corresponding output exposed by the `igx-paginator` component instead
|
|
49159
|
+
*
|
|
48901
49160
|
* Emitted after paging is performed.
|
|
48902
49161
|
*
|
|
48903
|
-
* @deprecated in version 12.1.x
|
|
48904
49162
|
* @remarks
|
|
48905
49163
|
* Returns an object consisting of the previous and next pages.
|
|
48906
49164
|
* @example
|
|
@@ -49553,9 +49811,10 @@ class IgxGridBaseDirective extends DisplayDensityBase {
|
|
|
49553
49811
|
this.notifyChanges(true);
|
|
49554
49812
|
}
|
|
49555
49813
|
/**
|
|
49814
|
+
* @deprecated in version 12.1.0. Use the corresponding method exposed by the `igx-paginator`
|
|
49815
|
+
*
|
|
49556
49816
|
* Gets/Sets whether the paging feature is enabled.
|
|
49557
49817
|
*
|
|
49558
|
-
* @deprecated in version 12.1.x
|
|
49559
49818
|
* @remarks
|
|
49560
49819
|
* The default state is disabled (false).
|
|
49561
49820
|
* @example
|
|
@@ -49573,9 +49832,10 @@ class IgxGridBaseDirective extends DisplayDensityBase {
|
|
|
49573
49832
|
this.pipeTrigger++;
|
|
49574
49833
|
}
|
|
49575
49834
|
/**
|
|
49835
|
+
* @deprecated in version 12.1.0. Use `page` property form `paginator` component instead
|
|
49836
|
+
*
|
|
49576
49837
|
* Gets/Sets the current page index.
|
|
49577
49838
|
*
|
|
49578
|
-
* @deprecated in version 12.1.x
|
|
49579
49839
|
* @example
|
|
49580
49840
|
* ```html
|
|
49581
49841
|
* <igx-grid #grid [data]="Data" [autoGenerate]="true">
|
|
@@ -49595,9 +49855,10 @@ class IgxGridBaseDirective extends DisplayDensityBase {
|
|
|
49595
49855
|
}
|
|
49596
49856
|
}
|
|
49597
49857
|
/**
|
|
49858
|
+
* @deprecated in version 12.1.0. Use `perPage` property from `paginator` component instead
|
|
49859
|
+
*
|
|
49598
49860
|
* Gets/Sets the number of visible items per page.
|
|
49599
49861
|
*
|
|
49600
|
-
* @deprecated in version 12.1.x
|
|
49601
49862
|
* @remarks
|
|
49602
49863
|
* The default is 15.
|
|
49603
49864
|
* @example
|
|
@@ -49618,9 +49879,10 @@ class IgxGridBaseDirective extends DisplayDensityBase {
|
|
|
49618
49879
|
}
|
|
49619
49880
|
}
|
|
49620
49881
|
/**
|
|
49882
|
+
* @deprecated in version 10.1.0
|
|
49883
|
+
*
|
|
49621
49884
|
* Gets/Sets whether the column hiding UI is enabled.
|
|
49622
49885
|
*
|
|
49623
|
-
* @deprecated
|
|
49624
49886
|
* @remarks
|
|
49625
49887
|
* By default it is disabled (false). In order for the UI to work, you need to enable the toolbar as shown in the example below.
|
|
49626
49888
|
* @example
|
|
@@ -49818,9 +50080,9 @@ class IgxGridBaseDirective extends DisplayDensityBase {
|
|
|
49818
50080
|
return this._emptyFilteredGridMessage || this.resourceStrings.igx_grid_emptyFilteredGrid_message;
|
|
49819
50081
|
}
|
|
49820
50082
|
/**
|
|
49821
|
-
*
|
|
50083
|
+
* @deprecated in version 10.1.0
|
|
49822
50084
|
*
|
|
49823
|
-
*
|
|
50085
|
+
* Gets/Sets the title to be displayed in the built-in column hiding UI.
|
|
49824
50086
|
*
|
|
49825
50087
|
* @example
|
|
49826
50088
|
* ```html
|
|
@@ -49858,9 +50120,9 @@ class IgxGridBaseDirective extends DisplayDensityBase {
|
|
|
49858
50120
|
this._pinning = value;
|
|
49859
50121
|
}
|
|
49860
50122
|
/**
|
|
49861
|
-
*
|
|
50123
|
+
* @deprecated in version 10.1.0
|
|
49862
50124
|
*
|
|
49863
|
-
*
|
|
50125
|
+
* Gets/Sets if the built-in column pinning UI should be shown in the toolbar.
|
|
49864
50126
|
*
|
|
49865
50127
|
* @example
|
|
49866
50128
|
* ```html
|
|
@@ -49875,9 +50137,9 @@ class IgxGridBaseDirective extends DisplayDensityBase {
|
|
|
49875
50137
|
this.notifyChanges();
|
|
49876
50138
|
}
|
|
49877
50139
|
/**
|
|
49878
|
-
*
|
|
50140
|
+
* @deprecated in version 10.1.0
|
|
49879
50141
|
*
|
|
49880
|
-
*
|
|
50142
|
+
* Gets/Sets the title to be displayed in the UI of the column pinning.
|
|
49881
50143
|
*
|
|
49882
50144
|
* @example
|
|
49883
50145
|
* ```html
|
|
@@ -50324,9 +50586,9 @@ class IgxGridBaseDirective extends DisplayDensityBase {
|
|
|
50324
50586
|
return this.pinnedColumns.filter(col => !col.columnLayout).length;
|
|
50325
50587
|
}
|
|
50326
50588
|
/**
|
|
50327
|
-
*
|
|
50589
|
+
* @deprecated in version 10.1.0
|
|
50328
50590
|
*
|
|
50329
|
-
*
|
|
50591
|
+
* Gets/Sets the text to be displayed inside the toggle button.
|
|
50330
50592
|
*
|
|
50331
50593
|
* @remarks
|
|
50332
50594
|
* Used for the built-in column hiding UI of the`IgxColumnComponent`.
|
|
@@ -50335,7 +50597,6 @@ class IgxGridBaseDirective extends DisplayDensityBase {
|
|
|
50335
50597
|
* <igx-grid [columnHiding]="true" [showToolbar]="true" [hiddenColumnsText]="'Hidden Columns'"></igx-grid>
|
|
50336
50598
|
* ```
|
|
50337
50599
|
*/
|
|
50338
|
-
// @DeprecateProperty('`hiddenColumnsText` is deprecated')
|
|
50339
50600
|
get hiddenColumnsText() {
|
|
50340
50601
|
return this._hiddenColumnsText;
|
|
50341
50602
|
}
|
|
@@ -50344,9 +50605,9 @@ class IgxGridBaseDirective extends DisplayDensityBase {
|
|
|
50344
50605
|
this.notifyChanges();
|
|
50345
50606
|
}
|
|
50346
50607
|
/**
|
|
50347
|
-
*
|
|
50608
|
+
* @deprecated in version 10.1.0
|
|
50348
50609
|
*
|
|
50349
|
-
*
|
|
50610
|
+
* Gets/Sets the text to be displayed inside the toggle button.
|
|
50350
50611
|
*
|
|
50351
50612
|
* @remarks
|
|
50352
50613
|
* Used for the built-in column pinning UI of the`IgxColumnComponent`.
|
|
@@ -50416,9 +50677,9 @@ class IgxGridBaseDirective extends DisplayDensityBase {
|
|
|
50416
50677
|
return this._currencyPositionLeft = i < 1;
|
|
50417
50678
|
}
|
|
50418
50679
|
/**
|
|
50419
|
-
*
|
|
50680
|
+
* @deprecated in version 11.0.0
|
|
50420
50681
|
*
|
|
50421
|
-
*
|
|
50682
|
+
* Gets/Sets whether the toolbar is shown.
|
|
50422
50683
|
*
|
|
50423
50684
|
* @example
|
|
50424
50685
|
* ```html
|
|
@@ -50432,9 +50693,9 @@ class IgxGridBaseDirective extends DisplayDensityBase {
|
|
|
50432
50693
|
this._showToolbar = newValue;
|
|
50433
50694
|
}
|
|
50434
50695
|
/**
|
|
50435
|
-
*
|
|
50696
|
+
* @deprecated in version 11.0.0
|
|
50436
50697
|
*
|
|
50437
|
-
*
|
|
50698
|
+
* Gets/Sets the toolbar's title.
|
|
50438
50699
|
*
|
|
50439
50700
|
* @example
|
|
50440
50701
|
* ```html
|
|
@@ -50449,9 +50710,9 @@ class IgxGridBaseDirective extends DisplayDensityBase {
|
|
|
50449
50710
|
this.notifyChanges();
|
|
50450
50711
|
}
|
|
50451
50712
|
/**
|
|
50452
|
-
*
|
|
50713
|
+
* @deprecated `exportExcel` is deprecated
|
|
50453
50714
|
*
|
|
50454
|
-
*
|
|
50715
|
+
* Gets/Sets whether exporting to MS Excel is enabled or disabled.
|
|
50455
50716
|
*
|
|
50456
50717
|
* @example
|
|
50457
50718
|
* ```html
|
|
@@ -50466,9 +50727,9 @@ class IgxGridBaseDirective extends DisplayDensityBase {
|
|
|
50466
50727
|
this.notifyChanges();
|
|
50467
50728
|
}
|
|
50468
50729
|
/**
|
|
50469
|
-
*
|
|
50730
|
+
* @deprecated `exportCsv` is deprecated
|
|
50470
50731
|
*
|
|
50471
|
-
*
|
|
50732
|
+
* Gets/Sets whether the option for exporting to CSV is enabled or disabled.
|
|
50472
50733
|
*
|
|
50473
50734
|
* ```html
|
|
50474
50735
|
* <igx-grid [data]="localData" [showToolbar]="true" [autoGenerate]="true" [exportCsv]="true"></igx-grid>
|
|
@@ -50482,9 +50743,9 @@ class IgxGridBaseDirective extends DisplayDensityBase {
|
|
|
50482
50743
|
this.notifyChanges();
|
|
50483
50744
|
}
|
|
50484
50745
|
/**
|
|
50485
|
-
*
|
|
50746
|
+
* @deprecated `exportText` is deprecated
|
|
50486
50747
|
*
|
|
50487
|
-
*
|
|
50748
|
+
* Gets/Sets the textual content for the main export button.
|
|
50488
50749
|
*
|
|
50489
50750
|
* @example
|
|
50490
50751
|
* ```html
|
|
@@ -50499,9 +50760,9 @@ class IgxGridBaseDirective extends DisplayDensityBase {
|
|
|
50499
50760
|
this.notifyChanges();
|
|
50500
50761
|
}
|
|
50501
50762
|
/**
|
|
50502
|
-
*
|
|
50763
|
+
* @deprecated `exportExcelText` is deprecated
|
|
50503
50764
|
*
|
|
50504
|
-
*
|
|
50765
|
+
* Gets/Sets the textual content for the MS Excel export button.
|
|
50505
50766
|
*
|
|
50506
50767
|
* ```html
|
|
50507
50768
|
* <igx-grid [exportExcelText]="'My Excel Exporter" [showToolbar]="true" [exportText]="'My Exporter'" [exportCsv]="true"></igx-grid>
|
|
@@ -50515,9 +50776,9 @@ class IgxGridBaseDirective extends DisplayDensityBase {
|
|
|
50515
50776
|
this.notifyChanges();
|
|
50516
50777
|
}
|
|
50517
50778
|
/**
|
|
50518
|
-
*
|
|
50779
|
+
* @deprecated `exportCsvText` is deprecated
|
|
50519
50780
|
*
|
|
50520
|
-
*
|
|
50781
|
+
* Gets/Sets the textual content for the CSV export button.
|
|
50521
50782
|
*
|
|
50522
50783
|
* @example
|
|
50523
50784
|
* ```html
|
|
@@ -51184,7 +51445,7 @@ class IgxGridBaseDirective extends DisplayDensityBase {
|
|
|
51184
51445
|
this.rendered$.pipe(takeUntil(this.destroy$)).subscribe(() => {
|
|
51185
51446
|
if (this.paginator) {
|
|
51186
51447
|
this.paginator.perPage = this._perPage !== DEFAULT_ITEMS_PER_PAGE ? this._perPage : this.paginator.perPage;
|
|
51187
|
-
this.paginator.totalRecords = this.totalRecords;
|
|
51448
|
+
this.paginator.totalRecords = this.totalRecords ? this.totalRecords : this.paginator.totalRecords;
|
|
51188
51449
|
this.paginator.overlaySettings = { outlet: this.outlet };
|
|
51189
51450
|
}
|
|
51190
51451
|
this._rendered = true;
|
|
@@ -51611,9 +51872,10 @@ class IgxGridBaseDirective extends DisplayDensityBase {
|
|
|
51611
51872
|
return this._visibleColumns;
|
|
51612
51873
|
}
|
|
51613
51874
|
/**
|
|
51875
|
+
* @deprecated in version 12.1.0. Use the corresponding property exposed by the `igx-paginator`
|
|
51876
|
+
*
|
|
51614
51877
|
* Gets the total number of pages.
|
|
51615
51878
|
*
|
|
51616
|
-
* @deprecated in version 12.1.0
|
|
51617
51879
|
* @example
|
|
51618
51880
|
* ```typescript
|
|
51619
51881
|
* const totalPages = this.grid.totalPages;
|
|
@@ -51624,9 +51886,10 @@ class IgxGridBaseDirective extends DisplayDensityBase {
|
|
|
51624
51886
|
return (_a = this.paginator) === null || _a === void 0 ? void 0 : _a.totalPages;
|
|
51625
51887
|
}
|
|
51626
51888
|
/**
|
|
51889
|
+
* @deprecated in version 12.1.0. Use the corresponding property exposed by the `igx-paginator`
|
|
51890
|
+
*
|
|
51627
51891
|
* Gets if the current page is the first page.
|
|
51628
51892
|
*
|
|
51629
|
-
* @deprecated in version 12.1.0
|
|
51630
51893
|
* @example
|
|
51631
51894
|
* ```typescript
|
|
51632
51895
|
* const firstPage = this.grid.isFirstPage;
|
|
@@ -51636,9 +51899,10 @@ class IgxGridBaseDirective extends DisplayDensityBase {
|
|
|
51636
51899
|
return this.paginator.isLastPage;
|
|
51637
51900
|
}
|
|
51638
51901
|
/**
|
|
51902
|
+
* @deprecated in version 12.1.0. Use the corresponding method exposed by the `igx-paginator`
|
|
51903
|
+
*
|
|
51639
51904
|
* Goes to the next page, if the grid is not already at the last page.
|
|
51640
51905
|
*
|
|
51641
|
-
* @deprecated in version 12.1.0
|
|
51642
51906
|
* @example
|
|
51643
51907
|
* ```typescript
|
|
51644
51908
|
* this.grid1.nextPage();
|
|
@@ -51650,9 +51914,10 @@ class IgxGridBaseDirective extends DisplayDensityBase {
|
|
|
51650
51914
|
(_a = this.paginator) === null || _a === void 0 ? void 0 : _a.nextPage();
|
|
51651
51915
|
}
|
|
51652
51916
|
/**
|
|
51917
|
+
* @deprecated in version 12.1.0. Use the corresponding method exposed by the `igx-paginator`
|
|
51918
|
+
*
|
|
51653
51919
|
* Goes to the previous page, if the grid is not already at the first page.
|
|
51654
51920
|
*
|
|
51655
|
-
* @deprecated in version 12.1.0
|
|
51656
51921
|
* @example
|
|
51657
51922
|
* ```typescript
|
|
51658
51923
|
* this.grid1.previousPage();
|
|
@@ -51688,9 +51953,10 @@ class IgxGridBaseDirective extends DisplayDensityBase {
|
|
|
51688
51953
|
}
|
|
51689
51954
|
}
|
|
51690
51955
|
/**
|
|
51956
|
+
* @deprecated in version 12.1.0. Use the corresponding property exposed by the `igx-paginator`
|
|
51957
|
+
*
|
|
51691
51958
|
* Returns if the current page is the last page.
|
|
51692
51959
|
*
|
|
51693
|
-
* @deprecated in version 12.1.0
|
|
51694
51960
|
* @example
|
|
51695
51961
|
* ```typescript
|
|
51696
51962
|
* const lastPage = this.grid.isLastPage;
|
|
@@ -51787,6 +52053,8 @@ class IgxGridBaseDirective extends DisplayDensityBase {
|
|
|
51787
52053
|
this._columnsReordered(column);
|
|
51788
52054
|
}
|
|
51789
52055
|
/**
|
|
52056
|
+
* @deprecated in version 12.1.0. Use the corresponding method exposed by the `igx-paginator`
|
|
52057
|
+
*
|
|
51790
52058
|
* Goes to the desired page index.
|
|
51791
52059
|
*
|
|
51792
52060
|
* @example
|
|
@@ -54801,24 +55069,9 @@ IgxGridBaseDirective.propDecorators = {
|
|
|
54801
55069
|
totalRecords: [{ type: Input }],
|
|
54802
55070
|
selectRowOnClick: [{ type: Input }]
|
|
54803
55071
|
};
|
|
54804
|
-
__decorate([
|
|
54805
|
-
DeprecateProperty('`pageChange` is deprecated. Use the corresponding output exposed by the `igx-paginator` component instead.')
|
|
54806
|
-
], IgxGridBaseDirective.prototype, "pageChange", void 0);
|
|
54807
|
-
__decorate([
|
|
54808
|
-
DeprecateProperty('`perPageChange` is deprecated. Use the corresponding output exposed by the `igx-paginator` component instead.')
|
|
54809
|
-
], IgxGridBaseDirective.prototype, "perPageChange", void 0);
|
|
54810
|
-
__decorate([
|
|
54811
|
-
DeprecateProperty('`evenRowCSS` is deprecated. We suggest using `rowClasses` property instead.')
|
|
54812
|
-
], IgxGridBaseDirective.prototype, "evenRowCSS", void 0);
|
|
54813
|
-
__decorate([
|
|
54814
|
-
DeprecateProperty('`oddRowCSS` is deprecated. We suggest using `rowClasses` property instead.')
|
|
54815
|
-
], IgxGridBaseDirective.prototype, "oddRowCSS", void 0);
|
|
54816
55072
|
__decorate([
|
|
54817
55073
|
WatchChanges()
|
|
54818
55074
|
], IgxGridBaseDirective.prototype, "primaryKey", void 0);
|
|
54819
|
-
__decorate([
|
|
54820
|
-
DeprecateProperty('`pagingDone` is deprecated. Use the corresponding output exposed by the `igx-paginator` component instead.')
|
|
54821
|
-
], IgxGridBaseDirective.prototype, "pagingDone", void 0);
|
|
54822
55075
|
__decorate([
|
|
54823
55076
|
WatchChanges()
|
|
54824
55077
|
], IgxGridBaseDirective.prototype, "filteringLogic", null);
|
|
@@ -54828,18 +55081,6 @@ __decorate([
|
|
|
54828
55081
|
__decorate([
|
|
54829
55082
|
WatchChanges()
|
|
54830
55083
|
], IgxGridBaseDirective.prototype, "advancedFilteringExpressionsTree", null);
|
|
54831
|
-
__decorate([
|
|
54832
|
-
DeprecateProperty('`paging` is deprecated')
|
|
54833
|
-
], IgxGridBaseDirective.prototype, "paging", null);
|
|
54834
|
-
__decorate([
|
|
54835
|
-
DeprecateProperty('`page` is deprecated. Use `page` property form `paginator` component instead.')
|
|
54836
|
-
], IgxGridBaseDirective.prototype, "page", null);
|
|
54837
|
-
__decorate([
|
|
54838
|
-
DeprecateProperty('`perPage` is deprecated. Use `perPage` property from `paginator` component instead.')
|
|
54839
|
-
], IgxGridBaseDirective.prototype, "perPage", null);
|
|
54840
|
-
__decorate([
|
|
54841
|
-
DeprecateProperty('`columnHiding` is deprecated.')
|
|
54842
|
-
], IgxGridBaseDirective.prototype, "columnHiding", null);
|
|
54843
55084
|
__decorate([
|
|
54844
55085
|
WatchChanges()
|
|
54845
55086
|
], IgxGridBaseDirective.prototype, "hideRowSelectors", null);
|
|
@@ -54861,42 +55102,9 @@ __decorate([
|
|
|
54861
55102
|
__decorate([
|
|
54862
55103
|
WatchChanges()
|
|
54863
55104
|
], IgxGridBaseDirective.prototype, "isLoading", null);
|
|
54864
|
-
__decorate([
|
|
54865
|
-
DeprecateProperty('`columnHidingTitle` is deprecated')
|
|
54866
|
-
], IgxGridBaseDirective.prototype, "columnHidingTitle", null);
|
|
54867
|
-
__decorate([
|
|
54868
|
-
DeprecateProperty('`columnPinning` is deprecated')
|
|
54869
|
-
], IgxGridBaseDirective.prototype, "columnPinning", null);
|
|
54870
|
-
__decorate([
|
|
54871
|
-
DeprecateProperty('`columnPinningTitle` is deprecated')
|
|
54872
|
-
], IgxGridBaseDirective.prototype, "columnPinningTitle", null);
|
|
54873
55105
|
__decorate([
|
|
54874
55106
|
WatchChanges()
|
|
54875
55107
|
], IgxGridBaseDirective.prototype, "sortingExpressions", null);
|
|
54876
|
-
__decorate([
|
|
54877
|
-
DeprecateProperty('`pinnedColumnsText` is deprecated')
|
|
54878
|
-
], IgxGridBaseDirective.prototype, "pinnedColumnsText", null);
|
|
54879
|
-
__decorate([
|
|
54880
|
-
DeprecateProperty('`showToolbar` is deprecated')
|
|
54881
|
-
], IgxGridBaseDirective.prototype, "showToolbar", null);
|
|
54882
|
-
__decorate([
|
|
54883
|
-
DeprecateProperty('`toolbarTitle` is deprecated')
|
|
54884
|
-
], IgxGridBaseDirective.prototype, "toolbarTitle", null);
|
|
54885
|
-
__decorate([
|
|
54886
|
-
DeprecateProperty('`exportExcel` is deprecated')
|
|
54887
|
-
], IgxGridBaseDirective.prototype, "exportExcel", null);
|
|
54888
|
-
__decorate([
|
|
54889
|
-
DeprecateProperty('`exportCsv` is deprecated')
|
|
54890
|
-
], IgxGridBaseDirective.prototype, "exportCsv", null);
|
|
54891
|
-
__decorate([
|
|
54892
|
-
DeprecateProperty('`exportText` is deprecated')
|
|
54893
|
-
], IgxGridBaseDirective.prototype, "exportText", null);
|
|
54894
|
-
__decorate([
|
|
54895
|
-
DeprecateProperty('`exportExcelText` is deprecated')
|
|
54896
|
-
], IgxGridBaseDirective.prototype, "exportExcelText", null);
|
|
54897
|
-
__decorate([
|
|
54898
|
-
DeprecateProperty('`exportCsvText` is deprecated')
|
|
54899
|
-
], IgxGridBaseDirective.prototype, "exportCsvText", null);
|
|
54900
55108
|
__decorate([
|
|
54901
55109
|
WatchChanges()
|
|
54902
55110
|
], IgxGridBaseDirective.prototype, "cellSelection", null);
|
|
@@ -54906,24 +55114,6 @@ __decorate([
|
|
|
54906
55114
|
__decorate([
|
|
54907
55115
|
WatchChanges()
|
|
54908
55116
|
], IgxGridBaseDirective.prototype, "columnSelection", null);
|
|
54909
|
-
__decorate([
|
|
54910
|
-
DeprecateProperty('`totalPages` is deprecated. Use the corresponding property exposed by the `igx-paginator`.')
|
|
54911
|
-
], IgxGridBaseDirective.prototype, "totalPages", null);
|
|
54912
|
-
__decorate([
|
|
54913
|
-
DeprecateProperty('`isFirstPage` is deprecated. Use the corresponding property exposed by the `igx-paginator`.')
|
|
54914
|
-
], IgxGridBaseDirective.prototype, "isFirstPage", null);
|
|
54915
|
-
__decorate([
|
|
54916
|
-
DeprecateMethod('Use the corresponding method exposed by the `igx-paginator`.')
|
|
54917
|
-
], IgxGridBaseDirective.prototype, "nextPage", null);
|
|
54918
|
-
__decorate([
|
|
54919
|
-
DeprecateMethod('Use the corresponding method exposed by the `igx-paginator`.')
|
|
54920
|
-
], IgxGridBaseDirective.prototype, "previousPage", null);
|
|
54921
|
-
__decorate([
|
|
54922
|
-
DeprecateProperty('`isLastPage` is deprecated. Use the corresponding property exposed by the `igx-paginator`.')
|
|
54923
|
-
], IgxGridBaseDirective.prototype, "isLastPage", null);
|
|
54924
|
-
__decorate([
|
|
54925
|
-
DeprecateMethod('Use the corresponding method exposed by the `igx-paginator`.')
|
|
54926
|
-
], IgxGridBaseDirective.prototype, "paginate", null);
|
|
54927
55117
|
__decorate([
|
|
54928
55118
|
WatchChanges()
|
|
54929
55119
|
], IgxGridBaseDirective.prototype, "selectRowOnClick", null);
|
|
@@ -54971,7 +55161,7 @@ class BaseRow {
|
|
|
54971
55161
|
return (_b = this._data) !== null && _b !== void 0 ? _b : this.grid.dataView[this.index];
|
|
54972
55162
|
}
|
|
54973
55163
|
/**
|
|
54974
|
-
* @deprecated Use 'data' instead
|
|
55164
|
+
* @deprecated Use 'data' instead
|
|
54975
55165
|
*
|
|
54976
55166
|
* The data record that populates the row
|
|
54977
55167
|
*/
|
|
@@ -54979,8 +55169,7 @@ class BaseRow {
|
|
|
54979
55169
|
return this.data;
|
|
54980
55170
|
}
|
|
54981
55171
|
/**
|
|
54982
|
-
* @deprecated Use 'key' instead
|
|
54983
|
-
*
|
|
55172
|
+
* @deprecated Use 'key' instead
|
|
54984
55173
|
*/
|
|
54985
55174
|
get rowID() {
|
|
54986
55175
|
return this.key;
|
|
@@ -55149,12 +55338,6 @@ class BaseRow {
|
|
|
55149
55338
|
this.grid.deleteRowById(this.key);
|
|
55150
55339
|
}
|
|
55151
55340
|
}
|
|
55152
|
-
__decorate([
|
|
55153
|
-
DeprecateProperty(`'rowData' property is deprecated. Use 'data' instead.`)
|
|
55154
|
-
], BaseRow.prototype, "rowData", null);
|
|
55155
|
-
__decorate([
|
|
55156
|
-
DeprecateProperty(`'rowID' property is deprecated. Use 'key' instead.`)
|
|
55157
|
-
], BaseRow.prototype, "rowID", null);
|
|
55158
55341
|
class IgxGridRow extends BaseRow {
|
|
55159
55342
|
/**
|
|
55160
55343
|
* @hidden
|
|
@@ -56151,17 +56334,6 @@ class IgxGridCellComponent {
|
|
|
56151
56334
|
get currencyCodeSymbol() {
|
|
56152
56335
|
return getCurrencySymbol(this.currencyCode, 'wide', this.grid.locale);
|
|
56153
56336
|
}
|
|
56154
|
-
/**
|
|
56155
|
-
* @deprecated
|
|
56156
|
-
* Gets whether the cell is selected.
|
|
56157
|
-
* ```typescript
|
|
56158
|
-
* let isCellSelected = thid.cell.isCellSelected();
|
|
56159
|
-
* ```
|
|
56160
|
-
* @memberof IgxGridCellComponent
|
|
56161
|
-
*/
|
|
56162
|
-
isCellSelected() {
|
|
56163
|
-
return this.selectionService.selected(this.selectionNode);
|
|
56164
|
-
}
|
|
56165
56337
|
/**
|
|
56166
56338
|
* @hidden
|
|
56167
56339
|
* @internal
|
|
@@ -56466,9 +56638,6 @@ IgxGridCellComponent.propDecorators = {
|
|
|
56466
56638
|
onClick: [{ type: HostListener, args: ['click', ['$event'],] }],
|
|
56467
56639
|
onContextMenu: [{ type: HostListener, args: ['contextmenu', ['$event'],] }]
|
|
56468
56640
|
};
|
|
56469
|
-
__decorate([
|
|
56470
|
-
DeprecateMethod(`'isCellSelected' is deprecated. Use 'selected' property instead.`)
|
|
56471
|
-
], IgxGridCellComponent.prototype, "isCellSelected", null);
|
|
56472
56641
|
|
|
56473
56642
|
class IgxGridFooterComponent {
|
|
56474
56643
|
}
|
|
@@ -56847,9 +57016,10 @@ class IgxColumnActionsComponent {
|
|
|
56847
57016
|
this._differ = this.differs.find([]).create(this.trackChanges);
|
|
56848
57017
|
}
|
|
56849
57018
|
/**
|
|
57019
|
+
* @deprecated Use grid input instead.
|
|
57020
|
+
*
|
|
56850
57021
|
* Gets the grid columns to provide an action for.
|
|
56851
57022
|
*
|
|
56852
|
-
* @deprecated
|
|
56853
57023
|
* @example
|
|
56854
57024
|
* ```typescript
|
|
56855
57025
|
* let gridColumns = this.columnActions.columns;
|
|
@@ -57089,9 +57259,6 @@ IgxColumnActionsComponent.propDecorators = {
|
|
|
57089
57259
|
checkAllText: [{ type: Input }],
|
|
57090
57260
|
id: [{ type: HostBinding, args: ['attr.id',] }, { type: Input }]
|
|
57091
57261
|
};
|
|
57092
|
-
__decorate([
|
|
57093
|
-
DeprecateProperty(`Deprecated. Use 'grid' input instead.`)
|
|
57094
|
-
], IgxColumnActionsComponent.prototype, "columns", null);
|
|
57095
57262
|
|
|
57096
57263
|
/**
|
|
57097
57264
|
* @hidden
|
|
@@ -61384,7 +61551,8 @@ class IgxGridComponent extends IgxGridBaseDirective {
|
|
|
61384
61551
|
return this._dropAreaMessage || this.resourceStrings.igx_grid_groupByArea_message;
|
|
61385
61552
|
}
|
|
61386
61553
|
/**
|
|
61387
|
-
* @deprecated
|
|
61554
|
+
* @deprecated in version 12.1.0. Use `getCellByColumn` or `getCellByKey` instead
|
|
61555
|
+
*
|
|
61388
61556
|
* Returns a `CellType` object that matches the conditions.
|
|
61389
61557
|
*
|
|
61390
61558
|
* @example
|
|
@@ -62146,9 +62314,6 @@ IgxGridComponent.propDecorators = {
|
|
|
62146
62314
|
dropAreaMessage: [{ type: Input }],
|
|
62147
62315
|
showGroupArea: [{ type: Input }]
|
|
62148
62316
|
};
|
|
62149
|
-
__decorate([
|
|
62150
|
-
DeprecateMethod('`getCellByColumnVisibleIndex` is deprecated. Use `getCellByColumn` or `getCellByKey` instead')
|
|
62151
|
-
], IgxGridComponent.prototype, "getCellByColumnVisibleIndex", null);
|
|
62152
62317
|
|
|
62153
62318
|
class IgxGridStateDirective {
|
|
62154
62319
|
/**
|
|
@@ -64951,7 +65116,8 @@ class IgxTreeGridComponent extends IgxGridBaseDirective {
|
|
|
64951
65116
|
return this.gridAPI;
|
|
64952
65117
|
}
|
|
64953
65118
|
/**
|
|
64954
|
-
* @deprecated
|
|
65119
|
+
* @deprecated in version 12.1.0. Use `getCellByColumn` or `getCellByKey` instead
|
|
65120
|
+
*
|
|
64955
65121
|
* Returns a `CellType` object that matches the conditions.
|
|
64956
65122
|
*
|
|
64957
65123
|
* @example
|
|
@@ -65611,9 +65777,6 @@ IgxTreeGridComponent.propDecorators = {
|
|
|
65611
65777
|
expansionDepth: [{ type: Input }],
|
|
65612
65778
|
rowLoadingIndicatorTemplate: [{ type: Input }]
|
|
65613
65779
|
};
|
|
65614
|
-
__decorate([
|
|
65615
|
-
DeprecateMethod('`getCellByColumnVisibleIndex` is deprecated. Use `getCellByColumn` or `getCellByKey` instead')
|
|
65616
|
-
], IgxTreeGridComponent.prototype, "getCellByColumnVisibleIndex", null);
|
|
65617
65780
|
|
|
65618
65781
|
class IgxTreeGridRowComponent extends IgxRowDirective {
|
|
65619
65782
|
/**
|
|
@@ -67814,7 +67977,8 @@ class IgxHierarchicalGridComponent extends IgxHierarchicalGridBaseDirective {
|
|
|
67814
67977
|
return this._defaultExpandState;
|
|
67815
67978
|
}
|
|
67816
67979
|
/**
|
|
67817
|
-
* @deprecated
|
|
67980
|
+
* @deprecated in version 12.1.0. Use `getCellByColumn` or `getCellByKey` instead
|
|
67981
|
+
*
|
|
67818
67982
|
* Returns a `CellType` object that matches the conditions.
|
|
67819
67983
|
*
|
|
67820
67984
|
* @example
|
|
@@ -68459,9 +68623,6 @@ IgxHierarchicalGridComponent.propDecorators = {
|
|
|
68459
68623
|
data: [{ type: Input }],
|
|
68460
68624
|
expandChildren: [{ type: Input }]
|
|
68461
68625
|
};
|
|
68462
|
-
__decorate([
|
|
68463
|
-
DeprecateMethod('`getCellByColumnVisibleIndex` is deprecated. Use `getCellByColumn` or `getCellByKey` instead')
|
|
68464
|
-
], IgxHierarchicalGridComponent.prototype, "getCellByColumnVisibleIndex", null);
|
|
68465
68626
|
|
|
68466
68627
|
class IgxHierarchicalGridCellComponent extends IgxGridCellComponent {
|
|
68467
68628
|
constructor(selectionService, gridAPI, cdr, helement, zone, touchManager, platformUtil) {
|
|
@@ -72898,6 +73059,8 @@ class IgxToastComponent extends IgxNotificationsDirective {
|
|
|
72898
73059
|
};
|
|
72899
73060
|
}
|
|
72900
73061
|
/**
|
|
73062
|
+
* @deprecated in version 12.2.3. We suggest using `positionSettings` property instead
|
|
73063
|
+
*
|
|
72901
73064
|
* Sets/gets the position of the toast.
|
|
72902
73065
|
* If not set, the `position` attribute will have value `IgxToastPosition.Bottom`.
|
|
72903
73066
|
* ```html
|
|
@@ -73041,9 +73204,6 @@ IgxToastComponent.propDecorators = {
|
|
|
73041
73204
|
position: [{ type: Input }],
|
|
73042
73205
|
positionSettings: [{ type: Input }]
|
|
73043
73206
|
};
|
|
73044
|
-
__decorate([
|
|
73045
|
-
DeprecateProperty('`position` is deprecated. We suggest using `positionSettings` property instead.')
|
|
73046
|
-
], IgxToastComponent.prototype, "position", null);
|
|
73047
73207
|
/**
|
|
73048
73208
|
* @hidden
|
|
73049
73209
|
*/
|
|
@@ -76437,5 +76597,5 @@ IgxTreeModule.decorators = [
|
|
|
76437
76597
|
* Generated bundle index. Do not edit.
|
|
76438
76598
|
*/
|
|
76439
76599
|
|
|
76440
|
-
export { AbsolutePosition, AbsoluteScrollStrategy, AutoPositionStrategy, BaseFilteringStrategy, BaseProgressDirective, BlockScrollStrategy, ButtonGroupAlignment, Calendar, CalendarHammerConfig, CalendarSelection, CalendarView, CarouselAnimationType, CarouselHammerConfig, CarouselIndicatorsOrientation, CloseScrollStrategy, ColumnDisplayOrder, ColumnPinningPosition, ConnectedPositioningStrategy, ContainerPositionStrategy, CsvFileTypes, DEFAULT_OWNER, DataUtil, DatePart, DateRangePickerFormatPipe, DateRangeType, DefaultSortingStrategy, Direction, DisplayDensity, DisplayDensityBase, DisplayDensityToken, DragDirection, ElasticPositionStrategy, ExpansionPanelHeaderIconPosition, ExportRecordType, FilterListItem, FilterMode, FilteringExpressionsTree, FilteringExpressionsTreeType, FilteringLogic, FilteringStrategy, FormattedValuesFilteringStrategy, GlobalPositionStrategy, GridBaseAPIService, GridColumnDataType, GridInstanceType, GridPagingMode, GridSelectionMode, GridSummaryCalculationMode, GridSummaryPosition, GroupedRecords, HeaderType, HorizontalAlignment, IGX_CHECKBOX_REQUIRED_VALIDATOR, IGX_INPUT_GROUP_TYPE, IGX_SWITCH_REQUIRED_VALIDATOR, ITreeGridAggregation, IgxAccordionComponent, IgxAccordionModule, IgxActionStripComponent, IgxActionStripModule, IgxAppendDropStrategy, IgxAutocompleteDirective, IgxAutocompleteModule, IgxAvatarComponent, IgxAvatarModule, IgxAvatarSize, IgxAvatarType, IgxBadgeComponent, IgxBadgeModule, IgxBadgeType, IgxBannerComponent, IgxBannerModule, IgxBaseExporter, IgxBaseTransactionService, IgxBooleanFilteringOperand, IgxBottomNavComponent, IgxBottomNavContentComponent, IgxBottomNavHeaderComponent, IgxBottomNavHeaderIconDirective, IgxBottomNavHeaderLabelDirective, IgxBottomNavItemComponent, IgxBottomNavModule, IgxButtonDirective, IgxButtonGroupComponent, IgxButtonGroupModule, IgxButtonModule, IgxCSVTextDirective, IgxCalendarBaseDirective, IgxCalendarComponent, IgxCalendarHeaderTemplateDirective, IgxCalendarModule, IgxCalendarMonthDirective, IgxCalendarScrollMonthDirective, IgxCalendarSubheaderTemplateDirective, IgxCalendarView, IgxCalendarYearDirective, IgxCardActionsComponent, IgxCardActionsLayout, IgxCardComponent, IgxCardContentDirective, IgxCardFooterDirective, IgxCardHeaderComponent, IgxCardHeaderSubtitleDirective, IgxCardHeaderTitleDirective, IgxCardMediaDirective, IgxCardModule, IgxCardThumbnailDirective, IgxCardType, IgxCarouselComponent, IgxCarouselComponentBase, IgxCarouselModule, IgxCellEditorTemplateDirective, IgxCellFooterTemplateDirective, IgxCellHeaderTemplateDirective, IgxCellTemplateDirective, IgxCheckboxComponent, IgxCheckboxModule, IgxCheckboxRequiredDirective, IgxChipComponent, IgxChipsAreaComponent, IgxChipsModule, IgxCircularProgressBarComponent, IgxCollapsibleIndicatorTemplateDirective, IgxColumnActionsBaseDirective, IgxColumnActionsComponent, IgxColumnActionsModule, IgxColumnComponent, IgxColumnGroupComponent, IgxColumnLayoutComponent, IgxComboComponent, IgxComboModule, IgxComboState, IgxCsvExporterOptions, IgxCsvExporterService, IgxDataLoadingTemplateDirective, IgxDataRecordSorting, IgxDateFilteringOperand, IgxDatePickerComponent, IgxDatePickerModule, IgxDateRangeEndComponent, IgxDateRangeInputsBaseComponent, IgxDateRangePickerComponent, IgxDateRangePickerModule, IgxDateRangeSeparatorDirective, IgxDateRangeStartComponent, IgxDateSummaryOperand, IgxDateTimeEditorDirective, IgxDateTimeEditorModule, IgxDateTimeFilteringOperand, IgxDaysViewComponent, IgxDefaultDropStrategy, IgxDialogComponent, IgxDialogModule, IgxDisplayDensityModule, IgxDividerDirective, IgxDividerModule, IgxDividerType, IgxDragDirective, IgxDragDropModule, IgxDragHandleDirective, IgxDragIgnoreDirective, IgxDragLocation, IgxDropDirective, IgxDropDownBaseDirective, IgxDropDownComponent, IgxDropDownGroupComponent, IgxDropDownItemBaseDirective, IgxDropDownItemComponent, IgxDropDownItemNavigationDirective, IgxDropDownModule, IgxEmptyListTemplateDirective, IgxExcelExporterOptions, IgxExcelExporterService, IgxExcelStyleClearFiltersComponent, IgxExcelStyleColumnOperationsTemplateDirective, IgxExcelStyleConditionalFilterComponent, IgxExcelStyleFilterOperationsTemplateDirective, IgxExcelStyleHeaderComponent, IgxExcelStyleHeaderIconDirective, IgxExcelStyleHidingComponent, IgxExcelStyleLoadingValuesTemplateDirective, IgxExcelStyleMovingComponent, IgxExcelStylePinningComponent, IgxExcelStyleSearchComponent, IgxExcelStyleSelectingComponent, IgxExcelStyleSortingComponent, IgxExcelTextDirective, IgxExpansionPanelBodyComponent, IgxExpansionPanelComponent, IgxExpansionPanelHeaderComponent, IgxExpansionPanelModule, IgxExporterOptionsBase, IgxFilterCellTemplateDirective, IgxFilterDirective, IgxFilterModule, IgxFilterOptions, IgxFilterPipe, IgxFilteringOperand, IgxFlatTransactionFactory, IgxFlexDirective, IgxFocusDirective, IgxFocusModule, IgxForOfContext, IgxForOfDirective, IgxForOfModule, IgxGridAPIService, IgxGridActionsBaseDirective, IgxGridBaseDirective, IgxGridBodyDirective, IgxGridCell, IgxGridCommonModule, IgxGridComponent, IgxGridDetailTemplateDirective, IgxGridEditingActionsComponent, IgxGridExcelStyleFilteringComponent, IgxGridForOfDirective, IgxGridHierarchicalPagingPipe, IgxGridHierarchicalPipe, IgxGridModule, IgxGridPinningActionsComponent, IgxGridRow, IgxGridStateDirective, IgxGridStateModule, IgxGridToolbarActionsDirective, IgxGridToolbarAdvancedFilteringComponent, IgxGridToolbarComponent, IgxGridToolbarDirective, IgxGridToolbarExporterComponent, IgxGridToolbarHidingComponent, IgxGridToolbarPinningComponent, IgxGridToolbarTitleDirective, IgxGridTransaction, IgxGroupAreaDropDirective, IgxGroupByRow, IgxGroupByRowTemplateDirective, IgxGroupedTreeGridSorting, IgxGrouping, IgxHeaderCollapseIndicatorDirective, IgxHeaderExpandIndicatorDirective, IgxHierarchicalGridAPIService, IgxHierarchicalGridBaseDirective, IgxHierarchicalGridComponent, IgxHierarchicalGridModule, IgxHierarchicalGridRow, IgxHierarchicalTransactionFactory, IgxHierarchicalTransactionService, IgxHierarchicalTransactionServiceFactory, IgxHintDirective, IgxIconComponent, IgxIconModule, IgxIconService, IgxInputDirective, IgxInputGroupComponent, IgxInputGroupModule, IgxInputState, IgxInsertDropStrategy, IgxLabelDirective, IgxLayoutDirective, IgxLayoutModule, IgxLinearProgressBarComponent, IgxListActionDirective, IgxListBaseDirective, IgxListComponent, IgxListItemComponent, IgxListItemLeftPanningTemplateDirective, IgxListItemRightPanningTemplateDirective, IgxListLineDirective, IgxListLineSubTitleDirective, IgxListLineTitleDirective, IgxListModule, IgxListPanState, IgxListThumbnailDirective, IgxMaskDirective, IgxMaskModule, IgxMonthPickerBaseDirective, IgxMonthPickerComponent, IgxMonthsViewComponent, IgxNavDrawerItemDirective, IgxNavDrawerMiniTemplateDirective, IgxNavDrawerTemplateDirective, IgxNavbarActionDirective, IgxNavbarComponent, IgxNavbarModule, IgxNavbarTitleDirective, IgxNavigationCloseDirective, IgxNavigationDrawerComponent, IgxNavigationDrawerModule, IgxNavigationModule, IgxNavigationService, IgxNavigationToggleDirective, IgxNumberFilteringOperand, IgxNumberSummaryOperand, IgxOverlayOutletDirective, IgxOverlayService, IgxPageNavigationComponent, IgxPageSizeSelectorComponent, IgxPaginatorComponent, IgxPaginatorDirective, IgxPaginatorModule, IgxPaginatorTemplateDirective, IgxPickerActionsDirective, IgxPickerClearComponent, IgxPickerToggleComponent, IgxPickersCommonModule, IgxPrefixDirective, IgxPrefixModule, IgxPrependDropStrategy, IgxProgressBarModule, IgxProgressType, IgxRadioComponent, IgxRadioGroupDirective, IgxRadioModule, IgxRippleDirective, IgxRippleModule, IgxRowCollapsedIndicatorDirective, IgxRowExpandedIndicatorDirective, IgxRowIslandAPIService, IgxRowIslandComponent, IgxSelectComponent, IgxSelectFooterDirective, IgxSelectGroupComponent, IgxSelectHeaderDirective, IgxSelectItemComponent, IgxSelectModule, IgxSelectToggleIconDirective, IgxSlideComponent, IgxSliderComponent, IgxSliderModule, IgxSliderType, IgxSnackbarComponent, IgxSnackbarModule, IgxSorting, IgxSplitterComponent, IgxSplitterModule, IgxSplitterPaneComponent, IgxStringFilteringOperand, IgxSuffixDirective, IgxSuffixModule, IgxSummaryOperand, IgxSummaryRow, IgxSwitchComponent, IgxSwitchModule, IgxSwitchRequiredDirective, IgxTabContentComponent, IgxTabContentDirective, IgxTabHeaderComponent, IgxTabHeaderDirective, IgxTabHeaderIconDirective, IgxTabHeaderLabelDirective, IgxTabItemComponent, IgxTabItemDirective, IgxTabsAlignment, IgxTabsComponent, IgxTabsDirective, IgxTabsModule, IgxTextAlign, IgxTextHighlightDirective, IgxTextHighlightModule, IgxTextSelectionDirective, IgxTextSelectionModule, IgxThumbFromTemplateDirective, IgxThumbToTemplateDirective, IgxTickLabelTemplateDirective, IgxTimeFilteringOperand, IgxTimePickerComponent, IgxTimePickerModule, IgxTimeSummaryOperand, IgxToastComponent, IgxToastModule, IgxToastPosition, IgxToggleActionDirective, IgxToggleDirective, IgxToggleModule, IgxTooltipDirective, IgxTooltipModule, IgxTooltipTargetDirective, IgxTransactionService, IgxTreeComponent, IgxTreeExpandIndicatorDirective, IgxTreeGridAPIService, IgxTreeGridComponent, IgxTreeGridGroupingPipe, IgxTreeGridModule, IgxTreeGridRow, IgxTreeModule, IgxTreeNodeComponent, IgxTreeNodeLinkDirective, IgxTreeSelectMarkerDirective, IgxTreeSelectionType, IgxYearsViewComponent, LabelPosition, NoOpScrollStrategy, NoopFilteringStrategy, NoopSortingStrategy, PagingError, PickerInteractionMode, Point, RadioGroupAlignment, RadioLabelPosition, RelativePosition, RelativePositionStrategy, RowEditPositionStrategy, RowPinningPosition, ScrollMonth, ScrollStrategy, SliderHandle, SortingDirection, SplitterType, SwitchLabelPosition, TickLabelsOrientation, TicksOrientation, TransactionEventOrigin, TransactionType, TreeGridFilteringStrategy, TreeGridFormattedValuesFilteringStrategy, TreeGridMatchingRecordsOnlyFilteringStrategy, VerticalAlignment, WEEKDAYS, blink, changei18n, fadeIn, fadeOut, filteringStateDefaults, flipBottom, flipHorBck, flipHorFwd, flipLeft, flipRight, flipTop, flipVerBck, flipVerFwd, getCurrentResourceStrings, getTypeNameForDebugging, growVerIn, growVerOut, heartbeat, hierarchicalTransactionServiceFactory, isDateInRanges, isLeap, monthRange, pulsateBck, pulsateFwd, range, rotateInBl, rotateInBottom, rotateInBr, rotateInCenter, rotateInDiagonal1, rotateInDiagonal2, rotateInHor, rotateInLeft, rotateInRight, rotateInTl, rotateInTop, rotateInTr, rotateInVer, rotateOutBl, rotateOutBottom, rotateOutBr, rotateOutCenter, rotateOutDiagonal1, rotateOutDiagonal2, rotateOutHor, rotateOutLeft, rotateOutRight, rotateOutTl, rotateOutTop, rotateOutTr, rotateOutVer, scaleInBl, scaleInBottom, scaleInBr, scaleInCenter, scaleInHorCenter, scaleInHorLeft, scaleInHorRight, scaleInLeft, scaleInRight, scaleInTl, scaleInTop, scaleInTr, scaleInVerBottom, scaleInVerCenter, scaleInVerTop, scaleOutBl, scaleOutBottom, scaleOutBr, scaleOutCenter, scaleOutHorCenter, scaleOutHorLeft, scaleOutHorRight, scaleOutLeft, scaleOutRight, scaleOutTl, scaleOutTop, scaleOutTr, scaleOutVerBottom, scaleOutVerCenter, scaleOutVerTop, shakeBl, shakeBottom, shakeBr, shakeCenter, shakeHor, shakeLeft, shakeRight, shakeTl, shakeTop, shakeTr, shakeVer, slideInBl, slideInBottom, slideInBr, slideInLeft, slideInRight, slideInTl, slideInTop, slideInTr, slideOutBl, slideOutBottom, slideOutBr, slideOutLeft, slideOutRight, slideOutTl, slideOutTop, slideOutTr, swingInBottomBck, swingInBottomFwd, swingInLeftBck, swingInLeftFwd, swingInRightBck, swingInRightFwd, swingInTopBck, swingInTopFwd, swingOutBottomBck, swingOutBottomFwd, swingOutLeftBck, swingOutLefttFwd, swingOutRightBck, swingOutRightFwd, swingOutTopBck, swingOutTopFwd, toPercent, valueInRange, weekDay, ɵ1, ɵ2, IgxActionStripMenuItemDirective as ɵa, IGX_DROPDOWN_BASE as ɵb, IgxGridActionButtonComponent as ɵba, ToggleAnimationPlayer as ɵbb, IgxExpansionPanelTitleDirective as ɵbc, IgxExpansionPanelDescriptionDirective as ɵbd, IgxExpansionPanelIconDirective as ɵbe, IgxBannerActionsDirective as ɵbf, IgxDaysViewNavigationService as ɵbg, IgxDayItemComponent as ɵbh, IgxMonthViewSlotsCalendar as ɵbi, IgxGetViewDateCalendar as ɵbj, IgxCarouselIndicatorDirective as ɵbk, IgxCarouselNextButtonDirective as ɵbl, IgxCarouselPrevButtonDirective as ɵbm, IgxComboAPIService as ɵbn, IGX_COMBO_COMPONENT as ɵbo, IgxComboDropDownComponent as ɵbq, IgxComboItemComponent as ɵbr, IgxComboHeaderDirective as ɵbs, IgxComboFooterDirective as ɵbt, IgxComboItemDirective as ɵbu, IgxComboEmptyDirective as ɵbv, IgxComboHeaderItemDirective as ɵbw, IgxComboAddItemDirective as ɵbx, IgxComboToggleIconDirective as ɵby, IgxComboClearIconDirective as ɵbz, IgxComboFilteringPipe as ɵca, IgxComboGroupingPipe as ɵcb, IgxComboAddItemComponent as ɵcc, PickerBaseDirective as ɵcd, IgxCalendarContainerComponent as ɵce, IgxCalendarContainerModule as ɵcf, IgxDialogTitleDirective as ɵcg, IgxDialogActionsDirective as ɵch, IgxCellCrudState as ɵci, IgxRowCrudState as ɵcj, IgxRowAddCrudState as ɵck, IgxGridCRUDService as ɵcl, IgxColumnMovingService as ɵcm, IgxExcelStyleCustomDialogComponent as ɵcn, IgxExcelStyleDefaultExpressionComponent as ɵco, IgxExcelStyleDateExpressionComponent as ɵcp, HammerGesturesManager as ɵcq, WatchChanges as ɵcr, WatchColumnChanges as ɵcs, notifyChanges as ɵct, IgxNotificationsDirective as ɵcu, IgxGridColumnResizerComponent as ɵcv, IgxColumnResizerDirective as ɵcw, IgxColumnResizingService as ɵcx, IgxRowSelectorDirective as ɵcy, IgxGroupByRowSelectorDirective as ɵcz, IgxGridSelectionService as ɵd, IgxHeadSelectorDirective as ɵda, IgxRowDragDirective as ɵdb, IgxDragIndicatorIconDirective as ɵdc, IgxRowDragGhostDirective as ɵdd, IgxRowDragModule as ɵde, IgxGridHeaderRowComponent as ɵdf, IgxGridHeaderGroupComponent as ɵdg, IgxGridHeaderComponent as ɵdh, IgxGridFilteringCellComponent as ɵdi, IgxFilteringService as ɵdj, IgxGridFilteringRowComponent as ɵdk, IgxGridGroupByAreaComponent as ɵdl, IgxGroupByAreaDirective as ɵdm, IgxGroupByMetaPipe as ɵdn, IgxTemplateOutletDirective as ɵdo, IgxTemplateOutletModule as ɵdp, IgxRowEditTemplateDirective as ɵdq, IgxRowEditTextDirective as ɵdr, IgxRowAddTextDirective as ɵds, IgxRowEditActionsDirective as ɵdt, IgxRowEditTabStopDirective as ɵdu, IgxSummaryRowComponent as ɵdv, IgxSummaryCellComponent as ɵdw, IgxRowDirective as ɵdx, IgxGridNavigationService as ɵdy, IgxGridSummaryService as ɵdz, ConnectedPositioningStrategy as ɵea, IgxGridGroupByRowComponent as ɵeb, IgxTreeGridSelectionService as ɵec, IgxTreeGridGroupByAreaComponent as ɵed, IgxRowLoadingIndicatorTemplateDirective as ɵee, IgxHierarchicalGridNavigationService as ɵef, IgxChildGridRowComponent as ɵeg, IgxGridCellComponent as ɵeh, IgxGridFooterComponent as ɵei, IgxAdvancedFilteringDialogComponent as ɵej, IgxColumnHidingDirective as ɵek, IgxColumnPinningDirective as ɵel, IgxGridSharedModules as ɵem, IgxProcessBarTextTemplateDirective as ɵen, IgxProgressBarGradientDirective as ɵeo, DIR_DOCUMENT_FACTORY as ɵep, DIR_DOCUMENT as ɵeq, IgxDirectionality as ɵer, IgxSelectItemNavigationDirective as ɵes, IGX_TIME_PICKER_COMPONENT as ɵet, IgxItemListDirective as ɵev, IgxTimeItemDirective as ɵew, IgxTimePickerTemplateDirective as ɵex, IgxTimePickerActionsDirective as ɵey, TimeFormatPipe as ɵez, IGX_EXPANSION_PANEL_COMPONENT as ɵf, TimeItemPipe as ɵfa, IgxGridPipesModule as ɵfb, IgxGridCellStyleClassesPipe as ɵfc, IgxGridCellStylesPipe as ɵfd, IgxGridRowClassesPipe as ɵfe, IgxGridRowStylesPipe as ɵff, IgxGridNotGroupedPipe as ɵfg, IgxGridTopLevelColumns as ɵfh, IgxGridFilterConditionPipe as ɵfi, IgxGridTransactionPipe as ɵfj, IgxGridPaginatorOptionsPipe as ɵfk, IgxHasVisibleColumnsPipe as ɵfl, IgxGridRowPinningPipe as ɵfm, IgxColumnActionEnabledPipe as ɵfn, IgxFilterActionColumnsPipe as ɵfo, IgxSortActionColumnsPipe as ɵfp, IgxGridDataMapperPipe as ɵfq, IgxStringReplacePipe as ɵfr, IgxGridTransactionStatePipe as ɵfs, IgxColumnFormatterPipe as ɵft, IgxSummaryFormatterPipe as ɵfu, IgxGridAddRowPipe as ɵfv, IgxHeaderGroupWidthPipe as ɵfw, IgxHeaderGroupStylePipe as ɵfx, IgxGridColumnModule as ɵfy, IgxGridHeadersModule as ɵfz, IGX_TREE_COMPONENT as ɵg, SortingIndexPipe as ɵga, IgxGridFilteringModule as ɵgb, IgxColumnMovingModule as ɵgc, IgxColumnMovingDropDirective as ɵgd, IgxColumnMovingDragDirective as ɵge, IgxGridResizingModule as ɵgf, IgxResizeHandleDirective as ɵgg, IgxGridExcelStyleFilteringModule as ɵgh, IgxGridSelectionModule as ɵgi, IgxGridDragSelectDirective as ɵgj, IgxGridSummaryModule as ɵgk, IgxSummaryDataPipe as ɵgl, IgxGridToolbarModule as ɵgm, BaseToolbarDirective as ɵgn, BaseToolbarColumnActionsDirective as ɵgo, IgxGridRowComponent as ɵgp, IgxGridSortingPipe as ɵgq, IgxGridGroupingPipe as ɵgr, IgxGridPagingPipe as ɵgs, IgxGridFilteringPipe as ɵgt, IgxGridSummaryPipe as ɵgu, IgxGridDetailsPipe as ɵgv, IgxGridExpandableCellComponent as ɵgw, IgxTreeGridRowComponent as ɵgx, IgxTreeGridCellComponent as ɵgy, IgxTreeGridHierarchizingPipe as ɵgz, IGX_TREE_NODE_COMPONENT as ɵh, IgxTreeGridFlatteningPipe as ɵha, IgxTreeGridSortingPipe as ɵhb, IgxTreeGridPagingPipe as ɵhc, IgxTreeGridTransactionPipe as ɵhd, IgxTreeGridNormalizeRecordsPipe as ɵhe, IgxTreeGridAddRowPipe as ɵhf, IgxTreeGridFilteringPipe as ɵhg, IgxTreeGridSummaryPipe as ɵhh, IgxHierarchicalRowComponent as ɵhi, IgxHierarchicalGridCellComponent as ɵhj, IgxSliderThumbComponent as ɵhk, IgxThumbLabelComponent as ɵhl, IgxTicksComponent as ɵhm, IgxTickLabelsPipe as ɵhn, IgxTabsBase as ɵho, IgxTabHeaderBase as ɵhp, IgxTabContentBase as ɵhq, IgxSplitBarComponent as ɵhr, IgxTreeService as ɵhs, IgxTreeSelectionService as ɵht, IgxTreeNavigationService as ɵhu, PlatformUtil as ɵi, EaseIn as ɵj, EaseOut as ɵk, IgxInputGroupBase as ɵl, IgxSelectionAPIService as ɵm, IgxForOfSyncService as ɵn, IgxForOfScrollSyncService as ɵo, DisplayContainerComponent as ɵp, IgxScrollInertiaDirective as ɵq, IgxScrollInertiaModule as ɵr, VirtualHelperComponent as ɵs, VirtualHelperBaseDirective as ɵt, HVirtualHelperComponent as ɵu, MaskParsingService as ɵv, DeprecateMethod as ɵw, DeprecateProperty as ɵx, isHierarchyMatch as ɵy, getHierarchy as ɵz };
|
|
76600
|
+
export { AbsolutePosition, AbsoluteScrollStrategy, AutoPositionStrategy, BaseFilteringStrategy, BaseProgressDirective, BlockScrollStrategy, ButtonGroupAlignment, Calendar, CalendarHammerConfig, CalendarSelection, CalendarView, CarouselAnimationType, CarouselHammerConfig, CarouselIndicatorsOrientation, CloseScrollStrategy, ColumnDisplayOrder, ColumnPinningPosition, ConnectedPositioningStrategy, ContainerPositionStrategy, CsvFileTypes, DEFAULT_OWNER, DataUtil, DatePart, DateRangePickerFormatPipe, DateRangeType, DefaultSortingStrategy, Direction, DisplayDensity, DisplayDensityBase, DisplayDensityToken, DragDirection, ElasticPositionStrategy, ExpansionPanelHeaderIconPosition, ExportRecordType, FilterListItem, FilterMode, FilteringExpressionsTree, FilteringExpressionsTreeType, FilteringLogic, FilteringStrategy, FormattedValuesFilteringStrategy, GlobalPositionStrategy, GridBaseAPIService, GridColumnDataType, GridInstanceType, GridPagingMode, GridSelectionMode, GridSummaryCalculationMode, GridSummaryPosition, GroupedRecords, HeaderType, HorizontalAlignment, IGX_CHECKBOX_REQUIRED_VALIDATOR, IGX_INPUT_GROUP_TYPE, IGX_SWITCH_REQUIRED_VALIDATOR, ITreeGridAggregation, IgxAccordionComponent, IgxAccordionModule, IgxActionStripComponent, IgxActionStripModule, IgxAppendDropStrategy, IgxAutocompleteDirective, IgxAutocompleteModule, IgxAvatarComponent, IgxAvatarModule, IgxAvatarSize, IgxAvatarType, IgxBadgeComponent, IgxBadgeModule, IgxBadgeType, IgxBannerComponent, IgxBannerModule, IgxBaseExporter, IgxBaseTransactionService, IgxBooleanFilteringOperand, IgxBottomNavComponent, IgxBottomNavContentComponent, IgxBottomNavHeaderComponent, IgxBottomNavHeaderIconDirective, IgxBottomNavHeaderLabelDirective, IgxBottomNavItemComponent, IgxBottomNavModule, IgxButtonDirective, IgxButtonGroupComponent, IgxButtonGroupModule, IgxButtonModule, IgxCSVTextDirective, IgxCalendarBaseDirective, IgxCalendarComponent, IgxCalendarHeaderTemplateDirective, IgxCalendarModule, IgxCalendarMonthDirective, IgxCalendarScrollMonthDirective, IgxCalendarSubheaderTemplateDirective, IgxCalendarView, IgxCalendarYearDirective, IgxCardActionsComponent, IgxCardActionsLayout, IgxCardComponent, IgxCardContentDirective, IgxCardFooterDirective, IgxCardHeaderComponent, IgxCardHeaderSubtitleDirective, IgxCardHeaderTitleDirective, IgxCardMediaDirective, IgxCardModule, IgxCardThumbnailDirective, IgxCardType, IgxCarouselComponent, IgxCarouselComponentBase, IgxCarouselModule, IgxCellEditorTemplateDirective, IgxCellFooterTemplateDirective, IgxCellHeaderTemplateDirective, IgxCellTemplateDirective, IgxCheckboxComponent, IgxCheckboxModule, IgxCheckboxRequiredDirective, IgxChipComponent, IgxChipsAreaComponent, IgxChipsModule, IgxCircularProgressBarComponent, IgxCollapsibleIndicatorTemplateDirective, IgxColumnActionsBaseDirective, IgxColumnActionsComponent, IgxColumnActionsModule, IgxColumnComponent, IgxColumnGroupComponent, IgxColumnLayoutComponent, IgxComboComponent, IgxComboModule, IgxCsvExporterOptions, IgxCsvExporterService, IgxDataLoadingTemplateDirective, IgxDataRecordSorting, IgxDateFilteringOperand, IgxDatePickerComponent, IgxDatePickerModule, IgxDateRangeEndComponent, IgxDateRangeInputsBaseComponent, IgxDateRangePickerComponent, IgxDateRangePickerModule, IgxDateRangeSeparatorDirective, IgxDateRangeStartComponent, IgxDateSummaryOperand, IgxDateTimeEditorDirective, IgxDateTimeEditorModule, IgxDateTimeFilteringOperand, IgxDaysViewComponent, IgxDefaultDropStrategy, IgxDialogComponent, IgxDialogModule, IgxDisplayDensityModule, IgxDividerDirective, IgxDividerModule, IgxDividerType, IgxDragDirective, IgxDragDropModule, IgxDragHandleDirective, IgxDragIgnoreDirective, IgxDragLocation, IgxDropDirective, IgxDropDownBaseDirective, IgxDropDownComponent, IgxDropDownGroupComponent, IgxDropDownItemBaseDirective, IgxDropDownItemComponent, IgxDropDownItemNavigationDirective, IgxDropDownModule, IgxEmptyListTemplateDirective, IgxExcelExporterOptions, IgxExcelExporterService, IgxExcelStyleClearFiltersComponent, IgxExcelStyleColumnOperationsTemplateDirective, IgxExcelStyleConditionalFilterComponent, IgxExcelStyleFilterOperationsTemplateDirective, IgxExcelStyleHeaderComponent, IgxExcelStyleHeaderIconDirective, IgxExcelStyleHidingComponent, IgxExcelStyleLoadingValuesTemplateDirective, IgxExcelStyleMovingComponent, IgxExcelStylePinningComponent, IgxExcelStyleSearchComponent, IgxExcelStyleSelectingComponent, IgxExcelStyleSortingComponent, IgxExcelTextDirective, IgxExpansionPanelBodyComponent, IgxExpansionPanelComponent, IgxExpansionPanelHeaderComponent, IgxExpansionPanelModule, IgxExporterOptionsBase, IgxFilterCellTemplateDirective, IgxFilterDirective, IgxFilterModule, IgxFilterOptions, IgxFilterPipe, IgxFilteringOperand, IgxFlatTransactionFactory, IgxFlexDirective, IgxFocusDirective, IgxFocusModule, IgxForOfContext, IgxForOfDirective, IgxForOfModule, IgxGridAPIService, IgxGridActionsBaseDirective, IgxGridBaseDirective, IgxGridBodyDirective, IgxGridCell, IgxGridCommonModule, IgxGridComponent, IgxGridDetailTemplateDirective, IgxGridEditingActionsComponent, IgxGridExcelStyleFilteringComponent, IgxGridForOfDirective, IgxGridHierarchicalPagingPipe, IgxGridHierarchicalPipe, IgxGridModule, IgxGridPinningActionsComponent, IgxGridRow, IgxGridStateDirective, IgxGridStateModule, IgxGridToolbarActionsDirective, IgxGridToolbarAdvancedFilteringComponent, IgxGridToolbarComponent, IgxGridToolbarDirective, IgxGridToolbarExporterComponent, IgxGridToolbarHidingComponent, IgxGridToolbarPinningComponent, IgxGridToolbarTitleDirective, IgxGridTransaction, IgxGroupAreaDropDirective, IgxGroupByRow, IgxGroupByRowTemplateDirective, IgxGroupedTreeGridSorting, IgxGrouping, IgxHeaderCollapseIndicatorDirective, IgxHeaderExpandIndicatorDirective, IgxHierarchicalGridAPIService, IgxHierarchicalGridBaseDirective, IgxHierarchicalGridComponent, IgxHierarchicalGridModule, IgxHierarchicalGridRow, IgxHierarchicalTransactionFactory, IgxHierarchicalTransactionService, IgxHierarchicalTransactionServiceFactory, IgxHintDirective, IgxIconComponent, IgxIconModule, IgxIconService, IgxInputDirective, IgxInputGroupComponent, IgxInputGroupModule, IgxInputState, IgxInsertDropStrategy, IgxLabelDirective, IgxLayoutDirective, IgxLayoutModule, IgxLinearProgressBarComponent, IgxListActionDirective, IgxListBaseDirective, IgxListComponent, IgxListItemComponent, IgxListItemLeftPanningTemplateDirective, IgxListItemRightPanningTemplateDirective, IgxListLineDirective, IgxListLineSubTitleDirective, IgxListLineTitleDirective, IgxListModule, IgxListPanState, IgxListThumbnailDirective, IgxMaskDirective, IgxMaskModule, IgxMonthPickerBaseDirective, IgxMonthPickerComponent, IgxMonthsViewComponent, IgxNavDrawerItemDirective, IgxNavDrawerMiniTemplateDirective, IgxNavDrawerTemplateDirective, IgxNavbarActionDirective, IgxNavbarComponent, IgxNavbarModule, IgxNavbarTitleDirective, IgxNavigationCloseDirective, IgxNavigationDrawerComponent, IgxNavigationDrawerModule, IgxNavigationModule, IgxNavigationService, IgxNavigationToggleDirective, IgxNumberFilteringOperand, IgxNumberSummaryOperand, IgxOverlayOutletDirective, IgxOverlayService, IgxPageNavigationComponent, IgxPageSizeSelectorComponent, IgxPaginatorComponent, IgxPaginatorDirective, IgxPaginatorModule, IgxPaginatorTemplateDirective, IgxPickerActionsDirective, IgxPickerClearComponent, IgxPickerToggleComponent, IgxPickersCommonModule, IgxPrefixDirective, IgxPrefixModule, IgxPrependDropStrategy, IgxProgressBarModule, IgxProgressType, IgxRadioComponent, IgxRadioGroupDirective, IgxRadioModule, IgxRippleDirective, IgxRippleModule, IgxRowCollapsedIndicatorDirective, IgxRowExpandedIndicatorDirective, IgxRowIslandAPIService, IgxRowIslandComponent, IgxSelectComponent, IgxSelectFooterDirective, IgxSelectGroupComponent, IgxSelectHeaderDirective, IgxSelectItemComponent, IgxSelectModule, IgxSelectToggleIconDirective, IgxSimpleComboComponent, IgxSimpleComboModule, IgxSlideComponent, IgxSliderComponent, IgxSliderModule, IgxSliderType, IgxSnackbarComponent, IgxSnackbarModule, IgxSorting, IgxSplitterComponent, IgxSplitterModule, IgxSplitterPaneComponent, IgxStringFilteringOperand, IgxSuffixDirective, IgxSuffixModule, IgxSummaryOperand, IgxSummaryRow, IgxSwitchComponent, IgxSwitchModule, IgxSwitchRequiredDirective, IgxTabContentComponent, IgxTabContentDirective, IgxTabHeaderComponent, IgxTabHeaderDirective, IgxTabHeaderIconDirective, IgxTabHeaderLabelDirective, IgxTabItemComponent, IgxTabItemDirective, IgxTabsAlignment, IgxTabsComponent, IgxTabsDirective, IgxTabsModule, IgxTextAlign, IgxTextHighlightDirective, IgxTextHighlightModule, IgxTextSelectionDirective, IgxTextSelectionModule, IgxThumbFromTemplateDirective, IgxThumbToTemplateDirective, IgxTickLabelTemplateDirective, IgxTimeFilteringOperand, IgxTimePickerComponent, IgxTimePickerModule, IgxTimeSummaryOperand, IgxToastComponent, IgxToastModule, IgxToastPosition, IgxToggleActionDirective, IgxToggleDirective, IgxToggleModule, IgxTooltipDirective, IgxTooltipModule, IgxTooltipTargetDirective, IgxTransactionService, IgxTreeComponent, IgxTreeExpandIndicatorDirective, IgxTreeGridAPIService, IgxTreeGridComponent, IgxTreeGridGroupingPipe, IgxTreeGridModule, IgxTreeGridRow, IgxTreeModule, IgxTreeNodeComponent, IgxTreeNodeLinkDirective, IgxTreeSelectMarkerDirective, IgxTreeSelectionType, IgxYearsViewComponent, LabelPosition, NoOpScrollStrategy, NoopFilteringStrategy, NoopSortingStrategy, PagingError, PickerInteractionMode, Point, RadioGroupAlignment, RadioLabelPosition, RelativePosition, RelativePositionStrategy, RowEditPositionStrategy, RowPinningPosition, ScrollMonth, ScrollStrategy, SliderHandle, SortingDirection, SplitterType, SwitchLabelPosition, TickLabelsOrientation, TicksOrientation, TransactionEventOrigin, TransactionType, TreeGridFilteringStrategy, TreeGridFormattedValuesFilteringStrategy, TreeGridMatchingRecordsOnlyFilteringStrategy, VerticalAlignment, WEEKDAYS, blink, changei18n, fadeIn, fadeOut, filteringStateDefaults, flipBottom, flipHorBck, flipHorFwd, flipLeft, flipRight, flipTop, flipVerBck, flipVerFwd, getCurrentResourceStrings, getTypeNameForDebugging, growVerIn, growVerOut, heartbeat, hierarchicalTransactionServiceFactory, isDateInRanges, isLeap, monthRange, pulsateBck, pulsateFwd, range, rotateInBl, rotateInBottom, rotateInBr, rotateInCenter, rotateInDiagonal1, rotateInDiagonal2, rotateInHor, rotateInLeft, rotateInRight, rotateInTl, rotateInTop, rotateInTr, rotateInVer, rotateOutBl, rotateOutBottom, rotateOutBr, rotateOutCenter, rotateOutDiagonal1, rotateOutDiagonal2, rotateOutHor, rotateOutLeft, rotateOutRight, rotateOutTl, rotateOutTop, rotateOutTr, rotateOutVer, scaleInBl, scaleInBottom, scaleInBr, scaleInCenter, scaleInHorCenter, scaleInHorLeft, scaleInHorRight, scaleInLeft, scaleInRight, scaleInTl, scaleInTop, scaleInTr, scaleInVerBottom, scaleInVerCenter, scaleInVerTop, scaleOutBl, scaleOutBottom, scaleOutBr, scaleOutCenter, scaleOutHorCenter, scaleOutHorLeft, scaleOutHorRight, scaleOutLeft, scaleOutRight, scaleOutTl, scaleOutTop, scaleOutTr, scaleOutVerBottom, scaleOutVerCenter, scaleOutVerTop, shakeBl, shakeBottom, shakeBr, shakeCenter, shakeHor, shakeLeft, shakeRight, shakeTl, shakeTop, shakeTr, shakeVer, slideInBl, slideInBottom, slideInBr, slideInLeft, slideInRight, slideInTl, slideInTop, slideInTr, slideOutBl, slideOutBottom, slideOutBr, slideOutLeft, slideOutRight, slideOutTl, slideOutTop, slideOutTr, swingInBottomBck, swingInBottomFwd, swingInLeftBck, swingInLeftFwd, swingInRightBck, swingInRightFwd, swingInTopBck, swingInTopFwd, swingOutBottomBck, swingOutBottomFwd, swingOutLeftBck, swingOutLefttFwd, swingOutRightBck, swingOutRightFwd, swingOutTopBck, swingOutTopFwd, toPercent, valueInRange, weekDay, ɵ1, ɵ2, IgxActionStripMenuItemDirective as ɵa, IGX_DROPDOWN_BASE as ɵb, IgxExpansionPanelTitleDirective as ɵba, IgxExpansionPanelDescriptionDirective as ɵbb, IgxExpansionPanelIconDirective as ɵbc, IgxBannerActionsDirective as ɵbd, IgxDaysViewNavigationService as ɵbe, IgxDayItemComponent as ɵbf, IgxMonthViewSlotsCalendar as ɵbg, IgxGetViewDateCalendar as ɵbh, IgxCarouselIndicatorDirective as ɵbi, IgxCarouselNextButtonDirective as ɵbj, IgxCarouselPrevButtonDirective as ɵbk, IGX_COMBO_COMPONENT as ɵbl, IgxComboBaseDirective as ɵbn, IgxComboHeaderDirective as ɵbo, IgxComboFooterDirective as ɵbp, IgxComboItemDirective as ɵbq, IgxComboEmptyDirective as ɵbr, IgxComboHeaderItemDirective as ɵbs, IgxComboAddItemDirective as ɵbt, IgxComboToggleIconDirective as ɵbu, IgxComboClearIconDirective as ɵbv, IgxComboAPIService as ɵbw, IgxComboDropDownComponent as ɵbx, IgxComboItemComponent as ɵby, IgxComboFilteringPipe as ɵbz, IgxComboGroupingPipe as ɵca, IgxComboAddItemComponent as ɵcb, PickerBaseDirective as ɵcc, IgxCalendarContainerComponent as ɵcd, IgxCalendarContainerModule as ɵce, IgxDialogTitleDirective as ɵcf, IgxDialogActionsDirective as ɵcg, IgxCellCrudState as ɵch, IgxRowCrudState as ɵci, IgxRowAddCrudState as ɵcj, IgxGridCRUDService as ɵck, IgxColumnMovingService as ɵcl, IgxExcelStyleCustomDialogComponent as ɵcm, IgxExcelStyleDefaultExpressionComponent as ɵcn, IgxExcelStyleDateExpressionComponent as ɵco, HammerGesturesManager as ɵcp, WatchChanges as ɵcq, WatchColumnChanges as ɵcr, notifyChanges as ɵcs, IgxNotificationsDirective as ɵct, IgxGridColumnResizerComponent as ɵcu, IgxColumnResizerDirective as ɵcv, IgxColumnResizingService as ɵcw, IgxRowSelectorDirective as ɵcx, IgxGroupByRowSelectorDirective as ɵcy, IgxHeadSelectorDirective as ɵcz, IgxGridSelectionService as ɵd, IgxRowDragDirective as ɵda, IgxDragIndicatorIconDirective as ɵdb, IgxRowDragGhostDirective as ɵdc, IgxRowDragModule as ɵdd, IgxGridHeaderRowComponent as ɵde, IgxGridHeaderGroupComponent as ɵdf, IgxGridHeaderComponent as ɵdg, IgxGridFilteringCellComponent as ɵdh, IgxFilteringService as ɵdi, IgxGridFilteringRowComponent as ɵdj, IgxGridGroupByAreaComponent as ɵdk, IgxGroupByAreaDirective as ɵdl, IgxGroupByMetaPipe as ɵdm, IgxTemplateOutletDirective as ɵdn, IgxTemplateOutletModule as ɵdo, IgxRowEditTemplateDirective as ɵdp, IgxRowEditTextDirective as ɵdq, IgxRowAddTextDirective as ɵdr, IgxRowEditActionsDirective as ɵds, IgxRowEditTabStopDirective as ɵdt, IgxSummaryRowComponent as ɵdu, IgxSummaryCellComponent as ɵdv, IgxRowDirective as ɵdw, IgxGridNavigationService as ɵdx, IgxGridSummaryService as ɵdy, ConnectedPositioningStrategy as ɵdz, IgxGridGroupByRowComponent as ɵea, IgxTreeGridSelectionService as ɵeb, IgxTreeGridGroupByAreaComponent as ɵec, IgxRowLoadingIndicatorTemplateDirective as ɵed, IgxHierarchicalGridNavigationService as ɵee, IgxChildGridRowComponent as ɵef, IgxGridCellComponent as ɵeg, IgxGridFooterComponent as ɵeh, IgxAdvancedFilteringDialogComponent as ɵei, IgxColumnHidingDirective as ɵej, IgxColumnPinningDirective as ɵek, IgxGridSharedModules as ɵel, IgxProcessBarTextTemplateDirective as ɵem, IgxProgressBarGradientDirective as ɵen, DIR_DOCUMENT_FACTORY as ɵeo, DIR_DOCUMENT as ɵep, IgxDirectionality as ɵeq, IgxSelectItemNavigationDirective as ɵer, IGX_TIME_PICKER_COMPONENT as ɵes, IgxItemListDirective as ɵeu, IgxTimeItemDirective as ɵev, IgxTimePickerTemplateDirective as ɵew, IgxTimePickerActionsDirective as ɵex, TimeFormatPipe as ɵey, TimeItemPipe as ɵez, IGX_EXPANSION_PANEL_COMPONENT as ɵf, IgxGridPipesModule as ɵfa, IgxGridCellStyleClassesPipe as ɵfb, IgxGridCellStylesPipe as ɵfc, IgxGridRowClassesPipe as ɵfd, IgxGridRowStylesPipe as ɵfe, IgxGridNotGroupedPipe as ɵff, IgxGridTopLevelColumns as ɵfg, IgxGridFilterConditionPipe as ɵfh, IgxGridTransactionPipe as ɵfi, IgxGridPaginatorOptionsPipe as ɵfj, IgxHasVisibleColumnsPipe as ɵfk, IgxGridRowPinningPipe as ɵfl, IgxColumnActionEnabledPipe as ɵfm, IgxFilterActionColumnsPipe as ɵfn, IgxSortActionColumnsPipe as ɵfo, IgxGridDataMapperPipe as ɵfp, IgxStringReplacePipe as ɵfq, IgxGridTransactionStatePipe as ɵfr, IgxColumnFormatterPipe as ɵfs, IgxSummaryFormatterPipe as ɵft, IgxGridAddRowPipe as ɵfu, IgxHeaderGroupWidthPipe as ɵfv, IgxHeaderGroupStylePipe as ɵfw, IgxGridColumnModule as ɵfx, IgxGridHeadersModule as ɵfy, SortingIndexPipe as ɵfz, IGX_TREE_COMPONENT as ɵg, IgxGridFilteringModule as ɵga, IgxColumnMovingModule as ɵgb, IgxColumnMovingDropDirective as ɵgc, IgxColumnMovingDragDirective as ɵgd, IgxGridResizingModule as ɵge, IgxResizeHandleDirective as ɵgf, IgxGridExcelStyleFilteringModule as ɵgg, IgxGridSelectionModule as ɵgh, IgxGridDragSelectDirective as ɵgi, IgxGridSummaryModule as ɵgj, IgxSummaryDataPipe as ɵgk, IgxGridToolbarModule as ɵgl, BaseToolbarDirective as ɵgm, BaseToolbarColumnActionsDirective as ɵgn, IgxGridRowComponent as ɵgo, IgxGridSortingPipe as ɵgp, IgxGridGroupingPipe as ɵgq, IgxGridPagingPipe as ɵgr, IgxGridFilteringPipe as ɵgs, IgxGridSummaryPipe as ɵgt, IgxGridDetailsPipe as ɵgu, IgxGridExpandableCellComponent as ɵgv, IgxTreeGridRowComponent as ɵgw, IgxTreeGridCellComponent as ɵgx, IgxTreeGridHierarchizingPipe as ɵgy, IgxTreeGridFlatteningPipe as ɵgz, IGX_TREE_NODE_COMPONENT as ɵh, IgxTreeGridSortingPipe as ɵha, IgxTreeGridPagingPipe as ɵhb, IgxTreeGridTransactionPipe as ɵhc, IgxTreeGridNormalizeRecordsPipe as ɵhd, IgxTreeGridAddRowPipe as ɵhe, IgxTreeGridFilteringPipe as ɵhf, IgxTreeGridSummaryPipe as ɵhg, IgxHierarchicalRowComponent as ɵhh, IgxHierarchicalGridCellComponent as ɵhi, IgxSliderThumbComponent as ɵhj, IgxThumbLabelComponent as ɵhk, IgxTicksComponent as ɵhl, IgxTickLabelsPipe as ɵhm, IgxTabsBase as ɵhn, IgxTabHeaderBase as ɵho, IgxTabContentBase as ɵhp, IgxSplitBarComponent as ɵhq, IgxTreeService as ɵhr, IgxTreeSelectionService as ɵhs, IgxTreeNavigationService as ɵht, PlatformUtil as ɵi, EaseIn as ɵj, EaseOut as ɵk, IgxInputGroupBase as ɵl, IgxSelectionAPIService as ɵm, IgxForOfSyncService as ɵn, IgxForOfScrollSyncService as ɵo, DisplayContainerComponent as ɵp, IgxScrollInertiaDirective as ɵq, IgxScrollInertiaModule as ɵr, VirtualHelperComponent as ɵs, VirtualHelperBaseDirective as ɵt, HVirtualHelperComponent as ɵu, MaskParsingService as ɵv, isHierarchyMatch as ɵw, getHierarchy as ɵx, IgxGridActionButtonComponent as ɵy, ToggleAnimationPlayer as ɵz };
|
|
76441
76601
|
//# sourceMappingURL=igniteui-angular.js.map
|