igniteui-angular 22.1.0-beta.4 → 22.1.0-beta.6
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/fesm2022/igniteui-angular-accordion.mjs +4 -4
- package/fesm2022/igniteui-angular-accordion.mjs.map +1 -1
- package/fesm2022/igniteui-angular-action-strip.mjs +3 -1
- package/fesm2022/igniteui-angular-action-strip.mjs.map +1 -1
- package/fesm2022/igniteui-angular-avatar.mjs.map +1 -1
- package/fesm2022/igniteui-angular-badge.mjs +3 -2
- package/fesm2022/igniteui-angular-badge.mjs.map +1 -1
- package/fesm2022/igniteui-angular-banner.mjs +2 -2
- package/fesm2022/igniteui-angular-banner.mjs.map +1 -1
- package/fesm2022/igniteui-angular-button-group.mjs +2 -2
- package/fesm2022/igniteui-angular-button-group.mjs.map +1 -1
- package/fesm2022/igniteui-angular-calendar.mjs +9 -8
- package/fesm2022/igniteui-angular-calendar.mjs.map +1 -1
- package/fesm2022/igniteui-angular-card.mjs +2 -2
- package/fesm2022/igniteui-angular-card.mjs.map +1 -1
- package/fesm2022/igniteui-angular-carousel.mjs.map +1 -1
- package/fesm2022/igniteui-angular-chips.mjs.map +1 -1
- package/fesm2022/igniteui-angular-combo.mjs +6 -17
- package/fesm2022/igniteui-angular-combo.mjs.map +1 -1
- package/fesm2022/igniteui-angular-core.mjs +337 -16
- package/fesm2022/igniteui-angular-core.mjs.map +1 -1
- package/fesm2022/igniteui-angular-date-picker.mjs +14 -12
- package/fesm2022/igniteui-angular-date-picker.mjs.map +1 -1
- package/fesm2022/igniteui-angular-dialog.mjs +1 -1
- package/fesm2022/igniteui-angular-dialog.mjs.map +1 -1
- package/fesm2022/igniteui-angular-directives.mjs +67 -48
- package/fesm2022/igniteui-angular-directives.mjs.map +1 -1
- package/fesm2022/igniteui-angular-drop-down.mjs +2 -3
- package/fesm2022/igniteui-angular-drop-down.mjs.map +1 -1
- package/fesm2022/igniteui-angular-expansion-panel.mjs +12 -23
- package/fesm2022/igniteui-angular-expansion-panel.mjs.map +1 -1
- package/fesm2022/igniteui-angular-grids-core.mjs +223 -491
- package/fesm2022/igniteui-angular-grids-core.mjs.map +1 -1
- package/fesm2022/igniteui-angular-grids-grid.mjs +98 -116
- package/fesm2022/igniteui-angular-grids-grid.mjs.map +1 -1
- package/fesm2022/igniteui-angular-grids-hierarchical-grid.mjs +21 -16
- package/fesm2022/igniteui-angular-grids-hierarchical-grid.mjs.map +1 -1
- package/fesm2022/igniteui-angular-grids-lite.mjs.map +1 -1
- package/fesm2022/igniteui-angular-grids-pivot-grid.mjs +153 -75
- package/fesm2022/igniteui-angular-grids-pivot-grid.mjs.map +1 -1
- package/fesm2022/igniteui-angular-grids-tree-grid.mjs +35 -28
- package/fesm2022/igniteui-angular-grids-tree-grid.mjs.map +1 -1
- package/fesm2022/igniteui-angular-icon.mjs.map +1 -1
- package/fesm2022/igniteui-angular-input-group.mjs +19 -4
- package/fesm2022/igniteui-angular-input-group.mjs.map +1 -1
- package/fesm2022/igniteui-angular-list.mjs.map +1 -1
- package/fesm2022/igniteui-angular-navbar.mjs.map +1 -1
- package/fesm2022/igniteui-angular-navigation-drawer.mjs +3 -2
- package/fesm2022/igniteui-angular-navigation-drawer.mjs.map +1 -1
- package/fesm2022/igniteui-angular-paginator.mjs +2 -1
- package/fesm2022/igniteui-angular-paginator.mjs.map +1 -1
- package/fesm2022/igniteui-angular-progressbar.mjs +2 -5
- package/fesm2022/igniteui-angular-progressbar.mjs.map +1 -1
- package/fesm2022/igniteui-angular-query-builder.mjs +21 -20
- package/fesm2022/igniteui-angular-query-builder.mjs.map +1 -1
- package/fesm2022/igniteui-angular-radio.mjs +1 -1
- package/fesm2022/igniteui-angular-radio.mjs.map +1 -1
- package/fesm2022/igniteui-angular-select.mjs.map +1 -1
- package/fesm2022/igniteui-angular-simple-combo.mjs +7 -10
- package/fesm2022/igniteui-angular-simple-combo.mjs.map +1 -1
- package/fesm2022/igniteui-angular-slider.mjs +3 -3
- package/fesm2022/igniteui-angular-slider.mjs.map +1 -1
- package/fesm2022/igniteui-angular-splitter.mjs +1 -1
- package/fesm2022/igniteui-angular-splitter.mjs.map +1 -1
- package/fesm2022/igniteui-angular-stepper.mjs +1 -1
- package/fesm2022/igniteui-angular-stepper.mjs.map +1 -1
- package/fesm2022/igniteui-angular-tabs.mjs.map +1 -1
- package/fesm2022/igniteui-angular-time-picker.mjs +6 -3
- package/fesm2022/igniteui-angular-time-picker.mjs.map +1 -1
- package/fesm2022/igniteui-angular-tree.mjs +10 -8
- package/fesm2022/igniteui-angular-tree.mjs.map +1 -1
- package/lib/core/styles/components/button/_button-theme.scss +24 -31
- package/lib/core/styles/components/icon-button/_icon-button-theme.scss +21 -0
- package/lib/core/styles/spec/_mixins.spec.scss +21 -1
- package/lib/core/styles/themes/_scoping.scss +12 -0
- package/lib/core/styles/themes/generators/_base.scss +0 -1
- package/lib/grids/core/src/filtering/excel-style/themes/_derived.scss +3 -2
- package/migrations/migration-collection.json +7 -0
- package/migrations/update-22_1_0_import-migration/index.d.ts +2 -0
- package/migrations/update-22_1_0_import-migration/index.js +228 -0
- package/migrations/update-22_1_0_import-migration/index.spec.d.ts +1 -0
- package/migrations/update-22_1_0_import-migration/index.spec.js +188 -0
- package/package.json +1 -1
- package/styles/igniteui-angular-dark.css +1 -1
- package/styles/igniteui-angular.css +1 -1
- package/styles/igniteui-bootstrap-dark.css +1 -1
- package/styles/igniteui-bootstrap-light.css +1 -1
- package/styles/igniteui-dark-green.css +1 -1
- package/styles/igniteui-fluent-dark-excel.css +1 -1
- package/styles/igniteui-fluent-dark-word.css +1 -1
- package/styles/igniteui-fluent-dark.css +1 -1
- package/styles/igniteui-fluent-light-excel.css +1 -1
- package/styles/igniteui-fluent-light-word.css +1 -1
- package/styles/igniteui-fluent-light.css +1 -1
- package/styles/igniteui-indigo-dark.css +1 -1
- package/styles/igniteui-indigo-light.css +1 -1
- package/styles/maps/igniteui-angular-dark.css.map +1 -1
- package/styles/maps/igniteui-angular.css.map +1 -1
- package/styles/maps/igniteui-bootstrap-dark.css.map +1 -1
- package/styles/maps/igniteui-bootstrap-light.css.map +1 -1
- package/styles/maps/igniteui-dark-green.css.map +1 -1
- package/styles/maps/igniteui-fluent-dark-excel.css.map +1 -1
- package/styles/maps/igniteui-fluent-dark-word.css.map +1 -1
- package/styles/maps/igniteui-fluent-dark.css.map +1 -1
- package/styles/maps/igniteui-fluent-light-excel.css.map +1 -1
- package/styles/maps/igniteui-fluent-light-word.css.map +1 -1
- package/styles/maps/igniteui-fluent-light.css.map +1 -1
- package/styles/maps/igniteui-indigo-dark.css.map +1 -1
- package/styles/maps/igniteui-indigo-light.css.map +1 -1
- package/types/igniteui-angular-avatar.d.ts +1 -1
- package/types/igniteui-angular-banner.d.ts +3 -3
- package/types/igniteui-angular-calendar.d.ts +9 -9
- package/types/igniteui-angular-card.d.ts +2 -2
- package/types/igniteui-angular-carousel.d.ts +9 -9
- package/types/igniteui-angular-chat.d.ts +1 -1
- package/types/igniteui-angular-chips.d.ts +5 -5
- package/types/igniteui-angular-combo.d.ts +13 -17
- package/types/igniteui-angular-core.d.ts +495 -200
- package/types/igniteui-angular-date-picker.d.ts +3 -3
- package/types/igniteui-angular-dialog.d.ts +4 -4
- package/types/igniteui-angular-directives.d.ts +59 -59
- package/types/igniteui-angular-drop-down.d.ts +16 -16
- package/types/igniteui-angular-expansion-panel.d.ts +6 -6
- package/types/igniteui-angular-grids-core.d.ts +782 -1044
- package/types/igniteui-angular-grids-grid.d.ts +267 -104
- package/types/igniteui-angular-grids-hierarchical-grid.d.ts +547 -68
- package/types/igniteui-angular-grids-lite.d.ts +7 -7
- package/types/igniteui-angular-grids-pivot-grid.d.ts +129 -94
- package/types/igniteui-angular-grids-tree-grid.d.ts +51 -5
- package/types/igniteui-angular-icon.d.ts +2 -2
- package/types/igniteui-angular-input-group.d.ts +19 -6
- package/types/igniteui-angular-list.d.ts +4 -4
- package/types/igniteui-angular-navigation-drawer.d.ts +3 -3
- package/types/igniteui-angular-progressbar.d.ts +0 -1
- package/types/igniteui-angular-query-builder.d.ts +9 -9
- package/types/igniteui-angular-radio.d.ts +1 -1
- package/types/igniteui-angular-select.d.ts +5 -5
- package/types/igniteui-angular-simple-combo.d.ts +2 -2
- package/types/igniteui-angular-slider.d.ts +4 -4
- package/types/igniteui-angular-splitter.d.ts +3 -3
- package/types/igniteui-angular-time-picker.d.ts +8 -8
- package/types/igniteui-angular-tree.d.ts +8 -8
|
@@ -9,8 +9,8 @@ import { IgxButtonDirective, IgxRippleDirective, IgxGridForOfDirective, IgxDragD
|
|
|
9
9
|
import { __decorate } from 'tslib';
|
|
10
10
|
import { Subject, fromEvent, interval, animationFrameScheduler } from 'rxjs';
|
|
11
11
|
import { isEqual as isEqual$1 } from 'lodash-es';
|
|
12
|
-
import { IgxSorting, DataUtil, FilteringExpressionsTree, FilteringLogic, GridColumnDataType, PlatformUtil, isDate, isEqual, DateTimeUtil, copyDescriptors, trackByIdentity, mergeObjects, TransactionType, resolveNestedPath, columnFieldPath, DefaultSortingStrategy, isConstructor, ɵSize as _Size, ColumnPinningPosition, ExpressionsTreeUtil, IgxStringFilteringOperand, IgxDateTimeFilteringOperand, IgxTimeFilteringOperand, IgxDateFilteringOperand, IgxNumberFilteringOperand, IgxBooleanFilteringOperand, flatten, onResourceChangeHandle, GridResourceStringsEN, getCurrentResourceStrings, QueryBuilderResourceStringsEN, isTree, AbsoluteScrollStrategy, ConnectedPositioningStrategy, IgxOverlayOutletDirective, IgxPercentFormatterPipe, I18N_FORMATTER, IgxPickerToggleComponent, IgxPickerClearComponent, IgxOverlayService, VerticalAlignment, AutoPositionStrategy, HorizontalAlignment, cloneHierarchicalArray, SortingDirection, showMessage, IgxActionStripActionsToken, GridSummaryCalculationMode, cloneArray, cloneValue, recreateTreeFromFields, FilterUtil, TreeGridFilteringStrategy, getHierarchy, isHierarchyMatch, FilteringStrategy, NAVIGATION_KEYS, Util, IgxNumberFormatterPipe, IgxCurrencyFormatterPipe, IgxDateFormatterPipe, reverseMapper } from 'igniteui-angular/core';
|
|
13
|
-
import { first
|
|
12
|
+
import { IgxNumberSummaryOperand, IgxDateSummaryOperand, IgxTimeSummaryOperand, IgxSorting, DataUtil, FilteringExpressionsTree, FilteringLogic, GridColumnDataType, PlatformUtil, isDate, isEqual, DateTimeUtil, copyDescriptors, trackByIdentity, mergeObjects, TransactionType, resolveNestedPath, columnFieldPath, DefaultSortingStrategy, isConstructor, ɵSize as _Size, ColumnPinningPosition, ExpressionsTreeUtil, IgxSummaryOperand, IgxStringFilteringOperand, IgxDateTimeFilteringOperand, IgxTimeFilteringOperand, IgxDateFilteringOperand, IgxNumberFilteringOperand, IgxBooleanFilteringOperand, flatten, onResourceChangeHandle, GridResourceStringsEN, getCurrentResourceStrings, QueryBuilderResourceStringsEN, isTree, AbsoluteScrollStrategy, ConnectedPositioningStrategy, IgxOverlayOutletDirective, IgxPercentFormatterPipe, I18N_FORMATTER, IgxPickerToggleComponent, IgxPickerClearComponent, IgxOverlayService, VerticalAlignment, AutoPositionStrategy, HorizontalAlignment, cloneHierarchicalArray, SortingDirection, showMessage, IgxActionStripActionsToken, GridSummaryCalculationMode, cloneArray, cloneValue, recreateTreeFromFields, FilterUtil, TreeGridFilteringStrategy, getHierarchy, isHierarchyMatch, FilteringStrategy, NAVIGATION_KEYS, Util, IgxNumberFormatterPipe, IgxCurrencyFormatterPipe, IgxDateFormatterPipe, reverseMapper } from 'igniteui-angular/core';
|
|
13
|
+
import { first, takeUntil, map, debounceTime, filter, switchMap, throttle, throttleTime, takeWhile } from 'rxjs/operators';
|
|
14
14
|
import { NgClass, NgTemplateOutlet, NgStyle, AsyncPipe } from '@angular/common';
|
|
15
15
|
import { IgxQueryBuilderComponent, IgxQueryBuilderHeaderComponent } from 'igniteui-angular/query-builder';
|
|
16
16
|
import { IgxIconComponent, IgxIconService } from 'igniteui-angular/icon';
|
|
@@ -533,7 +533,7 @@ class IgxColumnHidingDirective extends IgxColumnActionsBaseDirective {
|
|
|
533
533
|
/**
|
|
534
534
|
* @hidden @internal
|
|
535
535
|
*/
|
|
536
|
-
this.actionEnabledColumnsFilter = c => !c.disableHiding;
|
|
536
|
+
this.actionEnabledColumnsFilter = (c) => !c.disableHiding;
|
|
537
537
|
const columnActions = this.columnActions;
|
|
538
538
|
columnActions.actionsDirective = this;
|
|
539
539
|
}
|
|
@@ -810,7 +810,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.1", ngImpor
|
|
|
810
810
|
* @hidden
|
|
811
811
|
*/
|
|
812
812
|
function WatchChanges() {
|
|
813
|
-
return (_target, key, propDesc) => {
|
|
813
|
+
return ((_target, key, propDesc) => {
|
|
814
814
|
const privateKey = '_' + key.toString();
|
|
815
815
|
propDesc = propDesc || {
|
|
816
816
|
configurable: true,
|
|
@@ -837,10 +837,10 @@ function WatchChanges() {
|
|
|
837
837
|
}
|
|
838
838
|
};
|
|
839
839
|
return propDesc;
|
|
840
|
-
};
|
|
840
|
+
});
|
|
841
841
|
}
|
|
842
842
|
function WatchColumnChanges() {
|
|
843
|
-
return (_target, key, propDesc) => {
|
|
843
|
+
return ((_target, key, propDesc) => {
|
|
844
844
|
const privateKey = '_' + key.toString();
|
|
845
845
|
propDesc = propDesc || {
|
|
846
846
|
configurable: true,
|
|
@@ -862,7 +862,7 @@ function WatchColumnChanges() {
|
|
|
862
862
|
}
|
|
863
863
|
};
|
|
864
864
|
return propDesc;
|
|
865
|
-
};
|
|
865
|
+
});
|
|
866
866
|
}
|
|
867
867
|
function notifyChanges(repaint = false) {
|
|
868
868
|
return (_, key, propDesc) => {
|
|
@@ -896,305 +896,6 @@ function notifyChanges(repaint = false) {
|
|
|
896
896
|
};
|
|
897
897
|
}
|
|
898
898
|
|
|
899
|
-
const clear = (el) => el === 0 || Boolean(el);
|
|
900
|
-
const first = (arr) => arr[0];
|
|
901
|
-
const last = (arr) => arr[arr.length - 1];
|
|
902
|
-
/* blazorCSSuppress */
|
|
903
|
-
class IgxSummaryOperand {
|
|
904
|
-
/**
|
|
905
|
-
* Counts all the records in the data source.
|
|
906
|
-
* If filtering is applied, counts only the filtered records.
|
|
907
|
-
* ```typescript
|
|
908
|
-
* IgxSummaryOperand.count(dataSource);
|
|
909
|
-
* ```
|
|
910
|
-
*
|
|
911
|
-
* @memberof IgxSummaryOperand
|
|
912
|
-
*/
|
|
913
|
-
static count(data) {
|
|
914
|
-
return data.length;
|
|
915
|
-
}
|
|
916
|
-
/**
|
|
917
|
-
* Executes the static `count` method and returns summary result[]`.
|
|
918
|
-
* ```typescript
|
|
919
|
-
* interface IgxSummaryResult {
|
|
920
|
-
* key: string;
|
|
921
|
-
* label: string;
|
|
922
|
-
* summaryResult: any;
|
|
923
|
-
* }
|
|
924
|
-
* ```
|
|
925
|
-
* Can be overridden in the inherited classes to provide customization for the `summary`.
|
|
926
|
-
* ```typescript
|
|
927
|
-
* class CustomSummary extends IgxSummaryOperand {
|
|
928
|
-
* constructor() {
|
|
929
|
-
* super();
|
|
930
|
-
* }
|
|
931
|
-
* public operate(data: any[], allData: any[], fieldName: string, groupRecord: IGroupByRecord): IgxSummaryResult[] {
|
|
932
|
-
* const result = [];
|
|
933
|
-
* result.push({
|
|
934
|
-
* key: "test",
|
|
935
|
-
* label: "Test",
|
|
936
|
-
* summaryResult: IgxSummaryOperand.count(data)
|
|
937
|
-
* });
|
|
938
|
-
* return result;
|
|
939
|
-
* }
|
|
940
|
-
* }
|
|
941
|
-
* this.grid.getColumnByName('ColumnName').summaries = CustomSummary;
|
|
942
|
-
* ```
|
|
943
|
-
*
|
|
944
|
-
* @memberof IgxSummaryOperand
|
|
945
|
-
*/
|
|
946
|
-
operate(data = [], _allData = [], _fieldName, _groupRecord) {
|
|
947
|
-
return [{
|
|
948
|
-
key: 'count',
|
|
949
|
-
label: 'Count',
|
|
950
|
-
defaultFormatting: false,
|
|
951
|
-
summaryResult: IgxSummaryOperand.count(data)
|
|
952
|
-
}];
|
|
953
|
-
}
|
|
954
|
-
}
|
|
955
|
-
/* blazorCSSuppress */
|
|
956
|
-
// @dynamic
|
|
957
|
-
class IgxNumberSummaryOperand extends IgxSummaryOperand {
|
|
958
|
-
/**
|
|
959
|
-
* Returns the minimum numeric value in the provided data records.
|
|
960
|
-
* If filtering is applied, returns the minimum value in the filtered data records.
|
|
961
|
-
* ```typescript
|
|
962
|
-
* IgxNumberSummaryOperand.min(data);
|
|
963
|
-
* ```
|
|
964
|
-
*
|
|
965
|
-
* @memberof IgxNumberSummaryOperand
|
|
966
|
-
*/
|
|
967
|
-
static min(data) {
|
|
968
|
-
return data.length && data.filter(clear).length ? data.filter(clear).reduce((a, b) => Math.min(a, b)) : 0;
|
|
969
|
-
}
|
|
970
|
-
/**
|
|
971
|
-
* Returns the maximum numeric value in the provided data records.
|
|
972
|
-
* If filtering is applied, returns the maximum value in the filtered data records.
|
|
973
|
-
* ```typescript
|
|
974
|
-
* IgxNumberSummaryOperand.max(data);
|
|
975
|
-
* ```
|
|
976
|
-
*
|
|
977
|
-
* @memberof IgxNumberSummaryOperand
|
|
978
|
-
*/
|
|
979
|
-
static max(data) {
|
|
980
|
-
return data.length && data.filter(clear).length ? data.filter(clear).reduce((a, b) => Math.max(a, b)) : 0;
|
|
981
|
-
}
|
|
982
|
-
/**
|
|
983
|
-
* Returns the sum of the numeric values in the provided data records.
|
|
984
|
-
* If filtering is applied, returns the sum of the numeric values in the data records.
|
|
985
|
-
* ```typescript
|
|
986
|
-
* IgxNumberSummaryOperand.sum(data);
|
|
987
|
-
* ```
|
|
988
|
-
*
|
|
989
|
-
* @memberof IgxNumberSummaryOperand
|
|
990
|
-
*/
|
|
991
|
-
static sum(data) {
|
|
992
|
-
return data.length && data.filter(clear).length ? data.filter(clear).reduce((a, b) => +a + +b) : 0;
|
|
993
|
-
}
|
|
994
|
-
/**
|
|
995
|
-
* Returns the average numeric value in the data provided data records.
|
|
996
|
-
* If filtering is applied, returns the average numeric value in the filtered data records.
|
|
997
|
-
* ```typescript
|
|
998
|
-
* IgxSummaryOperand.average(data);
|
|
999
|
-
* ```
|
|
1000
|
-
*
|
|
1001
|
-
* @memberof IgxNumberSummaryOperand
|
|
1002
|
-
*/
|
|
1003
|
-
static average(data) {
|
|
1004
|
-
return data.length && data.filter(clear).length ? this.sum(data) / this.count(data) : 0;
|
|
1005
|
-
}
|
|
1006
|
-
/**
|
|
1007
|
-
* Executes the static methods and returns summary result[]`.
|
|
1008
|
-
* ```typescript
|
|
1009
|
-
* interface IgxSummaryResult {
|
|
1010
|
-
* key: string;
|
|
1011
|
-
* label: string;
|
|
1012
|
-
* summaryResult: any;
|
|
1013
|
-
* }
|
|
1014
|
-
* ```
|
|
1015
|
-
* Can be overridden in the inherited classes to provide customization for the `summary`.
|
|
1016
|
-
* ```typescript
|
|
1017
|
-
* class CustomNumberSummary extends IgxNumberSummaryOperand {
|
|
1018
|
-
* constructor() {
|
|
1019
|
-
* super();
|
|
1020
|
-
* }
|
|
1021
|
-
* public operate(data: any[], allData: any[], fieldName: string, groupRecord: IGroupByRecord): IgxSummaryResult[] {
|
|
1022
|
-
* const result = super.operate(data, allData, fieldName, groupRecord);
|
|
1023
|
-
* result.push({
|
|
1024
|
-
* key: "avg",
|
|
1025
|
-
* label: "Avg",
|
|
1026
|
-
* summaryResult: IgxNumberSummaryOperand.average(data)
|
|
1027
|
-
* });
|
|
1028
|
-
* result.push({
|
|
1029
|
-
* key: 'mdn',
|
|
1030
|
-
* label: 'Median',
|
|
1031
|
-
* summaryResult: this.findMedian(data)
|
|
1032
|
-
* });
|
|
1033
|
-
* return result;
|
|
1034
|
-
* }
|
|
1035
|
-
* }
|
|
1036
|
-
* this.grid.getColumnByName('ColumnName').summaries = CustomNumberSummary;
|
|
1037
|
-
* ```
|
|
1038
|
-
*
|
|
1039
|
-
* @memberof IgxNumberSummaryOperand
|
|
1040
|
-
*/
|
|
1041
|
-
operate(data = [], allData = [], fieldName, groupRecord) {
|
|
1042
|
-
const result = super.operate(data, allData, fieldName, groupRecord);
|
|
1043
|
-
result.push({
|
|
1044
|
-
key: 'min',
|
|
1045
|
-
label: 'Min',
|
|
1046
|
-
defaultFormatting: true,
|
|
1047
|
-
summaryResult: IgxNumberSummaryOperand.min(data)
|
|
1048
|
-
});
|
|
1049
|
-
result.push({
|
|
1050
|
-
key: 'max',
|
|
1051
|
-
label: 'Max',
|
|
1052
|
-
defaultFormatting: true,
|
|
1053
|
-
summaryResult: IgxNumberSummaryOperand.max(data)
|
|
1054
|
-
});
|
|
1055
|
-
result.push({
|
|
1056
|
-
key: 'sum',
|
|
1057
|
-
label: 'Sum',
|
|
1058
|
-
defaultFormatting: true,
|
|
1059
|
-
summaryResult: IgxNumberSummaryOperand.sum(data)
|
|
1060
|
-
});
|
|
1061
|
-
result.push({
|
|
1062
|
-
key: 'average',
|
|
1063
|
-
label: 'Avg',
|
|
1064
|
-
defaultFormatting: true,
|
|
1065
|
-
summaryResult: IgxNumberSummaryOperand.average(data)
|
|
1066
|
-
});
|
|
1067
|
-
return result;
|
|
1068
|
-
}
|
|
1069
|
-
}
|
|
1070
|
-
/* blazorCSSuppress */
|
|
1071
|
-
// @dynamic
|
|
1072
|
-
class IgxDateSummaryOperand extends IgxSummaryOperand {
|
|
1073
|
-
/**
|
|
1074
|
-
* Returns the latest date value in the data records.
|
|
1075
|
-
* If filtering is applied, returns the latest date value in the filtered data records.
|
|
1076
|
-
* ```typescript
|
|
1077
|
-
* IgxDateSummaryOperand.latest(data);
|
|
1078
|
-
* ```
|
|
1079
|
-
*
|
|
1080
|
-
* @memberof IgxDateSummaryOperand
|
|
1081
|
-
*/
|
|
1082
|
-
static latest(data) {
|
|
1083
|
-
return data.length && data.filter(clear).length ?
|
|
1084
|
-
first(data.filter(clear).sort((a, b) => new Date(b).valueOf() - new Date(a).valueOf())) : undefined;
|
|
1085
|
-
}
|
|
1086
|
-
/**
|
|
1087
|
-
* Returns the earliest date value in the data records.
|
|
1088
|
-
* If filtering is applied, returns the latest date value in the filtered data records.
|
|
1089
|
-
* ```typescript
|
|
1090
|
-
* IgxDateSummaryOperand.earliest(data);
|
|
1091
|
-
* ```
|
|
1092
|
-
*
|
|
1093
|
-
* @memberof IgxDateSummaryOperand
|
|
1094
|
-
*/
|
|
1095
|
-
static earliest(data) {
|
|
1096
|
-
return data.length && data.filter(clear).length ?
|
|
1097
|
-
last(data.filter(clear).sort((a, b) => new Date(b).valueOf() - new Date(a).valueOf())) : undefined;
|
|
1098
|
-
}
|
|
1099
|
-
/**
|
|
1100
|
-
* Executes the static methods and returns summary result[]`.
|
|
1101
|
-
* ```typescript
|
|
1102
|
-
* interface IgxSummaryResult {
|
|
1103
|
-
* key: string;
|
|
1104
|
-
* label: string;
|
|
1105
|
-
* summaryResult: any;
|
|
1106
|
-
* }
|
|
1107
|
-
* ```
|
|
1108
|
-
* Can be overridden in the inherited classes to provide customization for the `summary`.
|
|
1109
|
-
* ```typescript
|
|
1110
|
-
* class CustomDateSummary extends IgxDateSummaryOperand {
|
|
1111
|
-
* constructor() {
|
|
1112
|
-
* super();
|
|
1113
|
-
* }
|
|
1114
|
-
* public operate(data: any[], allData: any[], fieldName: string, groupRecord: IGroupByRecord): IgxSummaryResult[] {
|
|
1115
|
-
* const result = super.operate(data, allData, fieldName, groupRecord);
|
|
1116
|
-
* result.push({
|
|
1117
|
-
* key: "deadline",
|
|
1118
|
-
* label: "Deadline Date",
|
|
1119
|
-
* summaryResult: this.calculateDeadline(data);
|
|
1120
|
-
* });
|
|
1121
|
-
* return result;
|
|
1122
|
-
* }
|
|
1123
|
-
* }
|
|
1124
|
-
* this.grid.getColumnByName('ColumnName').summaries = CustomDateSummary;
|
|
1125
|
-
* ```
|
|
1126
|
-
*
|
|
1127
|
-
* @memberof IgxDateSummaryOperand
|
|
1128
|
-
*/
|
|
1129
|
-
operate(data = [], allData = [], fieldName, groupRecord) {
|
|
1130
|
-
const result = super.operate(data, allData, fieldName, groupRecord);
|
|
1131
|
-
result.push({
|
|
1132
|
-
key: 'earliest',
|
|
1133
|
-
label: 'Earliest',
|
|
1134
|
-
defaultFormatting: true,
|
|
1135
|
-
summaryResult: IgxDateSummaryOperand.earliest(data)
|
|
1136
|
-
});
|
|
1137
|
-
result.push({
|
|
1138
|
-
key: 'latest',
|
|
1139
|
-
label: 'Latest',
|
|
1140
|
-
defaultFormatting: true,
|
|
1141
|
-
summaryResult: IgxDateSummaryOperand.latest(data)
|
|
1142
|
-
});
|
|
1143
|
-
return result;
|
|
1144
|
-
}
|
|
1145
|
-
}
|
|
1146
|
-
/* blazorCSSuppress */
|
|
1147
|
-
// @dynamic
|
|
1148
|
-
class IgxTimeSummaryOperand extends IgxSummaryOperand {
|
|
1149
|
-
/**
|
|
1150
|
-
* Returns the latest time value in the data records. Compare only the time part of the date.
|
|
1151
|
-
* If filtering is applied, returns the latest time value in the filtered data records.
|
|
1152
|
-
* ```typescript
|
|
1153
|
-
* IgxTimeSummaryOperand.latestTime(data);
|
|
1154
|
-
* ```
|
|
1155
|
-
*
|
|
1156
|
-
* @memberof IgxTimeSummaryOperand
|
|
1157
|
-
*/
|
|
1158
|
-
static latestTime(data) {
|
|
1159
|
-
return data.length && data.filter(clear).length ?
|
|
1160
|
-
first(data.filter(clear).map(v => new Date(v)).sort((a, b) => new Date().setHours(b.getHours(), b.getMinutes(), b.getSeconds()) -
|
|
1161
|
-
new Date().setHours(a.getHours(), a.getMinutes(), a.getSeconds()))) : undefined;
|
|
1162
|
-
}
|
|
1163
|
-
/**
|
|
1164
|
-
* Returns the earliest time value in the data records. Compare only the time part of the date.
|
|
1165
|
-
* If filtering is applied, returns the earliest time value in the filtered data records.
|
|
1166
|
-
* ```typescript
|
|
1167
|
-
* IgxTimeSummaryOperand.earliestTime(data);
|
|
1168
|
-
* ```
|
|
1169
|
-
*
|
|
1170
|
-
* @memberof IgxTimeSummaryOperand
|
|
1171
|
-
*/
|
|
1172
|
-
static earliestTime(data) {
|
|
1173
|
-
return data.length && data.filter(clear).length ?
|
|
1174
|
-
last(data.filter(clear).map(v => new Date(v)).sort((a, b) => new Date().setHours(b.getHours(), b.getMinutes(), b.getSeconds()) -
|
|
1175
|
-
new Date().setHours(a.getHours(), a.getMinutes(), a.getSeconds()))) : undefined;
|
|
1176
|
-
}
|
|
1177
|
-
/**
|
|
1178
|
-
* @memberof IgxTimeSummaryOperand
|
|
1179
|
-
*/
|
|
1180
|
-
operate(data = [], allData = [], fieldName, groupRecord) {
|
|
1181
|
-
const result = super.operate(data, allData, fieldName, groupRecord);
|
|
1182
|
-
result.push({
|
|
1183
|
-
key: 'earliest',
|
|
1184
|
-
label: 'Earliest',
|
|
1185
|
-
defaultFormatting: true,
|
|
1186
|
-
summaryResult: IgxTimeSummaryOperand.earliestTime(data)
|
|
1187
|
-
});
|
|
1188
|
-
result.push({
|
|
1189
|
-
key: 'latest',
|
|
1190
|
-
label: 'Latest',
|
|
1191
|
-
defaultFormatting: true,
|
|
1192
|
-
summaryResult: IgxTimeSummaryOperand.latestTime(data)
|
|
1193
|
-
});
|
|
1194
|
-
return result;
|
|
1195
|
-
}
|
|
1196
|
-
}
|
|
1197
|
-
|
|
1198
899
|
class IgxPivotAggregate {
|
|
1199
900
|
/**
|
|
1200
901
|
* Gets array with default aggregator function for base aggregation.
|
|
@@ -1667,7 +1368,7 @@ class PivotUtil {
|
|
|
1667
1368
|
return vals;
|
|
1668
1369
|
}
|
|
1669
1370
|
static flatten(arr, lvl = 0) {
|
|
1670
|
-
const newArr = arr.reduce((acc, item) => {
|
|
1371
|
+
const newArr = (arr || []).reduce((acc, item) => {
|
|
1671
1372
|
if (item) {
|
|
1672
1373
|
item.level = lvl;
|
|
1673
1374
|
acc.push(item);
|
|
@@ -1721,7 +1422,7 @@ class PivotUtil {
|
|
|
1721
1422
|
if (!aggregator) {
|
|
1722
1423
|
throw `No valid aggregator found for ${pivotValue.member}. Please set either a valid aggregatorName or aggregator`;
|
|
1723
1424
|
}
|
|
1724
|
-
result[pivotValue.member] = aggregator(records.map(r => r[pivotValue.member]), records);
|
|
1425
|
+
result[pivotValue.member] = aggregator(records.map((r) => r[pivotValue.member]), records);
|
|
1725
1426
|
}
|
|
1726
1427
|
return result;
|
|
1727
1428
|
}
|
|
@@ -1800,7 +1501,7 @@ class PivotUtil {
|
|
|
1800
1501
|
}
|
|
1801
1502
|
static collectRecords(children, pivotKeys) {
|
|
1802
1503
|
let result = [];
|
|
1803
|
-
children.forEach(value => result = result.concat(value[pivotKeys.records]));
|
|
1504
|
+
children.forEach((value) => result = result.concat(value[pivotKeys.records]));
|
|
1804
1505
|
return result;
|
|
1805
1506
|
}
|
|
1806
1507
|
static applyHierarchyChildren(hierarchy, val, rec, pivotKeys) {
|
|
@@ -1837,7 +1538,7 @@ class PivotUtil {
|
|
|
1837
1538
|
// not all nested children are valid
|
|
1838
1539
|
const nestedValue = hierarchyChildValue.value;
|
|
1839
1540
|
const dimension = hierarchyChildValue.dimension;
|
|
1840
|
-
const validRecs = rec[recordsKey].filter(x => this.extractValueFromDimension(dimension, x) === nestedValue);
|
|
1541
|
+
const validRecs = rec[recordsKey].filter((x) => this.extractValueFromDimension(dimension, x) === nestedValue);
|
|
1841
1542
|
copy[recordsKey] = validRecs;
|
|
1842
1543
|
}
|
|
1843
1544
|
hierarchyChildValue[recordsKey].push(copy);
|
|
@@ -1904,6 +1605,7 @@ class PivotUtil {
|
|
|
1904
1605
|
else if (value.dataType === GridColumnDataType.Percent && !isCountAggregator) {
|
|
1905
1606
|
return GridColumnDataType.Percent;
|
|
1906
1607
|
}
|
|
1608
|
+
return undefined;
|
|
1907
1609
|
}
|
|
1908
1610
|
}
|
|
1909
1611
|
|
|
@@ -1958,7 +1660,7 @@ class IgxGridSelectionService {
|
|
|
1958
1660
|
this.pointerEventInGridBody = false;
|
|
1959
1661
|
this.grid.document.body.removeEventListener('pointerup', this.pointerOriginHandler);
|
|
1960
1662
|
const gridCellSelectors = ['igx-grid-cell', 'igx-hierarchical-grid-cell', 'igx-tree-grid-cell'];
|
|
1961
|
-
const isInsideGridCell = gridCellSelectors.some(selector => event.target.closest(selector));
|
|
1663
|
+
const isInsideGridCell = gridCellSelectors.some(selector => event.target ? event.target.closest(selector) : false);
|
|
1962
1664
|
if (!isInsideGridCell) {
|
|
1963
1665
|
this.pointerUp(this._lastSelectedNode, this.grid.rangeSelected, true);
|
|
1964
1666
|
}
|
|
@@ -2246,8 +1948,8 @@ class IgxGridSelectionService {
|
|
|
2246
1948
|
getSelectedRowsData() {
|
|
2247
1949
|
if (this.grid.type === 'pivot') {
|
|
2248
1950
|
return this.grid.dataView.filter(r => {
|
|
2249
|
-
const keys = r.dimensions.map(d => PivotUtil.getRecordKey(r, d));
|
|
2250
|
-
return keys.some(k => this.isPivotRowSelected(k));
|
|
1951
|
+
const keys = r.dimensions.map((d) => PivotUtil.getRecordKey(r, d));
|
|
1952
|
+
return keys.some((k) => this.isPivotRowSelected(k));
|
|
2251
1953
|
});
|
|
2252
1954
|
}
|
|
2253
1955
|
if (!this.grid.primaryKey) {
|
|
@@ -2467,7 +2169,7 @@ class IgxGridSelectionService {
|
|
|
2467
2169
|
emitRowSelectionEvent(newSelection, added, removed, event, currSelection) {
|
|
2468
2170
|
currSelection = currSelection ?? this.getSelectedRowsData();
|
|
2469
2171
|
if (this.areEqualCollections(currSelection, newSelection)) {
|
|
2470
|
-
return;
|
|
2172
|
+
return undefined;
|
|
2471
2173
|
}
|
|
2472
2174
|
const args = {
|
|
2473
2175
|
owner: this.grid,
|
|
@@ -2482,13 +2184,14 @@ class IgxGridSelectionService {
|
|
|
2482
2184
|
this.grid.rowSelectionChanging.emit(args);
|
|
2483
2185
|
if (args.cancel) {
|
|
2484
2186
|
this.clearHeaderCBState();
|
|
2485
|
-
return;
|
|
2187
|
+
return undefined;
|
|
2486
2188
|
}
|
|
2487
2189
|
this.selectRowsWithNoEvent(args.newSelection.map(r => this.getRecordKey(r)), true);
|
|
2190
|
+
return undefined;
|
|
2488
2191
|
}
|
|
2489
2192
|
getPivotRowsByIds(ids) {
|
|
2490
2193
|
return this.grid.dataView.filter(r => {
|
|
2491
|
-
const keys = r.dimensions.map(d => PivotUtil.getRecordKey(r, d));
|
|
2194
|
+
const keys = r.dimensions.map((d) => PivotUtil.getRecordKey(r, d));
|
|
2492
2195
|
return new Set(ids.concat(keys)).size < ids.length + keys.length;
|
|
2493
2196
|
});
|
|
2494
2197
|
}
|
|
@@ -2503,7 +2206,7 @@ class IgxGridSelectionService {
|
|
|
2503
2206
|
this.allRowsSelected = undefined;
|
|
2504
2207
|
}
|
|
2505
2208
|
getRowIDs(data) {
|
|
2506
|
-
return this.grid.primaryKey && data.length ? data.map(rec => rec[this.grid.primaryKey]) : data;
|
|
2209
|
+
return this.grid.primaryKey && data.length ? data.map((rec) => rec[this.grid.primaryKey]) : data;
|
|
2507
2210
|
}
|
|
2508
2211
|
getRecordKey(record) {
|
|
2509
2212
|
return this.grid.primaryKey ? record[this.grid.primaryKey] : record;
|
|
@@ -2525,7 +2228,7 @@ class IgxGridSelectionService {
|
|
|
2525
2228
|
else {
|
|
2526
2229
|
allData = this.grid.gridAPI.get_all_data(true);
|
|
2527
2230
|
}
|
|
2528
|
-
return allData.filter(rData => !this.isRowDeleted(this.grid.gridAPI.get_row_id(rData)));
|
|
2231
|
+
return allData.filter((rData) => !this.isRowDeleted(this.grid.gridAPI.get_row_id(rData)));
|
|
2529
2232
|
}
|
|
2530
2233
|
/** Returns array of the selected columns fields. */
|
|
2531
2234
|
getSelectedColumns() {
|
|
@@ -2620,7 +2323,7 @@ class IgxGridSelectionService {
|
|
|
2620
2323
|
emitColumnSelectionEvent(newSelection, added, removed, event) {
|
|
2621
2324
|
const currSelection = this.getSelectedColumns();
|
|
2622
2325
|
if (this.areEqualCollections(currSelection, newSelection)) {
|
|
2623
|
-
return;
|
|
2326
|
+
return undefined;
|
|
2624
2327
|
}
|
|
2625
2328
|
const args = {
|
|
2626
2329
|
oldSelection: currSelection, newSelection,
|
|
@@ -2628,9 +2331,10 @@ class IgxGridSelectionService {
|
|
|
2628
2331
|
};
|
|
2629
2332
|
this.grid.columnSelectionChanging.emit(args);
|
|
2630
2333
|
if (args.cancel) {
|
|
2631
|
-
return;
|
|
2334
|
+
return undefined;
|
|
2632
2335
|
}
|
|
2633
2336
|
this.selectColumnsWithNoEvent(args.newSelection, true);
|
|
2337
|
+
return undefined;
|
|
2634
2338
|
}
|
|
2635
2339
|
/** Clear columnSelection */
|
|
2636
2340
|
clearAllSelectedColumns() {
|
|
@@ -2843,7 +2547,7 @@ class IgxCellCrudState {
|
|
|
2843
2547
|
return this.row = new IgxEditRow(cell.id.rowID, cell.rowIndex, cell.rowData, cell.grid);
|
|
2844
2548
|
}
|
|
2845
2549
|
sameRow(rowID) {
|
|
2846
|
-
return this.row && this.row.id === rowID;
|
|
2550
|
+
return !!(this.row && this.row.id === rowID);
|
|
2847
2551
|
}
|
|
2848
2552
|
sameCell(cell) {
|
|
2849
2553
|
return (this.cell.id.rowID === cell.id.rowID &&
|
|
@@ -2866,7 +2570,7 @@ class IgxCellCrudState {
|
|
|
2866
2570
|
}
|
|
2867
2571
|
updateCell(exit, event) {
|
|
2868
2572
|
if (!this.cell) {
|
|
2869
|
-
return;
|
|
2573
|
+
return undefined;
|
|
2870
2574
|
}
|
|
2871
2575
|
// this is needed when we are not using ngModel to update the editValue
|
|
2872
2576
|
// so that the change event of the inlineEditorTemplate is hit before
|
|
@@ -2925,7 +2629,7 @@ class IgxCellCrudState {
|
|
|
2925
2629
|
/** Exit cell edit mode */
|
|
2926
2630
|
exitCellEdit(event) {
|
|
2927
2631
|
if (!this.cell) {
|
|
2928
|
-
return;
|
|
2632
|
+
return undefined;
|
|
2929
2633
|
}
|
|
2930
2634
|
const newValue = this.cell.castToNumber(this.cell.editValue);
|
|
2931
2635
|
const args = this.cell?.createCellEditDoneEventArgs(newValue, event);
|
|
@@ -2962,7 +2666,7 @@ class IgxRowCrudState extends IgxCellCrudState {
|
|
|
2962
2666
|
}
|
|
2963
2667
|
get rowInEditMode() {
|
|
2964
2668
|
const editRowState = this.row;
|
|
2965
|
-
return editRowState !== null ? this.grid.rowList.find(e => e.key === editRowState.id) :
|
|
2669
|
+
return editRowState !== null ? this.grid.rowList.find(e => e.key === editRowState.id) : undefined;
|
|
2966
2670
|
}
|
|
2967
2671
|
get rowEditing() {
|
|
2968
2672
|
return this.grid.rowEditable;
|
|
@@ -3086,7 +2790,7 @@ class IgxRowCrudState extends IgxCellCrudState {
|
|
|
3086
2790
|
updateRowEditData(row, value) {
|
|
3087
2791
|
const grid = this.grid;
|
|
3088
2792
|
const rowInEditMode = grid.gridAPI.crudService.row;
|
|
3089
|
-
row.newData = value ?? rowInEditMode
|
|
2793
|
+
row.newData = value ?? rowInEditMode?.transactionState;
|
|
3090
2794
|
if (rowInEditMode && row.id === rowInEditMode.id) {
|
|
3091
2795
|
// do not use spread operator here as it will copy everything over an empty object with no descriptors
|
|
3092
2796
|
row.data = Object.assign(copyDescriptors(row.data), row.data, rowInEditMode.transactionState);
|
|
@@ -3138,7 +2842,7 @@ class IgxRowAddCrudState extends IgxRowCrudState {
|
|
|
3138
2842
|
endRowTransaction(commit, event) {
|
|
3139
2843
|
const isAddRow = this.row && this.row.isAddRow;
|
|
3140
2844
|
if (isAddRow) {
|
|
3141
|
-
this.grid.rowAdded.pipe(first
|
|
2845
|
+
this.grid.rowAdded.pipe(first()).subscribe((addRowArgs) => {
|
|
3142
2846
|
const rowData = addRowArgs.data;
|
|
3143
2847
|
const pinnedIndex = this.grid.pinnedRecords.findIndex(x => x[this.primaryKey] === rowData[this.primaryKey]);
|
|
3144
2848
|
// A check whether the row is in the current view
|
|
@@ -3269,8 +2973,8 @@ class IgxGridCRUDService extends IgxRowAddCrudState {
|
|
|
3269
2973
|
const dummyRow = this.grid.gridAPI.get_row_by_index(this.row.index + indexAdjust);
|
|
3270
2974
|
dummyRow.triggerAddAnimation();
|
|
3271
2975
|
dummyRow.cdr.detectChanges();
|
|
3272
|
-
dummyRow.addAnimationEnd.pipe(first
|
|
3273
|
-
const cell = dummyRow.cells.find(c => c.editable);
|
|
2976
|
+
dummyRow.addAnimationEnd.pipe(first()).subscribe(() => {
|
|
2977
|
+
const cell = dummyRow.cells.find((c) => c.editable);
|
|
3274
2978
|
if (cell) {
|
|
3275
2979
|
this.grid.gridAPI.update_cell(this.cell);
|
|
3276
2980
|
this.enterEditMode(cell, event);
|
|
@@ -3292,13 +2996,13 @@ class IgxGridCRUDService extends IgxRowAddCrudState {
|
|
|
3292
2996
|
// TODO: Implement the same representation of the method without evt emission.
|
|
3293
2997
|
endEdit(commit = true, event) {
|
|
3294
2998
|
if (!this.row && !this.cell) {
|
|
3295
|
-
return;
|
|
2999
|
+
return undefined;
|
|
3296
3000
|
}
|
|
3297
3001
|
let args;
|
|
3298
3002
|
if (commit) {
|
|
3299
3003
|
args = this.updateCell(true, event);
|
|
3300
3004
|
if (args && args.cancel) {
|
|
3301
|
-
return
|
|
3005
|
+
return true;
|
|
3302
3006
|
}
|
|
3303
3007
|
}
|
|
3304
3008
|
else {
|
|
@@ -3634,8 +3338,8 @@ class IgxRowDirective {
|
|
|
3634
3338
|
if (this.hasMergedCells && this.metaData?.cellMergeMeta) {
|
|
3635
3339
|
const targetRowIndex = this.grid.navigation.activeNode.row;
|
|
3636
3340
|
if (targetRowIndex != this.index) {
|
|
3637
|
-
const row = this.grid.rowList.
|
|
3638
|
-
row
|
|
3341
|
+
const row = this.grid.rowList.find(x => x.index === targetRowIndex);
|
|
3342
|
+
row?.onClick?.(event);
|
|
3639
3343
|
return;
|
|
3640
3344
|
}
|
|
3641
3345
|
}
|
|
@@ -3737,7 +3441,7 @@ class IgxRowDirective {
|
|
|
3737
3441
|
*/
|
|
3738
3442
|
update(value) {
|
|
3739
3443
|
const crudService = this.grid.crudService;
|
|
3740
|
-
if (crudService.cellInEditMode && crudService.cell
|
|
3444
|
+
if (crudService.cellInEditMode && crudService.cell?.id.key === this.key) {
|
|
3741
3445
|
this.grid.transactions.endPending(false);
|
|
3742
3446
|
}
|
|
3743
3447
|
const row = new IgxEditRow(this.key, this.index, this.data, this.grid);
|
|
@@ -3856,7 +3560,7 @@ class IgxRowDirective {
|
|
|
3856
3560
|
const isPinned = this.pinned && !this.disabled;
|
|
3857
3561
|
const indexInData = this.grid.isRowPinningToTop && !isPinned ? this.index - this.grid.pinnedRecordsCount : this.index;
|
|
3858
3562
|
const range = isPinned ? this.grid.pinnedDataView.slice(indexInData, indexInData + rowCount) : this.grid.verticalScrollContainer.igxForOf.slice(indexInData, indexInData + rowCount);
|
|
3859
|
-
const inRange = range.filter(x => this.selectionService.isRowSelected(this.extractRecordKey(x))).length > 0;
|
|
3563
|
+
const inRange = range.filter((x) => this.selectionService.isRowSelected(this.extractRecordKey(x))).length > 0;
|
|
3860
3564
|
return inRange;
|
|
3861
3565
|
}
|
|
3862
3566
|
return false;
|
|
@@ -4364,16 +4068,16 @@ class IgxGridCell {
|
|
|
4364
4068
|
}
|
|
4365
4069
|
isCellInEditMode() {
|
|
4366
4070
|
if (this.grid.crudService.cellInEditMode) {
|
|
4367
|
-
const cellInEditMode = this.grid.crudService.cell
|
|
4368
|
-
const isCurrentCell = cellInEditMode
|
|
4369
|
-
cellInEditMode
|
|
4370
|
-
cellInEditMode
|
|
4071
|
+
const cellInEditMode = this.grid.crudService.cell?.id;
|
|
4072
|
+
const isCurrentCell = cellInEditMode?.rowID === this.id.rowID &&
|
|
4073
|
+
cellInEditMode?.rowIndex === this.id.rowIndex &&
|
|
4074
|
+
cellInEditMode?.columnID === this.id.columnID;
|
|
4371
4075
|
return isCurrentCell;
|
|
4372
4076
|
}
|
|
4373
4077
|
return false;
|
|
4374
4078
|
}
|
|
4375
4079
|
endEdit() {
|
|
4376
|
-
if (!this.isCellInEditMode()) {
|
|
4080
|
+
if (!this.isCellInEditMode() && this.grid.crudService.cell) {
|
|
4377
4081
|
this.grid.gridAPI.update_cell(this.grid.crudService.cell);
|
|
4378
4082
|
this.grid.crudService.endCellEdit();
|
|
4379
4083
|
}
|
|
@@ -5659,7 +5363,7 @@ class IgxColumnComponent {
|
|
|
5659
5363
|
* @memberof IgxColumnComponent
|
|
5660
5364
|
*/
|
|
5661
5365
|
get columnLayoutChild() {
|
|
5662
|
-
return this.parent && this.parent.columnLayout;
|
|
5366
|
+
return this.parent != null && this.parent.columnLayout;
|
|
5663
5367
|
}
|
|
5664
5368
|
/**
|
|
5665
5369
|
* A list containing all the child columns under this column (if any).
|
|
@@ -5936,7 +5640,7 @@ class IgxColumnComponent {
|
|
|
5936
5640
|
columnSizes[col.colStart - 1] = {
|
|
5937
5641
|
ref: col,
|
|
5938
5642
|
width: col.width === 'fit-content' ? col.autoSize :
|
|
5939
|
-
col.widthSetByUser || this.grid.columnWidthSetByUser ? parseFloat(col.calcWidth) : null,
|
|
5643
|
+
col.widthSetByUser || this.grid.columnWidthSetByUser ? parseFloat(col.calcWidth?.toString() || col.defaultWidth) : null,
|
|
5940
5644
|
colSpan: col.gridColumnSpan,
|
|
5941
5645
|
colEnd: col.colStart + col.gridColumnSpan,
|
|
5942
5646
|
widthSetByUser: col.widthSetByUser
|
|
@@ -5965,7 +5669,7 @@ class IgxColumnComponent {
|
|
|
5965
5669
|
columnSizes[col.colStart - 1] = {
|
|
5966
5670
|
ref: col,
|
|
5967
5671
|
width: col.width === 'fit-content' ? col.autoSize :
|
|
5968
|
-
col.widthSetByUser || this.grid.columnWidthSetByUser ? parseFloat(col.calcWidth) : null,
|
|
5672
|
+
col.widthSetByUser || this.grid.columnWidthSetByUser ? parseFloat(col.calcWidth?.toString() || col.defaultWidth) : null,
|
|
5969
5673
|
colSpan: col.gridColumnSpan,
|
|
5970
5674
|
colEnd: col.colStart + col.gridColumnSpan,
|
|
5971
5675
|
widthSetByUser: col.widthSetByUser
|
|
@@ -5980,7 +5684,7 @@ class IgxColumnComponent {
|
|
|
5980
5684
|
columnSizes[i] = {
|
|
5981
5685
|
ref: col,
|
|
5982
5686
|
width: col.width === 'fit-content' ? col.autoSize :
|
|
5983
|
-
col.widthSetByUser || this.grid.columnWidthSetByUser ? parseFloat(col.calcWidth) : null,
|
|
5687
|
+
col.widthSetByUser || this.grid.columnWidthSetByUser ? parseFloat(col.calcWidth?.toString() || col.defaultWidth) : null,
|
|
5984
5688
|
colSpan: col.gridColumnSpan,
|
|
5985
5689
|
colEnd: col.colStart + col.gridColumnSpan,
|
|
5986
5690
|
widthSetByUser: col.widthSetByUser
|
|
@@ -6111,7 +5815,7 @@ class IgxColumnComponent {
|
|
|
6111
5815
|
const args = { column: this, insertAtIndex: index, isPinned: false, cancel: false };
|
|
6112
5816
|
this.grid.columnPin.emit(args);
|
|
6113
5817
|
if (args.cancel) {
|
|
6114
|
-
return;
|
|
5818
|
+
return undefined;
|
|
6115
5819
|
}
|
|
6116
5820
|
this.grid.crudService.endEdit(false);
|
|
6117
5821
|
this._pinned = true;
|
|
@@ -6136,7 +5840,7 @@ class IgxColumnComponent {
|
|
|
6136
5840
|
let allPinned = [];
|
|
6137
5841
|
// FIX: this is duplicated on every step in the hierarchy....
|
|
6138
5842
|
// re-create hierarchy
|
|
6139
|
-
rootPinnedCols.forEach(group => {
|
|
5843
|
+
rootPinnedCols.forEach((group) => {
|
|
6140
5844
|
allPinned.push(group);
|
|
6141
5845
|
allPinned = allPinned.concat(group.allChildren);
|
|
6142
5846
|
});
|
|
@@ -6199,7 +5903,7 @@ class IgxColumnComponent {
|
|
|
6199
5903
|
// estimate the exact index at which column will be inserted
|
|
6200
5904
|
// takes into account initial unpinned index of the column
|
|
6201
5905
|
if (!hasIndex) {
|
|
6202
|
-
const indices = grid._unpinnedColumns.map(col => col.index);
|
|
5906
|
+
const indices = grid._unpinnedColumns.map((col) => col.index);
|
|
6203
5907
|
indices.push(this.index);
|
|
6204
5908
|
indices.sort((a, b) => a - b);
|
|
6205
5909
|
index = indices.indexOf(this.index);
|
|
@@ -6207,7 +5911,7 @@ class IgxColumnComponent {
|
|
|
6207
5911
|
const args = { column: this, insertAtIndex: index, isPinned: true, cancel: false };
|
|
6208
5912
|
this.grid.columnPin.emit(args);
|
|
6209
5913
|
if (args.cancel) {
|
|
6210
|
-
return;
|
|
5914
|
+
return undefined;
|
|
6211
5915
|
}
|
|
6212
5916
|
this.grid.crudService.endEdit(false);
|
|
6213
5917
|
this._pinned = false;
|
|
@@ -6515,7 +6219,7 @@ class IgxColumnComponent {
|
|
|
6515
6219
|
const currentCalcWidth = parseFloat(possibleColumnWidth);
|
|
6516
6220
|
this._calcWidth = this.getConstrainedSizePx(currentCalcWidth);
|
|
6517
6221
|
}
|
|
6518
|
-
this.calcPixelWidth = parseFloat(this._calcWidth);
|
|
6222
|
+
this.calcPixelWidth = parseFloat(this._calcWidth.toString());
|
|
6519
6223
|
}
|
|
6520
6224
|
/**
|
|
6521
6225
|
* @hidden
|
|
@@ -7211,7 +6915,7 @@ class IgxColumnGroupComponent extends IgxColumnComponent {
|
|
|
7211
6915
|
if (val.hidden) {
|
|
7212
6916
|
return acc;
|
|
7213
6917
|
}
|
|
7214
|
-
return acc + parseFloat(val.calcWidth);
|
|
6918
|
+
return acc + parseFloat(val.calcWidth?.toString() || val.defaultWidth);
|
|
7215
6919
|
}, 0)}`;
|
|
7216
6920
|
return width + 'px';
|
|
7217
6921
|
}
|
|
@@ -7665,11 +7369,11 @@ class IgxAdvancedFilteringDialogComponent {
|
|
|
7665
7369
|
}
|
|
7666
7370
|
}
|
|
7667
7371
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.1", ngImport: i0, type: IgxAdvancedFilteringDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
7668
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.1", type: IgxAdvancedFilteringDialogComponent, isStandalone: true, selector: "igx-advanced-filtering-dialog", inputs: { grid: "grid" }, host: { properties: { "style.display": "this.display" } }, viewQueries: [{ propertyName: "queryBuilder", first: true, predicate: ["queryBuilder"], descendants: true, read: IgxQueryBuilderComponent }], ngImport: i0, template: "@if (grid) {\n <article class=\"igx-advanced-filter\" igxDrag [ghost]=\"false\" [dragTolerance]=\"0\"\n (dragStart)=\"dragStart($event)\" (dragMove)=\"onDragMove($event)\" (keydown)=\"onKeyDown($event)\"\n [ngClass]=\"{\n 'igx-advanced-filter': true,\n 'igx-advanced-filter--inline': inline\n }\">\n <igx-query-builder #queryBuilder\n [locale]=\"grid.locale\"\n [entities]=\"generateEntity()\"\n [resourceStrings]=\"queryBuilderResourceStrings\"\n [expressionTree]=\"this.grid.advancedFilteringExpressionsTree\">\n <igx-query-builder-header\n [title]=\"grid.resourceStrings.igx_grid_advanced_filter_title
|
|
7372
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.1", type: IgxAdvancedFilteringDialogComponent, isStandalone: true, selector: "igx-advanced-filtering-dialog", inputs: { grid: "grid" }, host: { properties: { "style.display": "this.display" } }, viewQueries: [{ propertyName: "queryBuilder", first: true, predicate: ["queryBuilder"], descendants: true, read: IgxQueryBuilderComponent }], ngImport: i0, template: "@if (grid) {\n <article class=\"igx-advanced-filter\" igxDrag [ghost]=\"false\" [dragTolerance]=\"0\"\n (dragStart)=\"dragStart($event)\" (dragMove)=\"onDragMove($event)\" (keydown)=\"onKeyDown($event)\"\n [ngClass]=\"{\n 'igx-advanced-filter': true,\n 'igx-advanced-filter--inline': inline\n }\">\n <igx-query-builder #queryBuilder\n [locale]=\"grid.locale\"\n [entities]=\"generateEntity()\"\n [resourceStrings]=\"queryBuilderResourceStrings\"\n [expressionTree]=\"this.grid.advancedFilteringExpressionsTree\">\n <igx-query-builder-header\n [title]=\"grid.resourceStrings.igx_grid_advanced_filter_title!\"\n igxDragHandle>\n </igx-query-builder-header>\n </igx-query-builder>\n\n <footer class=\"igx-excel-filter__secondary-footer\">\n <div class=\"igx-excel-filter__clear\">\n <button igxButton=\"flat\" type=\"button\"\n (click)=\"onClearButtonClick($event)\">\n {{ grid.resourceStrings.igx_grid_excel_custom_dialog_clear }}\n </button>\n </div>\n <div class=\"igx-excel-filter__cancel\">\n <button igxButton=\"outlined\" type=\"button\" (click)=\"cancelChanges()\">\n {{ grid.resourceStrings.igx_grid_excel_cancel }}\n </button>\n </div>\n <div class=\"igx-excel-filter__apply\">\n <button igxButton=\"contained\" type=\"button\"\n (click)=\"onApplyButtonClick($event)\">\n {{ grid.resourceStrings.igx_grid_excel_apply }}\n </button>\n </div>\n </footer>\n </article>\n}\n", dependencies: [{ kind: "directive", type: IgxDragDirective, selector: "[igxDrag]", inputs: ["igxDrag", "dragTolerance", "dragDirection", "dragChannel", "ghost", "ghostClass", "ghostClasses", "ghostStyle", "ghostTemplate", "ghostHost", "scrollContainer", "ghostOffsetX", "ghostOffsetY"], outputs: ["dragStart", "dragMove", "dragEnd", "dragClick", "ghostCreate", "ghostDestroy", "transitioned"], exportAs: ["drag"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: IgxQueryBuilderComponent, selector: "igx-query-builder", inputs: ["showEntityChangeDialog", "entities", "fields", "expressionTree", "locale", "resourceStrings", "disableEntityChange", "searchValueTemplate", "disableReturnFieldsChange"], outputs: ["expressionTreeChange"] }, { kind: "component", type: IgxQueryBuilderHeaderComponent, selector: "igx-query-builder-header", inputs: ["title", "showLegend", "resourceStrings"] }, { kind: "directive", type: IgxDragHandleDirective, selector: "[igxDragHandle]" }, { kind: "directive", type: IgxButtonDirective, selector: "[igxButton]", inputs: ["selected", "igxButton", "igxLabel"], outputs: ["buttonSelected"] }], changeDetection: i0.ChangeDetectionStrategy.Eager }); }
|
|
7669
7373
|
}
|
|
7670
7374
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.1", ngImport: i0, type: IgxAdvancedFilteringDialogComponent, decorators: [{
|
|
7671
7375
|
type: Component,
|
|
7672
|
-
args: [{ selector: 'igx-advanced-filtering-dialog', changeDetection: ChangeDetectionStrategy.Eager, imports: [IgxDragDirective, NgClass, IgxQueryBuilderComponent, IgxQueryBuilderHeaderComponent, IgxDragHandleDirective, IgxButtonDirective], template: "@if (grid) {\n <article class=\"igx-advanced-filter\" igxDrag [ghost]=\"false\" [dragTolerance]=\"0\"\n (dragStart)=\"dragStart($event)\" (dragMove)=\"onDragMove($event)\" (keydown)=\"onKeyDown($event)\"\n [ngClass]=\"{\n 'igx-advanced-filter': true,\n 'igx-advanced-filter--inline': inline\n }\">\n <igx-query-builder #queryBuilder\n [locale]=\"grid.locale\"\n [entities]=\"generateEntity()\"\n [resourceStrings]=\"queryBuilderResourceStrings\"\n [expressionTree]=\"this.grid.advancedFilteringExpressionsTree\">\n <igx-query-builder-header\n [title]=\"grid.resourceStrings.igx_grid_advanced_filter_title
|
|
7376
|
+
args: [{ selector: 'igx-advanced-filtering-dialog', changeDetection: ChangeDetectionStrategy.Eager, imports: [IgxDragDirective, NgClass, IgxQueryBuilderComponent, IgxQueryBuilderHeaderComponent, IgxDragHandleDirective, IgxButtonDirective], template: "@if (grid) {\n <article class=\"igx-advanced-filter\" igxDrag [ghost]=\"false\" [dragTolerance]=\"0\"\n (dragStart)=\"dragStart($event)\" (dragMove)=\"onDragMove($event)\" (keydown)=\"onKeyDown($event)\"\n [ngClass]=\"{\n 'igx-advanced-filter': true,\n 'igx-advanced-filter--inline': inline\n }\">\n <igx-query-builder #queryBuilder\n [locale]=\"grid.locale\"\n [entities]=\"generateEntity()\"\n [resourceStrings]=\"queryBuilderResourceStrings\"\n [expressionTree]=\"this.grid.advancedFilteringExpressionsTree\">\n <igx-query-builder-header\n [title]=\"grid.resourceStrings.igx_grid_advanced_filter_title!\"\n igxDragHandle>\n </igx-query-builder-header>\n </igx-query-builder>\n\n <footer class=\"igx-excel-filter__secondary-footer\">\n <div class=\"igx-excel-filter__clear\">\n <button igxButton=\"flat\" type=\"button\"\n (click)=\"onClearButtonClick($event)\">\n {{ grid.resourceStrings.igx_grid_excel_custom_dialog_clear }}\n </button>\n </div>\n <div class=\"igx-excel-filter__cancel\">\n <button igxButton=\"outlined\" type=\"button\" (click)=\"cancelChanges()\">\n {{ grid.resourceStrings.igx_grid_excel_cancel }}\n </button>\n </div>\n <div class=\"igx-excel-filter__apply\">\n <button igxButton=\"contained\" type=\"button\"\n (click)=\"onApplyButtonClick($event)\">\n {{ grid.resourceStrings.igx_grid_excel_apply }}\n </button>\n </div>\n </footer>\n </article>\n}\n" }]
|
|
7673
7377
|
}], ctorParameters: () => [], propDecorators: { queryBuilder: [{
|
|
7674
7378
|
type: ViewChild,
|
|
7675
7379
|
args: ['queryBuilder', { read: IgxQueryBuilderComponent }]
|
|
@@ -7884,7 +7588,7 @@ class IgxExcelStyleDefaultExpressionComponent {
|
|
|
7884
7588
|
}
|
|
7885
7589
|
}
|
|
7886
7590
|
isConditionSelected(conditionName) {
|
|
7887
|
-
return this.expressionUI.expression.condition && this.expressionUI.expression.condition.name === conditionName;
|
|
7591
|
+
return (this.expressionUI.expression.condition && this.expressionUI.expression.condition.name === conditionName);
|
|
7888
7592
|
}
|
|
7889
7593
|
onConditionsChanged(eventArgs) {
|
|
7890
7594
|
const value = eventArgs.newSelection.value;
|
|
@@ -7901,7 +7605,8 @@ class IgxExcelStyleDefaultExpressionComponent {
|
|
|
7901
7605
|
return this.grid.resourceStrings[`igx_grid_filter_${name}`] || name;
|
|
7902
7606
|
}
|
|
7903
7607
|
updateSearchValueOnBlur(eventArgs) {
|
|
7904
|
-
|
|
7608
|
+
const target = eventArgs.target;
|
|
7609
|
+
this.expressionUI.expression.searchVal = DataUtil.parseValue(this.column.dataType, target.value);
|
|
7905
7610
|
}
|
|
7906
7611
|
onLogicOperatorButtonClicked(eventArgs, buttonIndex) {
|
|
7907
7612
|
if (this.logicOperatorButtonGroup.selectedButtons.length === 0) {
|
|
@@ -7931,11 +7636,11 @@ class IgxExcelStyleDefaultExpressionComponent {
|
|
|
7931
7636
|
event.preventDefault();
|
|
7932
7637
|
}
|
|
7933
7638
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.1", ngImport: i0, type: IgxExcelStyleDefaultExpressionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
7934
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.1", type: IgxExcelStyleDefaultExpressionComponent, isStandalone: true, selector: "igx-excel-style-default-expression", inputs: { column: "column", expressionUI: "expressionUI", expressionsList: "expressionsList", grid: "grid" }, outputs: { expressionRemoved: "expressionRemoved", logicOperatorChanged: "logicOperatorChanged" }, viewQueries: [{ propertyName: "overlayOutlet", first: true, predicate: ["overlayOutlet"], descendants: true, read: IgxOverlayOutletDirective, static: true }, { propertyName: "dropdownConditions", first: true, predicate: ["dropdownConditions"], descendants: true, read: IgxSelectComponent, static: true }, { propertyName: "logicOperatorButtonGroup", first: true, predicate: ["logicOperatorButtonGroup"], descendants: true, read: IgxButtonGroupComponent }, { propertyName: "inputValuesDirective", first: true, predicate: ["inputValues"], descendants: true, read: IgxInputDirective, static: true }], ngImport: i0, template: "<igx-select #dropdownConditions\n type=\"box\"\n [placeholder]=\"conditionsPlaceholder\"\n (selectionChanging)=\"onConditionsChanged($event)\"\n [overlaySettings]=\"dropDownOverlaySettings\">\n <igx-prefix>\n @if (expressionUI.expression.condition) {\n <igx-icon family=\"default\" [name]=\"getIconName()\"></igx-icon>\n }\n @if (!expressionUI.expression.condition) {\n <igx-icon family=\"default\" name=\"filter_list\"></igx-icon>\n }\n </igx-prefix>\n @for (condition of conditions; track condition) {\n <igx-select-item [value]=\"condition\" [text]=\"getConditionFriendlyName(condition)\" [selected]=\"isConditionSelected(condition)\">\n <div class=\"igx-grid__filtering-dropdown-items\">\n <igx-icon family=\"default\" [name]=\"getCondition(condition).iconName\"></igx-icon>\n <span class=\"igx-grid__filtering-dropdown-text\">{{translateCondition(condition)}}</span>\n </div>\n </igx-select-item>\n }\n</igx-select>\n\n<igx-input-group #inputGroupValues type=\"box\">\n <input\n #inputValues\n igxInput\n [type]=\"type\"\n tabindex=\"0\"\n [placeholder]=\"inputValuePlaceholder\"\n [disabled]=\"expressionUI.expression.condition && expressionUI.expression.condition.isUnary\"\n autocomplete=\"off\"\n [(ngModel)]=\"expressionUI.expression.searchVal\"\n (blur)=\"updateSearchValueOnBlur($event)\"\n />\n @if (column.dataType === 'percent' && (expressionUI.expression.searchVal || expressionUI.expression.searchVal === 0)) {\n <igx-suffix>\n <span class=\"igx-grid__filtering-row-percent-hint\">{{ expressionUI.expression.searchVal | percent:column.pipeArgs.digitsInfo:grid.locale }}</span>\n </igx-suffix>\n }\n</igx-input-group>\n\n@if (!isSingle) {\n <button type=\"button\" (click)=\"onRemoveButtonClick()\" igxIconButton=\"flat\">\n <igx-icon family=\"default\" name=\"remove\"></igx-icon>\n </button>\n}\n\n@if (!isLast) {\n <igx-buttongroup #logicOperatorButtonGroup>\n <span igxButton\n tabindex=\"0\"\n #andButton\n (keydown)=\"onLogicOperatorKeyDown($event, 0)\"\n [selected]=\"expressionUI.afterOperator === 0\"\n type=\"button\"\n (click)=\"onLogicOperatorButtonClicked($event, 0)\">\n {{ grid.resourceStrings.igx_grid_filter_operator_and }}\n </span>\n <span igxButton\n tabindex=\"0\"\n #orButton\n (keydown)=\"onLogicOperatorKeyDown($event, 1)\"\n [selected]=\"expressionUI.afterOperator === 1\"\n type=\"button\"\n (click)=\"onLogicOperatorButtonClicked($event, 1)\">\n {{ grid.resourceStrings.igx_grid_filter_operator_or }}\n </span>\n </igx-buttongroup>\n}\n\n<div #overlayOutlet\n igxOverlayOutlet\n (pointerdown)=\"onOutletPointerDown($event)\">\n</div>\n", dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox]):not([ngNoCva])[formControlName],textarea:not([ngNoCva])[formControlName],input:not([type=checkbox]):not([ngNoCva])[formControl],textarea:not([ngNoCva])[formControl],input:not([type=checkbox]):not([ngNoCva])[ngModel],textarea:not([ngNoCva])[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: IgxSelectComponent, selector: "igx-select", inputs: ["placeholder", "disabled", "overlaySettings", "value", "type"], outputs: ["opening", "opened", "closing", "closed"] }, { kind: "directive", type: IgxPrefixDirective, selector: "[igxPrefix],[igxStart],igx-prefix" }, { kind: "component", type: IgxIconComponent, selector: "igx-icon", inputs: ["ariaHidden", "family", "name", "active"] }, { kind: "component", type: IgxSelectItemComponent, selector: "igx-select-item", inputs: ["text"] }, { kind: "component", type: IgxInputGroupComponent, selector: "igx-input-group", inputs: ["resourceStrings", "suppressInputAutofocus", "type", "theme"] }, { kind: "directive", type: IgxInputDirective, selector: "[igxInput]", inputs: ["value", "disabled", "required"], exportAs: ["igxInput"] }, { kind: "directive", type: IgxSuffixDirective, selector: "[igxSuffix],[igxEnd],igx-suffix" }, { kind: "directive", type: IgxButtonDirective, selector: "[igxButton]", inputs: ["selected", "igxButton", "igxLabel"], outputs: ["buttonSelected"] }, { kind: "component", type: IgxButtonGroupComponent, selector: "igx-buttongroup", inputs: ["id", "itemContentCssClass", "multiSelection", "selectionMode", "values", "disabled", "alignment"], outputs: ["selected", "deselected"] }, { kind: "directive", type: IgxOverlayOutletDirective, selector: "[igxOverlayOutlet]", exportAs: ["overlay-outlet"] }, { kind: "directive", type: IgxIconButtonDirective, selector: "[igxIconButton]", inputs: ["igxIconButton"] }, { kind: "pipe", type: IgxPercentFormatterPipe, name: "percent" }], changeDetection: i0.ChangeDetectionStrategy.Eager }); }
|
|
7639
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.1", type: IgxExcelStyleDefaultExpressionComponent, isStandalone: true, selector: "igx-excel-style-default-expression", inputs: { column: "column", expressionUI: "expressionUI", expressionsList: "expressionsList", grid: "grid" }, outputs: { expressionRemoved: "expressionRemoved", logicOperatorChanged: "logicOperatorChanged" }, viewQueries: [{ propertyName: "overlayOutlet", first: true, predicate: ["overlayOutlet"], descendants: true, read: IgxOverlayOutletDirective, static: true }, { propertyName: "dropdownConditions", first: true, predicate: ["dropdownConditions"], descendants: true, read: IgxSelectComponent, static: true }, { propertyName: "logicOperatorButtonGroup", first: true, predicate: ["logicOperatorButtonGroup"], descendants: true, read: IgxButtonGroupComponent }, { propertyName: "inputValuesDirective", first: true, predicate: ["inputValues"], descendants: true, read: IgxInputDirective, static: true }], ngImport: i0, template: "<igx-select #dropdownConditions\n type=\"box\"\n [placeholder]=\"conditionsPlaceholder\"\n (selectionChanging)=\"onConditionsChanged($event)\"\n [overlaySettings]=\"dropDownOverlaySettings\">\n <igx-prefix>\n @if (expressionUI.expression.condition) {\n <igx-icon family=\"default\" [name]=\"getIconName()\"></igx-icon>\n }\n @if (!expressionUI.expression.condition) {\n <igx-icon family=\"default\" name=\"filter_list\"></igx-icon>\n }\n </igx-prefix>\n @for (condition of conditions; track condition) {\n <igx-select-item [value]=\"condition\" [text]=\"getConditionFriendlyName(condition)\" [selected]=\"isConditionSelected(condition)\">\n <div class=\"igx-grid__filtering-dropdown-items\">\n <igx-icon family=\"default\" [name]=\"getCondition(condition).iconName\"></igx-icon>\n <span class=\"igx-grid__filtering-dropdown-text\">{{translateCondition(condition)}}</span>\n </div>\n </igx-select-item>\n }\n</igx-select>\n\n<igx-input-group #inputGroupValues type=\"box\">\n <input\n #inputValues\n igxInput\n [type]=\"type\"\n tabindex=\"0\"\n [placeholder]=\"inputValuePlaceholder\"\n [disabled]=\"!!(expressionUI.expression.condition && expressionUI.expression.condition.isUnary)\"\n autocomplete=\"off\"\n [(ngModel)]=\"expressionUI.expression.searchVal\"\n (blur)=\"updateSearchValueOnBlur($event)\"\n />\n @if (column.dataType === 'percent' && (expressionUI.expression.searchVal || expressionUI.expression.searchVal === 0)) {\n <igx-suffix>\n <span class=\"igx-grid__filtering-row-percent-hint\">{{ expressionUI.expression.searchVal | percent:column.pipeArgs.digitsInfo:grid.locale }}</span>\n </igx-suffix>\n }\n</igx-input-group>\n\n@if (!isSingle) {\n <button type=\"button\" (click)=\"onRemoveButtonClick()\" igxIconButton=\"flat\">\n <igx-icon family=\"default\" name=\"remove\"></igx-icon>\n </button>\n}\n\n@if (!isLast) {\n <igx-buttongroup #logicOperatorButtonGroup>\n <span igxButton\n tabindex=\"0\"\n #andButton\n (keydown)=\"onLogicOperatorKeyDown($event, 0)\"\n [selected]=\"expressionUI.afterOperator === 0\"\n type=\"button\"\n (click)=\"onLogicOperatorButtonClicked($event, 0)\">\n {{ grid.resourceStrings.igx_grid_filter_operator_and }}\n </span>\n <span igxButton\n tabindex=\"0\"\n #orButton\n (keydown)=\"onLogicOperatorKeyDown($event, 1)\"\n [selected]=\"expressionUI.afterOperator === 1\"\n type=\"button\"\n (click)=\"onLogicOperatorButtonClicked($event, 1)\">\n {{ grid.resourceStrings.igx_grid_filter_operator_or }}\n </span>\n </igx-buttongroup>\n}\n\n<div #overlayOutlet\n igxOverlayOutlet\n (pointerdown)=\"onOutletPointerDown($event)\">\n</div>\n", dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox]):not([ngNoCva])[formControlName],textarea:not([ngNoCva])[formControlName],input:not([type=checkbox]):not([ngNoCva])[formControl],textarea:not([ngNoCva])[formControl],input:not([type=checkbox]):not([ngNoCva])[ngModel],textarea:not([ngNoCva])[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: IgxSelectComponent, selector: "igx-select", inputs: ["placeholder", "disabled", "overlaySettings", "value", "type"], outputs: ["opening", "opened", "closing", "closed"] }, { kind: "directive", type: IgxPrefixDirective, selector: "[igxPrefix],[igxStart],igx-prefix" }, { kind: "component", type: IgxIconComponent, selector: "igx-icon", inputs: ["ariaHidden", "family", "name", "active"] }, { kind: "component", type: IgxSelectItemComponent, selector: "igx-select-item", inputs: ["text"] }, { kind: "component", type: IgxInputGroupComponent, selector: "igx-input-group", inputs: ["resourceStrings", "suppressInputAutofocus", "type", "theme"] }, { kind: "directive", type: IgxInputDirective, selector: "[igxInput]", inputs: ["value", "disabled", "required"], exportAs: ["igxInput"] }, { kind: "directive", type: IgxSuffixDirective, selector: "[igxSuffix],[igxEnd],igx-suffix" }, { kind: "directive", type: IgxButtonDirective, selector: "[igxButton]", inputs: ["selected", "igxButton", "igxLabel"], outputs: ["buttonSelected"] }, { kind: "component", type: IgxButtonGroupComponent, selector: "igx-buttongroup", inputs: ["id", "itemContentCssClass", "multiSelection", "selectionMode", "values", "disabled", "alignment"], outputs: ["selected", "deselected"] }, { kind: "directive", type: IgxOverlayOutletDirective, selector: "[igxOverlayOutlet]", exportAs: ["overlay-outlet"] }, { kind: "directive", type: IgxIconButtonDirective, selector: "[igxIconButton]", inputs: ["igxIconButton"] }, { kind: "pipe", type: IgxPercentFormatterPipe, name: "percent" }], changeDetection: i0.ChangeDetectionStrategy.Eager }); }
|
|
7935
7640
|
}
|
|
7936
7641
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.1", ngImport: i0, type: IgxExcelStyleDefaultExpressionComponent, decorators: [{
|
|
7937
7642
|
type: Component,
|
|
7938
|
-
args: [{ selector: 'igx-excel-style-default-expression', changeDetection: ChangeDetectionStrategy.Eager, imports: [FormsModule, IgxSelectComponent, IgxPrefixDirective, IgxIconComponent, IgxSelectItemComponent, IgxInputGroupComponent, IgxInputDirective, IgxSuffixDirective, IgxButtonDirective, IgxButtonGroupComponent, IgxOverlayOutletDirective, IgxIconButtonDirective, IgxPercentFormatterPipe], template: "<igx-select #dropdownConditions\n type=\"box\"\n [placeholder]=\"conditionsPlaceholder\"\n (selectionChanging)=\"onConditionsChanged($event)\"\n [overlaySettings]=\"dropDownOverlaySettings\">\n <igx-prefix>\n @if (expressionUI.expression.condition) {\n <igx-icon family=\"default\" [name]=\"getIconName()\"></igx-icon>\n }\n @if (!expressionUI.expression.condition) {\n <igx-icon family=\"default\" name=\"filter_list\"></igx-icon>\n }\n </igx-prefix>\n @for (condition of conditions; track condition) {\n <igx-select-item [value]=\"condition\" [text]=\"getConditionFriendlyName(condition)\" [selected]=\"isConditionSelected(condition)\">\n <div class=\"igx-grid__filtering-dropdown-items\">\n <igx-icon family=\"default\" [name]=\"getCondition(condition).iconName\"></igx-icon>\n <span class=\"igx-grid__filtering-dropdown-text\">{{translateCondition(condition)}}</span>\n </div>\n </igx-select-item>\n }\n</igx-select>\n\n<igx-input-group #inputGroupValues type=\"box\">\n <input\n #inputValues\n igxInput\n [type]=\"type\"\n tabindex=\"0\"\n [placeholder]=\"inputValuePlaceholder\"\n [disabled]=\"expressionUI.expression.condition && expressionUI.expression.condition.isUnary\"\n autocomplete=\"off\"\n [(ngModel)]=\"expressionUI.expression.searchVal\"\n (blur)=\"updateSearchValueOnBlur($event)\"\n />\n @if (column.dataType === 'percent' && (expressionUI.expression.searchVal || expressionUI.expression.searchVal === 0)) {\n <igx-suffix>\n <span class=\"igx-grid__filtering-row-percent-hint\">{{ expressionUI.expression.searchVal | percent:column.pipeArgs.digitsInfo:grid.locale }}</span>\n </igx-suffix>\n }\n</igx-input-group>\n\n@if (!isSingle) {\n <button type=\"button\" (click)=\"onRemoveButtonClick()\" igxIconButton=\"flat\">\n <igx-icon family=\"default\" name=\"remove\"></igx-icon>\n </button>\n}\n\n@if (!isLast) {\n <igx-buttongroup #logicOperatorButtonGroup>\n <span igxButton\n tabindex=\"0\"\n #andButton\n (keydown)=\"onLogicOperatorKeyDown($event, 0)\"\n [selected]=\"expressionUI.afterOperator === 0\"\n type=\"button\"\n (click)=\"onLogicOperatorButtonClicked($event, 0)\">\n {{ grid.resourceStrings.igx_grid_filter_operator_and }}\n </span>\n <span igxButton\n tabindex=\"0\"\n #orButton\n (keydown)=\"onLogicOperatorKeyDown($event, 1)\"\n [selected]=\"expressionUI.afterOperator === 1\"\n type=\"button\"\n (click)=\"onLogicOperatorButtonClicked($event, 1)\">\n {{ grid.resourceStrings.igx_grid_filter_operator_or }}\n </span>\n </igx-buttongroup>\n}\n\n<div #overlayOutlet\n igxOverlayOutlet\n (pointerdown)=\"onOutletPointerDown($event)\">\n</div>\n" }]
|
|
7643
|
+
args: [{ selector: 'igx-excel-style-default-expression', changeDetection: ChangeDetectionStrategy.Eager, imports: [FormsModule, IgxSelectComponent, IgxPrefixDirective, IgxIconComponent, IgxSelectItemComponent, IgxInputGroupComponent, IgxInputDirective, IgxSuffixDirective, IgxButtonDirective, IgxButtonGroupComponent, IgxOverlayOutletDirective, IgxIconButtonDirective, IgxPercentFormatterPipe], template: "<igx-select #dropdownConditions\n type=\"box\"\n [placeholder]=\"conditionsPlaceholder\"\n (selectionChanging)=\"onConditionsChanged($event)\"\n [overlaySettings]=\"dropDownOverlaySettings\">\n <igx-prefix>\n @if (expressionUI.expression.condition) {\n <igx-icon family=\"default\" [name]=\"getIconName()\"></igx-icon>\n }\n @if (!expressionUI.expression.condition) {\n <igx-icon family=\"default\" name=\"filter_list\"></igx-icon>\n }\n </igx-prefix>\n @for (condition of conditions; track condition) {\n <igx-select-item [value]=\"condition\" [text]=\"getConditionFriendlyName(condition)\" [selected]=\"isConditionSelected(condition)\">\n <div class=\"igx-grid__filtering-dropdown-items\">\n <igx-icon family=\"default\" [name]=\"getCondition(condition).iconName\"></igx-icon>\n <span class=\"igx-grid__filtering-dropdown-text\">{{translateCondition(condition)}}</span>\n </div>\n </igx-select-item>\n }\n</igx-select>\n\n<igx-input-group #inputGroupValues type=\"box\">\n <input\n #inputValues\n igxInput\n [type]=\"type\"\n tabindex=\"0\"\n [placeholder]=\"inputValuePlaceholder\"\n [disabled]=\"!!(expressionUI.expression.condition && expressionUI.expression.condition.isUnary)\"\n autocomplete=\"off\"\n [(ngModel)]=\"expressionUI.expression.searchVal\"\n (blur)=\"updateSearchValueOnBlur($event)\"\n />\n @if (column.dataType === 'percent' && (expressionUI.expression.searchVal || expressionUI.expression.searchVal === 0)) {\n <igx-suffix>\n <span class=\"igx-grid__filtering-row-percent-hint\">{{ expressionUI.expression.searchVal | percent:column.pipeArgs.digitsInfo:grid.locale }}</span>\n </igx-suffix>\n }\n</igx-input-group>\n\n@if (!isSingle) {\n <button type=\"button\" (click)=\"onRemoveButtonClick()\" igxIconButton=\"flat\">\n <igx-icon family=\"default\" name=\"remove\"></igx-icon>\n </button>\n}\n\n@if (!isLast) {\n <igx-buttongroup #logicOperatorButtonGroup>\n <span igxButton\n tabindex=\"0\"\n #andButton\n (keydown)=\"onLogicOperatorKeyDown($event, 0)\"\n [selected]=\"expressionUI.afterOperator === 0\"\n type=\"button\"\n (click)=\"onLogicOperatorButtonClicked($event, 0)\">\n {{ grid.resourceStrings.igx_grid_filter_operator_and }}\n </span>\n <span igxButton\n tabindex=\"0\"\n #orButton\n (keydown)=\"onLogicOperatorKeyDown($event, 1)\"\n [selected]=\"expressionUI.afterOperator === 1\"\n type=\"button\"\n (click)=\"onLogicOperatorButtonClicked($event, 1)\">\n {{ grid.resourceStrings.igx_grid_filter_operator_or }}\n </span>\n </igx-buttongroup>\n}\n\n<div #overlayOutlet\n igxOverlayOutlet\n (pointerdown)=\"onOutletPointerDown($event)\">\n</div>\n" }]
|
|
7939
7644
|
}], propDecorators: { column: [{
|
|
7940
7645
|
type: Input
|
|
7941
7646
|
}], expressionUI: [{
|
|
@@ -7989,11 +7694,11 @@ class IgxExcelStyleDateExpressionComponent extends IgxExcelStyleDefaultExpressio
|
|
|
7989
7694
|
return this.i18nFormatter.getLocaleFirstDayOfWeek(this.grid.locale);
|
|
7990
7695
|
}
|
|
7991
7696
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.1", ngImport: i0, type: IgxExcelStyleDateExpressionComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
7992
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.1", type: IgxExcelStyleDateExpressionComponent, isStandalone: true, selector: "igx-excel-style-date-expression", inputs: { searchVal: "searchVal" }, viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true, read: IgxInputDirective }, { propertyName: "picker", first: true, predicate: ["picker"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<igx-select\n #dropdownConditions\n type=\"box\"\n [placeholder]=\"conditionsPlaceholder\"\n (selectionChanging)=\"onConditionsChanged($event)\"\n [overlaySettings]=\"dropDownOverlaySettings\"\n>\n <igx-prefix>\n @if (expressionUI.expression.condition) {\n <igx-icon family=\"default\" [name]=\"getIconName()\"></igx-icon>\n }\n @if (!expressionUI.expression.condition) {\n <igx-icon family=\"default\" name=\"filter_list\"></igx-icon>\n }\n </igx-prefix>\n @for (condition of conditions; track condition) {\n <igx-select-item\n [value]=\"condition\"\n [text]=\"getConditionFriendlyName(condition)\"\n [selected]=\"isConditionSelected(condition)\"\n >\n <igx-icon\n family=\"default\"\n [name]=\"getCondition(condition).iconName\"\n ></igx-icon>\n <span>{{ translateCondition(condition) }}</span>\n </igx-select-item>\n }\n</igx-select>\n\n@if (column.dataType === 'date') {\n <igx-date-picker\n #picker\n [weekStart]=\"column.pipeArgs.weekStart ?? weekStart\"\n [(ngModel)]=\"searchVal\"\n [locale]=\"grid.locale\"\n (click)=\"picker.open()\"\n [placeholder]=\"inputDatePlaceholder\"\n [formatter]=\"column.formatter
|
|
7697
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.1", type: IgxExcelStyleDateExpressionComponent, isStandalone: true, selector: "igx-excel-style-date-expression", inputs: { searchVal: "searchVal" }, viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true, read: IgxInputDirective }, { propertyName: "picker", first: true, predicate: ["picker"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<igx-select\n #dropdownConditions\n type=\"box\"\n [placeholder]=\"conditionsPlaceholder\"\n (selectionChanging)=\"onConditionsChanged($event)\"\n [overlaySettings]=\"dropDownOverlaySettings\"\n>\n <igx-prefix>\n @if (expressionUI.expression.condition) {\n <igx-icon family=\"default\" [name]=\"getIconName()\"></igx-icon>\n }\n @if (!expressionUI.expression.condition) {\n <igx-icon family=\"default\" name=\"filter_list\"></igx-icon>\n }\n </igx-prefix>\n @for (condition of conditions; track condition) {\n <igx-select-item\n [value]=\"condition\"\n [text]=\"getConditionFriendlyName(condition)\"\n [selected]=\"isConditionSelected(condition)\"\n >\n <igx-icon\n family=\"default\"\n [name]=\"getCondition(condition).iconName\"\n ></igx-icon>\n <span>{{ translateCondition(condition) }}</span>\n </igx-select-item>\n }\n</igx-select>\n\n@if (column.dataType === 'date') {\n <igx-date-picker\n #picker\n [weekStart]=\"column.pipeArgs.weekStart ?? weekStart\"\n [(ngModel)]=\"searchVal\"\n [locale]=\"grid.locale\"\n (click)=\"picker.open()\"\n [placeholder]=\"inputDatePlaceholder\"\n [formatter]=\"column.formatter!\"\n [disabled]=\"!!(\n expressionUI.expression.condition &&\n expressionUI.expression.condition.isUnary\n )\"\n type=\"box\"\n >\n <!-- disable default icons -->\n <igx-picker-toggle></igx-picker-toggle>\n <igx-picker-clear></igx-picker-clear>\n </igx-date-picker>\n}\n\n@if (column.dataType === 'time') {\n <igx-time-picker\n #picker\n [(ngModel)]=\"searchVal\"\n [locale]=\"grid.locale\"\n (click)=\"picker.open()\"\n [placeholder]=\"inputTimePlaceholder\"\n [displayFormat]=\"column.pipeArgs.format!\"\n [inputFormat]=\"column.editorOptions?.dateTimeFormat!\"\n [formatter]=\"column.formatter!\"\n [disabled]=\"!!(\n expressionUI.expression.condition &&\n expressionUI.expression.condition.isUnary\n )\"\n type=\"box\"\n >\n <!-- disable default icons -->\n <igx-picker-toggle></igx-picker-toggle>\n <igx-picker-clear></igx-picker-clear>\n </igx-time-picker>\n}\n\n@if (column.dataType === 'dateTime') {\n <igx-input-group #dropDownTarget #inputGroup type=\"box\">\n <input\n #input\n igxInput\n tabindex=\"0\"\n [placeholder]=\"inputDatePlaceholder\"\n [locale]=\"column.grid.locale\"\n [igxDateTimeEditor]=\"column.editorOptions?.dateTimeFormat!\"\n [defaultFormatType]=\"column.dataType\"\n [displayFormat]=\"column.pipeArgs.format!\"\n [(ngModel)]=\"searchVal\"\n [disabled]=\"!!(\n expressionUI.expression.condition &&\n expressionUI.expression.condition.isUnary\n )\"\n />\n </igx-input-group>\n}\n\n@if (!isSingle) {\n <button type=\"button\" (click)=\"onRemoveButtonClick()\" igxIconButton=\"flat\">\n <igx-icon family=\"default\" name=\"remove\"></igx-icon>\n </button>\n}\n\n@if (!isLast) {\n <igx-buttongroup #logicOperatorButtonGroup>\n <span\n igxButton\n #andButton\n (keydown)=\"onLogicOperatorKeyDown($event, 0)\"\n tabindex=\"0\"\n [selected]=\"expressionUI.afterOperator === 0\"\n type=\"button\"\n (click)=\"onLogicOperatorButtonClicked($event, 0)\"\n >\n {{ grid.resourceStrings.igx_grid_filter_operator_and }}\n </span>\n <span\n igxButton\n #orButton\n tabindex=\"0\"\n (keydown)=\"onLogicOperatorKeyDown($event, 1)\"\n [selected]=\"expressionUI.afterOperator === 1\"\n type=\"button\"\n (click)=\"onLogicOperatorButtonClicked($event, 1)\"\n >\n {{ grid.resourceStrings.igx_grid_filter_operator_or }}\n </span>\n </igx-buttongroup>\n}\n\n<div\n #overlayOutlet\n igxOverlayOutlet\n (pointerdown)=\"onOutletPointerDown($event)\"\n></div>\n", dependencies: [{ kind: "component", type: IgxSelectComponent, selector: "igx-select", inputs: ["placeholder", "disabled", "overlaySettings", "value", "type"], outputs: ["opening", "opened", "closing", "closed"] }, { kind: "directive", type: IgxPrefixDirective, selector: "[igxPrefix],[igxStart],igx-prefix" }, { kind: "component", type: IgxIconComponent, selector: "igx-icon", inputs: ["ariaHidden", "family", "name", "active"] }, { kind: "component", type: IgxSelectItemComponent, selector: "igx-select-item", inputs: ["text"] }, { kind: "component", type: IgxDatePickerComponent, selector: "igx-date-picker", inputs: ["hideOutsideDays", "displayMonthsCount", "orientation", "showWeekNumbers", "activeDate", "formatter", "todayButtonLabel", "cancelButtonLabel", "spinLoop", "spinDelta", "id", "formatViews", "disabledDates", "specialDates", "calendarFormat", "value", "minValue", "maxValue", "resourceStrings", "readOnly"], outputs: ["valueChange", "validationFailed"] }, { kind: "component", type: IgxPickerToggleComponent, selector: "igx-picker-toggle", outputs: ["clicked"] }, { kind: "component", type: IgxPickerClearComponent, selector: "igx-picker-clear" }, { kind: "component", type: IgxTimePickerComponent, selector: "igx-time-picker", inputs: ["id", "displayFormat", "inputFormat", "mode", "minValue", "maxValue", "spinLoop", "formatter", "readOnly", "value", "resourceStrings", "okButtonLabel", "cancelButtonLabel", "itemsDelta"], outputs: ["selected", "valueChange", "validationFailed"] }, { kind: "component", type: IgxInputGroupComponent, selector: "igx-input-group", inputs: ["resourceStrings", "suppressInputAutofocus", "type", "theme"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox]):not([ngNoCva])[formControlName],textarea:not([ngNoCva])[formControlName],input:not([type=checkbox]):not([ngNoCva])[formControl],textarea:not([ngNoCva])[formControl],input:not([type=checkbox]):not([ngNoCva])[ngModel],textarea:not([ngNoCva])[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: IgxInputDirective, selector: "[igxInput]", inputs: ["value", "disabled", "required"], exportAs: ["igxInput"] }, { kind: "directive", type: IgxDateTimeEditorDirective, selector: "[igxDateTimeEditor]", inputs: ["locale", "minValue", "maxValue", "spinLoop", "displayFormat", "igxDateTimeEditor", "value", "defaultFormatType", "spinDelta"], outputs: ["valueChange", "validationFailed"], exportAs: ["igxDateTimeEditor"] }, { kind: "directive", type: IgxButtonDirective, selector: "[igxButton]", inputs: ["selected", "igxButton", "igxLabel"], outputs: ["buttonSelected"] }, { kind: "component", type: IgxButtonGroupComponent, selector: "igx-buttongroup", inputs: ["id", "itemContentCssClass", "multiSelection", "selectionMode", "values", "disabled", "alignment"], outputs: ["selected", "deselected"] }, { kind: "directive", type: IgxOverlayOutletDirective, selector: "[igxOverlayOutlet]", exportAs: ["overlay-outlet"] }, { kind: "directive", type: IgxIconButtonDirective, selector: "[igxIconButton]", inputs: ["igxIconButton"] }], changeDetection: i0.ChangeDetectionStrategy.Eager }); }
|
|
7993
7698
|
}
|
|
7994
7699
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.1", ngImport: i0, type: IgxExcelStyleDateExpressionComponent, decorators: [{
|
|
7995
7700
|
type: Component,
|
|
7996
|
-
args: [{ selector: 'igx-excel-style-date-expression', changeDetection: ChangeDetectionStrategy.Eager, imports: [IgxSelectComponent, IgxPrefixDirective, IgxIconComponent, IgxSelectItemComponent, IgxDatePickerComponent, IgxPickerToggleComponent, IgxPickerClearComponent, IgxTimePickerComponent, IgxInputGroupComponent, FormsModule, IgxInputDirective, IgxDateTimeEditorDirective, IgxButtonDirective, IgxButtonGroupComponent, IgxOverlayOutletDirective, IgxIconButtonDirective], template: "<igx-select\n #dropdownConditions\n type=\"box\"\n [placeholder]=\"conditionsPlaceholder\"\n (selectionChanging)=\"onConditionsChanged($event)\"\n [overlaySettings]=\"dropDownOverlaySettings\"\n>\n <igx-prefix>\n @if (expressionUI.expression.condition) {\n <igx-icon family=\"default\" [name]=\"getIconName()\"></igx-icon>\n }\n @if (!expressionUI.expression.condition) {\n <igx-icon family=\"default\" name=\"filter_list\"></igx-icon>\n }\n </igx-prefix>\n @for (condition of conditions; track condition) {\n <igx-select-item\n [value]=\"condition\"\n [text]=\"getConditionFriendlyName(condition)\"\n [selected]=\"isConditionSelected(condition)\"\n >\n <igx-icon\n family=\"default\"\n [name]=\"getCondition(condition).iconName\"\n ></igx-icon>\n <span>{{ translateCondition(condition) }}</span>\n </igx-select-item>\n }\n</igx-select>\n\n@if (column.dataType === 'date') {\n <igx-date-picker\n #picker\n [weekStart]=\"column.pipeArgs.weekStart ?? weekStart\"\n [(ngModel)]=\"searchVal\"\n [locale]=\"grid.locale\"\n (click)=\"picker.open()\"\n [placeholder]=\"inputDatePlaceholder\"\n [formatter]=\"column.formatter
|
|
7701
|
+
args: [{ selector: 'igx-excel-style-date-expression', changeDetection: ChangeDetectionStrategy.Eager, imports: [IgxSelectComponent, IgxPrefixDirective, IgxIconComponent, IgxSelectItemComponent, IgxDatePickerComponent, IgxPickerToggleComponent, IgxPickerClearComponent, IgxTimePickerComponent, IgxInputGroupComponent, FormsModule, IgxInputDirective, IgxDateTimeEditorDirective, IgxButtonDirective, IgxButtonGroupComponent, IgxOverlayOutletDirective, IgxIconButtonDirective], template: "<igx-select\n #dropdownConditions\n type=\"box\"\n [placeholder]=\"conditionsPlaceholder\"\n (selectionChanging)=\"onConditionsChanged($event)\"\n [overlaySettings]=\"dropDownOverlaySettings\"\n>\n <igx-prefix>\n @if (expressionUI.expression.condition) {\n <igx-icon family=\"default\" [name]=\"getIconName()\"></igx-icon>\n }\n @if (!expressionUI.expression.condition) {\n <igx-icon family=\"default\" name=\"filter_list\"></igx-icon>\n }\n </igx-prefix>\n @for (condition of conditions; track condition) {\n <igx-select-item\n [value]=\"condition\"\n [text]=\"getConditionFriendlyName(condition)\"\n [selected]=\"isConditionSelected(condition)\"\n >\n <igx-icon\n family=\"default\"\n [name]=\"getCondition(condition).iconName\"\n ></igx-icon>\n <span>{{ translateCondition(condition) }}</span>\n </igx-select-item>\n }\n</igx-select>\n\n@if (column.dataType === 'date') {\n <igx-date-picker\n #picker\n [weekStart]=\"column.pipeArgs.weekStart ?? weekStart\"\n [(ngModel)]=\"searchVal\"\n [locale]=\"grid.locale\"\n (click)=\"picker.open()\"\n [placeholder]=\"inputDatePlaceholder\"\n [formatter]=\"column.formatter!\"\n [disabled]=\"!!(\n expressionUI.expression.condition &&\n expressionUI.expression.condition.isUnary\n )\"\n type=\"box\"\n >\n <!-- disable default icons -->\n <igx-picker-toggle></igx-picker-toggle>\n <igx-picker-clear></igx-picker-clear>\n </igx-date-picker>\n}\n\n@if (column.dataType === 'time') {\n <igx-time-picker\n #picker\n [(ngModel)]=\"searchVal\"\n [locale]=\"grid.locale\"\n (click)=\"picker.open()\"\n [placeholder]=\"inputTimePlaceholder\"\n [displayFormat]=\"column.pipeArgs.format!\"\n [inputFormat]=\"column.editorOptions?.dateTimeFormat!\"\n [formatter]=\"column.formatter!\"\n [disabled]=\"!!(\n expressionUI.expression.condition &&\n expressionUI.expression.condition.isUnary\n )\"\n type=\"box\"\n >\n <!-- disable default icons -->\n <igx-picker-toggle></igx-picker-toggle>\n <igx-picker-clear></igx-picker-clear>\n </igx-time-picker>\n}\n\n@if (column.dataType === 'dateTime') {\n <igx-input-group #dropDownTarget #inputGroup type=\"box\">\n <input\n #input\n igxInput\n tabindex=\"0\"\n [placeholder]=\"inputDatePlaceholder\"\n [locale]=\"column.grid.locale\"\n [igxDateTimeEditor]=\"column.editorOptions?.dateTimeFormat!\"\n [defaultFormatType]=\"column.dataType\"\n [displayFormat]=\"column.pipeArgs.format!\"\n [(ngModel)]=\"searchVal\"\n [disabled]=\"!!(\n expressionUI.expression.condition &&\n expressionUI.expression.condition.isUnary\n )\"\n />\n </igx-input-group>\n}\n\n@if (!isSingle) {\n <button type=\"button\" (click)=\"onRemoveButtonClick()\" igxIconButton=\"flat\">\n <igx-icon family=\"default\" name=\"remove\"></igx-icon>\n </button>\n}\n\n@if (!isLast) {\n <igx-buttongroup #logicOperatorButtonGroup>\n <span\n igxButton\n #andButton\n (keydown)=\"onLogicOperatorKeyDown($event, 0)\"\n tabindex=\"0\"\n [selected]=\"expressionUI.afterOperator === 0\"\n type=\"button\"\n (click)=\"onLogicOperatorButtonClicked($event, 0)\"\n >\n {{ grid.resourceStrings.igx_grid_filter_operator_and }}\n </span>\n <span\n igxButton\n #orButton\n tabindex=\"0\"\n (keydown)=\"onLogicOperatorKeyDown($event, 1)\"\n [selected]=\"expressionUI.afterOperator === 1\"\n type=\"button\"\n (click)=\"onLogicOperatorButtonClicked($event, 1)\"\n >\n {{ grid.resourceStrings.igx_grid_filter_operator_or }}\n </span>\n </igx-buttongroup>\n}\n\n<div\n #overlayOutlet\n igxOverlayOutlet\n (pointerdown)=\"onOutletPointerDown($event)\"\n></div>\n" }]
|
|
7997
7702
|
}], propDecorators: { input: [{
|
|
7998
7703
|
type: ViewChild,
|
|
7999
7704
|
args: ['input', { read: IgxInputDirective, static: false }]
|
|
@@ -8353,9 +8058,9 @@ class IgxExcelStyleConditionalFilterComponent {
|
|
|
8353
8058
|
*/
|
|
8354
8059
|
showCustomFilterItem() {
|
|
8355
8060
|
const exprTree = this.esf.column.filteringExpressionsTree;
|
|
8356
|
-
return exprTree && exprTree.filteringOperands && exprTree.filteringOperands.length &&
|
|
8061
|
+
return (exprTree && exprTree.filteringOperands && exprTree.filteringOperands.length &&
|
|
8357
8062
|
!(exprTree.filteringOperands[0].condition &&
|
|
8358
|
-
exprTree.filteringOperands[0].condition.name === 'in');
|
|
8063
|
+
exprTree.filteringOperands[0].condition.name === 'in'));
|
|
8359
8064
|
}
|
|
8360
8065
|
/**
|
|
8361
8066
|
* @hidden @internal
|
|
@@ -8402,11 +8107,11 @@ class IgxExcelStyleHeaderComponent {
|
|
|
8402
8107
|
this.esf = inject(BaseFilteringComponent);
|
|
8403
8108
|
}
|
|
8404
8109
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.1", ngImport: i0, type: IgxExcelStyleHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
8405
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.1", type: IgxExcelStyleHeaderComponent, isStandalone: true, selector: "igx-excel-style-header", inputs: { showPinning: ["showPinning", "showPinning", booleanAttribute], showSelecting: ["showSelecting", "showSelecting", booleanAttribute], showHiding: ["showHiding", "showHiding", booleanAttribute] }, ngImport: i0, template: "@if (esf.column) {\n <header class=\"igx-excel-filter__menu-header\">\n <h4 data-no-typography>{{ esf.column.header || esf.column.field }}</h4>\n <div class=\"igx-excel-filter__menu-header-actions\">\n @if (showSelecting) {\n <button\n type=\"button\"\n igxIconButton=\"flat\"\n (click)=\"esf.onSelect()\"\n [ngClass]=\"esf.column.selected ? 'igx-excel-filter__actions-selected' : 'igx-excel-filter__actions-select'\"\n [attr.aria-label]=\"esf.column.selected ? esf.grid.resourceStrings.igx_grid_excel_deselect : esf.grid.resourceStrings.igx_grid_excel_select\"\n >\n <igx-icon family=\"default\" name=\"selected\"></igx-icon>\n </button>\n }\n @if (showPinning) {\n <button\n type=\"button\"\n igxIconButton=\"flat\"\n (click)=\"esf.onPin()\"\n [attr.aria-label]=\"esf.column.pinned ? esf.grid.resourceStrings.igx_grid_excel_unpin : esf.grid.resourceStrings.igx_grid_excel_pin\"\n >\n <igx-icon family=\"default\" [name]=\"esf.column.pinned ? 'unpin' : 'pin'\"></igx-icon>\n </button>\n }\n @if (showHiding) {\n <button\n type=\"button\"\n igxIconButton=\"flat\"\n (click)=\"esf.onHideToggle()\"\n [attr.aria-label]=\"esf.column.hidden ? esf.grid.resourceStrings.igx_grid_excel_show : esf.grid.resourceStrings.igx_grid_excel_hide\"\n >\n <igx-icon family=\"default\" [name]=\"esf.column.hidden ? 'show' : 'hide'\"></igx-icon>\n </button>\n }\n </div>\n </header>\n}\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: IgxIconComponent, selector: "igx-icon", inputs: ["ariaHidden", "family", "name", "active"] }, { kind: "directive", type: IgxIconButtonDirective, selector: "[igxIconButton]", inputs: ["igxIconButton"] }], changeDetection: i0.ChangeDetectionStrategy.Eager }); }
|
|
8110
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.1", type: IgxExcelStyleHeaderComponent, isStandalone: true, selector: "igx-excel-style-header", inputs: { showPinning: ["showPinning", "showPinning", booleanAttribute], showSelecting: ["showSelecting", "showSelecting", booleanAttribute], showHiding: ["showHiding", "showHiding", booleanAttribute] }, ngImport: i0, template: "@if (esf.column) {\n <header class=\"igx-excel-filter__menu-header\">\n <h4 data-no-typography>{{ esf.column.header || esf.column.field }}</h4>\n <div class=\"igx-excel-filter__menu-header-actions\">\n @if (showSelecting) {\n <button\n type=\"button\"\n igxIconButton=\"flat\"\n (click)=\"esf.onSelect($event)\"\n [ngClass]=\"esf.column.selected ? 'igx-excel-filter__actions-selected' : 'igx-excel-filter__actions-select'\"\n [attr.aria-label]=\"esf.column.selected ? esf.grid.resourceStrings.igx_grid_excel_deselect : esf.grid.resourceStrings.igx_grid_excel_select\"\n >\n <igx-icon family=\"default\" name=\"selected\"></igx-icon>\n </button>\n }\n @if (showPinning) {\n <button\n type=\"button\"\n igxIconButton=\"flat\"\n (click)=\"esf.onPin()\"\n [attr.aria-label]=\"esf.column.pinned ? esf.grid.resourceStrings.igx_grid_excel_unpin : esf.grid.resourceStrings.igx_grid_excel_pin\"\n >\n <igx-icon family=\"default\" [name]=\"esf.column.pinned ? 'unpin' : 'pin'\"></igx-icon>\n </button>\n }\n @if (showHiding) {\n <button\n type=\"button\"\n igxIconButton=\"flat\"\n (click)=\"esf.onHideToggle()\"\n [attr.aria-label]=\"esf.column.hidden ? esf.grid.resourceStrings.igx_grid_excel_show : esf.grid.resourceStrings.igx_grid_excel_hide\"\n >\n <igx-icon family=\"default\" [name]=\"esf.column.hidden ? 'show' : 'hide'\"></igx-icon>\n </button>\n }\n </div>\n </header>\n}\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: IgxIconComponent, selector: "igx-icon", inputs: ["ariaHidden", "family", "name", "active"] }, { kind: "directive", type: IgxIconButtonDirective, selector: "[igxIconButton]", inputs: ["igxIconButton"] }], changeDetection: i0.ChangeDetectionStrategy.Eager }); }
|
|
8406
8111
|
}
|
|
8407
8112
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.1", ngImport: i0, type: IgxExcelStyleHeaderComponent, decorators: [{
|
|
8408
8113
|
type: Component,
|
|
8409
|
-
args: [{ selector: 'igx-excel-style-header', changeDetection: ChangeDetectionStrategy.Eager, imports: [NgClass, IgxIconComponent, IgxIconButtonDirective], template: "@if (esf.column) {\n <header class=\"igx-excel-filter__menu-header\">\n <h4 data-no-typography>{{ esf.column.header || esf.column.field }}</h4>\n <div class=\"igx-excel-filter__menu-header-actions\">\n @if (showSelecting) {\n <button\n type=\"button\"\n igxIconButton=\"flat\"\n (click)=\"esf.onSelect()\"\n [ngClass]=\"esf.column.selected ? 'igx-excel-filter__actions-selected' : 'igx-excel-filter__actions-select'\"\n [attr.aria-label]=\"esf.column.selected ? esf.grid.resourceStrings.igx_grid_excel_deselect : esf.grid.resourceStrings.igx_grid_excel_select\"\n >\n <igx-icon family=\"default\" name=\"selected\"></igx-icon>\n </button>\n }\n @if (showPinning) {\n <button\n type=\"button\"\n igxIconButton=\"flat\"\n (click)=\"esf.onPin()\"\n [attr.aria-label]=\"esf.column.pinned ? esf.grid.resourceStrings.igx_grid_excel_unpin : esf.grid.resourceStrings.igx_grid_excel_pin\"\n >\n <igx-icon family=\"default\" [name]=\"esf.column.pinned ? 'unpin' : 'pin'\"></igx-icon>\n </button>\n }\n @if (showHiding) {\n <button\n type=\"button\"\n igxIconButton=\"flat\"\n (click)=\"esf.onHideToggle()\"\n [attr.aria-label]=\"esf.column.hidden ? esf.grid.resourceStrings.igx_grid_excel_show : esf.grid.resourceStrings.igx_grid_excel_hide\"\n >\n <igx-icon family=\"default\" [name]=\"esf.column.hidden ? 'show' : 'hide'\"></igx-icon>\n </button>\n }\n </div>\n </header>\n}\n" }]
|
|
8114
|
+
args: [{ selector: 'igx-excel-style-header', changeDetection: ChangeDetectionStrategy.Eager, imports: [NgClass, IgxIconComponent, IgxIconButtonDirective], template: "@if (esf.column) {\n <header class=\"igx-excel-filter__menu-header\">\n <h4 data-no-typography>{{ esf.column.header || esf.column.field }}</h4>\n <div class=\"igx-excel-filter__menu-header-actions\">\n @if (showSelecting) {\n <button\n type=\"button\"\n igxIconButton=\"flat\"\n (click)=\"esf.onSelect($event)\"\n [ngClass]=\"esf.column.selected ? 'igx-excel-filter__actions-selected' : 'igx-excel-filter__actions-select'\"\n [attr.aria-label]=\"esf.column.selected ? esf.grid.resourceStrings.igx_grid_excel_deselect : esf.grid.resourceStrings.igx_grid_excel_select\"\n >\n <igx-icon family=\"default\" name=\"selected\"></igx-icon>\n </button>\n }\n @if (showPinning) {\n <button\n type=\"button\"\n igxIconButton=\"flat\"\n (click)=\"esf.onPin()\"\n [attr.aria-label]=\"esf.column.pinned ? esf.grid.resourceStrings.igx_grid_excel_unpin : esf.grid.resourceStrings.igx_grid_excel_pin\"\n >\n <igx-icon family=\"default\" [name]=\"esf.column.pinned ? 'unpin' : 'pin'\"></igx-icon>\n </button>\n }\n @if (showHiding) {\n <button\n type=\"button\"\n igxIconButton=\"flat\"\n (click)=\"esf.onHideToggle()\"\n [attr.aria-label]=\"esf.column.hidden ? esf.grid.resourceStrings.igx_grid_excel_show : esf.grid.resourceStrings.igx_grid_excel_hide\"\n >\n <igx-icon family=\"default\" [name]=\"esf.column.hidden ? 'show' : 'hide'\"></igx-icon>\n </button>\n }\n </div>\n </header>\n}\n" }]
|
|
8410
8115
|
}], propDecorators: { showPinning: [{
|
|
8411
8116
|
type: Input,
|
|
8412
8117
|
args: [{ transform: booleanAttribute }]
|
|
@@ -8445,7 +8150,7 @@ class IgxExcelStyleMovingComponent {
|
|
|
8445
8150
|
this.defaultClass = true;
|
|
8446
8151
|
}
|
|
8447
8152
|
get visibleColumns() {
|
|
8448
|
-
return this.esf.grid.visibleColumns.filter(col => !col.columnGroup);
|
|
8153
|
+
return this.esf.grid.visibleColumns.filter((col) => !col.columnGroup);
|
|
8449
8154
|
}
|
|
8450
8155
|
/**
|
|
8451
8156
|
* @hidden @internal
|
|
@@ -8497,7 +8202,9 @@ class IgxExcelStyleMovingComponent {
|
|
|
8497
8202
|
else {
|
|
8498
8203
|
targetColumn = this.findColumn(moveDirection, this.esf.grid.unpinnedColumns);
|
|
8499
8204
|
}
|
|
8500
|
-
|
|
8205
|
+
if (targetColumn) {
|
|
8206
|
+
this.esf.grid.moveColumn(this.esf.column, targetColumn, moveDirection);
|
|
8207
|
+
}
|
|
8501
8208
|
}
|
|
8502
8209
|
get esfSize() {
|
|
8503
8210
|
const esf = this.esf;
|
|
@@ -8648,6 +8355,10 @@ class IgxExcelStyleSearchComponent {
|
|
|
8648
8355
|
* @hidden @internal
|
|
8649
8356
|
*/
|
|
8650
8357
|
this.displayedListData = [];
|
|
8358
|
+
/**
|
|
8359
|
+
* @hidden @internal
|
|
8360
|
+
*/
|
|
8361
|
+
this.matchesCount = 0;
|
|
8651
8362
|
this.activeDescendant = '';
|
|
8652
8363
|
this._id = `igx-excel-style-search-${NEXT_ID++}`;
|
|
8653
8364
|
this._isLoading = true;
|
|
@@ -8825,7 +8536,7 @@ class IgxExcelStyleSearchComponent {
|
|
|
8825
8536
|
// GE Nov 1st, 2021 #10355 Keep a numeric value so the chunk size is calculated properly.
|
|
8826
8537
|
// A 0 (instead of undefined) makes _calculateChunkSize() off the ForOfDirective behave.
|
|
8827
8538
|
this._containerSize = this.esf.listData.length
|
|
8828
|
-
? (this.list?.element.nativeElement.
|
|
8539
|
+
? (this.list?.element.nativeElement.clientHeight ?? 0)
|
|
8829
8540
|
: 0;
|
|
8830
8541
|
}
|
|
8831
8542
|
get id() {
|
|
@@ -9054,7 +8765,7 @@ class IgxExcelStyleSearchComponent {
|
|
|
9054
8765
|
if (this.esf.column.filteringIgnoreCase && !this.isHierarchical() && !this.isTreeGridWithGroupBy() && !this.isRemote()) {
|
|
9055
8766
|
const selectedValues = new Set(selectedItems.map(item => item.value.toLowerCase()));
|
|
9056
8767
|
searchVal = new Set();
|
|
9057
|
-
this.esf.grid.data
|
|
8768
|
+
this.esf.grid.data?.forEach((item) => {
|
|
9058
8769
|
const fieldPaths = columnFieldPath(this.esf.column.field);
|
|
9059
8770
|
const itemValue = resolveNestedPath(item, fieldPaths);
|
|
9060
8771
|
if (typeof itemValue === "string" && selectedValues.has(itemValue.toLowerCase())) {
|
|
@@ -9325,11 +9036,11 @@ class IgxExcelStyleSearchComponent {
|
|
|
9325
9036
|
return this.esf.grid.verticalScrollContainer.isRemote || this.esf.grid.pagingMode === GridPagingMode.Remote;
|
|
9326
9037
|
}
|
|
9327
9038
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.1", ngImport: i0, type: IgxExcelStyleSearchComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
9328
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.1", type: IgxExcelStyleSearchComponent, isStandalone: true, selector: "igx-excel-style-search", inputs: { id: "id" }, host: { properties: { "class.igx-excel-filter__menu-main": "this.defaultClass", "attr.id": "this.id" } }, viewQueries: [{ propertyName: "searchInput", first: true, predicate: ["input"], descendants: true, read: IgxInputDirective, static: true }, { propertyName: "cancelButton", first: true, predicate: ["cancelButton"], descendants: true, read: IgxButtonDirective, static: true }, { propertyName: "list", first: true, predicate: ["list"], descendants: true, read: IgxListComponent }, { propertyName: "selectAllCheckbox", first: true, predicate: ["selectAllCheckbox"], descendants: true, read: IgxCheckboxComponent }, { propertyName: "addToCurrentFilterCheckbox", first: true, predicate: ["addToCurrentFilterCheckbox"], descendants: true, read: IgxCheckboxComponent }, { propertyName: "tree", first: true, predicate: ["tree"], descendants: true, read: IgxTreeComponent }, { propertyName: "virtDir", first: true, predicate: IgxForOfDirective, descendants: true }, { propertyName: "defaultExcelStyleLoadingValuesTemplate", first: true, predicate: ["defaultExcelStyleLoadingValuesTemplate"], descendants: true, read: TemplateRef }], ngImport: i0, template: "<igx-input-group type=\"box\">\n <igx-icon igxPrefix family=\"default\" name=\"search\"></igx-icon>\n <input\n #input\n igxInput\n tabindex=\"0\"\n [(ngModel)]=\"searchValue\"\n (ngModelChange)=\"filterListData()\"\n (keydown)=\"onInputKeyDown($event)\"\n [placeholder]=\"\n esf.column?.grid.resourceStrings.igx_grid_excel_search_placeholder\n \"\n autocomplete=\"off\"\n />\n @if (searchValue || searchValue === 0) {\n <igx-suffix>\n <igx-icon\n family=\"default\"\n name=\"input_clear\"\n (click)=\"clearInput()\"\n tabindex=\"0\"\n >\n </igx-icon>\n </igx-suffix>\n }\n</igx-input-group>\n\n@if (!isHierarchical()) {\n <igx-list\n #list\n role=\"listbox\"\n [isLoading]=\"isLoading\"\n (keydown)=\"handleKeyDown($event)\"\n tabindex=\"0\"\n [attr.aria-activedescendant]=\"this.activeDescendant\"\n (focus)=\"onFocus()\"\n (focusout)=\"onFocusOut()\"\n >\n <div style=\"overflow: hidden; position: relative\">\n <igx-list-item\n [class.igx-list__item-base--active]=\"\n focusedItem?.id === this.getItemId(i)\n \"\n [attr.id]=\"getItemId(i)\"\n role=\"option\"\n *igxFor=\"\n let item of displayedListData;\n index as i;\n scrollOrientation: 'vertical';\n containerSize: containerSize;\n itemSize: itemSize\n \"\n >\n <igx-checkbox\n [value]=\"item\"\n [tabindex]=\"-1\"\n [checked]=\"$safeNavigationMigration(item?.isSelected)\"\n [disableRipple]=\"true\"\n [indeterminate]=\"$safeNavigationMigration(item?.indeterminate)\"\n [disableTransitions]=\"true\"\n (change)=\"onCheckboxChange($event)\"\n >\n {{ item.label }}\n </igx-checkbox>\n </igx-list-item>\n </div>\n <ng-template igxDataLoading>\n <div class=\"igx-excel-filter__loading\">\n <ng-container *ngTemplateOutlet=\"valuesLoadingTemplate\"> </ng-container>\n </div>\n </ng-template>\n <ng-template igxEmptyList>\n <ng-container *ngTemplateOutlet=\"emptySearch\"></ng-container>\n </ng-template>\n <div\n class=\"igx-excel-filter__filter-results\"\n aria-live=\"polite\"\n aria-atomic=\"true\"\n >\n {{\n esf.grid?.resourceStrings.igx_grid_excel_matches_count.replace(\n '{0}',\n matchesCount\n )\n }}\n </div>\n </igx-list>\n}\n\n@if (isHierarchical()) {\n <div class=\"igx-excel-filter__tree\">\n @if (!isTreeEmpty()) {\n <div class=\"igx-excel-filter__tree-alike\">\n <div class=\"igx-excel-filter__tree-alike-item\">\n <igx-checkbox\n #selectAllCheckbox\n [value]=\"selectAllItem\"\n [checked]=\"$safeNavigationMigration(selectAllItem?.isSelected)\"\n [disableRipple]=\"true\"\n [indeterminate]=\"\n $safeNavigationMigration(selectAllItem?.indeterminate)\n \"\n [disableTransitions]=\"true\"\n (change)=\"onSelectAllCheckboxChange($event)\"\n >\n {{ selectAllItem.label }}\n </igx-checkbox>\n </div>\n @if (searchValue) {\n <div class=\"igx-excel-filter__tree-alike-item\">\n <igx-checkbox\n #addToCurrentFilterCheckbox\n [value]=\"addToCurrentFilterItem\"\n [checked]=\"addToCurrentFilterItem.isSelected\"\n [disableRipple]=\"true\"\n [disableTransitions]=\"true\"\n >\n {{ addToCurrentFilterItem.label }}\n </igx-checkbox>\n </div>\n }\n </div>\n }\n <igx-tree\n #tree\n selection=\"Cascading\"\n (nodeSelection)=\"onNodeSelectionChange($event)\"\n >\n @for (item of displayedListData; track item.value) {\n <igx-tree-node [data]=\"item\" [selected]=\"item.isSelected\">\n <div>{{ item.label }}</div>\n @for (childLevel1 of item.children; track childLevel1.value) {\n <igx-tree-node\n [data]=\"childLevel1\"\n [selected]=\"childLevel1.isSelected\"\n >\n <div>{{ childLevel1.label }}</div>\n @for (\n childLevel2 of childLevel1.children;\n track childLevel2.value\n ) {\n <igx-tree-node\n [data]=\"childLevel2\"\n [selected]=\"childLevel2.isSelected\"\n >\n <div>{{ childLevel2.label }}</div>\n @for (\n childLevel3 of childLevel2.children;\n track childLevel3.value\n ) {\n <igx-tree-node\n [data]=\"childLevel3\"\n [selected]=\"childLevel3.isSelected\"\n >\n <div>{{ childLevel3.label }}</div>\n @for (\n childLevel4 of childLevel3.children;\n track childLevel4.value\n ) {\n <igx-tree-node\n [data]=\"childLevel4\"\n [selected]=\"childLevel4.isSelected\"\n >\n <div>{{ childLevel4.label }}</div>\n @for (\n childLevel5 of childLevel4.children;\n track childLevel5.value\n ) {\n <igx-tree-node\n [data]=\"childLevel5\"\n [selected]=\"childLevel5.isSelected\"\n >\n <div>{{ childLevel5.label }}</div>\n @for (\n childLevel6 of childLevel5.children;\n track childLevel6.value\n ) {\n <igx-tree-node\n [data]=\"childLevel6\"\n [selected]=\"childLevel6.isSelected\"\n >\n <div>{{ childLevel6.label }}</div>\n @for (\n childLevel7 of childLevel6.children;\n track childLevel7.value\n ) {\n <igx-tree-node\n [data]=\"childLevel7\"\n [selected]=\"childLevel7.isSelected\"\n >\n <div>{{ childLevel7.label }}</div>\n @for (\n childLevel8 of childLevel7.children;\n track childLevel8.value\n ) {\n <igx-tree-node\n [data]=\"childLevel8\"\n [selected]=\"childLevel8.isSelected\"\n >\n <div>{{ childLevel8.label }}</div>\n @for (\n childLevel9 of childLevel8.children;\n track childLevel9.value\n ) {\n <igx-tree-node\n [data]=\"childLevel9\"\n [selected]=\"\n childLevel9.isSelected\n \"\n >\n <div>{{ childLevel9.label }}</div>\n </igx-tree-node>\n }\n </igx-tree-node>\n }\n </igx-tree-node>\n }\n </igx-tree-node>\n }\n </igx-tree-node>\n }\n </igx-tree-node>\n }\n </igx-tree-node>\n }\n </igx-tree-node>\n }\n </igx-tree-node>\n }\n </igx-tree-node>\n }\n </igx-tree>\n <ng-template igxDataLoading>\n <div class=\"igx-excel-filter__loading\">\n <ng-container *ngTemplateOutlet=\"valuesLoadingTemplate\"> </ng-container>\n </div>\n </ng-template>\n @if (isTreeEmpty()) {\n <ng-container *ngTemplateOutlet=\"emptySearch\"></ng-container>\n }\n </div>\n}\n\n<ng-template #emptySearch>\n <div class=\"igx-excel-filter__empty\">\n {{ esf.grid?.resourceStrings.igx_grid_excel_no_matches }}\n </div>\n</ng-template>\n\n<ng-template #defaultExcelStyleLoadingValuesTemplate>\n <igx-circular-bar [indeterminate]=\"true\"> </igx-circular-bar>\n</ng-template>\n\n<footer class=\"igx-excel-filter__menu-footer\">\n <div class=\"igx-excel-filter__cancel\">\n <button type=\"button\" #cancelButton igxButton=\"flat\" (click)=\"esf.cancel()\">\n {{ esf.grid?.resourceStrings.igx_grid_excel_cancel }}\n </button>\n </div>\n <div class=\"igx-excel-filter__apply\">\n <button\n type=\"button\"\n igxButton=\"contained\"\n [disabled]=\"applyButtonDisabled\"\n (click)=\"applyFilter()\"\n >\n {{ esf.grid?.resourceStrings.igx_grid_excel_apply }}\n </button>\n </div>\n</footer>\n", dependencies: [{ kind: "component", type: IgxInputGroupComponent, selector: "igx-input-group", inputs: ["resourceStrings", "suppressInputAutofocus", "type", "theme"] }, { kind: "component", type: IgxIconComponent, selector: "igx-icon", inputs: ["ariaHidden", "family", "name", "active"] }, { kind: "directive", type: IgxPrefixDirective, selector: "[igxPrefix],[igxStart],igx-prefix" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox]):not([ngNoCva])[formControlName],textarea:not([ngNoCva])[formControlName],input:not([type=checkbox]):not([ngNoCva])[formControl],textarea:not([ngNoCva])[formControl],input:not([type=checkbox]):not([ngNoCva])[ngModel],textarea:not([ngNoCva])[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: IgxInputDirective, selector: "[igxInput]", inputs: ["value", "disabled", "required"], exportAs: ["igxInput"] }, { kind: "directive", type: IgxSuffixDirective, selector: "[igxSuffix],[igxEnd],igx-suffix" }, { kind: "component", type: IgxListComponent, selector: "igx-list", inputs: ["panEndTriggeringThreshold", "id", "allowLeftPanning", "allowRightPanning", "isLoading", "resourceStrings", "role"], outputs: ["leftPan", "rightPan", "startPan", "endPan", "resetPan", "panStateChange", "itemClicked"] }, { kind: "directive", type: IgxForOfDirective, selector: "[igxFor][igxForOf]", inputs: ["igxForOf", "igxForSizePropName", "igxForScrollOrientation", "igxForScrollContainer", "igxForContainerSize", "igxForInitialChunkSize", "igxForItemSize", "igxForTotalItemCount", "igxForTrackBy"], outputs: ["chunkLoad", "scrollbarVisibilityChanged", "chunkSizeChange", "contentSizeChange", "dataChanged", "beforeViewDestroyed", "chunkPreload"] }, { kind: "component", type: IgxListItemComponent, selector: "igx-list-item", inputs: ["isHeader", "hidden", "index", "role", "selected"] }, { kind: "component", type: IgxCheckboxComponent, selector: "igx-checkbox", inputs: ["indeterminate", "checked", "disabled", "invalid", "readonly", "disableTransitions"] }, { kind: "directive", type: IgxDataLoadingTemplateDirective, selector: "[igxDataLoading]" }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: IgxEmptyListTemplateDirective, selector: "[igxEmptyList]" }, { kind: "component", type: IgxTreeComponent, selector: "igx-tree", inputs: ["selection", "singleBranchExpand", "toggleNodeOnClick", "animationSettings"], outputs: ["nodeSelection", "nodeExpanding", "nodeExpanded", "nodeCollapsing", "nodeCollapsed", "activeNodeChanged"] }, { kind: "component", type: IgxTreeNodeComponent, selector: "igx-tree-node", inputs: ["data", "loading", "resourceStrings", "active", "disabled", "selected", "expanded"], outputs: ["selectedChange", "expandedChange"] }, { kind: "component", type: IgxCircularProgressBarComponent, selector: "igx-circular-bar", inputs: ["id", "textVisibility", "type"] }, { kind: "directive", type: IgxButtonDirective, selector: "[igxButton]", inputs: ["selected", "igxButton", "igxLabel"], outputs: ["buttonSelected"] }], changeDetection: i0.ChangeDetectionStrategy.Eager }); }
|
|
9039
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.1", type: IgxExcelStyleSearchComponent, isStandalone: true, selector: "igx-excel-style-search", inputs: { id: "id" }, host: { properties: { "class.igx-excel-filter__menu-main": "this.defaultClass", "attr.id": "this.id" } }, viewQueries: [{ propertyName: "searchInput", first: true, predicate: ["input"], descendants: true, read: IgxInputDirective, static: true }, { propertyName: "cancelButton", first: true, predicate: ["cancelButton"], descendants: true, read: IgxButtonDirective, static: true }, { propertyName: "list", first: true, predicate: ["list"], descendants: true, read: IgxListComponent }, { propertyName: "selectAllCheckbox", first: true, predicate: ["selectAllCheckbox"], descendants: true, read: IgxCheckboxComponent }, { propertyName: "addToCurrentFilterCheckbox", first: true, predicate: ["addToCurrentFilterCheckbox"], descendants: true, read: IgxCheckboxComponent }, { propertyName: "tree", first: true, predicate: ["tree"], descendants: true, read: IgxTreeComponent }, { propertyName: "virtDir", first: true, predicate: IgxForOfDirective, descendants: true }, { propertyName: "defaultExcelStyleLoadingValuesTemplate", first: true, predicate: ["defaultExcelStyleLoadingValuesTemplate"], descendants: true, read: TemplateRef }], ngImport: i0, template: "<igx-input-group type=\"box\">\n <igx-icon igxPrefix family=\"default\" name=\"search\"></igx-icon>\n <input\n #input\n igxInput\n tabindex=\"0\"\n [(ngModel)]=\"searchValue\"\n (ngModelChange)=\"filterListData()\"\n (keydown)=\"onInputKeyDown($event)\"\n [placeholder]=\"\n esf.column?.grid.resourceStrings.igx_grid_excel_search_placeholder\n \"\n autocomplete=\"off\"\n />\n @if (searchValue || searchValue === 0) {\n <igx-suffix>\n <igx-icon\n family=\"default\"\n name=\"input_clear\"\n (click)=\"clearInput()\"\n tabindex=\"0\"\n >\n </igx-icon>\n </igx-suffix>\n }\n</igx-input-group>\n\n@if (!isHierarchical()) {\n <igx-list\n #list\n role=\"listbox\"\n [isLoading]=\"isLoading\"\n (keydown)=\"handleKeyDown($event)\"\n tabindex=\"0\"\n [attr.aria-activedescendant]=\"this.activeDescendant\"\n (focus)=\"onFocus()\"\n (focusout)=\"onFocusOut()\"\n >\n <div style=\"overflow: hidden; position: relative\">\n <igx-list-item\n [class.igx-list__item-base--active]=\"\n focusedItem?.id === this.getItemId(i)\n \"\n [attr.id]=\"getItemId(i)\"\n role=\"option\"\n *igxFor=\"\n let item of displayedListData;\n index as i;\n scrollOrientation: 'vertical';\n containerSize: containerSize;\n itemSize: itemSize\n \"\n >\n <igx-checkbox\n [value]=\"item\"\n [tabindex]=\"-1\"\n [checked]=\"$safeNavigationMigration(item?.isSelected)\"\n [disableRipple]=\"true\"\n [indeterminate]=\"$safeNavigationMigration(item?.indeterminate)\"\n [disableTransitions]=\"true\"\n (change)=\"onCheckboxChange($event)\"\n >\n {{ item.label }}\n </igx-checkbox>\n </igx-list-item>\n </div>\n <ng-template igxDataLoading>\n <div class=\"igx-excel-filter__loading\">\n <ng-container *ngTemplateOutlet=\"valuesLoadingTemplate\"> </ng-container>\n </div>\n </ng-template>\n <ng-template igxEmptyList>\n <ng-container *ngTemplateOutlet=\"emptySearch\"></ng-container>\n </ng-template>\n <div\n class=\"igx-excel-filter__filter-results\"\n aria-live=\"polite\"\n aria-atomic=\"true\"\n >\n {{\n esf.grid?.resourceStrings.igx_grid_excel_matches_count ? \n esf.grid?.resourceStrings.igx_grid_excel_matches_count.replace(\n '{0}',\n matchesCount.toString()\n ) : ''\n }}\n </div>\n </igx-list>\n}\n\n@if (isHierarchical()) {\n <div class=\"igx-excel-filter__tree\">\n @if (!isTreeEmpty()) {\n <div class=\"igx-excel-filter__tree-alike\">\n <div class=\"igx-excel-filter__tree-alike-item\">\n <igx-checkbox\n #selectAllCheckbox\n [value]=\"selectAllItem\"\n [checked]=\"selectAllItem?.isSelected\"\n [disableRipple]=\"true\"\n [indeterminate]=\"selectAllItem?.indeterminate\"\n [disableTransitions]=\"true\"\n (change)=\"onSelectAllCheckboxChange($event)\"\n >\n {{ selectAllItem.label }}\n </igx-checkbox>\n </div>\n @if (searchValue) {\n <div class=\"igx-excel-filter__tree-alike-item\">\n <igx-checkbox\n #addToCurrentFilterCheckbox\n [value]=\"addToCurrentFilterItem\"\n [checked]=\"addToCurrentFilterItem.isSelected\"\n [disableRipple]=\"true\"\n [disableTransitions]=\"true\"\n >\n {{ addToCurrentFilterItem.label }}\n </igx-checkbox>\n </div>\n }\n </div>\n }\n <igx-tree\n #tree\n selection=\"Cascading\"\n (nodeSelection)=\"onNodeSelectionChange($event)\"\n >\n @for (item of displayedListData; track item.value) {\n <igx-tree-node [data]=\"item\" [selected]=\"item.isSelected\">\n <div>{{ item.label }}</div>\n @for (childLevel1 of item.children; track childLevel1.value) {\n <igx-tree-node\n [data]=\"childLevel1\"\n [selected]=\"childLevel1.isSelected\"\n >\n <div>{{ childLevel1.label }}</div>\n @for (\n childLevel2 of childLevel1.children;\n track childLevel2.value\n ) {\n <igx-tree-node\n [data]=\"childLevel2\"\n [selected]=\"childLevel2.isSelected\"\n >\n <div>{{ childLevel2.label }}</div>\n @for (\n childLevel3 of childLevel2.children;\n track childLevel3.value\n ) {\n <igx-tree-node\n [data]=\"childLevel3\"\n [selected]=\"childLevel3.isSelected\"\n >\n <div>{{ childLevel3.label }}</div>\n @for (\n childLevel4 of childLevel3.children;\n track childLevel4.value\n ) {\n <igx-tree-node\n [data]=\"childLevel4\"\n [selected]=\"childLevel4.isSelected\"\n >\n <div>{{ childLevel4.label }}</div>\n @for (\n childLevel5 of childLevel4.children;\n track childLevel5.value\n ) {\n <igx-tree-node\n [data]=\"childLevel5\"\n [selected]=\"childLevel5.isSelected\"\n >\n <div>{{ childLevel5.label }}</div>\n @for (\n childLevel6 of childLevel5.children;\n track childLevel6.value\n ) {\n <igx-tree-node\n [data]=\"childLevel6\"\n [selected]=\"childLevel6.isSelected\"\n >\n <div>{{ childLevel6.label }}</div>\n @for (\n childLevel7 of childLevel6.children;\n track childLevel7.value\n ) {\n <igx-tree-node\n [data]=\"childLevel7\"\n [selected]=\"childLevel7.isSelected\"\n >\n <div>{{ childLevel7.label }}</div>\n @for (\n childLevel8 of childLevel7.children;\n track childLevel8.value\n ) {\n <igx-tree-node\n [data]=\"childLevel8\"\n [selected]=\"childLevel8.isSelected\"\n >\n <div>{{ childLevel8.label }}</div>\n @for (\n childLevel9 of childLevel8.children;\n track childLevel9.value\n ) {\n <igx-tree-node\n [data]=\"childLevel9\"\n [selected]=\"\n childLevel9.isSelected\n \"\n >\n <div>{{ childLevel9.label }}</div>\n </igx-tree-node>\n }\n </igx-tree-node>\n }\n </igx-tree-node>\n }\n </igx-tree-node>\n }\n </igx-tree-node>\n }\n </igx-tree-node>\n }\n </igx-tree-node>\n }\n </igx-tree-node>\n }\n </igx-tree-node>\n }\n </igx-tree-node>\n }\n </igx-tree>\n <ng-template igxDataLoading>\n <div class=\"igx-excel-filter__loading\">\n <ng-container *ngTemplateOutlet=\"valuesLoadingTemplate\"> </ng-container>\n </div>\n </ng-template>\n @if (isTreeEmpty()) {\n <ng-container *ngTemplateOutlet=\"emptySearch\"></ng-container>\n }\n </div>\n}\n\n<ng-template #emptySearch>\n <div class=\"igx-excel-filter__empty\">\n {{ esf.grid?.resourceStrings.igx_grid_excel_no_matches }}\n </div>\n</ng-template>\n\n<ng-template #defaultExcelStyleLoadingValuesTemplate>\n <igx-circular-bar [indeterminate]=\"true\"> </igx-circular-bar>\n</ng-template>\n\n<footer class=\"igx-excel-filter__menu-footer\">\n <div class=\"igx-excel-filter__cancel\">\n <button type=\"button\" #cancelButton igxButton=\"flat\" (click)=\"esf.cancel()\">\n {{ esf.grid?.resourceStrings.igx_grid_excel_cancel }}\n </button>\n </div>\n <div class=\"igx-excel-filter__apply\">\n <button\n type=\"button\"\n igxButton=\"contained\"\n [disabled]=\"applyButtonDisabled\"\n (click)=\"applyFilter()\"\n >\n {{ esf.grid?.resourceStrings.igx_grid_excel_apply }}\n </button>\n </div>\n</footer>\n", dependencies: [{ kind: "component", type: IgxInputGroupComponent, selector: "igx-input-group", inputs: ["resourceStrings", "suppressInputAutofocus", "type", "theme"] }, { kind: "component", type: IgxIconComponent, selector: "igx-icon", inputs: ["ariaHidden", "family", "name", "active"] }, { kind: "directive", type: IgxPrefixDirective, selector: "[igxPrefix],[igxStart],igx-prefix" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox]):not([ngNoCva])[formControlName],textarea:not([ngNoCva])[formControlName],input:not([type=checkbox]):not([ngNoCva])[formControl],textarea:not([ngNoCva])[formControl],input:not([type=checkbox]):not([ngNoCva])[ngModel],textarea:not([ngNoCva])[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: IgxInputDirective, selector: "[igxInput]", inputs: ["value", "disabled", "required"], exportAs: ["igxInput"] }, { kind: "directive", type: IgxSuffixDirective, selector: "[igxSuffix],[igxEnd],igx-suffix" }, { kind: "component", type: IgxListComponent, selector: "igx-list", inputs: ["panEndTriggeringThreshold", "id", "allowLeftPanning", "allowRightPanning", "isLoading", "resourceStrings", "role"], outputs: ["leftPan", "rightPan", "startPan", "endPan", "resetPan", "panStateChange", "itemClicked"] }, { kind: "directive", type: IgxForOfDirective, selector: "[igxFor][igxForOf]", inputs: ["igxForOf", "igxForSizePropName", "igxForScrollOrientation", "igxForScrollContainer", "igxForContainerSize", "igxForInitialChunkSize", "igxForItemSize", "igxForTotalItemCount", "igxForTrackBy"], outputs: ["chunkLoad", "scrollbarVisibilityChanged", "chunkSizeChange", "contentSizeChange", "dataChanged", "beforeViewDestroyed", "chunkPreload"] }, { kind: "component", type: IgxListItemComponent, selector: "igx-list-item", inputs: ["isHeader", "hidden", "index", "role", "selected"] }, { kind: "component", type: IgxCheckboxComponent, selector: "igx-checkbox", inputs: ["indeterminate", "checked", "disabled", "invalid", "readonly", "disableTransitions"] }, { kind: "directive", type: IgxDataLoadingTemplateDirective, selector: "[igxDataLoading]" }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: IgxEmptyListTemplateDirective, selector: "[igxEmptyList]" }, { kind: "component", type: IgxTreeComponent, selector: "igx-tree", inputs: ["selection", "singleBranchExpand", "toggleNodeOnClick", "animationSettings"], outputs: ["nodeSelection", "nodeExpanding", "nodeExpanded", "nodeCollapsing", "nodeCollapsed", "activeNodeChanged"] }, { kind: "component", type: IgxTreeNodeComponent, selector: "igx-tree-node", inputs: ["data", "loading", "resourceStrings", "active", "disabled", "selected", "expanded"], outputs: ["selectedChange", "expandedChange"] }, { kind: "component", type: IgxCircularProgressBarComponent, selector: "igx-circular-bar", inputs: ["id", "textVisibility", "type"] }, { kind: "directive", type: IgxButtonDirective, selector: "[igxButton]", inputs: ["selected", "igxButton", "igxLabel"], outputs: ["buttonSelected"] }], changeDetection: i0.ChangeDetectionStrategy.Eager }); }
|
|
9329
9040
|
}
|
|
9330
9041
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.1", ngImport: i0, type: IgxExcelStyleSearchComponent, decorators: [{
|
|
9331
9042
|
type: Component,
|
|
9332
|
-
args: [{ selector: 'igx-excel-style-search', changeDetection: ChangeDetectionStrategy.Eager, imports: [IgxInputGroupComponent, IgxIconComponent, IgxPrefixDirective, FormsModule, IgxInputDirective, IgxSuffixDirective, IgxListComponent, IgxForOfDirective, IgxListItemComponent, IgxCheckboxComponent, IgxDataLoadingTemplateDirective, NgTemplateOutlet, IgxEmptyListTemplateDirective, IgxTreeComponent, IgxTreeNodeComponent, IgxCircularProgressBarComponent, IgxButtonDirective], template: "<igx-input-group type=\"box\">\n <igx-icon igxPrefix family=\"default\" name=\"search\"></igx-icon>\n <input\n #input\n igxInput\n tabindex=\"0\"\n [(ngModel)]=\"searchValue\"\n (ngModelChange)=\"filterListData()\"\n (keydown)=\"onInputKeyDown($event)\"\n [placeholder]=\"\n esf.column?.grid.resourceStrings.igx_grid_excel_search_placeholder\n \"\n autocomplete=\"off\"\n />\n @if (searchValue || searchValue === 0) {\n <igx-suffix>\n <igx-icon\n family=\"default\"\n name=\"input_clear\"\n (click)=\"clearInput()\"\n tabindex=\"0\"\n >\n </igx-icon>\n </igx-suffix>\n }\n</igx-input-group>\n\n@if (!isHierarchical()) {\n <igx-list\n #list\n role=\"listbox\"\n [isLoading]=\"isLoading\"\n (keydown)=\"handleKeyDown($event)\"\n tabindex=\"0\"\n [attr.aria-activedescendant]=\"this.activeDescendant\"\n (focus)=\"onFocus()\"\n (focusout)=\"onFocusOut()\"\n >\n <div style=\"overflow: hidden; position: relative\">\n <igx-list-item\n [class.igx-list__item-base--active]=\"\n focusedItem?.id === this.getItemId(i)\n \"\n [attr.id]=\"getItemId(i)\"\n role=\"option\"\n *igxFor=\"\n let item of displayedListData;\n index as i;\n scrollOrientation: 'vertical';\n containerSize: containerSize;\n itemSize: itemSize\n \"\n >\n <igx-checkbox\n [value]=\"item\"\n [tabindex]=\"-1\"\n [checked]=\"$safeNavigationMigration(item?.isSelected)\"\n [disableRipple]=\"true\"\n [indeterminate]=\"$safeNavigationMigration(item?.indeterminate)\"\n [disableTransitions]=\"true\"\n (change)=\"onCheckboxChange($event)\"\n >\n {{ item.label }}\n </igx-checkbox>\n </igx-list-item>\n </div>\n <ng-template igxDataLoading>\n <div class=\"igx-excel-filter__loading\">\n <ng-container *ngTemplateOutlet=\"valuesLoadingTemplate\"> </ng-container>\n </div>\n </ng-template>\n <ng-template igxEmptyList>\n <ng-container *ngTemplateOutlet=\"emptySearch\"></ng-container>\n </ng-template>\n <div\n class=\"igx-excel-filter__filter-results\"\n aria-live=\"polite\"\n aria-atomic=\"true\"\n >\n {{\n esf.grid?.resourceStrings.igx_grid_excel_matches_count.replace(\n '{0}',\n matchesCount\n )\n }}\n </div>\n </igx-list>\n}\n\n@if (isHierarchical()) {\n <div class=\"igx-excel-filter__tree\">\n @if (!isTreeEmpty()) {\n <div class=\"igx-excel-filter__tree-alike\">\n <div class=\"igx-excel-filter__tree-alike-item\">\n <igx-checkbox\n #selectAllCheckbox\n [value]=\"selectAllItem\"\n [checked]=\"$safeNavigationMigration(selectAllItem?.isSelected)\"\n [disableRipple]=\"true\"\n [indeterminate]=\"\n $safeNavigationMigration(selectAllItem?.indeterminate)\n \"\n [disableTransitions]=\"true\"\n (change)=\"onSelectAllCheckboxChange($event)\"\n >\n {{ selectAllItem.label }}\n </igx-checkbox>\n </div>\n @if (searchValue) {\n <div class=\"igx-excel-filter__tree-alike-item\">\n <igx-checkbox\n #addToCurrentFilterCheckbox\n [value]=\"addToCurrentFilterItem\"\n [checked]=\"addToCurrentFilterItem.isSelected\"\n [disableRipple]=\"true\"\n [disableTransitions]=\"true\"\n >\n {{ addToCurrentFilterItem.label }}\n </igx-checkbox>\n </div>\n }\n </div>\n }\n <igx-tree\n #tree\n selection=\"Cascading\"\n (nodeSelection)=\"onNodeSelectionChange($event)\"\n >\n @for (item of displayedListData; track item.value) {\n <igx-tree-node [data]=\"item\" [selected]=\"item.isSelected\">\n <div>{{ item.label }}</div>\n @for (childLevel1 of item.children; track childLevel1.value) {\n <igx-tree-node\n [data]=\"childLevel1\"\n [selected]=\"childLevel1.isSelected\"\n >\n <div>{{ childLevel1.label }}</div>\n @for (\n childLevel2 of childLevel1.children;\n track childLevel2.value\n ) {\n <igx-tree-node\n [data]=\"childLevel2\"\n [selected]=\"childLevel2.isSelected\"\n >\n <div>{{ childLevel2.label }}</div>\n @for (\n childLevel3 of childLevel2.children;\n track childLevel3.value\n ) {\n <igx-tree-node\n [data]=\"childLevel3\"\n [selected]=\"childLevel3.isSelected\"\n >\n <div>{{ childLevel3.label }}</div>\n @for (\n childLevel4 of childLevel3.children;\n track childLevel4.value\n ) {\n <igx-tree-node\n [data]=\"childLevel4\"\n [selected]=\"childLevel4.isSelected\"\n >\n <div>{{ childLevel4.label }}</div>\n @for (\n childLevel5 of childLevel4.children;\n track childLevel5.value\n ) {\n <igx-tree-node\n [data]=\"childLevel5\"\n [selected]=\"childLevel5.isSelected\"\n >\n <div>{{ childLevel5.label }}</div>\n @for (\n childLevel6 of childLevel5.children;\n track childLevel6.value\n ) {\n <igx-tree-node\n [data]=\"childLevel6\"\n [selected]=\"childLevel6.isSelected\"\n >\n <div>{{ childLevel6.label }}</div>\n @for (\n childLevel7 of childLevel6.children;\n track childLevel7.value\n ) {\n <igx-tree-node\n [data]=\"childLevel7\"\n [selected]=\"childLevel7.isSelected\"\n >\n <div>{{ childLevel7.label }}</div>\n @for (\n childLevel8 of childLevel7.children;\n track childLevel8.value\n ) {\n <igx-tree-node\n [data]=\"childLevel8\"\n [selected]=\"childLevel8.isSelected\"\n >\n <div>{{ childLevel8.label }}</div>\n @for (\n childLevel9 of childLevel8.children;\n track childLevel9.value\n ) {\n <igx-tree-node\n [data]=\"childLevel9\"\n [selected]=\"\n childLevel9.isSelected\n \"\n >\n <div>{{ childLevel9.label }}</div>\n </igx-tree-node>\n }\n </igx-tree-node>\n }\n </igx-tree-node>\n }\n </igx-tree-node>\n }\n </igx-tree-node>\n }\n </igx-tree-node>\n }\n </igx-tree-node>\n }\n </igx-tree-node>\n }\n </igx-tree-node>\n }\n </igx-tree-node>\n }\n </igx-tree>\n <ng-template igxDataLoading>\n <div class=\"igx-excel-filter__loading\">\n <ng-container *ngTemplateOutlet=\"valuesLoadingTemplate\"> </ng-container>\n </div>\n </ng-template>\n @if (isTreeEmpty()) {\n <ng-container *ngTemplateOutlet=\"emptySearch\"></ng-container>\n }\n </div>\n}\n\n<ng-template #emptySearch>\n <div class=\"igx-excel-filter__empty\">\n {{ esf.grid?.resourceStrings.igx_grid_excel_no_matches }}\n </div>\n</ng-template>\n\n<ng-template #defaultExcelStyleLoadingValuesTemplate>\n <igx-circular-bar [indeterminate]=\"true\"> </igx-circular-bar>\n</ng-template>\n\n<footer class=\"igx-excel-filter__menu-footer\">\n <div class=\"igx-excel-filter__cancel\">\n <button type=\"button\" #cancelButton igxButton=\"flat\" (click)=\"esf.cancel()\">\n {{ esf.grid?.resourceStrings.igx_grid_excel_cancel }}\n </button>\n </div>\n <div class=\"igx-excel-filter__apply\">\n <button\n type=\"button\"\n igxButton=\"contained\"\n [disabled]=\"applyButtonDisabled\"\n (click)=\"applyFilter()\"\n >\n {{ esf.grid?.resourceStrings.igx_grid_excel_apply }}\n </button>\n </div>\n</footer>\n" }]
|
|
9043
|
+
args: [{ selector: 'igx-excel-style-search', changeDetection: ChangeDetectionStrategy.Eager, imports: [IgxInputGroupComponent, IgxIconComponent, IgxPrefixDirective, FormsModule, IgxInputDirective, IgxSuffixDirective, IgxListComponent, IgxForOfDirective, IgxListItemComponent, IgxCheckboxComponent, IgxDataLoadingTemplateDirective, NgTemplateOutlet, IgxEmptyListTemplateDirective, IgxTreeComponent, IgxTreeNodeComponent, IgxCircularProgressBarComponent, IgxButtonDirective], template: "<igx-input-group type=\"box\">\n <igx-icon igxPrefix family=\"default\" name=\"search\"></igx-icon>\n <input\n #input\n igxInput\n tabindex=\"0\"\n [(ngModel)]=\"searchValue\"\n (ngModelChange)=\"filterListData()\"\n (keydown)=\"onInputKeyDown($event)\"\n [placeholder]=\"\n esf.column?.grid.resourceStrings.igx_grid_excel_search_placeholder\n \"\n autocomplete=\"off\"\n />\n @if (searchValue || searchValue === 0) {\n <igx-suffix>\n <igx-icon\n family=\"default\"\n name=\"input_clear\"\n (click)=\"clearInput()\"\n tabindex=\"0\"\n >\n </igx-icon>\n </igx-suffix>\n }\n</igx-input-group>\n\n@if (!isHierarchical()) {\n <igx-list\n #list\n role=\"listbox\"\n [isLoading]=\"isLoading\"\n (keydown)=\"handleKeyDown($event)\"\n tabindex=\"0\"\n [attr.aria-activedescendant]=\"this.activeDescendant\"\n (focus)=\"onFocus()\"\n (focusout)=\"onFocusOut()\"\n >\n <div style=\"overflow: hidden; position: relative\">\n <igx-list-item\n [class.igx-list__item-base--active]=\"\n focusedItem?.id === this.getItemId(i)\n \"\n [attr.id]=\"getItemId(i)\"\n role=\"option\"\n *igxFor=\"\n let item of displayedListData;\n index as i;\n scrollOrientation: 'vertical';\n containerSize: containerSize;\n itemSize: itemSize\n \"\n >\n <igx-checkbox\n [value]=\"item\"\n [tabindex]=\"-1\"\n [checked]=\"$safeNavigationMigration(item?.isSelected)\"\n [disableRipple]=\"true\"\n [indeterminate]=\"$safeNavigationMigration(item?.indeterminate)\"\n [disableTransitions]=\"true\"\n (change)=\"onCheckboxChange($event)\"\n >\n {{ item.label }}\n </igx-checkbox>\n </igx-list-item>\n </div>\n <ng-template igxDataLoading>\n <div class=\"igx-excel-filter__loading\">\n <ng-container *ngTemplateOutlet=\"valuesLoadingTemplate\"> </ng-container>\n </div>\n </ng-template>\n <ng-template igxEmptyList>\n <ng-container *ngTemplateOutlet=\"emptySearch\"></ng-container>\n </ng-template>\n <div\n class=\"igx-excel-filter__filter-results\"\n aria-live=\"polite\"\n aria-atomic=\"true\"\n >\n {{\n esf.grid?.resourceStrings.igx_grid_excel_matches_count ? \n esf.grid?.resourceStrings.igx_grid_excel_matches_count.replace(\n '{0}',\n matchesCount.toString()\n ) : ''\n }}\n </div>\n </igx-list>\n}\n\n@if (isHierarchical()) {\n <div class=\"igx-excel-filter__tree\">\n @if (!isTreeEmpty()) {\n <div class=\"igx-excel-filter__tree-alike\">\n <div class=\"igx-excel-filter__tree-alike-item\">\n <igx-checkbox\n #selectAllCheckbox\n [value]=\"selectAllItem\"\n [checked]=\"selectAllItem?.isSelected\"\n [disableRipple]=\"true\"\n [indeterminate]=\"selectAllItem?.indeterminate\"\n [disableTransitions]=\"true\"\n (change)=\"onSelectAllCheckboxChange($event)\"\n >\n {{ selectAllItem.label }}\n </igx-checkbox>\n </div>\n @if (searchValue) {\n <div class=\"igx-excel-filter__tree-alike-item\">\n <igx-checkbox\n #addToCurrentFilterCheckbox\n [value]=\"addToCurrentFilterItem\"\n [checked]=\"addToCurrentFilterItem.isSelected\"\n [disableRipple]=\"true\"\n [disableTransitions]=\"true\"\n >\n {{ addToCurrentFilterItem.label }}\n </igx-checkbox>\n </div>\n }\n </div>\n }\n <igx-tree\n #tree\n selection=\"Cascading\"\n (nodeSelection)=\"onNodeSelectionChange($event)\"\n >\n @for (item of displayedListData; track item.value) {\n <igx-tree-node [data]=\"item\" [selected]=\"item.isSelected\">\n <div>{{ item.label }}</div>\n @for (childLevel1 of item.children; track childLevel1.value) {\n <igx-tree-node\n [data]=\"childLevel1\"\n [selected]=\"childLevel1.isSelected\"\n >\n <div>{{ childLevel1.label }}</div>\n @for (\n childLevel2 of childLevel1.children;\n track childLevel2.value\n ) {\n <igx-tree-node\n [data]=\"childLevel2\"\n [selected]=\"childLevel2.isSelected\"\n >\n <div>{{ childLevel2.label }}</div>\n @for (\n childLevel3 of childLevel2.children;\n track childLevel3.value\n ) {\n <igx-tree-node\n [data]=\"childLevel3\"\n [selected]=\"childLevel3.isSelected\"\n >\n <div>{{ childLevel3.label }}</div>\n @for (\n childLevel4 of childLevel3.children;\n track childLevel4.value\n ) {\n <igx-tree-node\n [data]=\"childLevel4\"\n [selected]=\"childLevel4.isSelected\"\n >\n <div>{{ childLevel4.label }}</div>\n @for (\n childLevel5 of childLevel4.children;\n track childLevel5.value\n ) {\n <igx-tree-node\n [data]=\"childLevel5\"\n [selected]=\"childLevel5.isSelected\"\n >\n <div>{{ childLevel5.label }}</div>\n @for (\n childLevel6 of childLevel5.children;\n track childLevel6.value\n ) {\n <igx-tree-node\n [data]=\"childLevel6\"\n [selected]=\"childLevel6.isSelected\"\n >\n <div>{{ childLevel6.label }}</div>\n @for (\n childLevel7 of childLevel6.children;\n track childLevel7.value\n ) {\n <igx-tree-node\n [data]=\"childLevel7\"\n [selected]=\"childLevel7.isSelected\"\n >\n <div>{{ childLevel7.label }}</div>\n @for (\n childLevel8 of childLevel7.children;\n track childLevel8.value\n ) {\n <igx-tree-node\n [data]=\"childLevel8\"\n [selected]=\"childLevel8.isSelected\"\n >\n <div>{{ childLevel8.label }}</div>\n @for (\n childLevel9 of childLevel8.children;\n track childLevel9.value\n ) {\n <igx-tree-node\n [data]=\"childLevel9\"\n [selected]=\"\n childLevel9.isSelected\n \"\n >\n <div>{{ childLevel9.label }}</div>\n </igx-tree-node>\n }\n </igx-tree-node>\n }\n </igx-tree-node>\n }\n </igx-tree-node>\n }\n </igx-tree-node>\n }\n </igx-tree-node>\n }\n </igx-tree-node>\n }\n </igx-tree-node>\n }\n </igx-tree-node>\n }\n </igx-tree-node>\n }\n </igx-tree>\n <ng-template igxDataLoading>\n <div class=\"igx-excel-filter__loading\">\n <ng-container *ngTemplateOutlet=\"valuesLoadingTemplate\"> </ng-container>\n </div>\n </ng-template>\n @if (isTreeEmpty()) {\n <ng-container *ngTemplateOutlet=\"emptySearch\"></ng-container>\n }\n </div>\n}\n\n<ng-template #emptySearch>\n <div class=\"igx-excel-filter__empty\">\n {{ esf.grid?.resourceStrings.igx_grid_excel_no_matches }}\n </div>\n</ng-template>\n\n<ng-template #defaultExcelStyleLoadingValuesTemplate>\n <igx-circular-bar [indeterminate]=\"true\"> </igx-circular-bar>\n</ng-template>\n\n<footer class=\"igx-excel-filter__menu-footer\">\n <div class=\"igx-excel-filter__cancel\">\n <button type=\"button\" #cancelButton igxButton=\"flat\" (click)=\"esf.cancel()\">\n {{ esf.grid?.resourceStrings.igx_grid_excel_cancel }}\n </button>\n </div>\n <div class=\"igx-excel-filter__apply\">\n <button\n type=\"button\"\n igxButton=\"contained\"\n [disabled]=\"applyButtonDisabled\"\n (click)=\"applyFilter()\"\n >\n {{ esf.grid?.resourceStrings.igx_grid_excel_apply }}\n </button>\n </div>\n</footer>\n" }]
|
|
9333
9044
|
}], ctorParameters: () => [], propDecorators: { defaultClass: [{
|
|
9334
9045
|
type: HostBinding,
|
|
9335
9046
|
args: ['class.igx-excel-filter__menu-main']
|
|
@@ -9372,11 +9083,11 @@ class IgxExcelStyleSelectingComponent {
|
|
|
9372
9083
|
this.esf = inject(BaseFilteringComponent);
|
|
9373
9084
|
}
|
|
9374
9085
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.1", ngImport: i0, type: IgxExcelStyleSelectingComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
9375
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.1", type: IgxExcelStyleSelectingComponent, isStandalone: true, selector: "igx-excel-style-selecting", ngImport: i0, template: "@if (esf.column) {\n <div\n [ngClass]=\"esf.column.selected ? 'igx-excel-filter__actions-selected' : 'igx-excel-filter__actions-select'\"\n tabindex=\"0\"\n (click)=\"esf.onSelect()\"\n role=\"button\"\n [attr.aria-pressed]=\"esf.column.selected\">\n <span>{{esf.grid.resourceStrings.igx_grid_excel_select }}</span>\n <igx-icon family=\"default\" name=\"selected\"></igx-icon>\n </div>\n}\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: IgxIconComponent, selector: "igx-icon", inputs: ["ariaHidden", "family", "name", "active"] }], changeDetection: i0.ChangeDetectionStrategy.Eager }); }
|
|
9086
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.1", type: IgxExcelStyleSelectingComponent, isStandalone: true, selector: "igx-excel-style-selecting", ngImport: i0, template: "@if (esf.column) {\n <div\n [ngClass]=\"esf.column.selected ? 'igx-excel-filter__actions-selected' : 'igx-excel-filter__actions-select'\"\n tabindex=\"0\"\n (click)=\"esf.onSelect($event)\"\n role=\"button\"\n [attr.aria-pressed]=\"esf.column.selected\">\n <span>{{esf.grid.resourceStrings.igx_grid_excel_select }}</span>\n <igx-icon family=\"default\" name=\"selected\"></igx-icon>\n </div>\n}\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: IgxIconComponent, selector: "igx-icon", inputs: ["ariaHidden", "family", "name", "active"] }], changeDetection: i0.ChangeDetectionStrategy.Eager }); }
|
|
9376
9087
|
}
|
|
9377
9088
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.1", ngImport: i0, type: IgxExcelStyleSelectingComponent, decorators: [{
|
|
9378
9089
|
type: Component,
|
|
9379
|
-
args: [{ selector: 'igx-excel-style-selecting', changeDetection: ChangeDetectionStrategy.Eager, imports: [NgClass, IgxIconComponent], template: "@if (esf.column) {\n <div\n [ngClass]=\"esf.column.selected ? 'igx-excel-filter__actions-selected' : 'igx-excel-filter__actions-select'\"\n tabindex=\"0\"\n (click)=\"esf.onSelect()\"\n role=\"button\"\n [attr.aria-pressed]=\"esf.column.selected\">\n <span>{{esf.grid.resourceStrings.igx_grid_excel_select }}</span>\n <igx-icon family=\"default\" name=\"selected\"></igx-icon>\n </div>\n}\n" }]
|
|
9090
|
+
args: [{ selector: 'igx-excel-style-selecting', changeDetection: ChangeDetectionStrategy.Eager, imports: [NgClass, IgxIconComponent], template: "@if (esf.column) {\n <div\n [ngClass]=\"esf.column.selected ? 'igx-excel-filter__actions-selected' : 'igx-excel-filter__actions-select'\"\n tabindex=\"0\"\n (click)=\"esf.onSelect($event)\"\n role=\"button\"\n [attr.aria-pressed]=\"esf.column.selected\">\n <span>{{esf.grid.resourceStrings.igx_grid_excel_select }}</span>\n <igx-icon family=\"default\" name=\"selected\"></igx-icon>\n </div>\n}\n" }]
|
|
9380
9091
|
}] });
|
|
9381
9092
|
|
|
9382
9093
|
/**
|
|
@@ -9578,6 +9289,7 @@ class IgxGridExcelStyleFilteringComponent extends BaseFilteringComponent {
|
|
|
9578
9289
|
if (this._minHeight || this._minHeight === 0) {
|
|
9579
9290
|
return this._minHeight;
|
|
9580
9291
|
}
|
|
9292
|
+
return undefined;
|
|
9581
9293
|
}
|
|
9582
9294
|
/**
|
|
9583
9295
|
* Sets the minimum height.
|
|
@@ -9602,6 +9314,7 @@ class IgxGridExcelStyleFilteringComponent extends BaseFilteringComponent {
|
|
|
9602
9314
|
if (this._maxHeight) {
|
|
9603
9315
|
return this._maxHeight;
|
|
9604
9316
|
}
|
|
9317
|
+
return undefined;
|
|
9605
9318
|
}
|
|
9606
9319
|
/**
|
|
9607
9320
|
* Sets the maximum height.
|
|
@@ -9620,7 +9333,7 @@ class IgxGridExcelStyleFilteringComponent extends BaseFilteringComponent {
|
|
|
9620
9333
|
*/
|
|
9621
9334
|
ngOnDestroy() {
|
|
9622
9335
|
this.subscriptions?.unsubscribe();
|
|
9623
|
-
|
|
9336
|
+
this.overlayComponentId = '';
|
|
9624
9337
|
}
|
|
9625
9338
|
/**
|
|
9626
9339
|
* @hidden @internal
|
|
@@ -9659,12 +9372,12 @@ class IgxGridExcelStyleFilteringComponent extends BaseFilteringComponent {
|
|
|
9659
9372
|
/**
|
|
9660
9373
|
* @hidden @internal
|
|
9661
9374
|
*/
|
|
9662
|
-
onSelect() {
|
|
9375
|
+
onSelect(event) {
|
|
9663
9376
|
if (!this.column.selected) {
|
|
9664
|
-
this.grid.selectionService.selectColumn(this.column.field, this.grid.columnSelection === GridSelectionMode.single);
|
|
9377
|
+
this.grid.selectionService.selectColumn(this.column.field, this.grid.columnSelection === GridSelectionMode.single, false, event);
|
|
9665
9378
|
}
|
|
9666
9379
|
else {
|
|
9667
|
-
this.grid.selectionService.deselectColumn(this.column.field);
|
|
9380
|
+
this.grid.selectionService.deselectColumn(this.column.field, event);
|
|
9668
9381
|
}
|
|
9669
9382
|
this.grid.notifyChanges();
|
|
9670
9383
|
}
|
|
@@ -9786,7 +9499,7 @@ class IgxGridExcelStyleFilteringComponent extends BaseFilteringComponent {
|
|
|
9786
9499
|
this.loadingStart.emit();
|
|
9787
9500
|
const expressionsTree = this.getColumnFilterExpressionsTree();
|
|
9788
9501
|
const prevColumn = this.column;
|
|
9789
|
-
this.grid.uniqueColumnValuesStrategy(this.column, expressionsTree, (values) => {
|
|
9502
|
+
this.grid.uniqueColumnValuesStrategy?.(this.column, expressionsTree, (values) => {
|
|
9790
9503
|
if (!this.column || this.column !== prevColumn) {
|
|
9791
9504
|
return;
|
|
9792
9505
|
}
|
|
@@ -10036,11 +9749,11 @@ class IgxGridExcelStyleFilteringComponent extends BaseFilteringComponent {
|
|
|
10036
9749
|
return value;
|
|
10037
9750
|
}
|
|
10038
9751
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.1", ngImport: i0, type: IgxGridExcelStyleFilteringComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
10039
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.1", type: IgxGridExcelStyleFilteringComponent, isStandalone: true, selector: "igx-grid-excel-style-filtering", inputs: { column: "column", minHeight: "minHeight", maxHeight: "maxHeight" }, outputs: { loadingStart: "loadingStart", loadingEnd: "loadingEnd", initialized: "initialized", sortingChanged: "sortingChanged", columnChange: "columnChange", listDataLoaded: "listDataLoaded", filterCleared: "filterCleared" }, host: { properties: { "class.igx-excel-filter": "this.defaultClass", "class.igx-excel-filter__sizing": "this.shouldApplySizes", "class.igx-excel-filter--inline": "this.inline", "style.max-height": "this.maxHeight" } }, providers: [{ provide: BaseFilteringComponent, useExisting: forwardRef(() => IgxGridExcelStyleFilteringComponent) }], queries: [{ propertyName: "excelColumnOperationsDirective", first: true, predicate: IgxExcelStyleColumnOperationsTemplateDirective, descendants: true, read: IgxExcelStyleColumnOperationsTemplateDirective }, { propertyName: "excelFilterOperationsDirective", first: true, predicate: IgxExcelStyleFilterOperationsTemplateDirective, descendants: true, read: IgxExcelStyleFilterOperationsTemplateDirective }], viewQueries: [{ propertyName: "mainDropdown", first: true, predicate: ["mainDropdown"], descendants: true, read: ElementRef }, { propertyName: "defaultExcelColumnOperations", first: true, predicate: ["defaultExcelColumnOperations"], descendants: true, read: TemplateRef, static: true }, { propertyName: "defaultExcelFilterOperations", first: true, predicate: ["defaultExcelFilterOperations"], descendants: true, read: TemplateRef, static: true }], usesInheritance: true, ngImport: i0, template: "<article #mainDropdown\n class=\"igx-excel-filter__menu\"\n [ngClass]=\"{\n 'igx-excel-filter__sizing': shouldApplySizes,\n 'igx-excel-filter__menu--cosy': size === '2',\n 'igx-excel-filter__menu--compact': size === '1'\n }\"\n [id]=\"overlayComponentId\"\n (keydown)=\"onKeyDown($event)\"\n [style.min-height]=\"minHeight\"\n [style.max-height]=\"maxHeight\"\n role=\"menu\">\n\n @if (this.excelColumnOperationsDirective) {\n <ng-content select=\"igx-excel-style-column-operations,[igxExcelStyleColumnOperations]\">\n </ng-content>\n } @else {\n <igx-excel-style-header\n [showHiding]=\"size !== '3' && !column?.disableHiding\"\n [showPinning]=\"size !== '3' && !column?.disablePinning\"\n [showSelecting]=\"size !== '3' && columnSelectable()\"\n >\n </igx-excel-style-header>\n @if (column?.sortable) {\n <igx-excel-style-sorting>\n </igx-excel-style-sorting>\n }\n @if (grid?.moving) {\n <igx-excel-style-moving></igx-excel-style-moving>\n }\n @if (!column?.disablePinning && size === '3') {\n <igx-excel-style-pinning></igx-excel-style-pinning>\n }\n @if (!column?.disableHiding && size === '3') {\n <igx-excel-style-hiding></igx-excel-style-hiding>\n }\n @if (columnSelectable() && size === '3') {\n <igx-excel-style-selecting></igx-excel-style-selecting>\n }\n }\n\n @if (this.excelFilterOperationsDirective) {\n <ng-content select=\"igx-excel-style-filter-operations,[igxExcelStyleFilterOperations]\">\n </ng-content>\n } @else {\n <igx-excel-style-clear-filters></igx-excel-style-clear-filters>\n <igx-excel-style-conditional-filter></igx-excel-style-conditional-filter>\n <igx-excel-style-search></igx-excel-style-search>\n }\n</article>\n", styles: ["@layer ig.base{.igx-excel-filter__actions-clear--disabled,.igx-excel-filter__actions-clear,.igx-excel-filter__actions-filter--active,.igx-excel-filter__actions-filter,.igx-excel-filter__actions-selected,.igx-excel-filter__actions-select,.igx-excel-filter__actions-hide,.igx-excel-filter__actions-unpin,.igx-excel-filter__actions-pin--disabled,.igx-excel-filter__actions-pin{display:flex;align-items:center;justify-content:space-between;padding-block:max(var(--is-large, 1)*max(.5rem,-1 * .5rem)*var(--ig-spacing-block-large, var(--ig-spacing-block, var(--ig-spacing))),var(--is-medium, 1)*max(.5rem,-1 * .5rem)*var(--ig-spacing-block-medium, var(--ig-spacing-block, var(--ig-spacing))),var(--is-small, 1)*max(.25rem,-1 * .25rem)*var(--ig-spacing-block-small, var(--ig-spacing-block, var(--ig-spacing))));padding-inline:max(var(--is-large, 1)*max(1rem,-1 * 1rem)*var(--ig-spacing-inline-large, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-medium, 1)*max(.5rem,-1 * .5rem)*var(--ig-spacing-inline-medium, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-small, 1)*max(.25rem,-1 * .25rem)*var(--ig-spacing-inline-small, var(--ig-spacing-inline, var(--ig-spacing))));cursor:pointer;color:var(--actions-foreground);outline-style:none}.igx-excel-filter__actions-clear--disabled igx-icon,.igx-excel-filter__actions-clear igx-icon,.igx-excel-filter__actions-filter--active igx-icon,.igx-excel-filter__actions-filter igx-icon,.igx-excel-filter__actions-selected igx-icon,.igx-excel-filter__actions-select igx-icon,.igx-excel-filter__actions-hide igx-icon,.igx-excel-filter__actions-unpin igx-icon,.igx-excel-filter__actions-pin--disabled igx-icon,.igx-excel-filter__actions-pin igx-icon{color:var(--actions-icon-color)}.igx-excel-filter__actions-clear--disabled:hover,.igx-excel-filter__actions-clear:hover,.igx-excel-filter__actions-filter--active:hover,.igx-excel-filter__actions-filter:hover,.igx-excel-filter__actions-selected:hover,.igx-excel-filter__actions-select:hover,.igx-excel-filter__actions-hide:hover,.igx-excel-filter__actions-unpin:hover,.igx-excel-filter__actions-pin--disabled:hover,.igx-excel-filter__actions-pin:hover,.igx-excel-filter__actions-clear--disabled:focus,.igx-excel-filter__actions-clear:focus,.igx-excel-filter__actions-filter--active:focus,.igx-excel-filter__actions-filter:focus,.igx-excel-filter__actions-selected:focus,.igx-excel-filter__actions-select:focus,.igx-excel-filter__actions-hide:focus,.igx-excel-filter__actions-unpin:focus,.igx-excel-filter__actions-pin--disabled:focus,.igx-excel-filter__actions-pin:focus{color:var(--actions-hover-foreground);background:var(--actions-hover-background)}.igx-excel-filter__actions-clear--disabled:hover igx-icon,.igx-excel-filter__actions-clear:hover igx-icon,.igx-excel-filter__actions-filter--active:hover igx-icon,.igx-excel-filter__actions-filter:hover igx-icon,.igx-excel-filter__actions-selected:hover igx-icon,.igx-excel-filter__actions-select:hover igx-icon,.igx-excel-filter__actions-hide:hover igx-icon,.igx-excel-filter__actions-unpin:hover igx-icon,.igx-excel-filter__actions-pin--disabled:hover igx-icon,.igx-excel-filter__actions-pin:hover igx-icon,.igx-excel-filter__actions-clear--disabled:focus igx-icon,.igx-excel-filter__actions-clear:focus igx-icon,.igx-excel-filter__actions-filter--active:focus igx-icon,.igx-excel-filter__actions-filter:focus igx-icon,.igx-excel-filter__actions-selected:focus igx-icon,.igx-excel-filter__actions-select:focus igx-icon,.igx-excel-filter__actions-hide:focus igx-icon,.igx-excel-filter__actions-unpin:focus igx-icon,.igx-excel-filter__actions-pin--disabled:focus igx-icon,.igx-excel-filter__actions-pin:focus igx-icon{color:var(--actions-hover-icon-color)}[dir=rtl] .igx-excel-filter__actions-clear--disabled igx-icon,[dir=rtl] .igx-excel-filter__actions-clear igx-icon,[dir=rtl] .igx-excel-filter__actions-filter--active igx-icon,[dir=rtl] .igx-excel-filter__actions-filter igx-icon,[dir=rtl] .igx-excel-filter__actions-selected igx-icon,[dir=rtl] .igx-excel-filter__actions-select igx-icon,[dir=rtl] .igx-excel-filter__actions-hide igx-icon,[dir=rtl] .igx-excel-filter__actions-unpin igx-icon,[dir=rtl] .igx-excel-filter__actions-pin--disabled igx-icon,[dir=rtl] .igx-excel-filter__actions-pin igx-icon{transform:scaleX(-1)}.igx-excel-filter__menu--compact .igx-excel-filter__move,.igx-excel-filter__menu--compact .igx-excel-filter__sort{display:flex;align-items:center;justify-content:space-between}.igx-excel-filter__menu--compact .igx-excel-filter__move header,.igx-excel-filter__menu--compact .igx-excel-filter__sort header{margin-inline-end:auto}.igx-excel-filter__move,.igx-excel-filter__sort{--ig-icon-size: var(--size);display:block;padding-block:max(var(--is-large, 1)*max(.5rem,-1 * .5rem)*var(--ig-spacing-block-large, var(--ig-spacing-block, var(--ig-spacing))),var(--is-medium, 1)*max(.5rem,-1 * .5rem)*var(--ig-spacing-block-medium, var(--ig-spacing-block, var(--ig-spacing))),var(--is-small, 1)*max(.25rem,-1 * .25rem)*var(--ig-spacing-block-small, var(--ig-spacing-block, var(--ig-spacing))));padding-inline:max(var(--is-large, 1)*max(1rem,-1 * 1rem)*var(--ig-spacing-inline-large, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-medium, 1)*max(.5rem,-1 * .5rem)*var(--ig-spacing-inline-medium, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-small, 1)*max(.25rem,-1 * .25rem)*var(--ig-spacing-inline-small, var(--ig-spacing-inline, var(--ig-spacing))))}.igx-excel-filter__move header,.igx-excel-filter__sort header{font-family:var(--ig-overline-font-family, var(--ig-font-family));font-size:var(--ig-overline-font-size);font-weight:var(--ig-overline-font-weight);font-style:var(--ig-overline-font-style);line-height:var(--ig-overline-line-height);letter-spacing:var(--ig-overline-letter-spacing);text-transform:var(--ig-overline-text-transform);margin-top:var(--ig-overline-margin-top);margin-bottom:var(--ig-overline-margin-bottom);color:var(--subheader-foreground);margin-block-end:.25rem}.igx-excel-filter__move igx-icon,.igx-excel-filter__sort igx-icon{--component-size: 1;display:initial}.igx-excel-filter{--component-size: var(--ig-size, var(--ig-size-large));display:block;overflow:auto;width:20rem;min-width:20rem;height:100%;flex-grow:1;box-shadow:var(--ig-elevation-12);background:var(--background)}.igx-excel-filter__sizing{--is-large: clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-large, 3), 1);--is-medium: min( clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-medium, 2), 1), clamp(0, var(--ig-size-large, 3) - var(--component-size, 1), 1) );--is-small: clamp(0, var(--ig-size-medium) - var(--component-size, 1), 1);min-height:max(var(--is-large, 1)*max(40.3125rem,-1 * 40.3125rem),var(--is-medium, 1)*max(29.0625rem,-1 * 29.0625rem),var(--is-small, 1)*max(20.625rem,-1 * 20.625rem));max-height:max(var(--is-large, 1)*max(48.4375rem,-1 * 48.4375rem),var(--is-medium, 1)*max(35.3125rem,-1 * 35.3125rem),var(--is-small, 1)*max(25.3125rem,-1 * 25.3125rem))}.igx-excel-filter__menu{--component-size: var(--ig-size, var(--ig-size-large));display:flex;flex-direction:column;height:100%;border-radius:clamp(0rem,calc(var(--ig-radius-factor, 1) * .25rem),.25rem);background:var(--background)}.igx-excel-filter__menu .igx-tree-node__wrapper{padding:0}.igx-excel-filter__menu igx-chips-area{padding-inline:max(var(--is-large, 1)*max(1rem,-1 * 1rem)*var(--ig-spacing-inline-large, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-medium, 1)*max(.5rem,-1 * .5rem)*var(--ig-spacing-inline-medium, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-small, 1)*max(.25rem,-1 * .25rem)*var(--ig-spacing-inline-small, var(--ig-spacing-inline, var(--ig-spacing))));padding-block-start:max(var(--is-large, 1)*max(1rem,-1 * 1rem)*var(--ig-spacing-block-large, var(--ig-spacing-block, var(--ig-spacing))),var(--is-medium, 1)*max(.5rem,-1 * .5rem)*var(--ig-spacing-block-medium, var(--ig-spacing-block, var(--ig-spacing))),var(--is-small, 1)*max(.25rem,-1 * .25rem)*var(--ig-spacing-block-small, var(--ig-spacing-block, var(--ig-spacing))));padding-block-end:0;gap:max(var(--is-large, 1)*max(.5rem,-1 * .5rem),var(--is-medium, 1)*max(.25rem,-1 * .25rem),var(--is-small, 1)*max(.25rem,-1 * .25rem))}.igx-excel-filter__menu-header{display:flex;align-items:center;padding:max(var(--is-large, 1)*max(1rem,-1 * 1rem)*var(--ig-spacing-large, var(--ig-spacing, var(--ig-spacing))),var(--is-medium, 1)*max(.5rem,-1 * .5rem)*var(--ig-spacing-medium, var(--ig-spacing, var(--ig-spacing))),var(--is-small, 1)*max(.25rem,-1 * .25rem)*var(--ig-spacing-small, var(--ig-spacing, var(--ig-spacing))))}.igx-excel-filter__menu-header>h4{font-family:var(--ig-h6-font-family, var(--ig-font-family));font-size:var(--ig-h6-font-size);font-weight:var(--ig-h6-font-weight);font-style:var(--ig-h6-font-style);line-height:var(--ig-h6-line-height);letter-spacing:var(--ig-h6-letter-spacing);text-transform:var(--ig-h6-text-transform);margin-top:var(--ig-h6-margin-top);margin-bottom:var(--ig-h6-margin-bottom)}.igx-excel-filter__menu-header{color:var(--header-foreground)}.igx-excel-filter__menu-main{display:flex;flex-direction:column;flex-grow:1;overflow:hidden;padding:max(var(--is-large, 1)*max(1rem,-1 * 1rem)*var(--ig-spacing-large, var(--ig-spacing, var(--ig-spacing))),var(--is-medium, 1)*max(.5rem,-1 * .5rem)*var(--ig-spacing-medium, var(--ig-spacing, var(--ig-spacing))),var(--is-small, 1)*max(.25rem,-1 * .25rem)*var(--ig-spacing-small, var(--ig-spacing, var(--ig-spacing))));gap:max(var(--is-large, 1)*max(1rem,-1 * 1rem),var(--is-medium, 1)*max(.5rem,-1 * .5rem),var(--is-small, 1)*max(.25rem,-1 * .25rem))}.igx-excel-filter__menu-main igx-list{flex-grow:1;overflow:hidden;margin-inline:calc(max(var(--is-large, 1) * max(-1rem,-1 * -1rem),var(--is-medium, 1) * max(-.5rem,-1 * -.5rem),var(--is-small, 1) * max(-.25rem,-1 * -.25rem))*-1);border:0;border-top:.0625rem dashed var(--border-color);border-bottom:.0625rem dashed var(--border-color)}.igx-excel-filter__tree{--ig-icon-size: 1.25rem;background:var(--secondary-background);overflow-y:auto;margin-inline:calc(max(var(--is-large, 1) * max(-1rem,-1 * -1rem) * var(--ig-spacing-inline-large, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-medium, 1) * max(-.5rem,-1 * -.5rem) * var(--ig-spacing-inline-medium, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-small, 1) * max(-.25rem,-1 * -.25rem) * var(--ig-spacing-inline-small, var(--ig-spacing-inline, var(--ig-spacing))))*-1);margin-block:0;flex:1;border-top:.0625rem dashed var(--border-color);border-bottom:.0625rem dashed var(--border-color)}.igx-excel-filter__tree>igx-checkbox,.igx-excel-filter__tree .igx-tree-node__wrapper{height:max(var(--is-large, 1) * max(2.5rem,-1 * 2.5rem),var(--is-medium, 1) * max(2rem,-1 * 2rem),var(--is-small, 1) * max(1.5rem,-1 * 1.5rem));min-height:max(var(--is-large, 1) * max(2.5rem,-1 * 2.5rem),var(--is-medium, 1) * max(2rem,-1 * 2rem),var(--is-small, 1) * max(1.5rem,-1 * 1.5rem))}.igx-excel-filter__tree .igx-tree-node__toggle-button{min-width:1.25rem;margin-inline-start:max(var(--is-large, 1)*max(1rem,-1 * 1rem)*var(--ig-spacing-inline-large, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-medium, 1)*max(.5rem,-1 * .5rem)*var(--ig-spacing-inline-medium, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-small, 1)*max(.25rem,-1 * .25rem)*var(--ig-spacing-inline-small, var(--ig-spacing-inline, var(--ig-spacing))));margin-inline-end:max(var(--is-large, 1)*max(.5rem,-1 * .5rem)*var(--ig-spacing-inline-large, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-medium, 1)*max(.5rem,-1 * .5rem)*var(--ig-spacing-inline-medium, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-small, 1)*max(.25rem,-1 * .25rem)*var(--ig-spacing-inline-small, var(--ig-spacing-inline, var(--ig-spacing))))}.igx-excel-filter__tree .igx-tree{overflow-y:hidden}.igx-excel-filter__tree-alike{background:var(--secondary-background);display:flex;flex-direction:column;z-index:1}.igx-excel-filter__tree-alike-item{display:flex;align-items:center;height:max(var(--is-large, 1)*max(2.5rem,-1 * 2.5rem),var(--is-medium, 1)*max(2rem,-1 * 2rem),var(--is-small, 1)*max(1.5rem,-1 * 1.5rem));background:var(--secondary-background)}.igx-excel-filter__tree-alike-item:hover,.igx-excel-filter__tree-alike-item:focus{background:color-mix(in srgb,var(--_excel-filtering-foreground) 12%,var(--background))}.igx-excel-filter__tree-alike-item>igx-checkbox{margin-inline-start:max(var(--is-large, 1)*max(2.75rem,-1 * 2.75rem)*var(--ig-spacing-inline-large, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-medium, 1)*max(2.25rem,-1 * 2.25rem)*var(--ig-spacing-inline-medium, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-small, 1)*max(1.75rem,-1 * 1.75rem)*var(--ig-spacing-inline-small, var(--ig-spacing-inline, var(--ig-spacing))))}[dir=rtl] .igx-excel-filter__sort .igx-button-group{flex-direction:row-reverse}[dir=rtl] .igx-excel-filter__sort .igx-button-group igx-icon,[dir=rtl] .igx-excel-filter__sort .igx-button-group [igxButton]{direction:ltr}.igx-excel-filter__actions-pin--disabled{color:var(--actions-disabled-foreground);pointer-events:none}.igx-excel-filter__actions-selected igx-icon{color:var(--actions-selected-icon-color)}.igx-excel-filter__actions-filter--active{background:color-mix(in srgb,var(--_excel-filtering-accent-color) 8%,var(--background));color:var(--actions-hover-foreground)}.igx-excel-filter__actions-clear--disabled{color:var(--actions-disabled-foreground);pointer-events:none}.igx-excel-filter__menu-header-actions{display:flex;margin-inline-start:auto;gap:.25rem}.igx-excel-filter__secondary-header{display:flex;align-items:center;padding:max(var(--is-large, 1)*max(1rem,-1 * 1rem)*var(--ig-spacing-large, var(--ig-spacing, var(--ig-spacing))),var(--is-medium, 1)*max(.5rem,-1 * .5rem)*var(--ig-spacing-medium, var(--ig-spacing, var(--ig-spacing))),var(--is-small, 1)*max(.25rem,-1 * .25rem)*var(--ig-spacing-small, var(--ig-spacing, var(--ig-spacing))));color:var(--header-foreground);border-block-end:.0625rem solid var(--border-color)}.igx-excel-filter__secondary-header>h4{font-family:var(--ig-h6-font-family, var(--ig-font-family));font-size:var(--ig-h6-font-size);font-weight:var(--ig-h6-font-weight);font-style:var(--ig-h6-font-style);line-height:var(--ig-h6-line-height);letter-spacing:var(--ig-h6-letter-spacing);text-transform:var(--ig-h6-text-transform);margin-top:var(--ig-h6-margin-top);margin-bottom:var(--ig-h6-margin-bottom)}.igx-excel-filter__filter-results{position:absolute;width:.0625rem;height:.0625rem;overflow:hidden}.igx-excel-filter__menu-footer{display:flex;justify-content:space-between}.igx-excel-filter__apply{flex-grow:1}.igx-excel-filter__apply [igxButton]{width:100%}.igx-excel-filter__cancel{flex-grow:1}.igx-excel-filter__cancel [igxButton]{width:100%}.igx-excel-filter--inline{box-shadow:none;width:100%}.igx-excel-filter__menu--compact .igx-excel-filter__actions-select,.igx-excel-filter__menu--compact .igx-excel-filter__actions-selected{justify-content:center}.igx-excel-filter__menu--compact .igx-excel-filter__sort igx-buttongroup{width:13rem}.igx-excel-filter__menu--compact .igx-excel-filter__sort header{font-family:var(--ig-body-2-font-family, var(--ig-font-family));font-size:var(--ig-body-2-font-size);font-weight:var(--ig-body-2-font-weight);font-style:var(--ig-body-2-font-style);line-height:var(--ig-body-2-line-height);letter-spacing:var(--ig-body-2-letter-spacing);text-transform:var(--ig-body-2-text-transform);margin-top:var(--ig-body-2-margin-top);margin-bottom:var(--ig-body-2-margin-bottom);text-transform:capitalize}.igx-excel-filter__menu--compact .igx-excel-filter__move igx-buttongroup{width:13rem}.igx-excel-filter__menu--compact .igx-excel-filter__move header{font-family:var(--ig-body-2-font-family, var(--ig-font-family));font-size:var(--ig-body-2-font-size);font-weight:var(--ig-body-2-font-weight);font-style:var(--ig-body-2-font-style);line-height:var(--ig-body-2-line-height);letter-spacing:var(--ig-body-2-letter-spacing);text-transform:var(--ig-body-2-text-transform);margin-top:var(--ig-body-2-margin-top);margin-bottom:var(--ig-body-2-margin-bottom);text-transform:capitalize}.igx-excel-filter__menu--compact .igx-excel-filter__menu-header>h4{font-family:var(--ig-subtitle-1-font-family, var(--ig-font-family));font-size:var(--ig-subtitle-1-font-size);font-weight:var(--ig-subtitle-1-font-weight);font-style:var(--ig-subtitle-1-font-style);line-height:var(--ig-subtitle-1-line-height);letter-spacing:var(--ig-subtitle-1-letter-spacing);text-transform:var(--ig-subtitle-1-text-transform);margin-top:var(--ig-subtitle-1-margin-top);margin-bottom:var(--ig-subtitle-1-margin-bottom)}.igx-excel-filter__menu--compact .igx-excel-filter__menu-header-actions span{font-family:var(--ig-body-2-font-family, var(--ig-font-family));font-size:var(--ig-body-2-font-size);font-weight:var(--ig-body-2-font-weight);font-style:var(--ig-body-2-font-style);line-height:var(--ig-body-2-line-height);letter-spacing:var(--ig-body-2-letter-spacing);text-transform:var(--ig-body-2-text-transform);margin-top:var(--ig-body-2-margin-top);margin-bottom:var(--ig-body-2-margin-bottom)}.igx-excel-filter__menu--cosy .igx-excel-filter__actions-select,.igx-excel-filter__menu--cosy .igx-excel-filter__actions-selected{justify-content:center}.igx-excel-filter__clear{flex-grow:1}.igx-excel-filter__secondary{--component-size: var(--ig-size, var(--ig-size-large));width:32.5rem;min-width:32.5rem;background:var(--background);box-shadow:var(--ig-elevation-12);border-radius:clamp(0rem,calc(var(--ig-radius-factor, 1) * .25rem),.25rem);display:flex;flex-direction:column}.igx-excel-filter__secondary-main{height:14.5rem;overflow:auto}.igx-excel-filter__secondary-footer{--ig-size: 2;display:flex;justify-content:space-between;padding-inline:max(var(--is-large, 1)*max(1.5rem,-1 * 1.5rem)*var(--ig-spacing-inline-large, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-medium, 1)*max(1.5rem,-1 * 1.5rem)*var(--ig-spacing-inline-medium, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-small, 1)*max(1.5rem,-1 * 1.5rem)*var(--ig-spacing-inline-small, var(--ig-spacing-inline, var(--ig-spacing))));padding-block-end:max(var(--is-large, 1)*max(1.5rem,-1 * 1.5rem)*var(--ig-spacing-block-large, var(--ig-spacing-block, var(--ig-spacing))),var(--is-medium, 1)*max(1.5rem,-1 * 1.5rem)*var(--ig-spacing-block-medium, var(--ig-spacing-block, var(--ig-spacing))),var(--is-small, 1)*max(1.5rem,-1 * 1.5rem)*var(--ig-spacing-block-small, var(--ig-spacing-block, var(--ig-spacing))))}.igx-excel-filter__secondary-footer .igx-excel-filter__clear{flex-grow:1}.igx-excel-filter__secondary-footer .igx-excel-filter__apply,.igx-excel-filter__secondary-footer .igx-excel-filter__cancel{flex-grow:0}.igx-excel-filter__cancel+.igx-excel-filter__apply{margin-inline-start:1rem}.igx-excel-filter__condition{display:flex;flex-wrap:wrap;align-items:center;padding-inline:max(var(--is-large, 1)*max(1rem,-1 * 1rem)*var(--ig-spacing-inline-large, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-medium, 1)*max(.5rem,-1 * .5rem)*var(--ig-spacing-inline-medium, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-small, 1)*max(.25rem,-1 * .25rem)*var(--ig-spacing-inline-small, var(--ig-spacing-inline, var(--ig-spacing))));padding-block:0}.igx-excel-filter__condition igx-select{flex-grow:1;flex-basis:40%;margin-block:1rem}.igx-excel-filter__condition igx-select~igx-input-group,.igx-excel-filter__condition igx-select~igx-date-picker,.igx-excel-filter__condition igx-select~igx-time-picker{margin-inline-start:1rem}.igx-excel-filter__condition igx-buttongroup{min-width:30%}.igx-excel-filter__condition [igxIconButton]{--component-size: var(--ig-size, var(--ig-size-large));margin-inline-start:1rem}.igx-excel-filter__add-filter{--ig-icon-size: 1.125rem;margin-inline:max(var(--is-large, 1)*max(1rem,-1 * 1rem)*var(--ig-spacing-inline-large, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-medium, 1)*max(.25rem,-1 * .25rem)*var(--ig-spacing-inline-medium, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-small, 1)*max(.25rem,-1 * .25rem)*var(--ig-spacing-inline-small, var(--ig-spacing-inline, var(--ig-spacing))));margin-block-start:0}}@layer ig.bootstrap{@container style(--ig-theme: bootstrap){.igx-excel-filter__secondary-header{border-block-end:.0625rem solid var(--border-color)}.igx-excel-filter__secondary-footer{padding-inline:max(var(--is-large, 1)*max(1rem,-1 * 1rem)*var(--ig-spacing-inline-large, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-medium, 1)*max(1rem,-1 * 1rem)*var(--ig-spacing-inline-medium, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-small, 1)*max(1rem,-1 * 1rem)*var(--ig-spacing-inline-small, var(--ig-spacing-inline, var(--ig-spacing))));padding-block:max(var(--is-large, 1)*max(1rem,-1 * 1rem)*var(--ig-spacing-block-large, var(--ig-spacing-block, var(--ig-spacing))),var(--is-medium, 1)*max(1rem,-1 * 1rem)*var(--ig-spacing-block-medium, var(--ig-spacing-block, var(--ig-spacing))),var(--is-small, 1)*max(1rem,-1 * 1rem)*var(--ig-spacing-block-small, var(--ig-spacing-block, var(--ig-spacing))));border-top:.0625rem solid var(--border-color)}.igx-excel-filter__menu-main igx-list{--_border-color: color-mix(in srgb, var(--ig-excel-filtering-accent-color) 16%, var(--ig-excel-filtering-background));border-block:.0625rem dashed var(--_border-color, var(--ig-gray-100))}.igx-excel-filter__menu-header>h4{font-family:var(--ig-subtitle-1-font-family, var(--ig-font-family));font-size:var(--ig-subtitle-1-font-size);font-weight:var(--ig-subtitle-1-font-weight);font-style:var(--ig-subtitle-1-font-style);line-height:var(--ig-subtitle-1-line-height);letter-spacing:var(--ig-subtitle-1-letter-spacing);text-transform:var(--ig-subtitle-1-text-transform);margin-top:var(--ig-subtitle-1-margin-top);margin-bottom:var(--ig-subtitle-1-margin-bottom)}}}@layer ig.indigo{@container style(--ig-theme: indigo){.igx-excel-filter{box-shadow:var(--ig-elevation-3),0 0 0 .0625rem var(--border-color);border-radius:clamp(0rem,calc(var(--ig-radius-factor, 1) * .25rem),.25rem)}.igx-excel-filter .igx-excel-filter__actions-clear--disabled,.igx-excel-filter .igx-excel-filter__actions-clear,.igx-excel-filter .igx-excel-filter__actions-filter--active,.igx-excel-filter .igx-excel-filter__actions-filter,.igx-excel-filter .igx-excel-filter__actions-selected,.igx-excel-filter .igx-excel-filter__actions-select,.igx-excel-filter .igx-excel-filter__actions-hide,.igx-excel-filter .igx-excel-filter__actions-unpin,.igx-excel-filter .igx-excel-filter__actions-pin--disabled,.igx-excel-filter .igx-excel-filter__actions-pin{padding-block:max(var(--is-large, 1)*max(.5rem,-1 * .5rem)*var(--ig-spacing-block-large, var(--ig-spacing-block, var(--ig-spacing))),var(--is-medium, 1)*max(.375rem,-1 * .375rem)*var(--ig-spacing-block-medium, var(--ig-spacing-block, var(--ig-spacing))),var(--is-small, 1)*max(.25rem,-1 * .25rem)*var(--ig-spacing-block-small, var(--ig-spacing-block, var(--ig-spacing))));padding-inline:max(var(--is-large, 1)*max(.75rem,-1 * .75rem)*var(--ig-spacing-inline-large, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-medium, 1)*max(.75rem,-1 * .75rem)*var(--ig-spacing-inline-medium, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-small, 1)*max(.75rem,-1 * .75rem)*var(--ig-spacing-inline-small, var(--ig-spacing-inline, var(--ig-spacing))));margin-inline:.5rem;margin-block-end:.25rem;border-radius:.25rem}.igx-excel-filter .igx-excel-filter__actions-clear--disabled igx-icon,.igx-excel-filter .igx-excel-filter__actions-clear igx-icon,.igx-excel-filter .igx-excel-filter__actions-filter--active igx-icon,.igx-excel-filter .igx-excel-filter__actions-filter igx-icon,.igx-excel-filter .igx-excel-filter__actions-selected igx-icon,.igx-excel-filter .igx-excel-filter__actions-select igx-icon,.igx-excel-filter .igx-excel-filter__actions-hide igx-icon,.igx-excel-filter .igx-excel-filter__actions-unpin igx-icon,.igx-excel-filter .igx-excel-filter__actions-pin--disabled igx-icon,.igx-excel-filter .igx-excel-filter__actions-pin igx-icon{--component-size: 2;color:var(--actions-icon-color)}.igx-excel-filter .igx-excel-filter__actions-clear--disabled:hover,.igx-excel-filter .igx-excel-filter__actions-clear:hover,.igx-excel-filter .igx-excel-filter__actions-filter--active:hover,.igx-excel-filter .igx-excel-filter__actions-filter:hover,.igx-excel-filter .igx-excel-filter__actions-selected:hover,.igx-excel-filter .igx-excel-filter__actions-select:hover,.igx-excel-filter .igx-excel-filter__actions-hide:hover,.igx-excel-filter .igx-excel-filter__actions-unpin:hover,.igx-excel-filter .igx-excel-filter__actions-pin--disabled:hover,.igx-excel-filter .igx-excel-filter__actions-pin:hover,.igx-excel-filter .igx-excel-filter__actions-clear--disabled:focus,.igx-excel-filter .igx-excel-filter__actions-clear:focus,.igx-excel-filter .igx-excel-filter__actions-filter--active:focus,.igx-excel-filter .igx-excel-filter__actions-filter:focus,.igx-excel-filter .igx-excel-filter__actions-selected:focus,.igx-excel-filter .igx-excel-filter__actions-select:focus,.igx-excel-filter .igx-excel-filter__actions-hide:focus,.igx-excel-filter .igx-excel-filter__actions-unpin:focus,.igx-excel-filter .igx-excel-filter__actions-pin--disabled:focus,.igx-excel-filter .igx-excel-filter__actions-pin:focus{background:var(--actions-hover-background)}.igx-excel-filter .igx-excel-filter__actions-clear--disabled:hover igx-icon,.igx-excel-filter .igx-excel-filter__actions-clear:hover igx-icon,.igx-excel-filter .igx-excel-filter__actions-filter--active:hover igx-icon,.igx-excel-filter .igx-excel-filter__actions-filter:hover igx-icon,.igx-excel-filter .igx-excel-filter__actions-selected:hover igx-icon,.igx-excel-filter .igx-excel-filter__actions-select:hover igx-icon,.igx-excel-filter .igx-excel-filter__actions-hide:hover igx-icon,.igx-excel-filter .igx-excel-filter__actions-unpin:hover igx-icon,.igx-excel-filter .igx-excel-filter__actions-pin--disabled:hover igx-icon,.igx-excel-filter .igx-excel-filter__actions-pin:hover igx-icon,.igx-excel-filter .igx-excel-filter__actions-clear--disabled:focus igx-icon,.igx-excel-filter .igx-excel-filter__actions-clear:focus igx-icon,.igx-excel-filter .igx-excel-filter__actions-filter--active:focus igx-icon,.igx-excel-filter .igx-excel-filter__actions-filter:focus igx-icon,.igx-excel-filter .igx-excel-filter__actions-selected:focus igx-icon,.igx-excel-filter .igx-excel-filter__actions-select:focus igx-icon,.igx-excel-filter .igx-excel-filter__actions-hide:focus igx-icon,.igx-excel-filter .igx-excel-filter__actions-unpin:focus igx-icon,.igx-excel-filter .igx-excel-filter__actions-pin--disabled:focus igx-icon,.igx-excel-filter .igx-excel-filter__actions-pin:focus igx-icon{color:var(--actions-hover-icon-color)}.igx-excel-filter .igx-excel-filter__actions-clear--disabled igx-icon,.igx-excel-filter .igx-excel-filter__actions-clear igx-icon,.igx-excel-filter .igx-excel-filter__actions-filter--active igx-icon,.igx-excel-filter .igx-excel-filter__actions-filter igx-icon,.igx-excel-filter .igx-excel-filter__actions-selected igx-icon,.igx-excel-filter .igx-excel-filter__actions-select igx-icon,.igx-excel-filter .igx-excel-filter__actions-hide igx-icon,.igx-excel-filter .igx-excel-filter__actions-unpin igx-icon,.igx-excel-filter .igx-excel-filter__actions-pin--disabled igx-icon,.igx-excel-filter .igx-excel-filter__actions-pin igx-icon{--component-size: 2}.igx-excel-filter .igx-excel-filter__move,.igx-excel-filter .igx-excel-filter__sort{padding-inline:max(var(--is-large, 1)*max(1rem,-1 * 1rem)*var(--ig-spacing-inline-large, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-medium, 1)*max(1rem,-1 * 1rem)*var(--ig-spacing-inline-medium, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-small, 1)*max(1rem,-1 * 1rem)*var(--ig-spacing-inline-small, var(--ig-spacing-inline, var(--ig-spacing))))}.igx-excel-filter .igx-excel-filter__move header,.igx-excel-filter .igx-excel-filter__sort header{margin-block-end:max(var(--is-large, 1)*max(.25rem,-1 * .25rem),var(--is-medium, 1)*max(.25rem,-1 * .25rem),var(--is-small, 1)*max(0rem,-1 * 0rem))!important;text-transform:capitalize!important}.igx-excel-filter .igx-excel-filter__move igx-icon,.igx-excel-filter .igx-excel-filter__sort igx-icon{--component-size: 2}.igx-excel-filter__menu{background:var(--background)}.igx-excel-filter__menu .igx-button-group__item:not(:nth-child(1)){margin:0}.igx-excel-filter__menu-header{padding:max(var(--is-large, 1)*max(1rem,-1 * 1rem)*var(--ig-spacing-block-large, var(--ig-spacing-block, var(--ig-spacing))),var(--is-medium, 1)*max(1rem,-1 * 1rem)*var(--ig-spacing-block-medium, var(--ig-spacing-block, var(--ig-spacing))),var(--is-small, 1)*max(1rem,-1 * 1rem)*var(--ig-spacing-block-small, var(--ig-spacing-block, var(--ig-spacing)))) max(var(--is-large, 1)*max(1rem,-1 * 1rem)*var(--ig-spacing-inline-large, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-medium, 1)*max(1rem,-1 * 1rem)*var(--ig-spacing-inline-medium, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-small, 1)*max(1rem,-1 * 1rem)*var(--ig-spacing-inline-small, var(--ig-spacing-inline, var(--ig-spacing)))) max(var(--is-large, 1)*max(max(var(--is-large, 1) * max(1rem,-1 * 1rem),var(--is-medium, 1) * max(.75rem,-1 * .75rem),var(--is-small, 1) * max(.5rem,-1 * .5rem)),-1 * max(var(--is-large, 1) * max(1rem,-1 * 1rem),var(--is-medium, 1) * max(.75rem,-1 * .75rem),var(--is-small, 1) * max(.5rem,-1 * .5rem)))*var(--ig-spacing-block-large, var(--ig-spacing-block, var(--ig-spacing))),var(--is-medium, 1)*max(max(var(--is-large, 1) * max(1rem,-1 * 1rem),var(--is-medium, 1) * max(.75rem,-1 * .75rem),var(--is-small, 1) * max(.5rem,-1 * .5rem)),-1 * max(var(--is-large, 1) * max(1rem,-1 * 1rem),var(--is-medium, 1) * max(.75rem,-1 * .75rem),var(--is-small, 1) * max(.5rem,-1 * .5rem)))*var(--ig-spacing-block-medium, var(--ig-spacing-block, var(--ig-spacing))),var(--is-small, 1)*max(max(var(--is-large, 1) * max(1rem,-1 * 1rem),var(--is-medium, 1) * max(.75rem,-1 * .75rem),var(--is-small, 1) * max(.5rem,-1 * .5rem)),-1 * max(var(--is-large, 1) * max(1rem,-1 * 1rem),var(--is-medium, 1) * max(.75rem,-1 * .75rem),var(--is-small, 1) * max(.5rem,-1 * .5rem)))*var(--ig-spacing-block-small, var(--ig-spacing-block, var(--ig-spacing))))}.igx-excel-filter__menu-main{padding:max(var(--is-large, 1)*max(1rem,-1 * 1rem)*var(--ig-spacing-large, var(--ig-spacing, var(--ig-spacing))),var(--is-medium, 1)*max(1rem,-1 * 1rem)*var(--ig-spacing-medium, var(--ig-spacing, var(--ig-spacing))),var(--is-small, 1)*max(1rem,-1 * 1rem)*var(--ig-spacing-small, var(--ig-spacing, var(--ig-spacing))));gap:max(var(--is-large, 1)*max(1rem,-1 * 1rem),var(--is-medium, 1)*max(1rem,-1 * 1rem),var(--is-small, 1)*max(1rem,-1 * 1rem))}.igx-excel-filter__menu-main igx-list{--background: var(--secondary-background);--_border-color: color-mix(in srgb, var(--ig-excel-filtering-accent-color) 16%, var(--ig-excel-filtering-background));border-block:.0625rem dashed var(--_border-color, var(--ig-gray-100));margin-inline:calc(max(var(--is-large, 1) * max(-1rem,-1 * -1rem),var(--is-medium, 1) * max(-1rem,-1 * -1rem),var(--is-small, 1) * max(-1rem,-1 * -1rem))*-1)}.igx-excel-filter__menu-main igx-list>div{gap:inherit}.igx-excel-filter__menu-main igx-list igx-display-container{display:flex;flex-direction:column;gap:inherit;padding:max(var(--is-large, 1)*max(.5rem,-1 * .5rem)*var(--ig-spacing-large, var(--ig-spacing, var(--ig-spacing))),var(--is-medium, 1)*max(.5rem,-1 * .5rem)*var(--ig-spacing-medium, var(--ig-spacing, var(--ig-spacing))),var(--is-small, 1)*max(.5rem,-1 * .5rem)*var(--ig-spacing-small, var(--ig-spacing, var(--ig-spacing))))}.igx-excel-filter__actions-filter{margin-block-end:0}.igx-excel-filter__actions-pin--disabled igx-icon{color:var(--actions-disabled-foreground)}.igx-excel-filter__actions-clear--disabled igx-icon{color:var(--actions-disabled-foreground)}.igx-excel-filter__sort{padding-block-end:0}.igx-excel-filter__move{margin-block-end:max(var(--is-large, 1)*max(1rem,-1 * 1rem),var(--is-medium, 1)*max(1rem,-1 * 1rem),var(--is-small, 1)*max(.75rem,-1 * .75rem))}.igx-excel-filter .igx-excel-filter__sort+igx-excel-filter__move{margin-block-start:max(var(--is-large, 1)*max(.5rem,-1 * .5rem),var(--is-medium, 1)*max(.5rem,-1 * .5rem),var(--is-small, 1)*max(.25rem,-1 * .25rem))}.igx-excel-filter .ig-typography .igx-excel-filter__menu--compact .igx-excel-filter__menu-header>h4{font-family:var(--ig-h6-font-family, var(--ig-font-family));font-size:var(--ig-h6-font-size);font-weight:var(--ig-h6-font-weight);font-style:var(--ig-h6-font-style);line-height:var(--ig-h6-line-height);letter-spacing:var(--ig-h6-letter-spacing);text-transform:var(--ig-h6-text-transform);margin-top:var(--ig-h6-margin-top);margin-bottom:var(--ig-h6-margin-bottom)}}}\n"], dependencies: [{ kind: "component", type: IgxExcelStyleHeaderComponent, selector: "igx-excel-style-header", inputs: ["showPinning", "showSelecting", "showHiding"] }, { kind: "component", type: IgxExcelStyleSortingComponent, selector: "igx-excel-style-sorting" }, { kind: "component", type: IgxExcelStyleMovingComponent, selector: "igx-excel-style-moving" }, { kind: "component", type: IgxExcelStylePinningComponent, selector: "igx-excel-style-pinning" }, { kind: "component", type: IgxExcelStyleHidingComponent, selector: "igx-excel-style-hiding" }, { kind: "component", type: IgxExcelStyleSelectingComponent, selector: "igx-excel-style-selecting" }, { kind: "component", type: IgxExcelStyleClearFiltersComponent, selector: "igx-excel-style-clear-filters" }, { kind: "component", type: IgxExcelStyleConditionalFilterComponent, selector: "igx-excel-style-conditional-filter" }, { kind: "component", type: IgxExcelStyleSearchComponent, selector: "igx-excel-style-search", inputs: ["id"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
9752
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.1", type: IgxGridExcelStyleFilteringComponent, isStandalone: true, selector: "igx-grid-excel-style-filtering", inputs: { column: "column", minHeight: "minHeight", maxHeight: "maxHeight" }, outputs: { loadingStart: "loadingStart", loadingEnd: "loadingEnd", initialized: "initialized", sortingChanged: "sortingChanged", columnChange: "columnChange", listDataLoaded: "listDataLoaded", filterCleared: "filterCleared" }, host: { properties: { "class.igx-excel-filter": "this.defaultClass", "class.igx-excel-filter__sizing": "this.shouldApplySizes", "class.igx-excel-filter--inline": "this.inline", "style.max-height": "this.maxHeight" } }, providers: [{ provide: BaseFilteringComponent, useExisting: forwardRef(() => IgxGridExcelStyleFilteringComponent) }], queries: [{ propertyName: "excelColumnOperationsDirective", first: true, predicate: IgxExcelStyleColumnOperationsTemplateDirective, descendants: true, read: IgxExcelStyleColumnOperationsTemplateDirective }, { propertyName: "excelFilterOperationsDirective", first: true, predicate: IgxExcelStyleFilterOperationsTemplateDirective, descendants: true, read: IgxExcelStyleFilterOperationsTemplateDirective }], viewQueries: [{ propertyName: "mainDropdown", first: true, predicate: ["mainDropdown"], descendants: true, read: ElementRef }, { propertyName: "defaultExcelColumnOperations", first: true, predicate: ["defaultExcelColumnOperations"], descendants: true, read: TemplateRef, static: true }, { propertyName: "defaultExcelFilterOperations", first: true, predicate: ["defaultExcelFilterOperations"], descendants: true, read: TemplateRef, static: true }], usesInheritance: true, ngImport: i0, template: "<article #mainDropdown\n class=\"igx-excel-filter__menu\"\n [ngClass]=\"{\n 'igx-excel-filter__sizing': shouldApplySizes,\n 'igx-excel-filter__menu--cosy': size === '2',\n 'igx-excel-filter__menu--compact': size === '1'\n }\"\n [id]=\"overlayComponentId\"\n (keydown)=\"onKeyDown($event)\"\n [style.min-height]=\"minHeight\"\n [style.max-height]=\"maxHeight\"\n role=\"menu\">\n\n @if (this.excelColumnOperationsDirective) {\n <ng-content select=\"igx-excel-style-column-operations,[igxExcelStyleColumnOperations]\">\n </ng-content>\n } @else {\n <igx-excel-style-header\n [showHiding]=\"size !== '3' && !column?.disableHiding\"\n [showPinning]=\"size !== '3' && !column?.disablePinning\"\n [showSelecting]=\"size !== '3' && columnSelectable()\"\n >\n </igx-excel-style-header>\n @if (column?.sortable) {\n <igx-excel-style-sorting>\n </igx-excel-style-sorting>\n }\n @if (grid?.moving) {\n <igx-excel-style-moving></igx-excel-style-moving>\n }\n @if (!column?.disablePinning && size === '3') {\n <igx-excel-style-pinning></igx-excel-style-pinning>\n }\n @if (!column?.disableHiding && size === '3') {\n <igx-excel-style-hiding></igx-excel-style-hiding>\n }\n @if (columnSelectable() && size === '3') {\n <igx-excel-style-selecting></igx-excel-style-selecting>\n }\n }\n\n @if (this.excelFilterOperationsDirective) {\n <ng-content select=\"igx-excel-style-filter-operations,[igxExcelStyleFilterOperations]\">\n </ng-content>\n } @else {\n <igx-excel-style-clear-filters></igx-excel-style-clear-filters>\n <igx-excel-style-conditional-filter></igx-excel-style-conditional-filter>\n <igx-excel-style-search></igx-excel-style-search>\n }\n</article>\n", styles: ["@layer ig.base{.igx-excel-filter__actions-clear--disabled,.igx-excel-filter__actions-clear,.igx-excel-filter__actions-filter--active,.igx-excel-filter__actions-filter,.igx-excel-filter__actions-selected,.igx-excel-filter__actions-select,.igx-excel-filter__actions-hide,.igx-excel-filter__actions-unpin,.igx-excel-filter__actions-pin--disabled,.igx-excel-filter__actions-pin{display:flex;align-items:center;justify-content:space-between;padding-block:max(var(--is-large, 1)*max(.5rem,-1 * .5rem)*var(--ig-spacing-block-large, var(--ig-spacing-block, var(--ig-spacing))),var(--is-medium, 1)*max(.5rem,-1 * .5rem)*var(--ig-spacing-block-medium, var(--ig-spacing-block, var(--ig-spacing))),var(--is-small, 1)*max(.25rem,-1 * .25rem)*var(--ig-spacing-block-small, var(--ig-spacing-block, var(--ig-spacing))));padding-inline:max(var(--is-large, 1)*max(1rem,-1 * 1rem)*var(--ig-spacing-inline-large, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-medium, 1)*max(.5rem,-1 * .5rem)*var(--ig-spacing-inline-medium, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-small, 1)*max(.25rem,-1 * .25rem)*var(--ig-spacing-inline-small, var(--ig-spacing-inline, var(--ig-spacing))));cursor:pointer;color:var(--actions-foreground);outline-style:none}.igx-excel-filter__actions-clear--disabled igx-icon,.igx-excel-filter__actions-clear igx-icon,.igx-excel-filter__actions-filter--active igx-icon,.igx-excel-filter__actions-filter igx-icon,.igx-excel-filter__actions-selected igx-icon,.igx-excel-filter__actions-select igx-icon,.igx-excel-filter__actions-hide igx-icon,.igx-excel-filter__actions-unpin igx-icon,.igx-excel-filter__actions-pin--disabled igx-icon,.igx-excel-filter__actions-pin igx-icon{color:var(--actions-icon-color)}.igx-excel-filter__actions-clear--disabled:hover,.igx-excel-filter__actions-clear:hover,.igx-excel-filter__actions-filter--active:hover,.igx-excel-filter__actions-filter:hover,.igx-excel-filter__actions-selected:hover,.igx-excel-filter__actions-select:hover,.igx-excel-filter__actions-hide:hover,.igx-excel-filter__actions-unpin:hover,.igx-excel-filter__actions-pin--disabled:hover,.igx-excel-filter__actions-pin:hover,.igx-excel-filter__actions-clear--disabled:focus,.igx-excel-filter__actions-clear:focus,.igx-excel-filter__actions-filter--active:focus,.igx-excel-filter__actions-filter:focus,.igx-excel-filter__actions-selected:focus,.igx-excel-filter__actions-select:focus,.igx-excel-filter__actions-hide:focus,.igx-excel-filter__actions-unpin:focus,.igx-excel-filter__actions-pin--disabled:focus,.igx-excel-filter__actions-pin:focus{color:var(--actions-hover-foreground);background:var(--actions-hover-background)}.igx-excel-filter__actions-clear--disabled:hover igx-icon,.igx-excel-filter__actions-clear:hover igx-icon,.igx-excel-filter__actions-filter--active:hover igx-icon,.igx-excel-filter__actions-filter:hover igx-icon,.igx-excel-filter__actions-selected:hover igx-icon,.igx-excel-filter__actions-select:hover igx-icon,.igx-excel-filter__actions-hide:hover igx-icon,.igx-excel-filter__actions-unpin:hover igx-icon,.igx-excel-filter__actions-pin--disabled:hover igx-icon,.igx-excel-filter__actions-pin:hover igx-icon,.igx-excel-filter__actions-clear--disabled:focus igx-icon,.igx-excel-filter__actions-clear:focus igx-icon,.igx-excel-filter__actions-filter--active:focus igx-icon,.igx-excel-filter__actions-filter:focus igx-icon,.igx-excel-filter__actions-selected:focus igx-icon,.igx-excel-filter__actions-select:focus igx-icon,.igx-excel-filter__actions-hide:focus igx-icon,.igx-excel-filter__actions-unpin:focus igx-icon,.igx-excel-filter__actions-pin--disabled:focus igx-icon,.igx-excel-filter__actions-pin:focus igx-icon{color:var(--actions-hover-icon-color)}[dir=rtl] .igx-excel-filter__actions-clear--disabled igx-icon,[dir=rtl] .igx-excel-filter__actions-clear igx-icon,[dir=rtl] .igx-excel-filter__actions-filter--active igx-icon,[dir=rtl] .igx-excel-filter__actions-filter igx-icon,[dir=rtl] .igx-excel-filter__actions-selected igx-icon,[dir=rtl] .igx-excel-filter__actions-select igx-icon,[dir=rtl] .igx-excel-filter__actions-hide igx-icon,[dir=rtl] .igx-excel-filter__actions-unpin igx-icon,[dir=rtl] .igx-excel-filter__actions-pin--disabled igx-icon,[dir=rtl] .igx-excel-filter__actions-pin igx-icon{transform:scaleX(-1)}.igx-excel-filter__menu--compact .igx-excel-filter__move,.igx-excel-filter__menu--compact .igx-excel-filter__sort{display:flex;align-items:center;justify-content:space-between}.igx-excel-filter__menu--compact .igx-excel-filter__move header,.igx-excel-filter__menu--compact .igx-excel-filter__sort header{margin-inline-end:auto}.igx-excel-filter__move,.igx-excel-filter__sort{--ig-icon-size: var(--size);display:block;padding-block:max(var(--is-large, 1)*max(.5rem,-1 * .5rem)*var(--ig-spacing-block-large, var(--ig-spacing-block, var(--ig-spacing))),var(--is-medium, 1)*max(.5rem,-1 * .5rem)*var(--ig-spacing-block-medium, var(--ig-spacing-block, var(--ig-spacing))),var(--is-small, 1)*max(.25rem,-1 * .25rem)*var(--ig-spacing-block-small, var(--ig-spacing-block, var(--ig-spacing))));padding-inline:max(var(--is-large, 1)*max(1rem,-1 * 1rem)*var(--ig-spacing-inline-large, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-medium, 1)*max(.5rem,-1 * .5rem)*var(--ig-spacing-inline-medium, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-small, 1)*max(.25rem,-1 * .25rem)*var(--ig-spacing-inline-small, var(--ig-spacing-inline, var(--ig-spacing))))}.igx-excel-filter__move header,.igx-excel-filter__sort header{font-family:var(--ig-overline-font-family, var(--ig-font-family));font-size:var(--ig-overline-font-size);font-weight:var(--ig-overline-font-weight);font-style:var(--ig-overline-font-style);line-height:var(--ig-overline-line-height);letter-spacing:var(--ig-overline-letter-spacing);text-transform:var(--ig-overline-text-transform);margin-top:var(--ig-overline-margin-top);margin-bottom:var(--ig-overline-margin-bottom);color:var(--subheader-foreground);margin-block-end:.25rem}.igx-excel-filter__move igx-icon,.igx-excel-filter__sort igx-icon{--component-size: 1;display:initial}.igx-excel-filter{--component-size: var(--ig-size, var(--ig-size-large));display:block;overflow:auto;width:20rem;min-width:20rem;height:100%;flex-grow:1;box-shadow:var(--ig-elevation-12);background:var(--background)}.igx-excel-filter__sizing{--is-large: clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-large, 3), 1);--is-medium: min( clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-medium, 2), 1), clamp(0, var(--ig-size-large, 3) - var(--component-size, 1), 1) );--is-small: clamp(0, var(--ig-size-medium) - var(--component-size, 1), 1);min-height:max(var(--is-large, 1)*max(40.3125rem,-1 * 40.3125rem),var(--is-medium, 1)*max(29.0625rem,-1 * 29.0625rem),var(--is-small, 1)*max(20.625rem,-1 * 20.625rem));max-height:max(var(--is-large, 1)*max(48.4375rem,-1 * 48.4375rem),var(--is-medium, 1)*max(35.3125rem,-1 * 35.3125rem),var(--is-small, 1)*max(25.3125rem,-1 * 25.3125rem))}.igx-excel-filter__menu{--component-size: var(--ig-size, var(--ig-size-large));display:flex;flex-direction:column;height:100%;border-radius:clamp(0rem,calc(var(--ig-radius-factor, 1) * .25rem),.25rem);background:var(--background)}.igx-excel-filter__menu igx-excel-style-filter-operations,.igx-excel-filter__menu [igxExcelStyleFilterOperations]{display:flex;flex-direction:column;flex-grow:1;min-height:0}.igx-excel-filter__menu .igx-tree-node__wrapper{padding:0}.igx-excel-filter__menu igx-chips-area{padding-inline:max(var(--is-large, 1)*max(1rem,-1 * 1rem)*var(--ig-spacing-inline-large, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-medium, 1)*max(.5rem,-1 * .5rem)*var(--ig-spacing-inline-medium, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-small, 1)*max(.25rem,-1 * .25rem)*var(--ig-spacing-inline-small, var(--ig-spacing-inline, var(--ig-spacing))));padding-block-start:max(var(--is-large, 1)*max(1rem,-1 * 1rem)*var(--ig-spacing-block-large, var(--ig-spacing-block, var(--ig-spacing))),var(--is-medium, 1)*max(.5rem,-1 * .5rem)*var(--ig-spacing-block-medium, var(--ig-spacing-block, var(--ig-spacing))),var(--is-small, 1)*max(.25rem,-1 * .25rem)*var(--ig-spacing-block-small, var(--ig-spacing-block, var(--ig-spacing))));padding-block-end:0;gap:max(var(--is-large, 1)*max(.5rem,-1 * .5rem),var(--is-medium, 1)*max(.25rem,-1 * .25rem),var(--is-small, 1)*max(.25rem,-1 * .25rem))}.igx-excel-filter__menu-header{display:flex;align-items:center;padding:max(var(--is-large, 1)*max(1rem,-1 * 1rem)*var(--ig-spacing-large, var(--ig-spacing, var(--ig-spacing))),var(--is-medium, 1)*max(.5rem,-1 * .5rem)*var(--ig-spacing-medium, var(--ig-spacing, var(--ig-spacing))),var(--is-small, 1)*max(.25rem,-1 * .25rem)*var(--ig-spacing-small, var(--ig-spacing, var(--ig-spacing))))}.igx-excel-filter__menu-header>h4{font-family:var(--ig-h6-font-family, var(--ig-font-family));font-size:var(--ig-h6-font-size);font-weight:var(--ig-h6-font-weight);font-style:var(--ig-h6-font-style);line-height:var(--ig-h6-line-height);letter-spacing:var(--ig-h6-letter-spacing);text-transform:var(--ig-h6-text-transform);margin-top:var(--ig-h6-margin-top);margin-bottom:var(--ig-h6-margin-bottom)}.igx-excel-filter__menu-header{color:var(--header-foreground)}.igx-excel-filter__menu-main{display:flex;flex-direction:column;flex-grow:1;overflow:hidden;padding:max(var(--is-large, 1)*max(1rem,-1 * 1rem)*var(--ig-spacing-large, var(--ig-spacing, var(--ig-spacing))),var(--is-medium, 1)*max(.5rem,-1 * .5rem)*var(--ig-spacing-medium, var(--ig-spacing, var(--ig-spacing))),var(--is-small, 1)*max(.25rem,-1 * .25rem)*var(--ig-spacing-small, var(--ig-spacing, var(--ig-spacing))));gap:max(var(--is-large, 1)*max(1rem,-1 * 1rem),var(--is-medium, 1)*max(.5rem,-1 * .5rem),var(--is-small, 1)*max(.25rem,-1 * .25rem))}.igx-excel-filter__menu-main igx-list{flex-grow:1;overflow:hidden;margin-inline:calc(max(var(--is-large, 1) * max(-1rem,-1 * -1rem),var(--is-medium, 1) * max(-.5rem,-1 * -.5rem),var(--is-small, 1) * max(-.25rem,-1 * -.25rem))*-1);border:0;border-top:.0625rem dashed var(--border-color);border-bottom:.0625rem dashed var(--border-color)}.igx-excel-filter__tree{--ig-icon-size: 1.25rem;background:var(--secondary-background);overflow-y:auto;margin-inline:calc(max(var(--is-large, 1) * max(-1rem,-1 * -1rem) * var(--ig-spacing-inline-large, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-medium, 1) * max(-.5rem,-1 * -.5rem) * var(--ig-spacing-inline-medium, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-small, 1) * max(-.25rem,-1 * -.25rem) * var(--ig-spacing-inline-small, var(--ig-spacing-inline, var(--ig-spacing))))*-1);margin-block:0;flex:1;border-top:.0625rem dashed var(--border-color);border-bottom:.0625rem dashed var(--border-color)}.igx-excel-filter__tree>igx-checkbox,.igx-excel-filter__tree .igx-tree-node__wrapper{height:max(var(--is-large, 1) * max(2.5rem,-1 * 2.5rem),var(--is-medium, 1) * max(2rem,-1 * 2rem),var(--is-small, 1) * max(1.5rem,-1 * 1.5rem));min-height:max(var(--is-large, 1) * max(2.5rem,-1 * 2.5rem),var(--is-medium, 1) * max(2rem,-1 * 2rem),var(--is-small, 1) * max(1.5rem,-1 * 1.5rem))}.igx-excel-filter__tree .igx-tree-node__toggle-button{min-width:1.25rem;margin-inline-start:max(var(--is-large, 1)*max(1rem,-1 * 1rem)*var(--ig-spacing-inline-large, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-medium, 1)*max(.5rem,-1 * .5rem)*var(--ig-spacing-inline-medium, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-small, 1)*max(.25rem,-1 * .25rem)*var(--ig-spacing-inline-small, var(--ig-spacing-inline, var(--ig-spacing))));margin-inline-end:max(var(--is-large, 1)*max(.5rem,-1 * .5rem)*var(--ig-spacing-inline-large, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-medium, 1)*max(.5rem,-1 * .5rem)*var(--ig-spacing-inline-medium, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-small, 1)*max(.25rem,-1 * .25rem)*var(--ig-spacing-inline-small, var(--ig-spacing-inline, var(--ig-spacing))))}.igx-excel-filter__tree .igx-tree{overflow-y:hidden}.igx-excel-filter__tree-alike{background:var(--secondary-background);display:flex;flex-direction:column;z-index:1}.igx-excel-filter__tree-alike-item{display:flex;align-items:center;height:max(var(--is-large, 1)*max(2.5rem,-1 * 2.5rem),var(--is-medium, 1)*max(2rem,-1 * 2rem),var(--is-small, 1)*max(1.5rem,-1 * 1.5rem));background:var(--secondary-background)}.igx-excel-filter__tree-alike-item:hover,.igx-excel-filter__tree-alike-item:focus{background:color-mix(in srgb,var(--_excel-filtering-foreground) 12%,var(--background))}.igx-excel-filter__tree-alike-item>igx-checkbox{margin-inline-start:max(var(--is-large, 1)*max(2.75rem,-1 * 2.75rem)*var(--ig-spacing-inline-large, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-medium, 1)*max(2.25rem,-1 * 2.25rem)*var(--ig-spacing-inline-medium, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-small, 1)*max(1.75rem,-1 * 1.75rem)*var(--ig-spacing-inline-small, var(--ig-spacing-inline, var(--ig-spacing))))}[dir=rtl] .igx-excel-filter__sort .igx-button-group{flex-direction:row-reverse}[dir=rtl] .igx-excel-filter__sort .igx-button-group igx-icon,[dir=rtl] .igx-excel-filter__sort .igx-button-group [igxButton]{direction:ltr}.igx-excel-filter__actions-pin--disabled{color:var(--actions-disabled-foreground);pointer-events:none}.igx-excel-filter__actions-selected igx-icon{color:var(--actions-selected-icon-color)}.igx-excel-filter__actions-filter--active{background:color-mix(in srgb,var(--_excel-filtering-accent-color) 8%,var(--background));color:var(--actions-hover-foreground)}.igx-excel-filter__actions-clear--disabled{color:var(--actions-disabled-foreground);pointer-events:none}.igx-excel-filter__menu-header-actions{display:flex;margin-inline-start:auto;gap:.25rem}.igx-excel-filter__secondary-header{display:flex;align-items:center;padding:max(var(--is-large, 1)*max(1rem,-1 * 1rem)*var(--ig-spacing-large, var(--ig-spacing, var(--ig-spacing))),var(--is-medium, 1)*max(.5rem,-1 * .5rem)*var(--ig-spacing-medium, var(--ig-spacing, var(--ig-spacing))),var(--is-small, 1)*max(.25rem,-1 * .25rem)*var(--ig-spacing-small, var(--ig-spacing, var(--ig-spacing))));color:var(--header-foreground);border-block-end:.0625rem solid var(--border-color)}.igx-excel-filter__secondary-header>h4{font-family:var(--ig-h6-font-family, var(--ig-font-family));font-size:var(--ig-h6-font-size);font-weight:var(--ig-h6-font-weight);font-style:var(--ig-h6-font-style);line-height:var(--ig-h6-line-height);letter-spacing:var(--ig-h6-letter-spacing);text-transform:var(--ig-h6-text-transform);margin-top:var(--ig-h6-margin-top);margin-bottom:var(--ig-h6-margin-bottom)}.igx-excel-filter__filter-results{position:absolute;width:.0625rem;height:.0625rem;overflow:hidden}.igx-excel-filter__menu-footer{display:flex;justify-content:space-between}.igx-excel-filter__apply{flex-grow:1}.igx-excel-filter__apply [igxButton]{width:100%}.igx-excel-filter__cancel{flex-grow:1}.igx-excel-filter__cancel [igxButton]{width:100%}.igx-excel-filter--inline{box-shadow:none;width:100%}.igx-excel-filter__menu--compact .igx-excel-filter__actions-select,.igx-excel-filter__menu--compact .igx-excel-filter__actions-selected{justify-content:center}.igx-excel-filter__menu--compact .igx-excel-filter__sort igx-buttongroup{width:13rem}.igx-excel-filter__menu--compact .igx-excel-filter__sort header{font-family:var(--ig-body-2-font-family, var(--ig-font-family));font-size:var(--ig-body-2-font-size);font-weight:var(--ig-body-2-font-weight);font-style:var(--ig-body-2-font-style);line-height:var(--ig-body-2-line-height);letter-spacing:var(--ig-body-2-letter-spacing);text-transform:var(--ig-body-2-text-transform);margin-top:var(--ig-body-2-margin-top);margin-bottom:var(--ig-body-2-margin-bottom);text-transform:capitalize}.igx-excel-filter__menu--compact .igx-excel-filter__move igx-buttongroup{width:13rem}.igx-excel-filter__menu--compact .igx-excel-filter__move header{font-family:var(--ig-body-2-font-family, var(--ig-font-family));font-size:var(--ig-body-2-font-size);font-weight:var(--ig-body-2-font-weight);font-style:var(--ig-body-2-font-style);line-height:var(--ig-body-2-line-height);letter-spacing:var(--ig-body-2-letter-spacing);text-transform:var(--ig-body-2-text-transform);margin-top:var(--ig-body-2-margin-top);margin-bottom:var(--ig-body-2-margin-bottom);text-transform:capitalize}.igx-excel-filter__menu--compact .igx-excel-filter__menu-header>h4{font-family:var(--ig-subtitle-1-font-family, var(--ig-font-family));font-size:var(--ig-subtitle-1-font-size);font-weight:var(--ig-subtitle-1-font-weight);font-style:var(--ig-subtitle-1-font-style);line-height:var(--ig-subtitle-1-line-height);letter-spacing:var(--ig-subtitle-1-letter-spacing);text-transform:var(--ig-subtitle-1-text-transform);margin-top:var(--ig-subtitle-1-margin-top);margin-bottom:var(--ig-subtitle-1-margin-bottom)}.igx-excel-filter__menu--compact .igx-excel-filter__menu-header-actions span{font-family:var(--ig-body-2-font-family, var(--ig-font-family));font-size:var(--ig-body-2-font-size);font-weight:var(--ig-body-2-font-weight);font-style:var(--ig-body-2-font-style);line-height:var(--ig-body-2-line-height);letter-spacing:var(--ig-body-2-letter-spacing);text-transform:var(--ig-body-2-text-transform);margin-top:var(--ig-body-2-margin-top);margin-bottom:var(--ig-body-2-margin-bottom)}.igx-excel-filter__menu--cosy .igx-excel-filter__actions-select,.igx-excel-filter__menu--cosy .igx-excel-filter__actions-selected{justify-content:center}.igx-excel-filter__clear{flex-grow:1}.igx-excel-filter__empty{color:hsl(from hsla(from color(from var(--background) var(--y-contrast)) h 0 l/1) h s 60%)}.igx-excel-filter__secondary{--component-size: var(--ig-size, var(--ig-size-large));width:32.5rem;min-width:32.5rem;background:var(--background);box-shadow:var(--ig-elevation-12);border-radius:clamp(0rem,calc(var(--ig-radius-factor, 1) * .25rem),.25rem);display:flex;flex-direction:column}.igx-excel-filter__secondary-main{padding-inline:max(var(--is-large, 1)*max(1rem,-1 * 1rem)*var(--ig-spacing-inline-large, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-medium, 1)*max(.5rem,-1 * .5rem)*var(--ig-spacing-inline-medium, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-small, 1)*max(.25rem,-1 * .25rem)*var(--ig-spacing-inline-small, var(--ig-spacing-inline, var(--ig-spacing))));padding-block:1rem;height:14.5rem;overflow:auto}.igx-excel-filter__secondary-footer{--ig-size: 2;display:flex;justify-content:space-between;padding-inline:max(var(--is-large, 1)*max(1.5rem,-1 * 1.5rem)*var(--ig-spacing-inline-large, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-medium, 1)*max(1.5rem,-1 * 1.5rem)*var(--ig-spacing-inline-medium, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-small, 1)*max(1.5rem,-1 * 1.5rem)*var(--ig-spacing-inline-small, var(--ig-spacing-inline, var(--ig-spacing))));padding-block-end:max(var(--is-large, 1)*max(1.5rem,-1 * 1.5rem)*var(--ig-spacing-block-large, var(--ig-spacing-block, var(--ig-spacing))),var(--is-medium, 1)*max(1.5rem,-1 * 1.5rem)*var(--ig-spacing-block-medium, var(--ig-spacing-block, var(--ig-spacing))),var(--is-small, 1)*max(1.5rem,-1 * 1.5rem)*var(--ig-spacing-block-small, var(--ig-spacing-block, var(--ig-spacing))))}.igx-excel-filter__secondary-footer .igx-excel-filter__clear{flex-grow:1}.igx-excel-filter__secondary-footer .igx-excel-filter__apply,.igx-excel-filter__secondary-footer .igx-excel-filter__cancel{flex-grow:0}.igx-excel-filter__cancel+.igx-excel-filter__apply{margin-inline-start:1rem}.igx-excel-filter__condition{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:center}.igx-excel-filter__condition igx-select~igx-input-group,.igx-excel-filter__condition igx-select~igx-date-picker,.igx-excel-filter__condition igx-select~igx-time-picker{margin-inline-start:1rem}.igx-excel-filter__condition igx-buttongroup{grid-column:1/-1;justify-self:start;min-width:30%;margin-block:max(var(--is-large, 1)*max(1rem,-1 * 1rem)*var(--ig-spacing-block-large, var(--ig-spacing-block, var(--ig-spacing))),var(--is-medium, 1)*max(.75rem,-1 * .75rem)*var(--ig-spacing-block-medium, var(--ig-spacing-block, var(--ig-spacing))),var(--is-small, 1)*max(.5rem,-1 * .5rem)*var(--ig-spacing-block-small, var(--ig-spacing-block, var(--ig-spacing))))}.igx-excel-filter__condition [igxIconButton]{--component-size: var(--ig-size, var(--ig-size-large));margin-inline-start:max(var(--is-large, 1)*max(1rem,-1 * 1rem)*var(--ig-spacing-inline-large, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-medium, 1)*max(.5rem,-1 * .5rem)*var(--ig-spacing-inline-medium, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-small, 1)*max(.25rem,-1 * .25rem)*var(--ig-spacing-inline-small, var(--ig-spacing-inline, var(--ig-spacing))))}.igx-excel-filter__add-filter{--ig-icon-size: 1.125rem}.igx-excel-filter__add-filter:is(.igx-button){margin-block-start:max(var(--is-large, 1)*max(1rem,-1 * 1rem)*var(--ig-spacing-block-large, var(--ig-spacing-block, var(--ig-spacing))),var(--is-medium, 1)*max(.75rem,-1 * .75rem)*var(--ig-spacing-block-medium, var(--ig-spacing-block, var(--ig-spacing))),var(--is-small, 1)*max(.5rem,-1 * .5rem)*var(--ig-spacing-block-small, var(--ig-spacing-block, var(--ig-spacing))))}}@layer ig.bootstrap{@container style(--ig-theme: bootstrap){.igx-excel-filter__secondary-header{border-block-end:.0625rem solid var(--border-color)}.igx-excel-filter__secondary-footer{padding-inline:max(var(--is-large, 1)*max(1rem,-1 * 1rem)*var(--ig-spacing-inline-large, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-medium, 1)*max(1rem,-1 * 1rem)*var(--ig-spacing-inline-medium, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-small, 1)*max(1rem,-1 * 1rem)*var(--ig-spacing-inline-small, var(--ig-spacing-inline, var(--ig-spacing))));padding-block:max(var(--is-large, 1)*max(1rem,-1 * 1rem)*var(--ig-spacing-block-large, var(--ig-spacing-block, var(--ig-spacing))),var(--is-medium, 1)*max(1rem,-1 * 1rem)*var(--ig-spacing-block-medium, var(--ig-spacing-block, var(--ig-spacing))),var(--is-small, 1)*max(1rem,-1 * 1rem)*var(--ig-spacing-block-small, var(--ig-spacing-block, var(--ig-spacing))));border-top:.0625rem solid var(--border-color)}.igx-excel-filter__menu-main igx-list{--_border-color: color-mix(in srgb, var(--ig-excel-filtering-accent-color) 16%, var(--ig-excel-filtering-background));border-block:.0625rem dashed var(--_border-color, var(--ig-gray-100))}.igx-excel-filter__menu-header>h4{font-family:var(--ig-subtitle-1-font-family, var(--ig-font-family));font-size:var(--ig-subtitle-1-font-size);font-weight:var(--ig-subtitle-1-font-weight);font-style:var(--ig-subtitle-1-font-style);line-height:var(--ig-subtitle-1-line-height);letter-spacing:var(--ig-subtitle-1-letter-spacing);text-transform:var(--ig-subtitle-1-text-transform);margin-top:var(--ig-subtitle-1-margin-top);margin-bottom:var(--ig-subtitle-1-margin-bottom)}}}@layer ig.indigo{@container style(--ig-theme: indigo){.igx-excel-filter{box-shadow:var(--ig-elevation-3),0 0 0 .0625rem var(--border-color);border-radius:clamp(0rem,calc(var(--ig-radius-factor, 1) * .25rem),.25rem)}.igx-excel-filter .igx-excel-filter__actions-clear--disabled,.igx-excel-filter .igx-excel-filter__actions-clear,.igx-excel-filter .igx-excel-filter__actions-filter--active,.igx-excel-filter .igx-excel-filter__actions-filter,.igx-excel-filter .igx-excel-filter__actions-selected,.igx-excel-filter .igx-excel-filter__actions-select,.igx-excel-filter .igx-excel-filter__actions-hide,.igx-excel-filter .igx-excel-filter__actions-unpin,.igx-excel-filter .igx-excel-filter__actions-pin--disabled,.igx-excel-filter .igx-excel-filter__actions-pin{padding-block:max(var(--is-large, 1)*max(.5rem,-1 * .5rem)*var(--ig-spacing-block-large, var(--ig-spacing-block, var(--ig-spacing))),var(--is-medium, 1)*max(.375rem,-1 * .375rem)*var(--ig-spacing-block-medium, var(--ig-spacing-block, var(--ig-spacing))),var(--is-small, 1)*max(.25rem,-1 * .25rem)*var(--ig-spacing-block-small, var(--ig-spacing-block, var(--ig-spacing))));padding-inline:max(var(--is-large, 1)*max(.75rem,-1 * .75rem)*var(--ig-spacing-inline-large, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-medium, 1)*max(.75rem,-1 * .75rem)*var(--ig-spacing-inline-medium, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-small, 1)*max(.75rem,-1 * .75rem)*var(--ig-spacing-inline-small, var(--ig-spacing-inline, var(--ig-spacing))));margin-inline:.5rem;margin-block-end:.25rem;border-radius:.25rem}.igx-excel-filter .igx-excel-filter__actions-clear--disabled igx-icon,.igx-excel-filter .igx-excel-filter__actions-clear igx-icon,.igx-excel-filter .igx-excel-filter__actions-filter--active igx-icon,.igx-excel-filter .igx-excel-filter__actions-filter igx-icon,.igx-excel-filter .igx-excel-filter__actions-selected igx-icon,.igx-excel-filter .igx-excel-filter__actions-select igx-icon,.igx-excel-filter .igx-excel-filter__actions-hide igx-icon,.igx-excel-filter .igx-excel-filter__actions-unpin igx-icon,.igx-excel-filter .igx-excel-filter__actions-pin--disabled igx-icon,.igx-excel-filter .igx-excel-filter__actions-pin igx-icon{--component-size: 2;color:var(--actions-icon-color)}.igx-excel-filter .igx-excel-filter__actions-clear--disabled:hover,.igx-excel-filter .igx-excel-filter__actions-clear:hover,.igx-excel-filter .igx-excel-filter__actions-filter--active:hover,.igx-excel-filter .igx-excel-filter__actions-filter:hover,.igx-excel-filter .igx-excel-filter__actions-selected:hover,.igx-excel-filter .igx-excel-filter__actions-select:hover,.igx-excel-filter .igx-excel-filter__actions-hide:hover,.igx-excel-filter .igx-excel-filter__actions-unpin:hover,.igx-excel-filter .igx-excel-filter__actions-pin--disabled:hover,.igx-excel-filter .igx-excel-filter__actions-pin:hover,.igx-excel-filter .igx-excel-filter__actions-clear--disabled:focus,.igx-excel-filter .igx-excel-filter__actions-clear:focus,.igx-excel-filter .igx-excel-filter__actions-filter--active:focus,.igx-excel-filter .igx-excel-filter__actions-filter:focus,.igx-excel-filter .igx-excel-filter__actions-selected:focus,.igx-excel-filter .igx-excel-filter__actions-select:focus,.igx-excel-filter .igx-excel-filter__actions-hide:focus,.igx-excel-filter .igx-excel-filter__actions-unpin:focus,.igx-excel-filter .igx-excel-filter__actions-pin--disabled:focus,.igx-excel-filter .igx-excel-filter__actions-pin:focus{background:var(--actions-hover-background)}.igx-excel-filter .igx-excel-filter__actions-clear--disabled:hover igx-icon,.igx-excel-filter .igx-excel-filter__actions-clear:hover igx-icon,.igx-excel-filter .igx-excel-filter__actions-filter--active:hover igx-icon,.igx-excel-filter .igx-excel-filter__actions-filter:hover igx-icon,.igx-excel-filter .igx-excel-filter__actions-selected:hover igx-icon,.igx-excel-filter .igx-excel-filter__actions-select:hover igx-icon,.igx-excel-filter .igx-excel-filter__actions-hide:hover igx-icon,.igx-excel-filter .igx-excel-filter__actions-unpin:hover igx-icon,.igx-excel-filter .igx-excel-filter__actions-pin--disabled:hover igx-icon,.igx-excel-filter .igx-excel-filter__actions-pin:hover igx-icon,.igx-excel-filter .igx-excel-filter__actions-clear--disabled:focus igx-icon,.igx-excel-filter .igx-excel-filter__actions-clear:focus igx-icon,.igx-excel-filter .igx-excel-filter__actions-filter--active:focus igx-icon,.igx-excel-filter .igx-excel-filter__actions-filter:focus igx-icon,.igx-excel-filter .igx-excel-filter__actions-selected:focus igx-icon,.igx-excel-filter .igx-excel-filter__actions-select:focus igx-icon,.igx-excel-filter .igx-excel-filter__actions-hide:focus igx-icon,.igx-excel-filter .igx-excel-filter__actions-unpin:focus igx-icon,.igx-excel-filter .igx-excel-filter__actions-pin--disabled:focus igx-icon,.igx-excel-filter .igx-excel-filter__actions-pin:focus igx-icon{color:var(--actions-hover-icon-color)}.igx-excel-filter .igx-excel-filter__actions-clear--disabled igx-icon,.igx-excel-filter .igx-excel-filter__actions-clear igx-icon,.igx-excel-filter .igx-excel-filter__actions-filter--active igx-icon,.igx-excel-filter .igx-excel-filter__actions-filter igx-icon,.igx-excel-filter .igx-excel-filter__actions-selected igx-icon,.igx-excel-filter .igx-excel-filter__actions-select igx-icon,.igx-excel-filter .igx-excel-filter__actions-hide igx-icon,.igx-excel-filter .igx-excel-filter__actions-unpin igx-icon,.igx-excel-filter .igx-excel-filter__actions-pin--disabled igx-icon,.igx-excel-filter .igx-excel-filter__actions-pin igx-icon{--component-size: 2}.igx-excel-filter .igx-excel-filter__move,.igx-excel-filter .igx-excel-filter__sort{padding-inline:max(var(--is-large, 1)*max(1rem,-1 * 1rem)*var(--ig-spacing-inline-large, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-medium, 1)*max(1rem,-1 * 1rem)*var(--ig-spacing-inline-medium, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-small, 1)*max(1rem,-1 * 1rem)*var(--ig-spacing-inline-small, var(--ig-spacing-inline, var(--ig-spacing))))}.igx-excel-filter .igx-excel-filter__move header,.igx-excel-filter .igx-excel-filter__sort header{margin-block-end:max(var(--is-large, 1)*max(.25rem,-1 * .25rem),var(--is-medium, 1)*max(.25rem,-1 * .25rem),var(--is-small, 1)*max(0rem,-1 * 0rem))!important;text-transform:capitalize!important}.igx-excel-filter .igx-excel-filter__move igx-icon,.igx-excel-filter .igx-excel-filter__sort igx-icon{--component-size: 2}.igx-excel-filter__menu{background:var(--background)}.igx-excel-filter__menu .igx-button-group__item:not(:nth-child(1)){margin:0}.igx-excel-filter__menu-header{padding:max(var(--is-large, 1)*max(1rem,-1 * 1rem)*var(--ig-spacing-block-large, var(--ig-spacing-block, var(--ig-spacing))),var(--is-medium, 1)*max(1rem,-1 * 1rem)*var(--ig-spacing-block-medium, var(--ig-spacing-block, var(--ig-spacing))),var(--is-small, 1)*max(1rem,-1 * 1rem)*var(--ig-spacing-block-small, var(--ig-spacing-block, var(--ig-spacing)))) max(var(--is-large, 1)*max(1rem,-1 * 1rem)*var(--ig-spacing-inline-large, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-medium, 1)*max(1rem,-1 * 1rem)*var(--ig-spacing-inline-medium, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-small, 1)*max(1rem,-1 * 1rem)*var(--ig-spacing-inline-small, var(--ig-spacing-inline, var(--ig-spacing)))) max(var(--is-large, 1)*max(max(var(--is-large, 1) * max(1rem,-1 * 1rem),var(--is-medium, 1) * max(.75rem,-1 * .75rem),var(--is-small, 1) * max(.5rem,-1 * .5rem)),-1 * max(var(--is-large, 1) * max(1rem,-1 * 1rem),var(--is-medium, 1) * max(.75rem,-1 * .75rem),var(--is-small, 1) * max(.5rem,-1 * .5rem)))*var(--ig-spacing-block-large, var(--ig-spacing-block, var(--ig-spacing))),var(--is-medium, 1)*max(max(var(--is-large, 1) * max(1rem,-1 * 1rem),var(--is-medium, 1) * max(.75rem,-1 * .75rem),var(--is-small, 1) * max(.5rem,-1 * .5rem)),-1 * max(var(--is-large, 1) * max(1rem,-1 * 1rem),var(--is-medium, 1) * max(.75rem,-1 * .75rem),var(--is-small, 1) * max(.5rem,-1 * .5rem)))*var(--ig-spacing-block-medium, var(--ig-spacing-block, var(--ig-spacing))),var(--is-small, 1)*max(max(var(--is-large, 1) * max(1rem,-1 * 1rem),var(--is-medium, 1) * max(.75rem,-1 * .75rem),var(--is-small, 1) * max(.5rem,-1 * .5rem)),-1 * max(var(--is-large, 1) * max(1rem,-1 * 1rem),var(--is-medium, 1) * max(.75rem,-1 * .75rem),var(--is-small, 1) * max(.5rem,-1 * .5rem)))*var(--ig-spacing-block-small, var(--ig-spacing-block, var(--ig-spacing))))}.igx-excel-filter__menu-main{padding:max(var(--is-large, 1)*max(1rem,-1 * 1rem)*var(--ig-spacing-large, var(--ig-spacing, var(--ig-spacing))),var(--is-medium, 1)*max(1rem,-1 * 1rem)*var(--ig-spacing-medium, var(--ig-spacing, var(--ig-spacing))),var(--is-small, 1)*max(1rem,-1 * 1rem)*var(--ig-spacing-small, var(--ig-spacing, var(--ig-spacing))));gap:max(var(--is-large, 1)*max(1rem,-1 * 1rem),var(--is-medium, 1)*max(1rem,-1 * 1rem),var(--is-small, 1)*max(1rem,-1 * 1rem))}.igx-excel-filter__menu-main igx-list{--background: var(--secondary-background);--_border-color: color-mix(in srgb, var(--ig-excel-filtering-accent-color) 16%, var(--ig-excel-filtering-background));border-block:.0625rem dashed var(--_border-color, var(--ig-gray-100));margin-inline:calc(max(var(--is-large, 1) * max(-1rem,-1 * -1rem),var(--is-medium, 1) * max(-1rem,-1 * -1rem),var(--is-small, 1) * max(-1rem,-1 * -1rem))*-1)}.igx-excel-filter__menu-main igx-list>div{gap:inherit}.igx-excel-filter__menu-main igx-list igx-display-container{display:flex;flex-direction:column;gap:inherit;padding:max(var(--is-large, 1)*max(.5rem,-1 * .5rem)*var(--ig-spacing-large, var(--ig-spacing, var(--ig-spacing))),var(--is-medium, 1)*max(.5rem,-1 * .5rem)*var(--ig-spacing-medium, var(--ig-spacing, var(--ig-spacing))),var(--is-small, 1)*max(.5rem,-1 * .5rem)*var(--ig-spacing-small, var(--ig-spacing, var(--ig-spacing))))}.igx-excel-filter__actions-filter{margin-block-end:0}.igx-excel-filter__actions-pin--disabled igx-icon{color:var(--actions-disabled-foreground)}.igx-excel-filter__actions-clear--disabled igx-icon{color:var(--actions-disabled-foreground)}.igx-excel-filter__sort{padding-block-end:0}.igx-excel-filter__move{margin-block-end:max(var(--is-large, 1)*max(1rem,-1 * 1rem),var(--is-medium, 1)*max(1rem,-1 * 1rem),var(--is-small, 1)*max(.75rem,-1 * .75rem))}.igx-excel-filter .igx-excel-filter__sort+igx-excel-filter__move{margin-block-start:max(var(--is-large, 1)*max(.5rem,-1 * .5rem),var(--is-medium, 1)*max(.5rem,-1 * .5rem),var(--is-small, 1)*max(.25rem,-1 * .25rem))}.igx-excel-filter .ig-typography .igx-excel-filter__menu--compact .igx-excel-filter__menu-header>h4{font-family:var(--ig-h6-font-family, var(--ig-font-family));font-size:var(--ig-h6-font-size);font-weight:var(--ig-h6-font-weight);font-style:var(--ig-h6-font-style);line-height:var(--ig-h6-line-height);letter-spacing:var(--ig-h6-letter-spacing);text-transform:var(--ig-h6-text-transform);margin-top:var(--ig-h6-margin-top);margin-bottom:var(--ig-h6-margin-bottom)}}}\n"], dependencies: [{ kind: "component", type: IgxExcelStyleHeaderComponent, selector: "igx-excel-style-header", inputs: ["showPinning", "showSelecting", "showHiding"] }, { kind: "component", type: IgxExcelStyleSortingComponent, selector: "igx-excel-style-sorting" }, { kind: "component", type: IgxExcelStyleMovingComponent, selector: "igx-excel-style-moving" }, { kind: "component", type: IgxExcelStylePinningComponent, selector: "igx-excel-style-pinning" }, { kind: "component", type: IgxExcelStyleHidingComponent, selector: "igx-excel-style-hiding" }, { kind: "component", type: IgxExcelStyleSelectingComponent, selector: "igx-excel-style-selecting" }, { kind: "component", type: IgxExcelStyleClearFiltersComponent, selector: "igx-excel-style-clear-filters" }, { kind: "component", type: IgxExcelStyleConditionalFilterComponent, selector: "igx-excel-style-conditional-filter" }, { kind: "component", type: IgxExcelStyleSearchComponent, selector: "igx-excel-style-search", inputs: ["id"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
10040
9753
|
}
|
|
10041
9754
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.1", ngImport: i0, type: IgxGridExcelStyleFilteringComponent, decorators: [{
|
|
10042
9755
|
type: Component,
|
|
10043
|
-
args: [{ changeDetection: ChangeDetectionStrategy.OnPush, providers: [{ provide: BaseFilteringComponent, useExisting: forwardRef(() => IgxGridExcelStyleFilteringComponent) }], selector: 'igx-grid-excel-style-filtering', encapsulation: ViewEncapsulation.None, imports: [IgxExcelStyleHeaderComponent, IgxExcelStyleSortingComponent, IgxExcelStyleMovingComponent, IgxExcelStylePinningComponent, IgxExcelStyleHidingComponent, IgxExcelStyleSelectingComponent, IgxExcelStyleClearFiltersComponent, IgxExcelStyleConditionalFilterComponent, IgxExcelStyleSearchComponent, NgClass], template: "<article #mainDropdown\n class=\"igx-excel-filter__menu\"\n [ngClass]=\"{\n 'igx-excel-filter__sizing': shouldApplySizes,\n 'igx-excel-filter__menu--cosy': size === '2',\n 'igx-excel-filter__menu--compact': size === '1'\n }\"\n [id]=\"overlayComponentId\"\n (keydown)=\"onKeyDown($event)\"\n [style.min-height]=\"minHeight\"\n [style.max-height]=\"maxHeight\"\n role=\"menu\">\n\n @if (this.excelColumnOperationsDirective) {\n <ng-content select=\"igx-excel-style-column-operations,[igxExcelStyleColumnOperations]\">\n </ng-content>\n } @else {\n <igx-excel-style-header\n [showHiding]=\"size !== '3' && !column?.disableHiding\"\n [showPinning]=\"size !== '3' && !column?.disablePinning\"\n [showSelecting]=\"size !== '3' && columnSelectable()\"\n >\n </igx-excel-style-header>\n @if (column?.sortable) {\n <igx-excel-style-sorting>\n </igx-excel-style-sorting>\n }\n @if (grid?.moving) {\n <igx-excel-style-moving></igx-excel-style-moving>\n }\n @if (!column?.disablePinning && size === '3') {\n <igx-excel-style-pinning></igx-excel-style-pinning>\n }\n @if (!column?.disableHiding && size === '3') {\n <igx-excel-style-hiding></igx-excel-style-hiding>\n }\n @if (columnSelectable() && size === '3') {\n <igx-excel-style-selecting></igx-excel-style-selecting>\n }\n }\n\n @if (this.excelFilterOperationsDirective) {\n <ng-content select=\"igx-excel-style-filter-operations,[igxExcelStyleFilterOperations]\">\n </ng-content>\n } @else {\n <igx-excel-style-clear-filters></igx-excel-style-clear-filters>\n <igx-excel-style-conditional-filter></igx-excel-style-conditional-filter>\n <igx-excel-style-search></igx-excel-style-search>\n }\n</article>\n", styles: ["@layer ig.base{.igx-excel-filter__actions-clear--disabled,.igx-excel-filter__actions-clear,.igx-excel-filter__actions-filter--active,.igx-excel-filter__actions-filter,.igx-excel-filter__actions-selected,.igx-excel-filter__actions-select,.igx-excel-filter__actions-hide,.igx-excel-filter__actions-unpin,.igx-excel-filter__actions-pin--disabled,.igx-excel-filter__actions-pin{display:flex;align-items:center;justify-content:space-between;padding-block:max(var(--is-large, 1)*max(.5rem,-1 * .5rem)*var(--ig-spacing-block-large, var(--ig-spacing-block, var(--ig-spacing))),var(--is-medium, 1)*max(.5rem,-1 * .5rem)*var(--ig-spacing-block-medium, var(--ig-spacing-block, var(--ig-spacing))),var(--is-small, 1)*max(.25rem,-1 * .25rem)*var(--ig-spacing-block-small, var(--ig-spacing-block, var(--ig-spacing))));padding-inline:max(var(--is-large, 1)*max(1rem,-1 * 1rem)*var(--ig-spacing-inline-large, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-medium, 1)*max(.5rem,-1 * .5rem)*var(--ig-spacing-inline-medium, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-small, 1)*max(.25rem,-1 * .25rem)*var(--ig-spacing-inline-small, var(--ig-spacing-inline, var(--ig-spacing))));cursor:pointer;color:var(--actions-foreground);outline-style:none}.igx-excel-filter__actions-clear--disabled igx-icon,.igx-excel-filter__actions-clear igx-icon,.igx-excel-filter__actions-filter--active igx-icon,.igx-excel-filter__actions-filter igx-icon,.igx-excel-filter__actions-selected igx-icon,.igx-excel-filter__actions-select igx-icon,.igx-excel-filter__actions-hide igx-icon,.igx-excel-filter__actions-unpin igx-icon,.igx-excel-filter__actions-pin--disabled igx-icon,.igx-excel-filter__actions-pin igx-icon{color:var(--actions-icon-color)}.igx-excel-filter__actions-clear--disabled:hover,.igx-excel-filter__actions-clear:hover,.igx-excel-filter__actions-filter--active:hover,.igx-excel-filter__actions-filter:hover,.igx-excel-filter__actions-selected:hover,.igx-excel-filter__actions-select:hover,.igx-excel-filter__actions-hide:hover,.igx-excel-filter__actions-unpin:hover,.igx-excel-filter__actions-pin--disabled:hover,.igx-excel-filter__actions-pin:hover,.igx-excel-filter__actions-clear--disabled:focus,.igx-excel-filter__actions-clear:focus,.igx-excel-filter__actions-filter--active:focus,.igx-excel-filter__actions-filter:focus,.igx-excel-filter__actions-selected:focus,.igx-excel-filter__actions-select:focus,.igx-excel-filter__actions-hide:focus,.igx-excel-filter__actions-unpin:focus,.igx-excel-filter__actions-pin--disabled:focus,.igx-excel-filter__actions-pin:focus{color:var(--actions-hover-foreground);background:var(--actions-hover-background)}.igx-excel-filter__actions-clear--disabled:hover igx-icon,.igx-excel-filter__actions-clear:hover igx-icon,.igx-excel-filter__actions-filter--active:hover igx-icon,.igx-excel-filter__actions-filter:hover igx-icon,.igx-excel-filter__actions-selected:hover igx-icon,.igx-excel-filter__actions-select:hover igx-icon,.igx-excel-filter__actions-hide:hover igx-icon,.igx-excel-filter__actions-unpin:hover igx-icon,.igx-excel-filter__actions-pin--disabled:hover igx-icon,.igx-excel-filter__actions-pin:hover igx-icon,.igx-excel-filter__actions-clear--disabled:focus igx-icon,.igx-excel-filter__actions-clear:focus igx-icon,.igx-excel-filter__actions-filter--active:focus igx-icon,.igx-excel-filter__actions-filter:focus igx-icon,.igx-excel-filter__actions-selected:focus igx-icon,.igx-excel-filter__actions-select:focus igx-icon,.igx-excel-filter__actions-hide:focus igx-icon,.igx-excel-filter__actions-unpin:focus igx-icon,.igx-excel-filter__actions-pin--disabled:focus igx-icon,.igx-excel-filter__actions-pin:focus igx-icon{color:var(--actions-hover-icon-color)}[dir=rtl] .igx-excel-filter__actions-clear--disabled igx-icon,[dir=rtl] .igx-excel-filter__actions-clear igx-icon,[dir=rtl] .igx-excel-filter__actions-filter--active igx-icon,[dir=rtl] .igx-excel-filter__actions-filter igx-icon,[dir=rtl] .igx-excel-filter__actions-selected igx-icon,[dir=rtl] .igx-excel-filter__actions-select igx-icon,[dir=rtl] .igx-excel-filter__actions-hide igx-icon,[dir=rtl] .igx-excel-filter__actions-unpin igx-icon,[dir=rtl] .igx-excel-filter__actions-pin--disabled igx-icon,[dir=rtl] .igx-excel-filter__actions-pin igx-icon{transform:scaleX(-1)}.igx-excel-filter__menu--compact .igx-excel-filter__move,.igx-excel-filter__menu--compact .igx-excel-filter__sort{display:flex;align-items:center;justify-content:space-between}.igx-excel-filter__menu--compact .igx-excel-filter__move header,.igx-excel-filter__menu--compact .igx-excel-filter__sort header{margin-inline-end:auto}.igx-excel-filter__move,.igx-excel-filter__sort{--ig-icon-size: var(--size);display:block;padding-block:max(var(--is-large, 1)*max(.5rem,-1 * .5rem)*var(--ig-spacing-block-large, var(--ig-spacing-block, var(--ig-spacing))),var(--is-medium, 1)*max(.5rem,-1 * .5rem)*var(--ig-spacing-block-medium, var(--ig-spacing-block, var(--ig-spacing))),var(--is-small, 1)*max(.25rem,-1 * .25rem)*var(--ig-spacing-block-small, var(--ig-spacing-block, var(--ig-spacing))));padding-inline:max(var(--is-large, 1)*max(1rem,-1 * 1rem)*var(--ig-spacing-inline-large, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-medium, 1)*max(.5rem,-1 * .5rem)*var(--ig-spacing-inline-medium, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-small, 1)*max(.25rem,-1 * .25rem)*var(--ig-spacing-inline-small, var(--ig-spacing-inline, var(--ig-spacing))))}.igx-excel-filter__move header,.igx-excel-filter__sort header{font-family:var(--ig-overline-font-family, var(--ig-font-family));font-size:var(--ig-overline-font-size);font-weight:var(--ig-overline-font-weight);font-style:var(--ig-overline-font-style);line-height:var(--ig-overline-line-height);letter-spacing:var(--ig-overline-letter-spacing);text-transform:var(--ig-overline-text-transform);margin-top:var(--ig-overline-margin-top);margin-bottom:var(--ig-overline-margin-bottom);color:var(--subheader-foreground);margin-block-end:.25rem}.igx-excel-filter__move igx-icon,.igx-excel-filter__sort igx-icon{--component-size: 1;display:initial}.igx-excel-filter{--component-size: var(--ig-size, var(--ig-size-large));display:block;overflow:auto;width:20rem;min-width:20rem;height:100%;flex-grow:1;box-shadow:var(--ig-elevation-12);background:var(--background)}.igx-excel-filter__sizing{--is-large: clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-large, 3), 1);--is-medium: min( clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-medium, 2), 1), clamp(0, var(--ig-size-large, 3) - var(--component-size, 1), 1) );--is-small: clamp(0, var(--ig-size-medium) - var(--component-size, 1), 1);min-height:max(var(--is-large, 1)*max(40.3125rem,-1 * 40.3125rem),var(--is-medium, 1)*max(29.0625rem,-1 * 29.0625rem),var(--is-small, 1)*max(20.625rem,-1 * 20.625rem));max-height:max(var(--is-large, 1)*max(48.4375rem,-1 * 48.4375rem),var(--is-medium, 1)*max(35.3125rem,-1 * 35.3125rem),var(--is-small, 1)*max(25.3125rem,-1 * 25.3125rem))}.igx-excel-filter__menu{--component-size: var(--ig-size, var(--ig-size-large));display:flex;flex-direction:column;height:100%;border-radius:clamp(0rem,calc(var(--ig-radius-factor, 1) * .25rem),.25rem);background:var(--background)}.igx-excel-filter__menu .igx-tree-node__wrapper{padding:0}.igx-excel-filter__menu igx-chips-area{padding-inline:max(var(--is-large, 1)*max(1rem,-1 * 1rem)*var(--ig-spacing-inline-large, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-medium, 1)*max(.5rem,-1 * .5rem)*var(--ig-spacing-inline-medium, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-small, 1)*max(.25rem,-1 * .25rem)*var(--ig-spacing-inline-small, var(--ig-spacing-inline, var(--ig-spacing))));padding-block-start:max(var(--is-large, 1)*max(1rem,-1 * 1rem)*var(--ig-spacing-block-large, var(--ig-spacing-block, var(--ig-spacing))),var(--is-medium, 1)*max(.5rem,-1 * .5rem)*var(--ig-spacing-block-medium, var(--ig-spacing-block, var(--ig-spacing))),var(--is-small, 1)*max(.25rem,-1 * .25rem)*var(--ig-spacing-block-small, var(--ig-spacing-block, var(--ig-spacing))));padding-block-end:0;gap:max(var(--is-large, 1)*max(.5rem,-1 * .5rem),var(--is-medium, 1)*max(.25rem,-1 * .25rem),var(--is-small, 1)*max(.25rem,-1 * .25rem))}.igx-excel-filter__menu-header{display:flex;align-items:center;padding:max(var(--is-large, 1)*max(1rem,-1 * 1rem)*var(--ig-spacing-large, var(--ig-spacing, var(--ig-spacing))),var(--is-medium, 1)*max(.5rem,-1 * .5rem)*var(--ig-spacing-medium, var(--ig-spacing, var(--ig-spacing))),var(--is-small, 1)*max(.25rem,-1 * .25rem)*var(--ig-spacing-small, var(--ig-spacing, var(--ig-spacing))))}.igx-excel-filter__menu-header>h4{font-family:var(--ig-h6-font-family, var(--ig-font-family));font-size:var(--ig-h6-font-size);font-weight:var(--ig-h6-font-weight);font-style:var(--ig-h6-font-style);line-height:var(--ig-h6-line-height);letter-spacing:var(--ig-h6-letter-spacing);text-transform:var(--ig-h6-text-transform);margin-top:var(--ig-h6-margin-top);margin-bottom:var(--ig-h6-margin-bottom)}.igx-excel-filter__menu-header{color:var(--header-foreground)}.igx-excel-filter__menu-main{display:flex;flex-direction:column;flex-grow:1;overflow:hidden;padding:max(var(--is-large, 1)*max(1rem,-1 * 1rem)*var(--ig-spacing-large, var(--ig-spacing, var(--ig-spacing))),var(--is-medium, 1)*max(.5rem,-1 * .5rem)*var(--ig-spacing-medium, var(--ig-spacing, var(--ig-spacing))),var(--is-small, 1)*max(.25rem,-1 * .25rem)*var(--ig-spacing-small, var(--ig-spacing, var(--ig-spacing))));gap:max(var(--is-large, 1)*max(1rem,-1 * 1rem),var(--is-medium, 1)*max(.5rem,-1 * .5rem),var(--is-small, 1)*max(.25rem,-1 * .25rem))}.igx-excel-filter__menu-main igx-list{flex-grow:1;overflow:hidden;margin-inline:calc(max(var(--is-large, 1) * max(-1rem,-1 * -1rem),var(--is-medium, 1) * max(-.5rem,-1 * -.5rem),var(--is-small, 1) * max(-.25rem,-1 * -.25rem))*-1);border:0;border-top:.0625rem dashed var(--border-color);border-bottom:.0625rem dashed var(--border-color)}.igx-excel-filter__tree{--ig-icon-size: 1.25rem;background:var(--secondary-background);overflow-y:auto;margin-inline:calc(max(var(--is-large, 1) * max(-1rem,-1 * -1rem) * var(--ig-spacing-inline-large, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-medium, 1) * max(-.5rem,-1 * -.5rem) * var(--ig-spacing-inline-medium, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-small, 1) * max(-.25rem,-1 * -.25rem) * var(--ig-spacing-inline-small, var(--ig-spacing-inline, var(--ig-spacing))))*-1);margin-block:0;flex:1;border-top:.0625rem dashed var(--border-color);border-bottom:.0625rem dashed var(--border-color)}.igx-excel-filter__tree>igx-checkbox,.igx-excel-filter__tree .igx-tree-node__wrapper{height:max(var(--is-large, 1) * max(2.5rem,-1 * 2.5rem),var(--is-medium, 1) * max(2rem,-1 * 2rem),var(--is-small, 1) * max(1.5rem,-1 * 1.5rem));min-height:max(var(--is-large, 1) * max(2.5rem,-1 * 2.5rem),var(--is-medium, 1) * max(2rem,-1 * 2rem),var(--is-small, 1) * max(1.5rem,-1 * 1.5rem))}.igx-excel-filter__tree .igx-tree-node__toggle-button{min-width:1.25rem;margin-inline-start:max(var(--is-large, 1)*max(1rem,-1 * 1rem)*var(--ig-spacing-inline-large, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-medium, 1)*max(.5rem,-1 * .5rem)*var(--ig-spacing-inline-medium, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-small, 1)*max(.25rem,-1 * .25rem)*var(--ig-spacing-inline-small, var(--ig-spacing-inline, var(--ig-spacing))));margin-inline-end:max(var(--is-large, 1)*max(.5rem,-1 * .5rem)*var(--ig-spacing-inline-large, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-medium, 1)*max(.5rem,-1 * .5rem)*var(--ig-spacing-inline-medium, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-small, 1)*max(.25rem,-1 * .25rem)*var(--ig-spacing-inline-small, var(--ig-spacing-inline, var(--ig-spacing))))}.igx-excel-filter__tree .igx-tree{overflow-y:hidden}.igx-excel-filter__tree-alike{background:var(--secondary-background);display:flex;flex-direction:column;z-index:1}.igx-excel-filter__tree-alike-item{display:flex;align-items:center;height:max(var(--is-large, 1)*max(2.5rem,-1 * 2.5rem),var(--is-medium, 1)*max(2rem,-1 * 2rem),var(--is-small, 1)*max(1.5rem,-1 * 1.5rem));background:var(--secondary-background)}.igx-excel-filter__tree-alike-item:hover,.igx-excel-filter__tree-alike-item:focus{background:color-mix(in srgb,var(--_excel-filtering-foreground) 12%,var(--background))}.igx-excel-filter__tree-alike-item>igx-checkbox{margin-inline-start:max(var(--is-large, 1)*max(2.75rem,-1 * 2.75rem)*var(--ig-spacing-inline-large, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-medium, 1)*max(2.25rem,-1 * 2.25rem)*var(--ig-spacing-inline-medium, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-small, 1)*max(1.75rem,-1 * 1.75rem)*var(--ig-spacing-inline-small, var(--ig-spacing-inline, var(--ig-spacing))))}[dir=rtl] .igx-excel-filter__sort .igx-button-group{flex-direction:row-reverse}[dir=rtl] .igx-excel-filter__sort .igx-button-group igx-icon,[dir=rtl] .igx-excel-filter__sort .igx-button-group [igxButton]{direction:ltr}.igx-excel-filter__actions-pin--disabled{color:var(--actions-disabled-foreground);pointer-events:none}.igx-excel-filter__actions-selected igx-icon{color:var(--actions-selected-icon-color)}.igx-excel-filter__actions-filter--active{background:color-mix(in srgb,var(--_excel-filtering-accent-color) 8%,var(--background));color:var(--actions-hover-foreground)}.igx-excel-filter__actions-clear--disabled{color:var(--actions-disabled-foreground);pointer-events:none}.igx-excel-filter__menu-header-actions{display:flex;margin-inline-start:auto;gap:.25rem}.igx-excel-filter__secondary-header{display:flex;align-items:center;padding:max(var(--is-large, 1)*max(1rem,-1 * 1rem)*var(--ig-spacing-large, var(--ig-spacing, var(--ig-spacing))),var(--is-medium, 1)*max(.5rem,-1 * .5rem)*var(--ig-spacing-medium, var(--ig-spacing, var(--ig-spacing))),var(--is-small, 1)*max(.25rem,-1 * .25rem)*var(--ig-spacing-small, var(--ig-spacing, var(--ig-spacing))));color:var(--header-foreground);border-block-end:.0625rem solid var(--border-color)}.igx-excel-filter__secondary-header>h4{font-family:var(--ig-h6-font-family, var(--ig-font-family));font-size:var(--ig-h6-font-size);font-weight:var(--ig-h6-font-weight);font-style:var(--ig-h6-font-style);line-height:var(--ig-h6-line-height);letter-spacing:var(--ig-h6-letter-spacing);text-transform:var(--ig-h6-text-transform);margin-top:var(--ig-h6-margin-top);margin-bottom:var(--ig-h6-margin-bottom)}.igx-excel-filter__filter-results{position:absolute;width:.0625rem;height:.0625rem;overflow:hidden}.igx-excel-filter__menu-footer{display:flex;justify-content:space-between}.igx-excel-filter__apply{flex-grow:1}.igx-excel-filter__apply [igxButton]{width:100%}.igx-excel-filter__cancel{flex-grow:1}.igx-excel-filter__cancel [igxButton]{width:100%}.igx-excel-filter--inline{box-shadow:none;width:100%}.igx-excel-filter__menu--compact .igx-excel-filter__actions-select,.igx-excel-filter__menu--compact .igx-excel-filter__actions-selected{justify-content:center}.igx-excel-filter__menu--compact .igx-excel-filter__sort igx-buttongroup{width:13rem}.igx-excel-filter__menu--compact .igx-excel-filter__sort header{font-family:var(--ig-body-2-font-family, var(--ig-font-family));font-size:var(--ig-body-2-font-size);font-weight:var(--ig-body-2-font-weight);font-style:var(--ig-body-2-font-style);line-height:var(--ig-body-2-line-height);letter-spacing:var(--ig-body-2-letter-spacing);text-transform:var(--ig-body-2-text-transform);margin-top:var(--ig-body-2-margin-top);margin-bottom:var(--ig-body-2-margin-bottom);text-transform:capitalize}.igx-excel-filter__menu--compact .igx-excel-filter__move igx-buttongroup{width:13rem}.igx-excel-filter__menu--compact .igx-excel-filter__move header{font-family:var(--ig-body-2-font-family, var(--ig-font-family));font-size:var(--ig-body-2-font-size);font-weight:var(--ig-body-2-font-weight);font-style:var(--ig-body-2-font-style);line-height:var(--ig-body-2-line-height);letter-spacing:var(--ig-body-2-letter-spacing);text-transform:var(--ig-body-2-text-transform);margin-top:var(--ig-body-2-margin-top);margin-bottom:var(--ig-body-2-margin-bottom);text-transform:capitalize}.igx-excel-filter__menu--compact .igx-excel-filter__menu-header>h4{font-family:var(--ig-subtitle-1-font-family, var(--ig-font-family));font-size:var(--ig-subtitle-1-font-size);font-weight:var(--ig-subtitle-1-font-weight);font-style:var(--ig-subtitle-1-font-style);line-height:var(--ig-subtitle-1-line-height);letter-spacing:var(--ig-subtitle-1-letter-spacing);text-transform:var(--ig-subtitle-1-text-transform);margin-top:var(--ig-subtitle-1-margin-top);margin-bottom:var(--ig-subtitle-1-margin-bottom)}.igx-excel-filter__menu--compact .igx-excel-filter__menu-header-actions span{font-family:var(--ig-body-2-font-family, var(--ig-font-family));font-size:var(--ig-body-2-font-size);font-weight:var(--ig-body-2-font-weight);font-style:var(--ig-body-2-font-style);line-height:var(--ig-body-2-line-height);letter-spacing:var(--ig-body-2-letter-spacing);text-transform:var(--ig-body-2-text-transform);margin-top:var(--ig-body-2-margin-top);margin-bottom:var(--ig-body-2-margin-bottom)}.igx-excel-filter__menu--cosy .igx-excel-filter__actions-select,.igx-excel-filter__menu--cosy .igx-excel-filter__actions-selected{justify-content:center}.igx-excel-filter__clear{flex-grow:1}.igx-excel-filter__secondary{--component-size: var(--ig-size, var(--ig-size-large));width:32.5rem;min-width:32.5rem;background:var(--background);box-shadow:var(--ig-elevation-12);border-radius:clamp(0rem,calc(var(--ig-radius-factor, 1) * .25rem),.25rem);display:flex;flex-direction:column}.igx-excel-filter__secondary-main{height:14.5rem;overflow:auto}.igx-excel-filter__secondary-footer{--ig-size: 2;display:flex;justify-content:space-between;padding-inline:max(var(--is-large, 1)*max(1.5rem,-1 * 1.5rem)*var(--ig-spacing-inline-large, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-medium, 1)*max(1.5rem,-1 * 1.5rem)*var(--ig-spacing-inline-medium, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-small, 1)*max(1.5rem,-1 * 1.5rem)*var(--ig-spacing-inline-small, var(--ig-spacing-inline, var(--ig-spacing))));padding-block-end:max(var(--is-large, 1)*max(1.5rem,-1 * 1.5rem)*var(--ig-spacing-block-large, var(--ig-spacing-block, var(--ig-spacing))),var(--is-medium, 1)*max(1.5rem,-1 * 1.5rem)*var(--ig-spacing-block-medium, var(--ig-spacing-block, var(--ig-spacing))),var(--is-small, 1)*max(1.5rem,-1 * 1.5rem)*var(--ig-spacing-block-small, var(--ig-spacing-block, var(--ig-spacing))))}.igx-excel-filter__secondary-footer .igx-excel-filter__clear{flex-grow:1}.igx-excel-filter__secondary-footer .igx-excel-filter__apply,.igx-excel-filter__secondary-footer .igx-excel-filter__cancel{flex-grow:0}.igx-excel-filter__cancel+.igx-excel-filter__apply{margin-inline-start:1rem}.igx-excel-filter__condition{display:flex;flex-wrap:wrap;align-items:center;padding-inline:max(var(--is-large, 1)*max(1rem,-1 * 1rem)*var(--ig-spacing-inline-large, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-medium, 1)*max(.5rem,-1 * .5rem)*var(--ig-spacing-inline-medium, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-small, 1)*max(.25rem,-1 * .25rem)*var(--ig-spacing-inline-small, var(--ig-spacing-inline, var(--ig-spacing))));padding-block:0}.igx-excel-filter__condition igx-select{flex-grow:1;flex-basis:40%;margin-block:1rem}.igx-excel-filter__condition igx-select~igx-input-group,.igx-excel-filter__condition igx-select~igx-date-picker,.igx-excel-filter__condition igx-select~igx-time-picker{margin-inline-start:1rem}.igx-excel-filter__condition igx-buttongroup{min-width:30%}.igx-excel-filter__condition [igxIconButton]{--component-size: var(--ig-size, var(--ig-size-large));margin-inline-start:1rem}.igx-excel-filter__add-filter{--ig-icon-size: 1.125rem;margin-inline:max(var(--is-large, 1)*max(1rem,-1 * 1rem)*var(--ig-spacing-inline-large, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-medium, 1)*max(.25rem,-1 * .25rem)*var(--ig-spacing-inline-medium, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-small, 1)*max(.25rem,-1 * .25rem)*var(--ig-spacing-inline-small, var(--ig-spacing-inline, var(--ig-spacing))));margin-block-start:0}}@layer ig.bootstrap{@container style(--ig-theme: bootstrap){.igx-excel-filter__secondary-header{border-block-end:.0625rem solid var(--border-color)}.igx-excel-filter__secondary-footer{padding-inline:max(var(--is-large, 1)*max(1rem,-1 * 1rem)*var(--ig-spacing-inline-large, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-medium, 1)*max(1rem,-1 * 1rem)*var(--ig-spacing-inline-medium, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-small, 1)*max(1rem,-1 * 1rem)*var(--ig-spacing-inline-small, var(--ig-spacing-inline, var(--ig-spacing))));padding-block:max(var(--is-large, 1)*max(1rem,-1 * 1rem)*var(--ig-spacing-block-large, var(--ig-spacing-block, var(--ig-spacing))),var(--is-medium, 1)*max(1rem,-1 * 1rem)*var(--ig-spacing-block-medium, var(--ig-spacing-block, var(--ig-spacing))),var(--is-small, 1)*max(1rem,-1 * 1rem)*var(--ig-spacing-block-small, var(--ig-spacing-block, var(--ig-spacing))));border-top:.0625rem solid var(--border-color)}.igx-excel-filter__menu-main igx-list{--_border-color: color-mix(in srgb, var(--ig-excel-filtering-accent-color) 16%, var(--ig-excel-filtering-background));border-block:.0625rem dashed var(--_border-color, var(--ig-gray-100))}.igx-excel-filter__menu-header>h4{font-family:var(--ig-subtitle-1-font-family, var(--ig-font-family));font-size:var(--ig-subtitle-1-font-size);font-weight:var(--ig-subtitle-1-font-weight);font-style:var(--ig-subtitle-1-font-style);line-height:var(--ig-subtitle-1-line-height);letter-spacing:var(--ig-subtitle-1-letter-spacing);text-transform:var(--ig-subtitle-1-text-transform);margin-top:var(--ig-subtitle-1-margin-top);margin-bottom:var(--ig-subtitle-1-margin-bottom)}}}@layer ig.indigo{@container style(--ig-theme: indigo){.igx-excel-filter{box-shadow:var(--ig-elevation-3),0 0 0 .0625rem var(--border-color);border-radius:clamp(0rem,calc(var(--ig-radius-factor, 1) * .25rem),.25rem)}.igx-excel-filter .igx-excel-filter__actions-clear--disabled,.igx-excel-filter .igx-excel-filter__actions-clear,.igx-excel-filter .igx-excel-filter__actions-filter--active,.igx-excel-filter .igx-excel-filter__actions-filter,.igx-excel-filter .igx-excel-filter__actions-selected,.igx-excel-filter .igx-excel-filter__actions-select,.igx-excel-filter .igx-excel-filter__actions-hide,.igx-excel-filter .igx-excel-filter__actions-unpin,.igx-excel-filter .igx-excel-filter__actions-pin--disabled,.igx-excel-filter .igx-excel-filter__actions-pin{padding-block:max(var(--is-large, 1)*max(.5rem,-1 * .5rem)*var(--ig-spacing-block-large, var(--ig-spacing-block, var(--ig-spacing))),var(--is-medium, 1)*max(.375rem,-1 * .375rem)*var(--ig-spacing-block-medium, var(--ig-spacing-block, var(--ig-spacing))),var(--is-small, 1)*max(.25rem,-1 * .25rem)*var(--ig-spacing-block-small, var(--ig-spacing-block, var(--ig-spacing))));padding-inline:max(var(--is-large, 1)*max(.75rem,-1 * .75rem)*var(--ig-spacing-inline-large, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-medium, 1)*max(.75rem,-1 * .75rem)*var(--ig-spacing-inline-medium, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-small, 1)*max(.75rem,-1 * .75rem)*var(--ig-spacing-inline-small, var(--ig-spacing-inline, var(--ig-spacing))));margin-inline:.5rem;margin-block-end:.25rem;border-radius:.25rem}.igx-excel-filter .igx-excel-filter__actions-clear--disabled igx-icon,.igx-excel-filter .igx-excel-filter__actions-clear igx-icon,.igx-excel-filter .igx-excel-filter__actions-filter--active igx-icon,.igx-excel-filter .igx-excel-filter__actions-filter igx-icon,.igx-excel-filter .igx-excel-filter__actions-selected igx-icon,.igx-excel-filter .igx-excel-filter__actions-select igx-icon,.igx-excel-filter .igx-excel-filter__actions-hide igx-icon,.igx-excel-filter .igx-excel-filter__actions-unpin igx-icon,.igx-excel-filter .igx-excel-filter__actions-pin--disabled igx-icon,.igx-excel-filter .igx-excel-filter__actions-pin igx-icon{--component-size: 2;color:var(--actions-icon-color)}.igx-excel-filter .igx-excel-filter__actions-clear--disabled:hover,.igx-excel-filter .igx-excel-filter__actions-clear:hover,.igx-excel-filter .igx-excel-filter__actions-filter--active:hover,.igx-excel-filter .igx-excel-filter__actions-filter:hover,.igx-excel-filter .igx-excel-filter__actions-selected:hover,.igx-excel-filter .igx-excel-filter__actions-select:hover,.igx-excel-filter .igx-excel-filter__actions-hide:hover,.igx-excel-filter .igx-excel-filter__actions-unpin:hover,.igx-excel-filter .igx-excel-filter__actions-pin--disabled:hover,.igx-excel-filter .igx-excel-filter__actions-pin:hover,.igx-excel-filter .igx-excel-filter__actions-clear--disabled:focus,.igx-excel-filter .igx-excel-filter__actions-clear:focus,.igx-excel-filter .igx-excel-filter__actions-filter--active:focus,.igx-excel-filter .igx-excel-filter__actions-filter:focus,.igx-excel-filter .igx-excel-filter__actions-selected:focus,.igx-excel-filter .igx-excel-filter__actions-select:focus,.igx-excel-filter .igx-excel-filter__actions-hide:focus,.igx-excel-filter .igx-excel-filter__actions-unpin:focus,.igx-excel-filter .igx-excel-filter__actions-pin--disabled:focus,.igx-excel-filter .igx-excel-filter__actions-pin:focus{background:var(--actions-hover-background)}.igx-excel-filter .igx-excel-filter__actions-clear--disabled:hover igx-icon,.igx-excel-filter .igx-excel-filter__actions-clear:hover igx-icon,.igx-excel-filter .igx-excel-filter__actions-filter--active:hover igx-icon,.igx-excel-filter .igx-excel-filter__actions-filter:hover igx-icon,.igx-excel-filter .igx-excel-filter__actions-selected:hover igx-icon,.igx-excel-filter .igx-excel-filter__actions-select:hover igx-icon,.igx-excel-filter .igx-excel-filter__actions-hide:hover igx-icon,.igx-excel-filter .igx-excel-filter__actions-unpin:hover igx-icon,.igx-excel-filter .igx-excel-filter__actions-pin--disabled:hover igx-icon,.igx-excel-filter .igx-excel-filter__actions-pin:hover igx-icon,.igx-excel-filter .igx-excel-filter__actions-clear--disabled:focus igx-icon,.igx-excel-filter .igx-excel-filter__actions-clear:focus igx-icon,.igx-excel-filter .igx-excel-filter__actions-filter--active:focus igx-icon,.igx-excel-filter .igx-excel-filter__actions-filter:focus igx-icon,.igx-excel-filter .igx-excel-filter__actions-selected:focus igx-icon,.igx-excel-filter .igx-excel-filter__actions-select:focus igx-icon,.igx-excel-filter .igx-excel-filter__actions-hide:focus igx-icon,.igx-excel-filter .igx-excel-filter__actions-unpin:focus igx-icon,.igx-excel-filter .igx-excel-filter__actions-pin--disabled:focus igx-icon,.igx-excel-filter .igx-excel-filter__actions-pin:focus igx-icon{color:var(--actions-hover-icon-color)}.igx-excel-filter .igx-excel-filter__actions-clear--disabled igx-icon,.igx-excel-filter .igx-excel-filter__actions-clear igx-icon,.igx-excel-filter .igx-excel-filter__actions-filter--active igx-icon,.igx-excel-filter .igx-excel-filter__actions-filter igx-icon,.igx-excel-filter .igx-excel-filter__actions-selected igx-icon,.igx-excel-filter .igx-excel-filter__actions-select igx-icon,.igx-excel-filter .igx-excel-filter__actions-hide igx-icon,.igx-excel-filter .igx-excel-filter__actions-unpin igx-icon,.igx-excel-filter .igx-excel-filter__actions-pin--disabled igx-icon,.igx-excel-filter .igx-excel-filter__actions-pin igx-icon{--component-size: 2}.igx-excel-filter .igx-excel-filter__move,.igx-excel-filter .igx-excel-filter__sort{padding-inline:max(var(--is-large, 1)*max(1rem,-1 * 1rem)*var(--ig-spacing-inline-large, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-medium, 1)*max(1rem,-1 * 1rem)*var(--ig-spacing-inline-medium, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-small, 1)*max(1rem,-1 * 1rem)*var(--ig-spacing-inline-small, var(--ig-spacing-inline, var(--ig-spacing))))}.igx-excel-filter .igx-excel-filter__move header,.igx-excel-filter .igx-excel-filter__sort header{margin-block-end:max(var(--is-large, 1)*max(.25rem,-1 * .25rem),var(--is-medium, 1)*max(.25rem,-1 * .25rem),var(--is-small, 1)*max(0rem,-1 * 0rem))!important;text-transform:capitalize!important}.igx-excel-filter .igx-excel-filter__move igx-icon,.igx-excel-filter .igx-excel-filter__sort igx-icon{--component-size: 2}.igx-excel-filter__menu{background:var(--background)}.igx-excel-filter__menu .igx-button-group__item:not(:nth-child(1)){margin:0}.igx-excel-filter__menu-header{padding:max(var(--is-large, 1)*max(1rem,-1 * 1rem)*var(--ig-spacing-block-large, var(--ig-spacing-block, var(--ig-spacing))),var(--is-medium, 1)*max(1rem,-1 * 1rem)*var(--ig-spacing-block-medium, var(--ig-spacing-block, var(--ig-spacing))),var(--is-small, 1)*max(1rem,-1 * 1rem)*var(--ig-spacing-block-small, var(--ig-spacing-block, var(--ig-spacing)))) max(var(--is-large, 1)*max(1rem,-1 * 1rem)*var(--ig-spacing-inline-large, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-medium, 1)*max(1rem,-1 * 1rem)*var(--ig-spacing-inline-medium, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-small, 1)*max(1rem,-1 * 1rem)*var(--ig-spacing-inline-small, var(--ig-spacing-inline, var(--ig-spacing)))) max(var(--is-large, 1)*max(max(var(--is-large, 1) * max(1rem,-1 * 1rem),var(--is-medium, 1) * max(.75rem,-1 * .75rem),var(--is-small, 1) * max(.5rem,-1 * .5rem)),-1 * max(var(--is-large, 1) * max(1rem,-1 * 1rem),var(--is-medium, 1) * max(.75rem,-1 * .75rem),var(--is-small, 1) * max(.5rem,-1 * .5rem)))*var(--ig-spacing-block-large, var(--ig-spacing-block, var(--ig-spacing))),var(--is-medium, 1)*max(max(var(--is-large, 1) * max(1rem,-1 * 1rem),var(--is-medium, 1) * max(.75rem,-1 * .75rem),var(--is-small, 1) * max(.5rem,-1 * .5rem)),-1 * max(var(--is-large, 1) * max(1rem,-1 * 1rem),var(--is-medium, 1) * max(.75rem,-1 * .75rem),var(--is-small, 1) * max(.5rem,-1 * .5rem)))*var(--ig-spacing-block-medium, var(--ig-spacing-block, var(--ig-spacing))),var(--is-small, 1)*max(max(var(--is-large, 1) * max(1rem,-1 * 1rem),var(--is-medium, 1) * max(.75rem,-1 * .75rem),var(--is-small, 1) * max(.5rem,-1 * .5rem)),-1 * max(var(--is-large, 1) * max(1rem,-1 * 1rem),var(--is-medium, 1) * max(.75rem,-1 * .75rem),var(--is-small, 1) * max(.5rem,-1 * .5rem)))*var(--ig-spacing-block-small, var(--ig-spacing-block, var(--ig-spacing))))}.igx-excel-filter__menu-main{padding:max(var(--is-large, 1)*max(1rem,-1 * 1rem)*var(--ig-spacing-large, var(--ig-spacing, var(--ig-spacing))),var(--is-medium, 1)*max(1rem,-1 * 1rem)*var(--ig-spacing-medium, var(--ig-spacing, var(--ig-spacing))),var(--is-small, 1)*max(1rem,-1 * 1rem)*var(--ig-spacing-small, var(--ig-spacing, var(--ig-spacing))));gap:max(var(--is-large, 1)*max(1rem,-1 * 1rem),var(--is-medium, 1)*max(1rem,-1 * 1rem),var(--is-small, 1)*max(1rem,-1 * 1rem))}.igx-excel-filter__menu-main igx-list{--background: var(--secondary-background);--_border-color: color-mix(in srgb, var(--ig-excel-filtering-accent-color) 16%, var(--ig-excel-filtering-background));border-block:.0625rem dashed var(--_border-color, var(--ig-gray-100));margin-inline:calc(max(var(--is-large, 1) * max(-1rem,-1 * -1rem),var(--is-medium, 1) * max(-1rem,-1 * -1rem),var(--is-small, 1) * max(-1rem,-1 * -1rem))*-1)}.igx-excel-filter__menu-main igx-list>div{gap:inherit}.igx-excel-filter__menu-main igx-list igx-display-container{display:flex;flex-direction:column;gap:inherit;padding:max(var(--is-large, 1)*max(.5rem,-1 * .5rem)*var(--ig-spacing-large, var(--ig-spacing, var(--ig-spacing))),var(--is-medium, 1)*max(.5rem,-1 * .5rem)*var(--ig-spacing-medium, var(--ig-spacing, var(--ig-spacing))),var(--is-small, 1)*max(.5rem,-1 * .5rem)*var(--ig-spacing-small, var(--ig-spacing, var(--ig-spacing))))}.igx-excel-filter__actions-filter{margin-block-end:0}.igx-excel-filter__actions-pin--disabled igx-icon{color:var(--actions-disabled-foreground)}.igx-excel-filter__actions-clear--disabled igx-icon{color:var(--actions-disabled-foreground)}.igx-excel-filter__sort{padding-block-end:0}.igx-excel-filter__move{margin-block-end:max(var(--is-large, 1)*max(1rem,-1 * 1rem),var(--is-medium, 1)*max(1rem,-1 * 1rem),var(--is-small, 1)*max(.75rem,-1 * .75rem))}.igx-excel-filter .igx-excel-filter__sort+igx-excel-filter__move{margin-block-start:max(var(--is-large, 1)*max(.5rem,-1 * .5rem),var(--is-medium, 1)*max(.5rem,-1 * .5rem),var(--is-small, 1)*max(.25rem,-1 * .25rem))}.igx-excel-filter .ig-typography .igx-excel-filter__menu--compact .igx-excel-filter__menu-header>h4{font-family:var(--ig-h6-font-family, var(--ig-font-family));font-size:var(--ig-h6-font-size);font-weight:var(--ig-h6-font-weight);font-style:var(--ig-h6-font-style);line-height:var(--ig-h6-line-height);letter-spacing:var(--ig-h6-letter-spacing);text-transform:var(--ig-h6-text-transform);margin-top:var(--ig-h6-margin-top);margin-bottom:var(--ig-h6-margin-bottom)}}}\n"] }]
|
|
9756
|
+
args: [{ changeDetection: ChangeDetectionStrategy.OnPush, providers: [{ provide: BaseFilteringComponent, useExisting: forwardRef(() => IgxGridExcelStyleFilteringComponent) }], selector: 'igx-grid-excel-style-filtering', encapsulation: ViewEncapsulation.None, imports: [IgxExcelStyleHeaderComponent, IgxExcelStyleSortingComponent, IgxExcelStyleMovingComponent, IgxExcelStylePinningComponent, IgxExcelStyleHidingComponent, IgxExcelStyleSelectingComponent, IgxExcelStyleClearFiltersComponent, IgxExcelStyleConditionalFilterComponent, IgxExcelStyleSearchComponent, NgClass], template: "<article #mainDropdown\n class=\"igx-excel-filter__menu\"\n [ngClass]=\"{\n 'igx-excel-filter__sizing': shouldApplySizes,\n 'igx-excel-filter__menu--cosy': size === '2',\n 'igx-excel-filter__menu--compact': size === '1'\n }\"\n [id]=\"overlayComponentId\"\n (keydown)=\"onKeyDown($event)\"\n [style.min-height]=\"minHeight\"\n [style.max-height]=\"maxHeight\"\n role=\"menu\">\n\n @if (this.excelColumnOperationsDirective) {\n <ng-content select=\"igx-excel-style-column-operations,[igxExcelStyleColumnOperations]\">\n </ng-content>\n } @else {\n <igx-excel-style-header\n [showHiding]=\"size !== '3' && !column?.disableHiding\"\n [showPinning]=\"size !== '3' && !column?.disablePinning\"\n [showSelecting]=\"size !== '3' && columnSelectable()\"\n >\n </igx-excel-style-header>\n @if (column?.sortable) {\n <igx-excel-style-sorting>\n </igx-excel-style-sorting>\n }\n @if (grid?.moving) {\n <igx-excel-style-moving></igx-excel-style-moving>\n }\n @if (!column?.disablePinning && size === '3') {\n <igx-excel-style-pinning></igx-excel-style-pinning>\n }\n @if (!column?.disableHiding && size === '3') {\n <igx-excel-style-hiding></igx-excel-style-hiding>\n }\n @if (columnSelectable() && size === '3') {\n <igx-excel-style-selecting></igx-excel-style-selecting>\n }\n }\n\n @if (this.excelFilterOperationsDirective) {\n <ng-content select=\"igx-excel-style-filter-operations,[igxExcelStyleFilterOperations]\">\n </ng-content>\n } @else {\n <igx-excel-style-clear-filters></igx-excel-style-clear-filters>\n <igx-excel-style-conditional-filter></igx-excel-style-conditional-filter>\n <igx-excel-style-search></igx-excel-style-search>\n }\n</article>\n", styles: ["@layer ig.base{.igx-excel-filter__actions-clear--disabled,.igx-excel-filter__actions-clear,.igx-excel-filter__actions-filter--active,.igx-excel-filter__actions-filter,.igx-excel-filter__actions-selected,.igx-excel-filter__actions-select,.igx-excel-filter__actions-hide,.igx-excel-filter__actions-unpin,.igx-excel-filter__actions-pin--disabled,.igx-excel-filter__actions-pin{display:flex;align-items:center;justify-content:space-between;padding-block:max(var(--is-large, 1)*max(.5rem,-1 * .5rem)*var(--ig-spacing-block-large, var(--ig-spacing-block, var(--ig-spacing))),var(--is-medium, 1)*max(.5rem,-1 * .5rem)*var(--ig-spacing-block-medium, var(--ig-spacing-block, var(--ig-spacing))),var(--is-small, 1)*max(.25rem,-1 * .25rem)*var(--ig-spacing-block-small, var(--ig-spacing-block, var(--ig-spacing))));padding-inline:max(var(--is-large, 1)*max(1rem,-1 * 1rem)*var(--ig-spacing-inline-large, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-medium, 1)*max(.5rem,-1 * .5rem)*var(--ig-spacing-inline-medium, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-small, 1)*max(.25rem,-1 * .25rem)*var(--ig-spacing-inline-small, var(--ig-spacing-inline, var(--ig-spacing))));cursor:pointer;color:var(--actions-foreground);outline-style:none}.igx-excel-filter__actions-clear--disabled igx-icon,.igx-excel-filter__actions-clear igx-icon,.igx-excel-filter__actions-filter--active igx-icon,.igx-excel-filter__actions-filter igx-icon,.igx-excel-filter__actions-selected igx-icon,.igx-excel-filter__actions-select igx-icon,.igx-excel-filter__actions-hide igx-icon,.igx-excel-filter__actions-unpin igx-icon,.igx-excel-filter__actions-pin--disabled igx-icon,.igx-excel-filter__actions-pin igx-icon{color:var(--actions-icon-color)}.igx-excel-filter__actions-clear--disabled:hover,.igx-excel-filter__actions-clear:hover,.igx-excel-filter__actions-filter--active:hover,.igx-excel-filter__actions-filter:hover,.igx-excel-filter__actions-selected:hover,.igx-excel-filter__actions-select:hover,.igx-excel-filter__actions-hide:hover,.igx-excel-filter__actions-unpin:hover,.igx-excel-filter__actions-pin--disabled:hover,.igx-excel-filter__actions-pin:hover,.igx-excel-filter__actions-clear--disabled:focus,.igx-excel-filter__actions-clear:focus,.igx-excel-filter__actions-filter--active:focus,.igx-excel-filter__actions-filter:focus,.igx-excel-filter__actions-selected:focus,.igx-excel-filter__actions-select:focus,.igx-excel-filter__actions-hide:focus,.igx-excel-filter__actions-unpin:focus,.igx-excel-filter__actions-pin--disabled:focus,.igx-excel-filter__actions-pin:focus{color:var(--actions-hover-foreground);background:var(--actions-hover-background)}.igx-excel-filter__actions-clear--disabled:hover igx-icon,.igx-excel-filter__actions-clear:hover igx-icon,.igx-excel-filter__actions-filter--active:hover igx-icon,.igx-excel-filter__actions-filter:hover igx-icon,.igx-excel-filter__actions-selected:hover igx-icon,.igx-excel-filter__actions-select:hover igx-icon,.igx-excel-filter__actions-hide:hover igx-icon,.igx-excel-filter__actions-unpin:hover igx-icon,.igx-excel-filter__actions-pin--disabled:hover igx-icon,.igx-excel-filter__actions-pin:hover igx-icon,.igx-excel-filter__actions-clear--disabled:focus igx-icon,.igx-excel-filter__actions-clear:focus igx-icon,.igx-excel-filter__actions-filter--active:focus igx-icon,.igx-excel-filter__actions-filter:focus igx-icon,.igx-excel-filter__actions-selected:focus igx-icon,.igx-excel-filter__actions-select:focus igx-icon,.igx-excel-filter__actions-hide:focus igx-icon,.igx-excel-filter__actions-unpin:focus igx-icon,.igx-excel-filter__actions-pin--disabled:focus igx-icon,.igx-excel-filter__actions-pin:focus igx-icon{color:var(--actions-hover-icon-color)}[dir=rtl] .igx-excel-filter__actions-clear--disabled igx-icon,[dir=rtl] .igx-excel-filter__actions-clear igx-icon,[dir=rtl] .igx-excel-filter__actions-filter--active igx-icon,[dir=rtl] .igx-excel-filter__actions-filter igx-icon,[dir=rtl] .igx-excel-filter__actions-selected igx-icon,[dir=rtl] .igx-excel-filter__actions-select igx-icon,[dir=rtl] .igx-excel-filter__actions-hide igx-icon,[dir=rtl] .igx-excel-filter__actions-unpin igx-icon,[dir=rtl] .igx-excel-filter__actions-pin--disabled igx-icon,[dir=rtl] .igx-excel-filter__actions-pin igx-icon{transform:scaleX(-1)}.igx-excel-filter__menu--compact .igx-excel-filter__move,.igx-excel-filter__menu--compact .igx-excel-filter__sort{display:flex;align-items:center;justify-content:space-between}.igx-excel-filter__menu--compact .igx-excel-filter__move header,.igx-excel-filter__menu--compact .igx-excel-filter__sort header{margin-inline-end:auto}.igx-excel-filter__move,.igx-excel-filter__sort{--ig-icon-size: var(--size);display:block;padding-block:max(var(--is-large, 1)*max(.5rem,-1 * .5rem)*var(--ig-spacing-block-large, var(--ig-spacing-block, var(--ig-spacing))),var(--is-medium, 1)*max(.5rem,-1 * .5rem)*var(--ig-spacing-block-medium, var(--ig-spacing-block, var(--ig-spacing))),var(--is-small, 1)*max(.25rem,-1 * .25rem)*var(--ig-spacing-block-small, var(--ig-spacing-block, var(--ig-spacing))));padding-inline:max(var(--is-large, 1)*max(1rem,-1 * 1rem)*var(--ig-spacing-inline-large, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-medium, 1)*max(.5rem,-1 * .5rem)*var(--ig-spacing-inline-medium, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-small, 1)*max(.25rem,-1 * .25rem)*var(--ig-spacing-inline-small, var(--ig-spacing-inline, var(--ig-spacing))))}.igx-excel-filter__move header,.igx-excel-filter__sort header{font-family:var(--ig-overline-font-family, var(--ig-font-family));font-size:var(--ig-overline-font-size);font-weight:var(--ig-overline-font-weight);font-style:var(--ig-overline-font-style);line-height:var(--ig-overline-line-height);letter-spacing:var(--ig-overline-letter-spacing);text-transform:var(--ig-overline-text-transform);margin-top:var(--ig-overline-margin-top);margin-bottom:var(--ig-overline-margin-bottom);color:var(--subheader-foreground);margin-block-end:.25rem}.igx-excel-filter__move igx-icon,.igx-excel-filter__sort igx-icon{--component-size: 1;display:initial}.igx-excel-filter{--component-size: var(--ig-size, var(--ig-size-large));display:block;overflow:auto;width:20rem;min-width:20rem;height:100%;flex-grow:1;box-shadow:var(--ig-elevation-12);background:var(--background)}.igx-excel-filter__sizing{--is-large: clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-large, 3), 1);--is-medium: min( clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-medium, 2), 1), clamp(0, var(--ig-size-large, 3) - var(--component-size, 1), 1) );--is-small: clamp(0, var(--ig-size-medium) - var(--component-size, 1), 1);min-height:max(var(--is-large, 1)*max(40.3125rem,-1 * 40.3125rem),var(--is-medium, 1)*max(29.0625rem,-1 * 29.0625rem),var(--is-small, 1)*max(20.625rem,-1 * 20.625rem));max-height:max(var(--is-large, 1)*max(48.4375rem,-1 * 48.4375rem),var(--is-medium, 1)*max(35.3125rem,-1 * 35.3125rem),var(--is-small, 1)*max(25.3125rem,-1 * 25.3125rem))}.igx-excel-filter__menu{--component-size: var(--ig-size, var(--ig-size-large));display:flex;flex-direction:column;height:100%;border-radius:clamp(0rem,calc(var(--ig-radius-factor, 1) * .25rem),.25rem);background:var(--background)}.igx-excel-filter__menu igx-excel-style-filter-operations,.igx-excel-filter__menu [igxExcelStyleFilterOperations]{display:flex;flex-direction:column;flex-grow:1;min-height:0}.igx-excel-filter__menu .igx-tree-node__wrapper{padding:0}.igx-excel-filter__menu igx-chips-area{padding-inline:max(var(--is-large, 1)*max(1rem,-1 * 1rem)*var(--ig-spacing-inline-large, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-medium, 1)*max(.5rem,-1 * .5rem)*var(--ig-spacing-inline-medium, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-small, 1)*max(.25rem,-1 * .25rem)*var(--ig-spacing-inline-small, var(--ig-spacing-inline, var(--ig-spacing))));padding-block-start:max(var(--is-large, 1)*max(1rem,-1 * 1rem)*var(--ig-spacing-block-large, var(--ig-spacing-block, var(--ig-spacing))),var(--is-medium, 1)*max(.5rem,-1 * .5rem)*var(--ig-spacing-block-medium, var(--ig-spacing-block, var(--ig-spacing))),var(--is-small, 1)*max(.25rem,-1 * .25rem)*var(--ig-spacing-block-small, var(--ig-spacing-block, var(--ig-spacing))));padding-block-end:0;gap:max(var(--is-large, 1)*max(.5rem,-1 * .5rem),var(--is-medium, 1)*max(.25rem,-1 * .25rem),var(--is-small, 1)*max(.25rem,-1 * .25rem))}.igx-excel-filter__menu-header{display:flex;align-items:center;padding:max(var(--is-large, 1)*max(1rem,-1 * 1rem)*var(--ig-spacing-large, var(--ig-spacing, var(--ig-spacing))),var(--is-medium, 1)*max(.5rem,-1 * .5rem)*var(--ig-spacing-medium, var(--ig-spacing, var(--ig-spacing))),var(--is-small, 1)*max(.25rem,-1 * .25rem)*var(--ig-spacing-small, var(--ig-spacing, var(--ig-spacing))))}.igx-excel-filter__menu-header>h4{font-family:var(--ig-h6-font-family, var(--ig-font-family));font-size:var(--ig-h6-font-size);font-weight:var(--ig-h6-font-weight);font-style:var(--ig-h6-font-style);line-height:var(--ig-h6-line-height);letter-spacing:var(--ig-h6-letter-spacing);text-transform:var(--ig-h6-text-transform);margin-top:var(--ig-h6-margin-top);margin-bottom:var(--ig-h6-margin-bottom)}.igx-excel-filter__menu-header{color:var(--header-foreground)}.igx-excel-filter__menu-main{display:flex;flex-direction:column;flex-grow:1;overflow:hidden;padding:max(var(--is-large, 1)*max(1rem,-1 * 1rem)*var(--ig-spacing-large, var(--ig-spacing, var(--ig-spacing))),var(--is-medium, 1)*max(.5rem,-1 * .5rem)*var(--ig-spacing-medium, var(--ig-spacing, var(--ig-spacing))),var(--is-small, 1)*max(.25rem,-1 * .25rem)*var(--ig-spacing-small, var(--ig-spacing, var(--ig-spacing))));gap:max(var(--is-large, 1)*max(1rem,-1 * 1rem),var(--is-medium, 1)*max(.5rem,-1 * .5rem),var(--is-small, 1)*max(.25rem,-1 * .25rem))}.igx-excel-filter__menu-main igx-list{flex-grow:1;overflow:hidden;margin-inline:calc(max(var(--is-large, 1) * max(-1rem,-1 * -1rem),var(--is-medium, 1) * max(-.5rem,-1 * -.5rem),var(--is-small, 1) * max(-.25rem,-1 * -.25rem))*-1);border:0;border-top:.0625rem dashed var(--border-color);border-bottom:.0625rem dashed var(--border-color)}.igx-excel-filter__tree{--ig-icon-size: 1.25rem;background:var(--secondary-background);overflow-y:auto;margin-inline:calc(max(var(--is-large, 1) * max(-1rem,-1 * -1rem) * var(--ig-spacing-inline-large, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-medium, 1) * max(-.5rem,-1 * -.5rem) * var(--ig-spacing-inline-medium, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-small, 1) * max(-.25rem,-1 * -.25rem) * var(--ig-spacing-inline-small, var(--ig-spacing-inline, var(--ig-spacing))))*-1);margin-block:0;flex:1;border-top:.0625rem dashed var(--border-color);border-bottom:.0625rem dashed var(--border-color)}.igx-excel-filter__tree>igx-checkbox,.igx-excel-filter__tree .igx-tree-node__wrapper{height:max(var(--is-large, 1) * max(2.5rem,-1 * 2.5rem),var(--is-medium, 1) * max(2rem,-1 * 2rem),var(--is-small, 1) * max(1.5rem,-1 * 1.5rem));min-height:max(var(--is-large, 1) * max(2.5rem,-1 * 2.5rem),var(--is-medium, 1) * max(2rem,-1 * 2rem),var(--is-small, 1) * max(1.5rem,-1 * 1.5rem))}.igx-excel-filter__tree .igx-tree-node__toggle-button{min-width:1.25rem;margin-inline-start:max(var(--is-large, 1)*max(1rem,-1 * 1rem)*var(--ig-spacing-inline-large, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-medium, 1)*max(.5rem,-1 * .5rem)*var(--ig-spacing-inline-medium, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-small, 1)*max(.25rem,-1 * .25rem)*var(--ig-spacing-inline-small, var(--ig-spacing-inline, var(--ig-spacing))));margin-inline-end:max(var(--is-large, 1)*max(.5rem,-1 * .5rem)*var(--ig-spacing-inline-large, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-medium, 1)*max(.5rem,-1 * .5rem)*var(--ig-spacing-inline-medium, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-small, 1)*max(.25rem,-1 * .25rem)*var(--ig-spacing-inline-small, var(--ig-spacing-inline, var(--ig-spacing))))}.igx-excel-filter__tree .igx-tree{overflow-y:hidden}.igx-excel-filter__tree-alike{background:var(--secondary-background);display:flex;flex-direction:column;z-index:1}.igx-excel-filter__tree-alike-item{display:flex;align-items:center;height:max(var(--is-large, 1)*max(2.5rem,-1 * 2.5rem),var(--is-medium, 1)*max(2rem,-1 * 2rem),var(--is-small, 1)*max(1.5rem,-1 * 1.5rem));background:var(--secondary-background)}.igx-excel-filter__tree-alike-item:hover,.igx-excel-filter__tree-alike-item:focus{background:color-mix(in srgb,var(--_excel-filtering-foreground) 12%,var(--background))}.igx-excel-filter__tree-alike-item>igx-checkbox{margin-inline-start:max(var(--is-large, 1)*max(2.75rem,-1 * 2.75rem)*var(--ig-spacing-inline-large, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-medium, 1)*max(2.25rem,-1 * 2.25rem)*var(--ig-spacing-inline-medium, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-small, 1)*max(1.75rem,-1 * 1.75rem)*var(--ig-spacing-inline-small, var(--ig-spacing-inline, var(--ig-spacing))))}[dir=rtl] .igx-excel-filter__sort .igx-button-group{flex-direction:row-reverse}[dir=rtl] .igx-excel-filter__sort .igx-button-group igx-icon,[dir=rtl] .igx-excel-filter__sort .igx-button-group [igxButton]{direction:ltr}.igx-excel-filter__actions-pin--disabled{color:var(--actions-disabled-foreground);pointer-events:none}.igx-excel-filter__actions-selected igx-icon{color:var(--actions-selected-icon-color)}.igx-excel-filter__actions-filter--active{background:color-mix(in srgb,var(--_excel-filtering-accent-color) 8%,var(--background));color:var(--actions-hover-foreground)}.igx-excel-filter__actions-clear--disabled{color:var(--actions-disabled-foreground);pointer-events:none}.igx-excel-filter__menu-header-actions{display:flex;margin-inline-start:auto;gap:.25rem}.igx-excel-filter__secondary-header{display:flex;align-items:center;padding:max(var(--is-large, 1)*max(1rem,-1 * 1rem)*var(--ig-spacing-large, var(--ig-spacing, var(--ig-spacing))),var(--is-medium, 1)*max(.5rem,-1 * .5rem)*var(--ig-spacing-medium, var(--ig-spacing, var(--ig-spacing))),var(--is-small, 1)*max(.25rem,-1 * .25rem)*var(--ig-spacing-small, var(--ig-spacing, var(--ig-spacing))));color:var(--header-foreground);border-block-end:.0625rem solid var(--border-color)}.igx-excel-filter__secondary-header>h4{font-family:var(--ig-h6-font-family, var(--ig-font-family));font-size:var(--ig-h6-font-size);font-weight:var(--ig-h6-font-weight);font-style:var(--ig-h6-font-style);line-height:var(--ig-h6-line-height);letter-spacing:var(--ig-h6-letter-spacing);text-transform:var(--ig-h6-text-transform);margin-top:var(--ig-h6-margin-top);margin-bottom:var(--ig-h6-margin-bottom)}.igx-excel-filter__filter-results{position:absolute;width:.0625rem;height:.0625rem;overflow:hidden}.igx-excel-filter__menu-footer{display:flex;justify-content:space-between}.igx-excel-filter__apply{flex-grow:1}.igx-excel-filter__apply [igxButton]{width:100%}.igx-excel-filter__cancel{flex-grow:1}.igx-excel-filter__cancel [igxButton]{width:100%}.igx-excel-filter--inline{box-shadow:none;width:100%}.igx-excel-filter__menu--compact .igx-excel-filter__actions-select,.igx-excel-filter__menu--compact .igx-excel-filter__actions-selected{justify-content:center}.igx-excel-filter__menu--compact .igx-excel-filter__sort igx-buttongroup{width:13rem}.igx-excel-filter__menu--compact .igx-excel-filter__sort header{font-family:var(--ig-body-2-font-family, var(--ig-font-family));font-size:var(--ig-body-2-font-size);font-weight:var(--ig-body-2-font-weight);font-style:var(--ig-body-2-font-style);line-height:var(--ig-body-2-line-height);letter-spacing:var(--ig-body-2-letter-spacing);text-transform:var(--ig-body-2-text-transform);margin-top:var(--ig-body-2-margin-top);margin-bottom:var(--ig-body-2-margin-bottom);text-transform:capitalize}.igx-excel-filter__menu--compact .igx-excel-filter__move igx-buttongroup{width:13rem}.igx-excel-filter__menu--compact .igx-excel-filter__move header{font-family:var(--ig-body-2-font-family, var(--ig-font-family));font-size:var(--ig-body-2-font-size);font-weight:var(--ig-body-2-font-weight);font-style:var(--ig-body-2-font-style);line-height:var(--ig-body-2-line-height);letter-spacing:var(--ig-body-2-letter-spacing);text-transform:var(--ig-body-2-text-transform);margin-top:var(--ig-body-2-margin-top);margin-bottom:var(--ig-body-2-margin-bottom);text-transform:capitalize}.igx-excel-filter__menu--compact .igx-excel-filter__menu-header>h4{font-family:var(--ig-subtitle-1-font-family, var(--ig-font-family));font-size:var(--ig-subtitle-1-font-size);font-weight:var(--ig-subtitle-1-font-weight);font-style:var(--ig-subtitle-1-font-style);line-height:var(--ig-subtitle-1-line-height);letter-spacing:var(--ig-subtitle-1-letter-spacing);text-transform:var(--ig-subtitle-1-text-transform);margin-top:var(--ig-subtitle-1-margin-top);margin-bottom:var(--ig-subtitle-1-margin-bottom)}.igx-excel-filter__menu--compact .igx-excel-filter__menu-header-actions span{font-family:var(--ig-body-2-font-family, var(--ig-font-family));font-size:var(--ig-body-2-font-size);font-weight:var(--ig-body-2-font-weight);font-style:var(--ig-body-2-font-style);line-height:var(--ig-body-2-line-height);letter-spacing:var(--ig-body-2-letter-spacing);text-transform:var(--ig-body-2-text-transform);margin-top:var(--ig-body-2-margin-top);margin-bottom:var(--ig-body-2-margin-bottom)}.igx-excel-filter__menu--cosy .igx-excel-filter__actions-select,.igx-excel-filter__menu--cosy .igx-excel-filter__actions-selected{justify-content:center}.igx-excel-filter__clear{flex-grow:1}.igx-excel-filter__empty{color:hsl(from hsla(from color(from var(--background) var(--y-contrast)) h 0 l/1) h s 60%)}.igx-excel-filter__secondary{--component-size: var(--ig-size, var(--ig-size-large));width:32.5rem;min-width:32.5rem;background:var(--background);box-shadow:var(--ig-elevation-12);border-radius:clamp(0rem,calc(var(--ig-radius-factor, 1) * .25rem),.25rem);display:flex;flex-direction:column}.igx-excel-filter__secondary-main{padding-inline:max(var(--is-large, 1)*max(1rem,-1 * 1rem)*var(--ig-spacing-inline-large, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-medium, 1)*max(.5rem,-1 * .5rem)*var(--ig-spacing-inline-medium, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-small, 1)*max(.25rem,-1 * .25rem)*var(--ig-spacing-inline-small, var(--ig-spacing-inline, var(--ig-spacing))));padding-block:1rem;height:14.5rem;overflow:auto}.igx-excel-filter__secondary-footer{--ig-size: 2;display:flex;justify-content:space-between;padding-inline:max(var(--is-large, 1)*max(1.5rem,-1 * 1.5rem)*var(--ig-spacing-inline-large, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-medium, 1)*max(1.5rem,-1 * 1.5rem)*var(--ig-spacing-inline-medium, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-small, 1)*max(1.5rem,-1 * 1.5rem)*var(--ig-spacing-inline-small, var(--ig-spacing-inline, var(--ig-spacing))));padding-block-end:max(var(--is-large, 1)*max(1.5rem,-1 * 1.5rem)*var(--ig-spacing-block-large, var(--ig-spacing-block, var(--ig-spacing))),var(--is-medium, 1)*max(1.5rem,-1 * 1.5rem)*var(--ig-spacing-block-medium, var(--ig-spacing-block, var(--ig-spacing))),var(--is-small, 1)*max(1.5rem,-1 * 1.5rem)*var(--ig-spacing-block-small, var(--ig-spacing-block, var(--ig-spacing))))}.igx-excel-filter__secondary-footer .igx-excel-filter__clear{flex-grow:1}.igx-excel-filter__secondary-footer .igx-excel-filter__apply,.igx-excel-filter__secondary-footer .igx-excel-filter__cancel{flex-grow:0}.igx-excel-filter__cancel+.igx-excel-filter__apply{margin-inline-start:1rem}.igx-excel-filter__condition{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:center}.igx-excel-filter__condition igx-select~igx-input-group,.igx-excel-filter__condition igx-select~igx-date-picker,.igx-excel-filter__condition igx-select~igx-time-picker{margin-inline-start:1rem}.igx-excel-filter__condition igx-buttongroup{grid-column:1/-1;justify-self:start;min-width:30%;margin-block:max(var(--is-large, 1)*max(1rem,-1 * 1rem)*var(--ig-spacing-block-large, var(--ig-spacing-block, var(--ig-spacing))),var(--is-medium, 1)*max(.75rem,-1 * .75rem)*var(--ig-spacing-block-medium, var(--ig-spacing-block, var(--ig-spacing))),var(--is-small, 1)*max(.5rem,-1 * .5rem)*var(--ig-spacing-block-small, var(--ig-spacing-block, var(--ig-spacing))))}.igx-excel-filter__condition [igxIconButton]{--component-size: var(--ig-size, var(--ig-size-large));margin-inline-start:max(var(--is-large, 1)*max(1rem,-1 * 1rem)*var(--ig-spacing-inline-large, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-medium, 1)*max(.5rem,-1 * .5rem)*var(--ig-spacing-inline-medium, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-small, 1)*max(.25rem,-1 * .25rem)*var(--ig-spacing-inline-small, var(--ig-spacing-inline, var(--ig-spacing))))}.igx-excel-filter__add-filter{--ig-icon-size: 1.125rem}.igx-excel-filter__add-filter:is(.igx-button){margin-block-start:max(var(--is-large, 1)*max(1rem,-1 * 1rem)*var(--ig-spacing-block-large, var(--ig-spacing-block, var(--ig-spacing))),var(--is-medium, 1)*max(.75rem,-1 * .75rem)*var(--ig-spacing-block-medium, var(--ig-spacing-block, var(--ig-spacing))),var(--is-small, 1)*max(.5rem,-1 * .5rem)*var(--ig-spacing-block-small, var(--ig-spacing-block, var(--ig-spacing))))}}@layer ig.bootstrap{@container style(--ig-theme: bootstrap){.igx-excel-filter__secondary-header{border-block-end:.0625rem solid var(--border-color)}.igx-excel-filter__secondary-footer{padding-inline:max(var(--is-large, 1)*max(1rem,-1 * 1rem)*var(--ig-spacing-inline-large, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-medium, 1)*max(1rem,-1 * 1rem)*var(--ig-spacing-inline-medium, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-small, 1)*max(1rem,-1 * 1rem)*var(--ig-spacing-inline-small, var(--ig-spacing-inline, var(--ig-spacing))));padding-block:max(var(--is-large, 1)*max(1rem,-1 * 1rem)*var(--ig-spacing-block-large, var(--ig-spacing-block, var(--ig-spacing))),var(--is-medium, 1)*max(1rem,-1 * 1rem)*var(--ig-spacing-block-medium, var(--ig-spacing-block, var(--ig-spacing))),var(--is-small, 1)*max(1rem,-1 * 1rem)*var(--ig-spacing-block-small, var(--ig-spacing-block, var(--ig-spacing))));border-top:.0625rem solid var(--border-color)}.igx-excel-filter__menu-main igx-list{--_border-color: color-mix(in srgb, var(--ig-excel-filtering-accent-color) 16%, var(--ig-excel-filtering-background));border-block:.0625rem dashed var(--_border-color, var(--ig-gray-100))}.igx-excel-filter__menu-header>h4{font-family:var(--ig-subtitle-1-font-family, var(--ig-font-family));font-size:var(--ig-subtitle-1-font-size);font-weight:var(--ig-subtitle-1-font-weight);font-style:var(--ig-subtitle-1-font-style);line-height:var(--ig-subtitle-1-line-height);letter-spacing:var(--ig-subtitle-1-letter-spacing);text-transform:var(--ig-subtitle-1-text-transform);margin-top:var(--ig-subtitle-1-margin-top);margin-bottom:var(--ig-subtitle-1-margin-bottom)}}}@layer ig.indigo{@container style(--ig-theme: indigo){.igx-excel-filter{box-shadow:var(--ig-elevation-3),0 0 0 .0625rem var(--border-color);border-radius:clamp(0rem,calc(var(--ig-radius-factor, 1) * .25rem),.25rem)}.igx-excel-filter .igx-excel-filter__actions-clear--disabled,.igx-excel-filter .igx-excel-filter__actions-clear,.igx-excel-filter .igx-excel-filter__actions-filter--active,.igx-excel-filter .igx-excel-filter__actions-filter,.igx-excel-filter .igx-excel-filter__actions-selected,.igx-excel-filter .igx-excel-filter__actions-select,.igx-excel-filter .igx-excel-filter__actions-hide,.igx-excel-filter .igx-excel-filter__actions-unpin,.igx-excel-filter .igx-excel-filter__actions-pin--disabled,.igx-excel-filter .igx-excel-filter__actions-pin{padding-block:max(var(--is-large, 1)*max(.5rem,-1 * .5rem)*var(--ig-spacing-block-large, var(--ig-spacing-block, var(--ig-spacing))),var(--is-medium, 1)*max(.375rem,-1 * .375rem)*var(--ig-spacing-block-medium, var(--ig-spacing-block, var(--ig-spacing))),var(--is-small, 1)*max(.25rem,-1 * .25rem)*var(--ig-spacing-block-small, var(--ig-spacing-block, var(--ig-spacing))));padding-inline:max(var(--is-large, 1)*max(.75rem,-1 * .75rem)*var(--ig-spacing-inline-large, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-medium, 1)*max(.75rem,-1 * .75rem)*var(--ig-spacing-inline-medium, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-small, 1)*max(.75rem,-1 * .75rem)*var(--ig-spacing-inline-small, var(--ig-spacing-inline, var(--ig-spacing))));margin-inline:.5rem;margin-block-end:.25rem;border-radius:.25rem}.igx-excel-filter .igx-excel-filter__actions-clear--disabled igx-icon,.igx-excel-filter .igx-excel-filter__actions-clear igx-icon,.igx-excel-filter .igx-excel-filter__actions-filter--active igx-icon,.igx-excel-filter .igx-excel-filter__actions-filter igx-icon,.igx-excel-filter .igx-excel-filter__actions-selected igx-icon,.igx-excel-filter .igx-excel-filter__actions-select igx-icon,.igx-excel-filter .igx-excel-filter__actions-hide igx-icon,.igx-excel-filter .igx-excel-filter__actions-unpin igx-icon,.igx-excel-filter .igx-excel-filter__actions-pin--disabled igx-icon,.igx-excel-filter .igx-excel-filter__actions-pin igx-icon{--component-size: 2;color:var(--actions-icon-color)}.igx-excel-filter .igx-excel-filter__actions-clear--disabled:hover,.igx-excel-filter .igx-excel-filter__actions-clear:hover,.igx-excel-filter .igx-excel-filter__actions-filter--active:hover,.igx-excel-filter .igx-excel-filter__actions-filter:hover,.igx-excel-filter .igx-excel-filter__actions-selected:hover,.igx-excel-filter .igx-excel-filter__actions-select:hover,.igx-excel-filter .igx-excel-filter__actions-hide:hover,.igx-excel-filter .igx-excel-filter__actions-unpin:hover,.igx-excel-filter .igx-excel-filter__actions-pin--disabled:hover,.igx-excel-filter .igx-excel-filter__actions-pin:hover,.igx-excel-filter .igx-excel-filter__actions-clear--disabled:focus,.igx-excel-filter .igx-excel-filter__actions-clear:focus,.igx-excel-filter .igx-excel-filter__actions-filter--active:focus,.igx-excel-filter .igx-excel-filter__actions-filter:focus,.igx-excel-filter .igx-excel-filter__actions-selected:focus,.igx-excel-filter .igx-excel-filter__actions-select:focus,.igx-excel-filter .igx-excel-filter__actions-hide:focus,.igx-excel-filter .igx-excel-filter__actions-unpin:focus,.igx-excel-filter .igx-excel-filter__actions-pin--disabled:focus,.igx-excel-filter .igx-excel-filter__actions-pin:focus{background:var(--actions-hover-background)}.igx-excel-filter .igx-excel-filter__actions-clear--disabled:hover igx-icon,.igx-excel-filter .igx-excel-filter__actions-clear:hover igx-icon,.igx-excel-filter .igx-excel-filter__actions-filter--active:hover igx-icon,.igx-excel-filter .igx-excel-filter__actions-filter:hover igx-icon,.igx-excel-filter .igx-excel-filter__actions-selected:hover igx-icon,.igx-excel-filter .igx-excel-filter__actions-select:hover igx-icon,.igx-excel-filter .igx-excel-filter__actions-hide:hover igx-icon,.igx-excel-filter .igx-excel-filter__actions-unpin:hover igx-icon,.igx-excel-filter .igx-excel-filter__actions-pin--disabled:hover igx-icon,.igx-excel-filter .igx-excel-filter__actions-pin:hover igx-icon,.igx-excel-filter .igx-excel-filter__actions-clear--disabled:focus igx-icon,.igx-excel-filter .igx-excel-filter__actions-clear:focus igx-icon,.igx-excel-filter .igx-excel-filter__actions-filter--active:focus igx-icon,.igx-excel-filter .igx-excel-filter__actions-filter:focus igx-icon,.igx-excel-filter .igx-excel-filter__actions-selected:focus igx-icon,.igx-excel-filter .igx-excel-filter__actions-select:focus igx-icon,.igx-excel-filter .igx-excel-filter__actions-hide:focus igx-icon,.igx-excel-filter .igx-excel-filter__actions-unpin:focus igx-icon,.igx-excel-filter .igx-excel-filter__actions-pin--disabled:focus igx-icon,.igx-excel-filter .igx-excel-filter__actions-pin:focus igx-icon{color:var(--actions-hover-icon-color)}.igx-excel-filter .igx-excel-filter__actions-clear--disabled igx-icon,.igx-excel-filter .igx-excel-filter__actions-clear igx-icon,.igx-excel-filter .igx-excel-filter__actions-filter--active igx-icon,.igx-excel-filter .igx-excel-filter__actions-filter igx-icon,.igx-excel-filter .igx-excel-filter__actions-selected igx-icon,.igx-excel-filter .igx-excel-filter__actions-select igx-icon,.igx-excel-filter .igx-excel-filter__actions-hide igx-icon,.igx-excel-filter .igx-excel-filter__actions-unpin igx-icon,.igx-excel-filter .igx-excel-filter__actions-pin--disabled igx-icon,.igx-excel-filter .igx-excel-filter__actions-pin igx-icon{--component-size: 2}.igx-excel-filter .igx-excel-filter__move,.igx-excel-filter .igx-excel-filter__sort{padding-inline:max(var(--is-large, 1)*max(1rem,-1 * 1rem)*var(--ig-spacing-inline-large, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-medium, 1)*max(1rem,-1 * 1rem)*var(--ig-spacing-inline-medium, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-small, 1)*max(1rem,-1 * 1rem)*var(--ig-spacing-inline-small, var(--ig-spacing-inline, var(--ig-spacing))))}.igx-excel-filter .igx-excel-filter__move header,.igx-excel-filter .igx-excel-filter__sort header{margin-block-end:max(var(--is-large, 1)*max(.25rem,-1 * .25rem),var(--is-medium, 1)*max(.25rem,-1 * .25rem),var(--is-small, 1)*max(0rem,-1 * 0rem))!important;text-transform:capitalize!important}.igx-excel-filter .igx-excel-filter__move igx-icon,.igx-excel-filter .igx-excel-filter__sort igx-icon{--component-size: 2}.igx-excel-filter__menu{background:var(--background)}.igx-excel-filter__menu .igx-button-group__item:not(:nth-child(1)){margin:0}.igx-excel-filter__menu-header{padding:max(var(--is-large, 1)*max(1rem,-1 * 1rem)*var(--ig-spacing-block-large, var(--ig-spacing-block, var(--ig-spacing))),var(--is-medium, 1)*max(1rem,-1 * 1rem)*var(--ig-spacing-block-medium, var(--ig-spacing-block, var(--ig-spacing))),var(--is-small, 1)*max(1rem,-1 * 1rem)*var(--ig-spacing-block-small, var(--ig-spacing-block, var(--ig-spacing)))) max(var(--is-large, 1)*max(1rem,-1 * 1rem)*var(--ig-spacing-inline-large, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-medium, 1)*max(1rem,-1 * 1rem)*var(--ig-spacing-inline-medium, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-small, 1)*max(1rem,-1 * 1rem)*var(--ig-spacing-inline-small, var(--ig-spacing-inline, var(--ig-spacing)))) max(var(--is-large, 1)*max(max(var(--is-large, 1) * max(1rem,-1 * 1rem),var(--is-medium, 1) * max(.75rem,-1 * .75rem),var(--is-small, 1) * max(.5rem,-1 * .5rem)),-1 * max(var(--is-large, 1) * max(1rem,-1 * 1rem),var(--is-medium, 1) * max(.75rem,-1 * .75rem),var(--is-small, 1) * max(.5rem,-1 * .5rem)))*var(--ig-spacing-block-large, var(--ig-spacing-block, var(--ig-spacing))),var(--is-medium, 1)*max(max(var(--is-large, 1) * max(1rem,-1 * 1rem),var(--is-medium, 1) * max(.75rem,-1 * .75rem),var(--is-small, 1) * max(.5rem,-1 * .5rem)),-1 * max(var(--is-large, 1) * max(1rem,-1 * 1rem),var(--is-medium, 1) * max(.75rem,-1 * .75rem),var(--is-small, 1) * max(.5rem,-1 * .5rem)))*var(--ig-spacing-block-medium, var(--ig-spacing-block, var(--ig-spacing))),var(--is-small, 1)*max(max(var(--is-large, 1) * max(1rem,-1 * 1rem),var(--is-medium, 1) * max(.75rem,-1 * .75rem),var(--is-small, 1) * max(.5rem,-1 * .5rem)),-1 * max(var(--is-large, 1) * max(1rem,-1 * 1rem),var(--is-medium, 1) * max(.75rem,-1 * .75rem),var(--is-small, 1) * max(.5rem,-1 * .5rem)))*var(--ig-spacing-block-small, var(--ig-spacing-block, var(--ig-spacing))))}.igx-excel-filter__menu-main{padding:max(var(--is-large, 1)*max(1rem,-1 * 1rem)*var(--ig-spacing-large, var(--ig-spacing, var(--ig-spacing))),var(--is-medium, 1)*max(1rem,-1 * 1rem)*var(--ig-spacing-medium, var(--ig-spacing, var(--ig-spacing))),var(--is-small, 1)*max(1rem,-1 * 1rem)*var(--ig-spacing-small, var(--ig-spacing, var(--ig-spacing))));gap:max(var(--is-large, 1)*max(1rem,-1 * 1rem),var(--is-medium, 1)*max(1rem,-1 * 1rem),var(--is-small, 1)*max(1rem,-1 * 1rem))}.igx-excel-filter__menu-main igx-list{--background: var(--secondary-background);--_border-color: color-mix(in srgb, var(--ig-excel-filtering-accent-color) 16%, var(--ig-excel-filtering-background));border-block:.0625rem dashed var(--_border-color, var(--ig-gray-100));margin-inline:calc(max(var(--is-large, 1) * max(-1rem,-1 * -1rem),var(--is-medium, 1) * max(-1rem,-1 * -1rem),var(--is-small, 1) * max(-1rem,-1 * -1rem))*-1)}.igx-excel-filter__menu-main igx-list>div{gap:inherit}.igx-excel-filter__menu-main igx-list igx-display-container{display:flex;flex-direction:column;gap:inherit;padding:max(var(--is-large, 1)*max(.5rem,-1 * .5rem)*var(--ig-spacing-large, var(--ig-spacing, var(--ig-spacing))),var(--is-medium, 1)*max(.5rem,-1 * .5rem)*var(--ig-spacing-medium, var(--ig-spacing, var(--ig-spacing))),var(--is-small, 1)*max(.5rem,-1 * .5rem)*var(--ig-spacing-small, var(--ig-spacing, var(--ig-spacing))))}.igx-excel-filter__actions-filter{margin-block-end:0}.igx-excel-filter__actions-pin--disabled igx-icon{color:var(--actions-disabled-foreground)}.igx-excel-filter__actions-clear--disabled igx-icon{color:var(--actions-disabled-foreground)}.igx-excel-filter__sort{padding-block-end:0}.igx-excel-filter__move{margin-block-end:max(var(--is-large, 1)*max(1rem,-1 * 1rem),var(--is-medium, 1)*max(1rem,-1 * 1rem),var(--is-small, 1)*max(.75rem,-1 * .75rem))}.igx-excel-filter .igx-excel-filter__sort+igx-excel-filter__move{margin-block-start:max(var(--is-large, 1)*max(.5rem,-1 * .5rem),var(--is-medium, 1)*max(.5rem,-1 * .5rem),var(--is-small, 1)*max(.25rem,-1 * .25rem))}.igx-excel-filter .ig-typography .igx-excel-filter__menu--compact .igx-excel-filter__menu-header>h4{font-family:var(--ig-h6-font-family, var(--ig-font-family));font-size:var(--ig-h6-font-size);font-weight:var(--ig-h6-font-weight);font-style:var(--ig-h6-font-style);line-height:var(--ig-h6-line-height);letter-spacing:var(--ig-h6-letter-spacing);text-transform:var(--ig-h6-text-transform);margin-top:var(--ig-h6-margin-top);margin-bottom:var(--ig-h6-margin-bottom)}}}\n"] }]
|
|
10044
9757
|
}], propDecorators: { defaultClass: [{
|
|
10045
9758
|
type: HostBinding,
|
|
10046
9759
|
args: ['class.igx-excel-filter']
|
|
@@ -10314,7 +10027,7 @@ class IgxGridEditingActionsComponent extends IgxGridActionsBaseDirective {
|
|
|
10314
10027
|
*/
|
|
10315
10028
|
get disabled() {
|
|
10316
10029
|
if (!this.isRow(this.strip.context)) {
|
|
10317
|
-
return;
|
|
10030
|
+
return undefined;
|
|
10318
10031
|
}
|
|
10319
10032
|
return this.strip.context.disabled;
|
|
10320
10033
|
}
|
|
@@ -10457,7 +10170,7 @@ class IgxGridPinningActionsComponent extends IgxGridActionsBaseDirective {
|
|
|
10457
10170
|
*/
|
|
10458
10171
|
get pinned() {
|
|
10459
10172
|
if (!this.isRow(this.strip.context)) {
|
|
10460
|
-
return;
|
|
10173
|
+
return undefined;
|
|
10461
10174
|
}
|
|
10462
10175
|
const context = this.strip.context;
|
|
10463
10176
|
if (context && !this.iconsRendered) {
|
|
@@ -10474,7 +10187,7 @@ class IgxGridPinningActionsComponent extends IgxGridActionsBaseDirective {
|
|
|
10474
10187
|
*/
|
|
10475
10188
|
get inPinnedArea() {
|
|
10476
10189
|
if (!this.isRow(this.strip.context)) {
|
|
10477
|
-
return;
|
|
10190
|
+
return undefined;
|
|
10478
10191
|
}
|
|
10479
10192
|
const context = this.strip.context;
|
|
10480
10193
|
return this.pinned && !context.disabled;
|
|
@@ -10487,7 +10200,7 @@ class IgxGridPinningActionsComponent extends IgxGridActionsBaseDirective {
|
|
|
10487
10200
|
*/
|
|
10488
10201
|
get pinnedTop() {
|
|
10489
10202
|
if (!this.isRow(this.strip.context)) {
|
|
10490
|
-
return;
|
|
10203
|
+
return undefined;
|
|
10491
10204
|
}
|
|
10492
10205
|
return this.strip.context.grid.isRowPinningToTop;
|
|
10493
10206
|
}
|
|
@@ -10604,7 +10317,7 @@ class IgxColumnMovingDragDirective extends IgxDragDirective {
|
|
|
10604
10317
|
this._unsubscribe();
|
|
10605
10318
|
super.ngOnDestroy();
|
|
10606
10319
|
}
|
|
10607
|
-
|
|
10320
|
+
cancelMove(event) {
|
|
10608
10321
|
this.cms.cancelDrop = true;
|
|
10609
10322
|
this.onPointerUp(event);
|
|
10610
10323
|
}
|
|
@@ -10625,7 +10338,7 @@ class IgxColumnMovingDragDirective extends IgxDragDirective {
|
|
|
10625
10338
|
this.column.grid.columnMovingStart.emit(movingStartArgs);
|
|
10626
10339
|
this.subscription$ = fromEvent(this.column.grid.document.defaultView, 'keydown').pipe(takeUntil(this._destroy)).subscribe((ev) => {
|
|
10627
10340
|
if (ev.key === this.platformUtil.KEYMAP.ESCAPE) {
|
|
10628
|
-
this.
|
|
10341
|
+
this.cancelMove(event);
|
|
10629
10342
|
}
|
|
10630
10343
|
});
|
|
10631
10344
|
}
|
|
@@ -10641,7 +10354,7 @@ class IgxColumnMovingDragDirective extends IgxDragDirective {
|
|
|
10641
10354
|
};
|
|
10642
10355
|
this.column.grid.columnMoving.emit(args);
|
|
10643
10356
|
if (args.cancel) {
|
|
10644
|
-
this.
|
|
10357
|
+
this.cancelMove(event);
|
|
10645
10358
|
}
|
|
10646
10359
|
}
|
|
10647
10360
|
}
|
|
@@ -11096,7 +10809,7 @@ class IgxGroupAreaDropDirective extends IgxDropDirective {
|
|
|
11096
10809
|
if (!this.columnBelongsToGrid(column)) {
|
|
11097
10810
|
return;
|
|
11098
10811
|
}
|
|
11099
|
-
|
|
10812
|
+
drag.icon.innerText = 'block';
|
|
11100
10813
|
this.hovered = false;
|
|
11101
10814
|
}
|
|
11102
10815
|
closestParentByAttr(elem, attr) {
|
|
@@ -11288,7 +11001,7 @@ class IgxColumnResizingService {
|
|
|
11288
11001
|
let newCombinedSpan = updatedCombinedSpan;
|
|
11289
11002
|
const newColsToResize = [];
|
|
11290
11003
|
columnsToResize.forEach((col) => {
|
|
11291
|
-
const currentResizeWidth = parseFloat(col.target.calcWidth);
|
|
11004
|
+
const currentResizeWidth = parseFloat(col.target.calcWidth?.toString() || col.target.defaultWidth);
|
|
11292
11005
|
const resizeScaled = (diff / updatedCombinedSpan) * col.target.gridColumnSpan;
|
|
11293
11006
|
const colWidth = col.target.width;
|
|
11294
11007
|
const isPercentageWidth = colWidth && typeof colWidth === 'string' && colWidth.indexOf('%') !== -1;
|
|
@@ -11607,7 +11320,7 @@ class IgxGridHeaderComponent {
|
|
|
11607
11320
|
triggerSort() {
|
|
11608
11321
|
const groupingExpr = this.grid.groupingExpressions ?
|
|
11609
11322
|
this.grid.groupingExpressions.find((expr) => expr.fieldName === this.column.field) :
|
|
11610
|
-
this.grid.groupArea?.expressions ? this.grid.groupArea?.expressions.find(
|
|
11323
|
+
this.grid.groupArea?.expressions ? this.grid.groupArea?.expressions.find(expr => expr.fieldName === this.column.field) : null;
|
|
11611
11324
|
const sortDir = groupingExpr ?
|
|
11612
11325
|
this.sortDirection + 1 > SortingDirection.Desc ? SortingDirection.Asc : SortingDirection.Desc
|
|
11613
11326
|
: this.sortDirection + 1 > SortingDirection.Desc ? SortingDirection.None : this.sortDirection + 1;
|
|
@@ -11758,7 +11471,7 @@ class IgxFilteringService {
|
|
|
11758
11471
|
...{ target: filterIconTarget }
|
|
11759
11472
|
});
|
|
11760
11473
|
this._overlayService.opening
|
|
11761
|
-
.pipe(first
|
|
11474
|
+
.pipe(first(overlay => overlay.id === id), takeUntil(this.destroy$))
|
|
11762
11475
|
.subscribe((event) => {
|
|
11763
11476
|
if (event.componentRef) {
|
|
11764
11477
|
event.componentRef.instance.initialize(column, this._overlayService);
|
|
@@ -11766,13 +11479,13 @@ class IgxFilteringService {
|
|
|
11766
11479
|
}
|
|
11767
11480
|
this.lastActiveNode = this.grid.navigation.activeNode;
|
|
11768
11481
|
});
|
|
11769
|
-
this._overlayService.opened.pipe(first
|
|
11482
|
+
this._overlayService.opened.pipe(first(overlay => overlay.id === id), takeUntil(this.destroy$)).subscribe((event) => {
|
|
11770
11483
|
if (event.componentRef) {
|
|
11771
11484
|
event.componentRef.instance.populateData();
|
|
11772
11485
|
}
|
|
11773
11486
|
});
|
|
11774
11487
|
this._overlayService.closed
|
|
11775
|
-
.pipe(first
|
|
11488
|
+
.pipe(first(overlay => overlay.id === id), takeUntil(this.destroy$))
|
|
11776
11489
|
.subscribe(() => {
|
|
11777
11490
|
this._overlayService.detach(id);
|
|
11778
11491
|
this.grid.navigation.activeNode = this.lastActiveNode;
|
|
@@ -12189,7 +11902,7 @@ class IgxFilteringService {
|
|
|
12189
11902
|
let count = 0;
|
|
12190
11903
|
let operand;
|
|
12191
11904
|
for (let i = 0; i < expressions.filteringOperands.length; i++) {
|
|
12192
|
-
operand = expressions[i];
|
|
11905
|
+
operand = expressions.filteringOperands[i];
|
|
12193
11906
|
if (operand && isTree(operand)) {
|
|
12194
11907
|
if (operand.operator === FilteringLogic.And) {
|
|
12195
11908
|
count++;
|
|
@@ -12381,7 +12094,7 @@ class IgxGridFilteringCellComponent {
|
|
|
12381
12094
|
}
|
|
12382
12095
|
}
|
|
12383
12096
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.1", ngImport: i0, type: IgxGridFilteringCellComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
12384
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.1", type: IgxGridFilteringCellComponent, isStandalone: true, selector: "igx-grid-filtering-cell", inputs: { column: "column" }, host: { properties: { "class": "this.styleClasses", "class.igx-grid-th--pinned": "this.pinnedCss", "class.igx-grid-th--pinned-last": "this.pinnedLastCss", "class.igx-grid-th--pinned-first": "this.pinnedFirstCSS", "attr.role": "this.role" } }, viewQueries: [{ propertyName: "emptyFilter", first: true, predicate: ["emptyFilter"], descendants: true, read: TemplateRef, static: true }, { propertyName: "defaultFilter", first: true, predicate: ["defaultFilter"], descendants: true, read: TemplateRef, static: true }, { propertyName: "complexFilter", first: true, predicate: ["complexFilter"], descendants: true, read: TemplateRef, static: true }, { propertyName: "chipsArea", first: true, predicate: ["chipsArea"], descendants: true, read: IgxChipsAreaComponent }, { propertyName: "moreIcon", first: true, predicate: ["moreIcon"], descendants: true, read: ElementRef }, { propertyName: "ghostChip", first: true, predicate: ["ghostChip"], descendants: true, read: IgxChipComponent }, { propertyName: "complexChip", first: true, predicate: ["complexChip"], descendants: true, read: IgxChipComponent }], ngImport: i0, template: "<ng-template #emptyFilter>\n <igx-chips-area [attr.draggable]=\"false\" class=\"igx-filtering-chips\">\n <igx-chip #ghostChip [attr.draggable]=\"false\" (click)=\"onChipClicked()\" [tabIndex]=\"-1\" [style.--ig-size]=\"filteringElementsSize\">\n <igx-icon\n [attr.draggable]=\"false\"\n igxPrefix\n family=\"default\"\n name=\"filter_list\"\n ></igx-icon>\n <span [attr.draggable]=\"false\">{{filteringService.grid.resourceStrings.igx_grid_filter}}</span>\n </igx-chip>\n </igx-chips-area>\n</ng-template>\n\n<ng-template #defaultFilter>\n <igx-chips-area #chipsArea class=\"igx-filtering-chips\">\n <!-- expressionsList items re-created on refreshExpressions(), track stable expression -->\n @for (item of expressionsList; track item.expression; let last = $last; let index = $index) {\n @if (isChipVisible(index)) {\n <igx-chip\n [removable]=\"true\"\n [tabIndex]=\"-1\"\n [style.--ig-size]=\"filteringElementsSize\"\n (click)=\"onChipClicked(item.expression)\"\n (remove)=\"onChipRemoved($event, item)\">\n <igx-icon igxPrefix\n family=\"default\"\n [name]=\"item.expression.condition
|
|
12097
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.1", type: IgxGridFilteringCellComponent, isStandalone: true, selector: "igx-grid-filtering-cell", inputs: { column: "column" }, host: { properties: { "class": "this.styleClasses", "class.igx-grid-th--pinned": "this.pinnedCss", "class.igx-grid-th--pinned-last": "this.pinnedLastCss", "class.igx-grid-th--pinned-first": "this.pinnedFirstCSS", "attr.role": "this.role" } }, viewQueries: [{ propertyName: "emptyFilter", first: true, predicate: ["emptyFilter"], descendants: true, read: TemplateRef, static: true }, { propertyName: "defaultFilter", first: true, predicate: ["defaultFilter"], descendants: true, read: TemplateRef, static: true }, { propertyName: "complexFilter", first: true, predicate: ["complexFilter"], descendants: true, read: TemplateRef, static: true }, { propertyName: "chipsArea", first: true, predicate: ["chipsArea"], descendants: true, read: IgxChipsAreaComponent }, { propertyName: "moreIcon", first: true, predicate: ["moreIcon"], descendants: true, read: ElementRef }, { propertyName: "ghostChip", first: true, predicate: ["ghostChip"], descendants: true, read: IgxChipComponent }, { propertyName: "complexChip", first: true, predicate: ["complexChip"], descendants: true, read: IgxChipComponent }], ngImport: i0, template: "<ng-template #emptyFilter>\n <igx-chips-area [attr.draggable]=\"false\" class=\"igx-filtering-chips\">\n <igx-chip #ghostChip [attr.draggable]=\"false\" (click)=\"onChipClicked()\" [tabIndex]=\"-1\" [style.--ig-size]=\"filteringElementsSize\">\n <igx-icon\n [attr.draggable]=\"false\"\n igxPrefix\n family=\"default\"\n name=\"filter_list\"\n ></igx-icon>\n <span [attr.draggable]=\"false\">{{filteringService.grid.resourceStrings.igx_grid_filter}}</span>\n </igx-chip>\n </igx-chips-area>\n</ng-template>\n\n<ng-template #defaultFilter>\n <igx-chips-area #chipsArea class=\"igx-filtering-chips\">\n <!-- expressionsList items re-created on refreshExpressions(), track stable expression -->\n @for (item of expressionsList; track item.expression; let last = $last; let index = $index) {\n @if (isChipVisible(index)) {\n <igx-chip\n [removable]=\"true\"\n [tabIndex]=\"-1\"\n [style.--ig-size]=\"filteringElementsSize\"\n (click)=\"onChipClicked(item.expression)\"\n (remove)=\"onChipRemoved($event, item)\">\n <igx-icon igxPrefix\n family=\"default\"\n [name]=\"item.expression.condition!.iconName\">\n </igx-icon>\n <span #label>\n {{filteringService.getChipLabel(item.expression)}}\n </span>\n </igx-chip>\n }\n @if (!last && isChipVisible(index + 1)) {\n <span class=\"igx-filtering-chips__connector\">{{filteringService.getOperatorAsString(item.afterOperator)}}</span>\n }\n }\n <div #moreIcon [ngClass]=\"filteringIndicatorClass()\" (click)=\"onChipClicked()\">\n <igx-icon family=\"default\" name=\"filter_list\"></igx-icon>\n <igx-badge [value]=\"moreFiltersCount\"></igx-badge>\n </div>\n </igx-chips-area>\n</ng-template>\n\n<ng-template #complexFilter>\n <igx-chip #complexChip [removable]=\"true\" (remove)=\"clearFiltering()\" [tabIndex]=\"-1\" [style.--ig-size]=\"filteringElementsSize\">\n <igx-icon igxPrefix family=\"default\" name=\"filter_list\"></igx-icon>\n <span>{{filteringService.grid.resourceStrings.igx_grid_complex_filter}}</span>\n </igx-chip>\n</ng-template>\n\n<ng-container *ngTemplateOutlet=\"template; context: context\"></ng-container>\n", dependencies: [{ kind: "component", type: IgxChipsAreaComponent, selector: "igx-chips-area", inputs: ["width", "height"], outputs: ["reorder", "selectionChange", "moveStart", "moveEnd"] }, { kind: "component", type: IgxChipComponent, selector: "igx-chip", inputs: ["variant", "id", "tabIndex", "data", "draggable", "animateOnRelease", "hideBaseOnDrag", "removable", "removeIcon", "selectable", "selectIcon", "class", "disabled", "selected", "color", "resourceStrings"], outputs: ["selectedChange", "moveStart", "moveEnd", "remove", "chipClick", "selectedChanging", "selectedChanged", "keyDown", "dragEnter", "dragLeave", "dragOver", "dragDrop"] }, { kind: "component", type: IgxIconComponent, selector: "igx-icon", inputs: ["ariaHidden", "family", "name", "active"] }, { kind: "directive", type: IgxPrefixDirective, selector: "[igxPrefix],[igxStart],igx-prefix" }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: IgxBadgeComponent, selector: "igx-badge", inputs: ["id", "type", "value", "icon", "iconSet", "shape", "outlined", "dot"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
12385
12098
|
}
|
|
12386
12099
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.1", ngImport: i0, type: IgxGridFilteringCellComponent, decorators: [{
|
|
12387
12100
|
type: Component,
|
|
@@ -12393,7 +12106,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.1", ngImpor
|
|
|
12393
12106
|
NgClass,
|
|
12394
12107
|
IgxBadgeComponent,
|
|
12395
12108
|
NgTemplateOutlet
|
|
12396
|
-
], template: "<ng-template #emptyFilter>\n <igx-chips-area [attr.draggable]=\"false\" class=\"igx-filtering-chips\">\n <igx-chip #ghostChip [attr.draggable]=\"false\" (click)=\"onChipClicked()\" [tabIndex]=\"-1\" [style.--ig-size]=\"filteringElementsSize\">\n <igx-icon\n [attr.draggable]=\"false\"\n igxPrefix\n family=\"default\"\n name=\"filter_list\"\n ></igx-icon>\n <span [attr.draggable]=\"false\">{{filteringService.grid.resourceStrings.igx_grid_filter}}</span>\n </igx-chip>\n </igx-chips-area>\n</ng-template>\n\n<ng-template #defaultFilter>\n <igx-chips-area #chipsArea class=\"igx-filtering-chips\">\n <!-- expressionsList items re-created on refreshExpressions(), track stable expression -->\n @for (item of expressionsList; track item.expression; let last = $last; let index = $index) {\n @if (isChipVisible(index)) {\n <igx-chip\n [removable]=\"true\"\n [tabIndex]=\"-1\"\n [style.--ig-size]=\"filteringElementsSize\"\n (click)=\"onChipClicked(item.expression)\"\n (remove)=\"onChipRemoved($event, item)\">\n <igx-icon igxPrefix\n family=\"default\"\n [name]=\"item.expression.condition
|
|
12109
|
+
], template: "<ng-template #emptyFilter>\n <igx-chips-area [attr.draggable]=\"false\" class=\"igx-filtering-chips\">\n <igx-chip #ghostChip [attr.draggable]=\"false\" (click)=\"onChipClicked()\" [tabIndex]=\"-1\" [style.--ig-size]=\"filteringElementsSize\">\n <igx-icon\n [attr.draggable]=\"false\"\n igxPrefix\n family=\"default\"\n name=\"filter_list\"\n ></igx-icon>\n <span [attr.draggable]=\"false\">{{filteringService.grid.resourceStrings.igx_grid_filter}}</span>\n </igx-chip>\n </igx-chips-area>\n</ng-template>\n\n<ng-template #defaultFilter>\n <igx-chips-area #chipsArea class=\"igx-filtering-chips\">\n <!-- expressionsList items re-created on refreshExpressions(), track stable expression -->\n @for (item of expressionsList; track item.expression; let last = $last; let index = $index) {\n @if (isChipVisible(index)) {\n <igx-chip\n [removable]=\"true\"\n [tabIndex]=\"-1\"\n [style.--ig-size]=\"filteringElementsSize\"\n (click)=\"onChipClicked(item.expression)\"\n (remove)=\"onChipRemoved($event, item)\">\n <igx-icon igxPrefix\n family=\"default\"\n [name]=\"item.expression.condition!.iconName\">\n </igx-icon>\n <span #label>\n {{filteringService.getChipLabel(item.expression)}}\n </span>\n </igx-chip>\n }\n @if (!last && isChipVisible(index + 1)) {\n <span class=\"igx-filtering-chips__connector\">{{filteringService.getOperatorAsString(item.afterOperator)}}</span>\n }\n }\n <div #moreIcon [ngClass]=\"filteringIndicatorClass()\" (click)=\"onChipClicked()\">\n <igx-icon family=\"default\" name=\"filter_list\"></igx-icon>\n <igx-badge [value]=\"moreFiltersCount\"></igx-badge>\n </div>\n </igx-chips-area>\n</ng-template>\n\n<ng-template #complexFilter>\n <igx-chip #complexChip [removable]=\"true\" (remove)=\"clearFiltering()\" [tabIndex]=\"-1\" [style.--ig-size]=\"filteringElementsSize\">\n <igx-icon igxPrefix family=\"default\" name=\"filter_list\"></igx-icon>\n <span>{{filteringService.grid.resourceStrings.igx_grid_complex_filter}}</span>\n </igx-chip>\n</ng-template>\n\n<ng-container *ngTemplateOutlet=\"template; context: context\"></ng-container>\n" }]
|
|
12397
12110
|
}], ctorParameters: () => [], propDecorators: { column: [{
|
|
12398
12111
|
type: Input
|
|
12399
12112
|
}], emptyFilter: [{
|
|
@@ -12456,9 +12169,9 @@ class IgxResizeHandleDirective {
|
|
|
12456
12169
|
/**
|
|
12457
12170
|
* @hidden
|
|
12458
12171
|
*/
|
|
12459
|
-
onDoubleClick() {
|
|
12172
|
+
onDoubleClick(event) {
|
|
12460
12173
|
this._dblClick = true;
|
|
12461
|
-
this.initResizeService();
|
|
12174
|
+
this.initResizeService(event);
|
|
12462
12175
|
this.colResizingService.autosizeColumnOnDblClick();
|
|
12463
12176
|
}
|
|
12464
12177
|
/**
|
|
@@ -12515,7 +12228,7 @@ class IgxResizeHandleDirective {
|
|
|
12515
12228
|
}
|
|
12516
12229
|
}
|
|
12517
12230
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.1", ngImport: i0, type: IgxResizeHandleDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
12518
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.1", type: IgxResizeHandleDirective, isStandalone: true, selector: "[igxResizeHandle]", inputs: { column: ["igxResizeHandle", "column"] }, host: { listeners: { "dblclick": "onDoubleClick()" } }, ngImport: i0 }); }
|
|
12231
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.1", type: IgxResizeHandleDirective, isStandalone: true, selector: "[igxResizeHandle]", inputs: { column: ["igxResizeHandle", "column"] }, host: { listeners: { "dblclick": "onDoubleClick($event)" } }, ngImport: i0 }); }
|
|
12519
12232
|
}
|
|
12520
12233
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.1", ngImport: i0, type: IgxResizeHandleDirective, decorators: [{
|
|
12521
12234
|
type: Directive,
|
|
@@ -12528,7 +12241,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.1", ngImpor
|
|
|
12528
12241
|
args: ['igxResizeHandle']
|
|
12529
12242
|
}], onDoubleClick: [{
|
|
12530
12243
|
type: HostListener,
|
|
12531
|
-
args: ['dblclick']
|
|
12244
|
+
args: ['dblclick', ['$event']]
|
|
12532
12245
|
}] } });
|
|
12533
12246
|
|
|
12534
12247
|
class IgxColumnMovingDropDirective extends IgxDropDirective {
|
|
@@ -12853,7 +12566,7 @@ class IgxGridHeaderGroupComponent {
|
|
|
12853
12566
|
}
|
|
12854
12567
|
else {
|
|
12855
12568
|
const selectedFields = this.grid.selectionService.getSelectedColumns();
|
|
12856
|
-
if ((selectedFields.length === columnsToSelect.length) && selectedFields.every(el => columnsToSelect.includes(el))
|
|
12569
|
+
if ((selectedFields.length === columnsToSelect.length) && selectedFields.every((el) => columnsToSelect.includes(el))
|
|
12857
12570
|
|| !clearSelection) {
|
|
12858
12571
|
this.grid.selectionService.deselectColumns(columnsToSelect, event);
|
|
12859
12572
|
}
|
|
@@ -13209,13 +12922,15 @@ class IgxGridFilteringRowComponent {
|
|
|
13209
12922
|
if (!eventArgs) {
|
|
13210
12923
|
return;
|
|
13211
12924
|
}
|
|
13212
|
-
//
|
|
13213
|
-
//
|
|
13214
|
-
const target = eventArgs.target;
|
|
12925
|
+
// DateTime editors are bound to igxDateTimeEditor's (valueChange), which emits the
|
|
12926
|
+
// parsed Date rather than a DOM InputEvent.
|
|
13215
12927
|
if (this.column.dataType === GridColumnDataType.DateTime) {
|
|
13216
12928
|
this.value = eventArgs;
|
|
13217
12929
|
return;
|
|
13218
12930
|
}
|
|
12931
|
+
// The 'iskeyPressed' flag is needed for a case in IE, because the input event is fired on focus and for some reason,
|
|
12932
|
+
// when you have a japanese character as a placeholder, on init the value here is empty string .
|
|
12933
|
+
const target = eventArgs.target;
|
|
13219
12934
|
if (this.platform.isEdge && target.type !== 'number'
|
|
13220
12935
|
|| this.isKeyPressed || target.value || target.checkValidity()) {
|
|
13221
12936
|
this.value = target.value;
|
|
@@ -13676,7 +13391,7 @@ class IgxGridFilteringRowComponent {
|
|
|
13676
13391
|
return this.nativeElement.offsetWidth < this.NARROW_WIDTH_THRESHOLD;
|
|
13677
13392
|
}
|
|
13678
13393
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.1", ngImport: i0, type: IgxGridFilteringRowComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
13679
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.1", type: IgxGridFilteringRowComponent, isStandalone: true, selector: "igx-grid-filtering-row", inputs: { column: "column", value: "value" }, host: { listeners: { "keydown": "onKeydownHandler($event)" }, properties: { "class.igx-grid__filtering-row": "this.defaultCSSClass" } }, viewQueries: [{ propertyName: "defaultFilterUI", first: true, predicate: ["defaultFilterUI"], descendants: true, read: TemplateRef, static: true }, { propertyName: "defaultDateUI", first: true, predicate: ["defaultDateUI"], descendants: true, read: TemplateRef, static: true }, { propertyName: "defaultTimeUI", first: true, predicate: ["defaultTimeUI"], descendants: true, read: TemplateRef, static: true }, { propertyName: "defaultDateTimeUI", first: true, predicate: ["defaultDateTimeUI"], descendants: true, read: TemplateRef, static: true }, { propertyName: "input", first: true, predicate: ["input"], descendants: true, read: ElementRef }, { propertyName: "dropDownConditions", first: true, predicate: ["inputGroupConditions"], descendants: true, read: IgxDropDownComponent, static: true }, { propertyName: "chipsArea", first: true, predicate: ["chipsArea"], descendants: true, read: IgxChipsAreaComponent, static: true }, { propertyName: "inputGroup", first: true, predicate: ["inputGroup"], descendants: true, read: ElementRef }, { propertyName: "picker", first: true, predicate: ["picker"], descendants: true }, { propertyName: "inputGroupPrefix", first: true, predicate: ["inputGroupPrefix"], descendants: true, read: ElementRef }, { propertyName: "container", first: true, predicate: ["container"], descendants: true, static: true }, { propertyName: "operand", first: true, predicate: ["operand"], descendants: true }, { propertyName: "closeButton", first: true, predicate: ["closeButton"], descendants: true, static: true }, { propertyName: "dropDownOperators", predicate: ["operators"], descendants: true, read: IgxDropDownComponent }], ngImport: i0, template: "<!-- Have to apply styles inline because of the overlay outlet ... -->\n<igx-drop-down\n #inputGroupConditions\n [style.--ig-size]=\"filteringElementsSize\"\n [height]=\"'200px'\"\n (selectionChanging)=\"onConditionsChanged($event)\"\n>\n @for (condition of conditions; track condition) {\n <igx-drop-down-item\n [value]=\"condition\"\n [selected]=\"isConditionSelected(condition)\"\n >\n <div class=\"igx-grid__filtering-dropdown-items\">\n <igx-icon\n family=\"default\"\n [name]=\"getCondition(condition).iconName\"\n ></igx-icon>\n <span class=\"igx-grid__filtering-dropdown-text\">{{\n translateCondition(condition)\n }}</span>\n </div>\n </igx-drop-down-item>\n }\n</igx-drop-down>\n\n<ng-template #defaultFilterUI>\n <igx-input-group\n #inputGroup\n type=\"box\"\n (focusout)=\"onInputGroupFocusout()\"\n [style.--ig-size]=\"filteringElementsSize\"\n >\n <igx-prefix\n #inputGroupPrefix\n (click)=\"inputGroupPrefixClick($event)\"\n (keydown)=\"onPrefixKeyDown($event)\"\n tabindex=\"0\"\n [igxDropDownItemNavigation]=\"inputGroupConditions\"\n >\n <igx-icon family=\"default\" [name]=\"getIconName()\"></igx-icon>\n </igx-prefix>\n <input\n #input\n igxInput\n tabindex=\"0\"\n [placeholder]=\"placeholder\"\n autocomplete=\"off\"\n [value]=\"value\"\n (input)=\"onInput($event)\"\n [type]=\"type\"\n [readonly]=\"isUnaryCondition\"\n (click)=\"onInputClick()\"\n (compositionstart)=\"onCompositionStart()\"\n (compositionend)=\"onCompositionEnd()\"\n (keydown)=\"onInputKeyDown($event)\"\n (keyup)=\"onInputKeyUp()\"\n />\n @if (value || value === 0) {\n <igx-suffix>\n @if (column.dataType === 'percent') {\n <span class=\"igx-grid__filtering-row-percent-hint\">{{\n value\n | percent\n : column.pipeArgs.digitsInfo\n : filteringService.grid.locale\n }}</span>\n }\n <igx-icon\n (keydown)=\"onCommitKeyDown($event)\"\n (click)=\"onCommitClick()\"\n tabindex=\"0\"\n family=\"default\"\n name=\"confirm\"\n >\n </igx-icon>\n <igx-icon\n (keydown)=\"onClearKeyDown($event)\"\n (click)=\"onClearClick()\"\n tabindex=\"0\"\n family=\"default\"\n name=\"input_clear\"\n >\n </igx-icon>\n </igx-suffix>\n }\n </igx-input-group>\n</ng-template>\n\n<ng-template #defaultDateUI>\n <igx-date-picker\n #picker\n [(value)]=\"value\"\n [locale]=\"filteringService.grid.locale\"\n (click)=\"expression.condition.isUnary ? null : picker.open()\"\n type=\"box\"\n [displayFormat]=\"column.pipeArgs.format\"\n [formatter]=\"column.formatter\"\n [placeholder]=\"placeholder\"\n [weekStart]=\"column.pipeArgs.weekStart\"\n (keydown)=\"onInputKeyDown($event)\"\n (focusout)=\"onInputGroupFocusout()\"\n (closed)=\"focusEditElement()\"\n >\n <igx-prefix\n #inputGroupPrefix\n tabindex=\"0\"\n (click)=\"inputGroupPrefixClick($event)\"\n (keydown)=\"onPrefixKeyDown($event)\"\n [igxDropDownItemNavigation]=\"inputGroupConditions\"\n >\n <igx-icon\n family=\"default\"\n [name]=\"expression.condition.iconName\"\n ></igx-icon>\n </igx-prefix>\n @if (value) {\n <igx-suffix>\n <igx-icon\n tabindex=\"0\"\n (keydown)=\"onCommitKeyDown($event)\"\n (click)=\"onCommitClick($event)\"\n family=\"default\"\n name=\"confirm\"\n >\n </igx-icon>\n <igx-icon\n tabindex=\"0\"\n (keydown)=\"onClearKeyDown($event)\"\n (click)=\"clearInput($event)\"\n family=\"default\"\n name=\"input_clear\"\n >\n </igx-icon>\n </igx-suffix>\n }\n <!-- disable default icons -->\n <igx-picker-toggle></igx-picker-toggle>\n <igx-picker-clear></igx-picker-clear>\n </igx-date-picker>\n</ng-template>\n\n<ng-template #defaultTimeUI>\n <igx-time-picker\n #picker\n [(value)]=\"value\"\n [inputFormat]=\"\n $safeNavigationMigration(column.editorOptions?.dateTimeFormat)\n \"\n [displayFormat]=\"column.pipeArgs.format\"\n [locale]=\"filteringService.grid.locale\"\n [formatter]=\"column.formatter\"\n type=\"box\"\n [style.--ig-size]=\"filteringElementsSize\"\n [placeholder]=\"placeholder\"\n (closed)=\"focusEditElement()\"\n (focusout)=\"onInputGroupFocusout()\"\n (keydown)=\"onInputKeyDown($event)\"\n (click)=\"expression.condition.isUnary ? null : picker.open()\"\n >\n <igx-prefix\n #inputGroupPrefix\n tabindex=\"0\"\n (click)=\"inputGroupPrefixClick($event)\"\n (keydown)=\"onPrefixKeyDown($event)\"\n [igxDropDownItemNavigation]=\"inputGroupConditions\"\n >\n <igx-icon\n family=\"default\"\n [name]=\"expression.condition.iconName\"\n ></igx-icon>\n </igx-prefix>\n @if (value) {\n <igx-suffix>\n <igx-icon\n tabindex=\"0\"\n (keydown)=\"onCommitKeyDown($event)\"\n (click)=\"onCommitClick($event)\"\n family=\"default\"\n name=\"confirm\"\n >\n </igx-icon>\n <igx-icon\n tabindex=\"0\"\n (keydown)=\"onClearKeyDown($event)\"\n (click)=\"clearInput($event)\"\n family=\"default\"\n name=\"input_clear\"\n >\n </igx-icon>\n </igx-suffix>\n }\n <!-- disable default icons -->\n <igx-picker-toggle></igx-picker-toggle>\n <igx-picker-clear></igx-picker-clear>\n </igx-time-picker>\n</ng-template>\n\n<ng-template #defaultDateTimeUI>\n <igx-input-group\n #inputGroup\n type=\"box\"\n (focusout)=\"onInputGroupFocusout()\"\n [style.--ig-size]=\"filteringElementsSize\"\n >\n <igx-prefix\n #inputGroupPrefix\n (click)=\"inputGroupPrefixClick($event)\"\n (keydown)=\"onPrefixKeyDown($event)\"\n tabindex=\"0\"\n [igxDropDownItemNavigation]=\"inputGroupConditions\"\n >\n <igx-icon family=\"default\" [name]=\"getIconName()\"></igx-icon>\n </igx-prefix>\n <input\n #input\n igxInput\n tabindex=\"0\"\n [placeholder]=\"placeholder\"\n [locale]=\"filteringService.grid.locale\"\n [displayFormat]=\"column.pipeArgs.format\"\n [igxDateTimeEditor]=\"\n $safeNavigationMigration(column.editorOptions?.dateTimeFormat)\n \"\n defaultFormatType=\"dateTime\"\n [value]=\"value\"\n (valueChange)=\"onInput($event)\"\n [readonly]=\"isUnaryCondition\"\n (click)=\"onInputClick()\"\n (keydown)=\"onInputKeyDown($event)\"\n (keyup)=\"onInputKeyUp()\"\n />\n @if (value || value === 0) {\n <igx-suffix>\n <igx-icon\n (keydown)=\"onCommitKeyDown($event)\"\n (click)=\"onCommitClick()\"\n tabindex=\"0\"\n family=\"default\"\n name=\"confirm\"\n >\n </igx-icon>\n <igx-icon\n (keydown)=\"onClearKeyDown($event)\"\n (click)=\"onClearClick()\"\n tabindex=\"0\"\n family=\"default\"\n name=\"input_clear\"\n >\n </igx-icon>\n </igx-suffix>\n }\n </igx-input-group>\n</ng-template>\n\n<ng-container\n *ngTemplateOutlet=\"template; context: { $implicit: this }\"\n></ng-container>\n\n@if (showArrows) {\n <button\n igxIconButton=\"flat\"\n type=\"button\"\n class=\"igx-grid__filtering-row-scroll-start\"\n (keydown)=\"onLeftArrowKeyDown($event)\"\n (click)=\"scrollChipsOnArrowPress('left')\"\n >\n <igx-icon family=\"default\" name=\"prev\"></igx-icon>\n </button>\n}\n\n<div #container class=\"igx-grid__filtering-row-main\">\n <div>\n <igx-chips-area #chipsArea>\n <!-- expressionsList items re-created on refreshExpressions(), track stable expression -->\n @for (\n item of expressionsList;\n track item.expression;\n let i = $index;\n let last = $last\n ) {\n <ng-container tabindex=\"0\">\n <igx-chip\n #chip\n id=\"chip\"\n (pointerdown)=\"onChipPointerdown($event, chip)\"\n (click)=\"onChipClick($event, item)\"\n (keydown)=\"onChipKeyDown($event, item)\"\n (remove)=\"onChipRemoved($event, item)\"\n [selectable]=\"false\"\n [selected]=\"item.isSelected\"\n [style.--ig-size]=\"filteringElementsSize\"\n [removable]=\"true\"\n >\n <igx-icon\n igxPrefix\n family=\"default\"\n [name]=\"item.expression.condition.iconName\"\n >\n </igx-icon>\n <span>{{ filteringService.getChipLabel(item.expression) }}</span>\n </igx-chip>\n @if (!last) {\n <span id=\"operand\">\n <button\n igxButton\n type=\"button\"\n (click)=\"toggleOperatorsDropDown($event, i)\"\n [igxDropDownItemNavigation]=\"operators\"\n [style.--ig-size]=\"filteringElementsSize\"\n >\n <igx-icon family=\"default\" name=\"expand_more\"></igx-icon>\n <span>{{\n filteringService.getOperatorAsString(item.afterOperator)\n }}</span>\n </button>\n <igx-drop-down\n #operators\n (selectionChanging)=\"onLogicOperatorChanged($event, item)\"\n >\n <igx-drop-down-item\n [value]=\"0\"\n [selected]=\"item.afterOperator === 0\"\n >{{\n filteringService.grid.resourceStrings\n .igx_grid_filter_operator_and\n }}</igx-drop-down-item\n >\n <igx-drop-down-item\n [value]=\"1\"\n [selected]=\"item.afterOperator === 1\"\n >{{\n filteringService.grid.resourceStrings\n .igx_grid_filter_operator_or\n }}</igx-drop-down-item\n >\n </igx-drop-down>\n </span>\n }\n </ng-container>\n }\n </igx-chips-area>\n </div>\n</div>\n\n@if (showArrows) {\n <button\n igxIconButton=\"flat\"\n type=\"button\"\n class=\"igx-grid__filtering-row-scroll-end\"\n (click)=\"scrollChipsOnArrowPress('right')\"\n >\n <igx-icon family=\"default\" name=\"next\"></igx-icon>\n </button>\n}\n\n<div\n #buttonsContainer\n [ngClass]=\"\n isNarrowWidth\n ? 'igx-grid__filtering-row-editing-buttons--small'\n : 'igx-grid__filtering-row-editing-buttons'\n \"\n>\n @if (!isNarrowWidth) {\n <button\n igxButton=\"flat\"\n type=\"button\"\n igxRipple\n (click)=\"clearFiltering()\"\n [disabled]=\"disabled\"\n [tabindex]=\"disabled\"\n [style.--ig-size]=\"filteringElementsSize\"\n >\n <igx-icon family=\"default\" name=\"refresh\"></igx-icon>\n <span>{{\n filteringService.grid.resourceStrings.igx_grid_filter_row_reset\n }}</span>\n </button>\n <button\n #closeButton\n igxButton=\"flat\"\n type=\"button\"\n igxRipple\n (click)=\"close()\"\n [style.--ig-size]=\"filteringElementsSize\"\n >\n <igx-icon family=\"default\" name=\"close\"></igx-icon>\n <span>{{\n filteringService.grid.resourceStrings.igx_grid_filter_row_close\n }}</span>\n </button>\n }\n @if (isNarrowWidth) {\n <button\n igxIconButton=\"flat\"\n type=\"button\"\n igxRipple\n (click)=\"clearFiltering()\"\n [disabled]=\"disabled\"\n [tabindex]=\"disabled\"\n [style.--ig-size]=\"filteringElementsSize\"\n >\n <igx-icon family=\"default\" name=\"refresh\"></igx-icon>\n </button>\n <button\n #closeButton\n igxIconButton=\"flat\"\n type=\"button\"\n igxRipple\n (click)=\"close()\"\n [style.--ig-size]=\"filteringElementsSize\"\n >\n <igx-icon family=\"default\" name=\"close\"></igx-icon>\n </button>\n }\n</div>\n", dependencies: [{ kind: "component", type: IgxDropDownComponent, selector: "igx-drop-down", inputs: ["allowItemsFocus", "labelledBy", "role"], outputs: ["opening", "opened", "closing", "closed"] }, { kind: "component", type: IgxDropDownItemComponent, selector: "igx-drop-down-item" }, { kind: "component", type: IgxChipsAreaComponent, selector: "igx-chips-area", inputs: ["width", "height"], outputs: ["reorder", "selectionChange", "moveStart", "moveEnd"] }, { kind: "component", type: IgxChipComponent, selector: "igx-chip", inputs: ["variant", "id", "tabIndex", "data", "draggable", "animateOnRelease", "hideBaseOnDrag", "removable", "removeIcon", "selectable", "selectIcon", "class", "disabled", "selected", "color", "resourceStrings"], outputs: ["selectedChange", "moveStart", "moveEnd", "remove", "chipClick", "selectedChanging", "selectedChanged", "keyDown", "dragEnter", "dragLeave", "dragOver", "dragDrop"] }, { kind: "component", type: IgxIconComponent, selector: "igx-icon", inputs: ["ariaHidden", "family", "name", "active"] }, { kind: "component", type: IgxInputGroupComponent, selector: "igx-input-group", inputs: ["resourceStrings", "suppressInputAutofocus", "type", "theme"] }, { kind: "directive", type: IgxPrefixDirective, selector: "[igxPrefix],[igxStart],igx-prefix" }, { kind: "directive", type: IgxDropDownItemNavigationDirective, selector: "[igxDropDownItemNavigation]", inputs: ["igxDropDownItemNavigation"] }, { kind: "directive", type: IgxInputDirective, selector: "[igxInput]", inputs: ["value", "disabled", "required"], exportAs: ["igxInput"] }, { kind: "directive", type: IgxSuffixDirective, selector: "[igxSuffix],[igxEnd],igx-suffix" }, { kind: "component", type: IgxDatePickerComponent, selector: "igx-date-picker", inputs: ["hideOutsideDays", "displayMonthsCount", "orientation", "showWeekNumbers", "activeDate", "formatter", "todayButtonLabel", "cancelButtonLabel", "spinLoop", "spinDelta", "id", "formatViews", "disabledDates", "specialDates", "calendarFormat", "value", "minValue", "maxValue", "resourceStrings", "readOnly"], outputs: ["valueChange", "validationFailed"] }, { kind: "component", type: IgxPickerToggleComponent, selector: "igx-picker-toggle", outputs: ["clicked"] }, { kind: "component", type: IgxPickerClearComponent, selector: "igx-picker-clear" }, { kind: "component", type: IgxTimePickerComponent, selector: "igx-time-picker", inputs: ["id", "displayFormat", "inputFormat", "mode", "minValue", "maxValue", "spinLoop", "formatter", "readOnly", "value", "resourceStrings", "okButtonLabel", "cancelButtonLabel", "itemsDelta"], outputs: ["selected", "valueChange", "validationFailed"] }, { kind: "directive", type: IgxDateTimeEditorDirective, selector: "[igxDateTimeEditor]", inputs: ["locale", "minValue", "maxValue", "spinLoop", "displayFormat", "igxDateTimeEditor", "value", "defaultFormatType", "spinDelta"], outputs: ["valueChange", "validationFailed"], exportAs: ["igxDateTimeEditor"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: IgxButtonDirective, selector: "[igxButton]", inputs: ["selected", "igxButton", "igxLabel"], outputs: ["buttonSelected"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: IgxRippleDirective, selector: "[igxRipple]", inputs: ["igxRippleTarget", "igxRipple", "igxRippleDuration", "igxRippleCentered", "igxRippleDisabled"] }, { kind: "directive", type: IgxIconButtonDirective, selector: "[igxIconButton]", inputs: ["igxIconButton"] }, { kind: "pipe", type: IgxPercentFormatterPipe, name: "percent" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
13394
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.1", type: IgxGridFilteringRowComponent, isStandalone: true, selector: "igx-grid-filtering-row", inputs: { column: "column", value: "value" }, host: { listeners: { "keydown": "onKeydownHandler($event)" }, properties: { "class.igx-grid__filtering-row": "this.defaultCSSClass" } }, viewQueries: [{ propertyName: "defaultFilterUI", first: true, predicate: ["defaultFilterUI"], descendants: true, read: TemplateRef, static: true }, { propertyName: "defaultDateUI", first: true, predicate: ["defaultDateUI"], descendants: true, read: TemplateRef, static: true }, { propertyName: "defaultTimeUI", first: true, predicate: ["defaultTimeUI"], descendants: true, read: TemplateRef, static: true }, { propertyName: "defaultDateTimeUI", first: true, predicate: ["defaultDateTimeUI"], descendants: true, read: TemplateRef, static: true }, { propertyName: "input", first: true, predicate: ["input"], descendants: true, read: ElementRef }, { propertyName: "dropDownConditions", first: true, predicate: ["inputGroupConditions"], descendants: true, read: IgxDropDownComponent, static: true }, { propertyName: "chipsArea", first: true, predicate: ["chipsArea"], descendants: true, read: IgxChipsAreaComponent, static: true }, { propertyName: "inputGroup", first: true, predicate: ["inputGroup"], descendants: true, read: ElementRef }, { propertyName: "picker", first: true, predicate: ["picker"], descendants: true }, { propertyName: "inputGroupPrefix", first: true, predicate: ["inputGroupPrefix"], descendants: true, read: ElementRef }, { propertyName: "container", first: true, predicate: ["container"], descendants: true, static: true }, { propertyName: "operand", first: true, predicate: ["operand"], descendants: true }, { propertyName: "closeButton", first: true, predicate: ["closeButton"], descendants: true, static: true }, { propertyName: "dropDownOperators", predicate: ["operators"], descendants: true, read: IgxDropDownComponent }], ngImport: i0, template: "<!-- Have to apply styles inline because of the overlay outlet ... -->\n<igx-drop-down\n #inputGroupConditions\n [style.--ig-size]=\"filteringElementsSize\"\n [height]=\"'200px'\"\n (selectionChanging)=\"onConditionsChanged($event)\"\n>\n @for (condition of conditions; track condition) {\n <igx-drop-down-item\n [value]=\"condition\"\n [selected]=\"isConditionSelected(condition)\"\n >\n <div class=\"igx-grid__filtering-dropdown-items\">\n <igx-icon\n family=\"default\"\n [name]=\"getCondition(condition).iconName\"\n ></igx-icon>\n <span class=\"igx-grid__filtering-dropdown-text\">{{\n translateCondition(condition)\n }}</span>\n </div>\n </igx-drop-down-item>\n }\n</igx-drop-down>\n\n<ng-template #defaultFilterUI>\n <igx-input-group\n #inputGroup\n type=\"box\"\n (focusout)=\"onInputGroupFocusout()\"\n [style.--ig-size]=\"filteringElementsSize\"\n >\n <igx-prefix\n #inputGroupPrefix\n (click)=\"inputGroupPrefixClick($event)\"\n (keydown)=\"onPrefixKeyDown($event)\"\n tabindex=\"0\"\n [igxDropDownItemNavigation]=\"inputGroupConditions\"\n >\n <igx-icon family=\"default\" [name]=\"getIconName()\"></igx-icon>\n </igx-prefix>\n <input\n #input\n igxInput\n tabindex=\"0\"\n [placeholder]=\"placeholder\"\n autocomplete=\"off\"\n [value]=\"value\"\n (input)=\"onInput($event)\"\n [type]=\"type\"\n [readonly]=\"isUnaryCondition\"\n (click)=\"onInputClick()\"\n (compositionstart)=\"onCompositionStart()\"\n (compositionend)=\"onCompositionEnd()\"\n (keydown)=\"onInputKeyDown($event)\"\n (keyup)=\"onInputKeyUp()\"\n />\n @if (value || value === 0) {\n <igx-suffix>\n @if (column.dataType === 'percent') {\n <span class=\"igx-grid__filtering-row-percent-hint\">{{\n value\n | percent\n : column.pipeArgs.digitsInfo\n : filteringService.grid.locale\n }}</span>\n }\n <igx-icon\n (keydown)=\"onCommitKeyDown($event)\"\n (click)=\"onCommitClick()\"\n tabindex=\"0\"\n family=\"default\"\n name=\"confirm\"\n >\n </igx-icon>\n <igx-icon\n (keydown)=\"onClearKeyDown($event)\"\n (click)=\"onClearClick()\"\n tabindex=\"0\"\n family=\"default\"\n name=\"input_clear\"\n >\n </igx-icon>\n </igx-suffix>\n }\n </igx-input-group>\n</ng-template>\n\n<ng-template #defaultDateUI>\n <igx-date-picker\n #picker\n [(value)]=\"value\"\n [locale]=\"filteringService.grid.locale\"\n (click)=\"expression.condition!.isUnary ? null : picker.open()\"\n type=\"box\"\n [displayFormat]=\"column.pipeArgs.format!\"\n [formatter]=\"column.formatter!\"\n [placeholder]=\"placeholder\"\n [weekStart]=\"column.pipeArgs.weekStart!\"\n (keydown)=\"onInputKeyDown($event)\"\n (focusout)=\"onInputGroupFocusout()\"\n (closed)=\"focusEditElement()\"\n >\n <igx-prefix\n #inputGroupPrefix\n tabindex=\"0\"\n (click)=\"inputGroupPrefixClick($event)\"\n (keydown)=\"onPrefixKeyDown($event)\"\n [igxDropDownItemNavigation]=\"inputGroupConditions\"\n >\n <igx-icon\n family=\"default\"\n [name]=\"expression.condition!.iconName\"\n ></igx-icon>\n </igx-prefix>\n @if (value) {\n <igx-suffix>\n <igx-icon\n tabindex=\"0\"\n (keydown)=\"onCommitKeyDown($event)\"\n (click)=\"onCommitClick($event)\"\n family=\"default\"\n name=\"confirm\"\n >\n </igx-icon>\n <igx-icon\n tabindex=\"0\"\n (keydown)=\"onClearKeyDown($event)\"\n (click)=\"clearInput($event)\"\n family=\"default\"\n name=\"input_clear\"\n >\n </igx-icon>\n </igx-suffix>\n }\n <!-- disable default icons -->\n <igx-picker-toggle></igx-picker-toggle>\n <igx-picker-clear></igx-picker-clear>\n </igx-date-picker>\n</ng-template>\n\n<ng-template #defaultTimeUI>\n <igx-time-picker\n #picker\n [(value)]=\"value\"\n [inputFormat]=\"column.editorOptions?.dateTimeFormat!\"\n [displayFormat]=\"column.pipeArgs.format!\"\n [locale]=\"filteringService.grid.locale\"\n [formatter]=\"column.formatter!\"\n type=\"box\"\n [style.--ig-size]=\"filteringElementsSize\"\n [placeholder]=\"placeholder\"\n (closed)=\"focusEditElement()\"\n (focusout)=\"onInputGroupFocusout()\"\n (keydown)=\"onInputKeyDown($event)\"\n (click)=\"expression.condition!.isUnary ? null : picker.open()\"\n >\n <igx-prefix\n #inputGroupPrefix\n tabindex=\"0\"\n (click)=\"inputGroupPrefixClick($event)\"\n (keydown)=\"onPrefixKeyDown($event)\"\n [igxDropDownItemNavigation]=\"inputGroupConditions\"\n >\n <igx-icon\n family=\"default\"\n [name]=\"expression.condition!.iconName\"\n ></igx-icon>\n </igx-prefix>\n @if (value) {\n <igx-suffix>\n <igx-icon\n tabindex=\"0\"\n (keydown)=\"onCommitKeyDown($event)\"\n (click)=\"onCommitClick($event)\"\n family=\"default\"\n name=\"confirm\"\n >\n </igx-icon>\n <igx-icon\n tabindex=\"0\"\n (keydown)=\"onClearKeyDown($event)\"\n (click)=\"clearInput($event)\"\n family=\"default\"\n name=\"input_clear\"\n >\n </igx-icon>\n </igx-suffix>\n }\n <!-- disable default icons -->\n <igx-picker-toggle></igx-picker-toggle>\n <igx-picker-clear></igx-picker-clear>\n </igx-time-picker>\n</ng-template>\n\n<ng-template #defaultDateTimeUI>\n <igx-input-group\n #inputGroup\n type=\"box\"\n (focusout)=\"onInputGroupFocusout()\"\n [style.--ig-size]=\"filteringElementsSize\"\n >\n <igx-prefix\n #inputGroupPrefix\n (click)=\"inputGroupPrefixClick($event)\"\n (keydown)=\"onPrefixKeyDown($event)\"\n tabindex=\"0\"\n [igxDropDownItemNavigation]=\"inputGroupConditions\"\n >\n <igx-icon family=\"default\" [name]=\"getIconName()\"></igx-icon>\n </igx-prefix>\n <input\n #input\n igxInput\n tabindex=\"0\"\n [placeholder]=\"placeholder\"\n [locale]=\"filteringService.grid.locale\"\n [displayFormat]=\"column.pipeArgs.format!\"\n [igxDateTimeEditor]=\"column.editorOptions?.dateTimeFormat!\"\n defaultFormatType=\"dateTime\"\n [value]=\"value\"\n (valueChange)=\"onInput($event)\"\n [readonly]=\"isUnaryCondition\"\n (click)=\"onInputClick()\"\n (keydown)=\"onInputKeyDown($event)\"\n (keyup)=\"onInputKeyUp()\"\n />\n @if (value || value === 0) {\n <igx-suffix>\n <igx-icon\n (keydown)=\"onCommitKeyDown($event)\"\n (click)=\"onCommitClick()\"\n tabindex=\"0\"\n family=\"default\"\n name=\"confirm\"\n >\n </igx-icon>\n <igx-icon\n (keydown)=\"onClearKeyDown($event)\"\n (click)=\"onClearClick()\"\n tabindex=\"0\"\n family=\"default\"\n name=\"input_clear\"\n >\n </igx-icon>\n </igx-suffix>\n }\n </igx-input-group>\n</ng-template>\n\n<ng-container\n *ngTemplateOutlet=\"template; context: { $implicit: this }\"\n></ng-container>\n\n@if (showArrows) {\n <button\n igxIconButton=\"flat\"\n type=\"button\"\n class=\"igx-grid__filtering-row-scroll-start\"\n (keydown)=\"onLeftArrowKeyDown($event)\"\n (click)=\"scrollChipsOnArrowPress('left')\"\n >\n <igx-icon family=\"default\" name=\"prev\"></igx-icon>\n </button>\n}\n\n<div #container class=\"igx-grid__filtering-row-main\">\n <div>\n <igx-chips-area #chipsArea>\n <!-- expressionsList items re-created on refreshExpressions(), track stable expression -->\n @for (\n item of expressionsList;\n track item.expression;\n let i = $index;\n let last = $last\n ) {\n <ng-container tabindex=\"0\">\n <igx-chip\n #chip\n id=\"chip\"\n (pointerdown)=\"onChipPointerdown($event, chip)\"\n (click)=\"onChipClick($event, item)\"\n (keydown)=\"onChipKeyDown($event, item)\"\n (remove)=\"onChipRemoved($event, item)\"\n [selectable]=\"false\"\n [selected]=\"item.isSelected\"\n [style.--ig-size]=\"filteringElementsSize\"\n [removable]=\"true\"\n >\n <igx-icon\n igxPrefix\n family=\"default\"\n [name]=\"item.expression.condition!.iconName\"\n >\n </igx-icon>\n <span>{{ filteringService.getChipLabel(item.expression) }}</span>\n </igx-chip>\n @if (!last) {\n <span id=\"operand\">\n <button\n igxButton\n type=\"button\"\n (click)=\"toggleOperatorsDropDown($event, i)\"\n [igxDropDownItemNavigation]=\"operators\"\n [style.--ig-size]=\"filteringElementsSize\"\n >\n <igx-icon family=\"default\" name=\"expand_more\"></igx-icon>\n <span>{{\n filteringService.getOperatorAsString(item.afterOperator)\n }}</span>\n </button>\n <igx-drop-down\n #operators\n (selectionChanging)=\"onLogicOperatorChanged($event, item)\"\n >\n <igx-drop-down-item\n [value]=\"0\"\n [selected]=\"item.afterOperator === 0\"\n >{{\n filteringService.grid.resourceStrings\n .igx_grid_filter_operator_and\n }}</igx-drop-down-item\n >\n <igx-drop-down-item\n [value]=\"1\"\n [selected]=\"item.afterOperator === 1\"\n >{{\n filteringService.grid.resourceStrings\n .igx_grid_filter_operator_or\n }}</igx-drop-down-item\n >\n </igx-drop-down>\n </span>\n }\n </ng-container>\n }\n </igx-chips-area>\n </div>\n</div>\n\n@if (showArrows) {\n <button\n igxIconButton=\"flat\"\n type=\"button\"\n class=\"igx-grid__filtering-row-scroll-end\"\n (click)=\"scrollChipsOnArrowPress('right')\"\n >\n <igx-icon family=\"default\" name=\"next\"></igx-icon>\n </button>\n}\n\n<div\n #buttonsContainer\n [ngClass]=\"\n isNarrowWidth\n ? 'igx-grid__filtering-row-editing-buttons--small'\n : 'igx-grid__filtering-row-editing-buttons'\n \"\n>\n @if (!isNarrowWidth) {\n <button\n igxButton=\"flat\"\n type=\"button\"\n igxRipple\n (click)=\"clearFiltering()\"\n [disabled]=\"disabled\"\n [tabindex]=\"disabled\"\n [style.--ig-size]=\"filteringElementsSize\"\n >\n <igx-icon family=\"default\" name=\"refresh\"></igx-icon>\n <span>{{\n filteringService.grid.resourceStrings.igx_grid_filter_row_reset\n }}</span>\n </button>\n <button\n #closeButton\n igxButton=\"flat\"\n type=\"button\"\n igxRipple\n (click)=\"close()\"\n [style.--ig-size]=\"filteringElementsSize\"\n >\n <igx-icon family=\"default\" name=\"close\"></igx-icon>\n <span>{{\n filteringService.grid.resourceStrings.igx_grid_filter_row_close\n }}</span>\n </button>\n }\n @if (isNarrowWidth) {\n <button\n igxIconButton=\"flat\"\n type=\"button\"\n igxRipple\n (click)=\"clearFiltering()\"\n [disabled]=\"disabled\"\n [tabindex]=\"disabled\"\n [style.--ig-size]=\"filteringElementsSize\"\n >\n <igx-icon family=\"default\" name=\"refresh\"></igx-icon>\n </button>\n <button\n #closeButton\n igxIconButton=\"flat\"\n type=\"button\"\n igxRipple\n (click)=\"close()\"\n [style.--ig-size]=\"filteringElementsSize\"\n >\n <igx-icon family=\"default\" name=\"close\"></igx-icon>\n </button>\n }\n</div>\n", dependencies: [{ kind: "component", type: IgxDropDownComponent, selector: "igx-drop-down", inputs: ["allowItemsFocus", "labelledBy", "role"], outputs: ["opening", "opened", "closing", "closed"] }, { kind: "component", type: IgxDropDownItemComponent, selector: "igx-drop-down-item" }, { kind: "component", type: IgxChipsAreaComponent, selector: "igx-chips-area", inputs: ["width", "height"], outputs: ["reorder", "selectionChange", "moveStart", "moveEnd"] }, { kind: "component", type: IgxChipComponent, selector: "igx-chip", inputs: ["variant", "id", "tabIndex", "data", "draggable", "animateOnRelease", "hideBaseOnDrag", "removable", "removeIcon", "selectable", "selectIcon", "class", "disabled", "selected", "color", "resourceStrings"], outputs: ["selectedChange", "moveStart", "moveEnd", "remove", "chipClick", "selectedChanging", "selectedChanged", "keyDown", "dragEnter", "dragLeave", "dragOver", "dragDrop"] }, { kind: "component", type: IgxIconComponent, selector: "igx-icon", inputs: ["ariaHidden", "family", "name", "active"] }, { kind: "component", type: IgxInputGroupComponent, selector: "igx-input-group", inputs: ["resourceStrings", "suppressInputAutofocus", "type", "theme"] }, { kind: "directive", type: IgxPrefixDirective, selector: "[igxPrefix],[igxStart],igx-prefix" }, { kind: "directive", type: IgxDropDownItemNavigationDirective, selector: "[igxDropDownItemNavigation]", inputs: ["igxDropDownItemNavigation"] }, { kind: "directive", type: IgxInputDirective, selector: "[igxInput]", inputs: ["value", "disabled", "required"], exportAs: ["igxInput"] }, { kind: "directive", type: IgxSuffixDirective, selector: "[igxSuffix],[igxEnd],igx-suffix" }, { kind: "component", type: IgxDatePickerComponent, selector: "igx-date-picker", inputs: ["hideOutsideDays", "displayMonthsCount", "orientation", "showWeekNumbers", "activeDate", "formatter", "todayButtonLabel", "cancelButtonLabel", "spinLoop", "spinDelta", "id", "formatViews", "disabledDates", "specialDates", "calendarFormat", "value", "minValue", "maxValue", "resourceStrings", "readOnly"], outputs: ["valueChange", "validationFailed"] }, { kind: "component", type: IgxPickerToggleComponent, selector: "igx-picker-toggle", outputs: ["clicked"] }, { kind: "component", type: IgxPickerClearComponent, selector: "igx-picker-clear" }, { kind: "component", type: IgxTimePickerComponent, selector: "igx-time-picker", inputs: ["id", "displayFormat", "inputFormat", "mode", "minValue", "maxValue", "spinLoop", "formatter", "readOnly", "value", "resourceStrings", "okButtonLabel", "cancelButtonLabel", "itemsDelta"], outputs: ["selected", "valueChange", "validationFailed"] }, { kind: "directive", type: IgxDateTimeEditorDirective, selector: "[igxDateTimeEditor]", inputs: ["locale", "minValue", "maxValue", "spinLoop", "displayFormat", "igxDateTimeEditor", "value", "defaultFormatType", "spinDelta"], outputs: ["valueChange", "validationFailed"], exportAs: ["igxDateTimeEditor"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: IgxButtonDirective, selector: "[igxButton]", inputs: ["selected", "igxButton", "igxLabel"], outputs: ["buttonSelected"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: IgxRippleDirective, selector: "[igxRipple]", inputs: ["igxRippleTarget", "igxRipple", "igxRippleDuration", "igxRippleCentered", "igxRippleDisabled"] }, { kind: "directive", type: IgxIconButtonDirective, selector: "[igxIconButton]", inputs: ["igxIconButton"] }, { kind: "pipe", type: IgxPercentFormatterPipe, name: "percent" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
13680
13395
|
}
|
|
13681
13396
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.1", ngImport: i0, type: IgxGridFilteringRowComponent, decorators: [{
|
|
13682
13397
|
type: Component,
|
|
@@ -13702,7 +13417,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.1", ngImpor
|
|
|
13702
13417
|
IgxRippleDirective,
|
|
13703
13418
|
IgxIconButtonDirective,
|
|
13704
13419
|
IgxPercentFormatterPipe
|
|
13705
|
-
], template: "<!-- Have to apply styles inline because of the overlay outlet ... -->\n<igx-drop-down\n #inputGroupConditions\n [style.--ig-size]=\"filteringElementsSize\"\n [height]=\"'200px'\"\n (selectionChanging)=\"onConditionsChanged($event)\"\n>\n @for (condition of conditions; track condition) {\n <igx-drop-down-item\n [value]=\"condition\"\n [selected]=\"isConditionSelected(condition)\"\n >\n <div class=\"igx-grid__filtering-dropdown-items\">\n <igx-icon\n family=\"default\"\n [name]=\"getCondition(condition).iconName\"\n ></igx-icon>\n <span class=\"igx-grid__filtering-dropdown-text\">{{\n translateCondition(condition)\n }}</span>\n </div>\n </igx-drop-down-item>\n }\n</igx-drop-down>\n\n<ng-template #defaultFilterUI>\n <igx-input-group\n #inputGroup\n type=\"box\"\n (focusout)=\"onInputGroupFocusout()\"\n [style.--ig-size]=\"filteringElementsSize\"\n >\n <igx-prefix\n #inputGroupPrefix\n (click)=\"inputGroupPrefixClick($event)\"\n (keydown)=\"onPrefixKeyDown($event)\"\n tabindex=\"0\"\n [igxDropDownItemNavigation]=\"inputGroupConditions\"\n >\n <igx-icon family=\"default\" [name]=\"getIconName()\"></igx-icon>\n </igx-prefix>\n <input\n #input\n igxInput\n tabindex=\"0\"\n [placeholder]=\"placeholder\"\n autocomplete=\"off\"\n [value]=\"value\"\n (input)=\"onInput($event)\"\n [type]=\"type\"\n [readonly]=\"isUnaryCondition\"\n (click)=\"onInputClick()\"\n (compositionstart)=\"onCompositionStart()\"\n (compositionend)=\"onCompositionEnd()\"\n (keydown)=\"onInputKeyDown($event)\"\n (keyup)=\"onInputKeyUp()\"\n />\n @if (value || value === 0) {\n <igx-suffix>\n @if (column.dataType === 'percent') {\n <span class=\"igx-grid__filtering-row-percent-hint\">{{\n value\n | percent\n : column.pipeArgs.digitsInfo\n : filteringService.grid.locale\n }}</span>\n }\n <igx-icon\n (keydown)=\"onCommitKeyDown($event)\"\n (click)=\"onCommitClick()\"\n tabindex=\"0\"\n family=\"default\"\n name=\"confirm\"\n >\n </igx-icon>\n <igx-icon\n (keydown)=\"onClearKeyDown($event)\"\n (click)=\"onClearClick()\"\n tabindex=\"0\"\n family=\"default\"\n name=\"input_clear\"\n >\n </igx-icon>\n </igx-suffix>\n }\n </igx-input-group>\n</ng-template>\n\n<ng-template #defaultDateUI>\n <igx-date-picker\n #picker\n [(value)]=\"value\"\n [locale]=\"filteringService.grid.locale\"\n (click)=\"expression.condition.isUnary ? null : picker.open()\"\n type=\"box\"\n [displayFormat]=\"column.pipeArgs.format\"\n [formatter]=\"column.formatter\"\n [placeholder]=\"placeholder\"\n [weekStart]=\"column.pipeArgs.weekStart\"\n (keydown)=\"onInputKeyDown($event)\"\n (focusout)=\"onInputGroupFocusout()\"\n (closed)=\"focusEditElement()\"\n >\n <igx-prefix\n #inputGroupPrefix\n tabindex=\"0\"\n (click)=\"inputGroupPrefixClick($event)\"\n (keydown)=\"onPrefixKeyDown($event)\"\n [igxDropDownItemNavigation]=\"inputGroupConditions\"\n >\n <igx-icon\n family=\"default\"\n [name]=\"expression.condition.iconName\"\n ></igx-icon>\n </igx-prefix>\n @if (value) {\n <igx-suffix>\n <igx-icon\n tabindex=\"0\"\n (keydown)=\"onCommitKeyDown($event)\"\n (click)=\"onCommitClick($event)\"\n family=\"default\"\n name=\"confirm\"\n >\n </igx-icon>\n <igx-icon\n tabindex=\"0\"\n (keydown)=\"onClearKeyDown($event)\"\n (click)=\"clearInput($event)\"\n family=\"default\"\n name=\"input_clear\"\n >\n </igx-icon>\n </igx-suffix>\n }\n <!-- disable default icons -->\n <igx-picker-toggle></igx-picker-toggle>\n <igx-picker-clear></igx-picker-clear>\n </igx-date-picker>\n</ng-template>\n\n<ng-template #defaultTimeUI>\n <igx-time-picker\n #picker\n [(value)]=\"value\"\n [inputFormat]=\"\n $safeNavigationMigration(column.editorOptions?.dateTimeFormat)\n \"\n [displayFormat]=\"column.pipeArgs.format\"\n [locale]=\"filteringService.grid.locale\"\n [formatter]=\"column.formatter\"\n type=\"box\"\n [style.--ig-size]=\"filteringElementsSize\"\n [placeholder]=\"placeholder\"\n (closed)=\"focusEditElement()\"\n (focusout)=\"onInputGroupFocusout()\"\n (keydown)=\"onInputKeyDown($event)\"\n (click)=\"expression.condition.isUnary ? null : picker.open()\"\n >\n <igx-prefix\n #inputGroupPrefix\n tabindex=\"0\"\n (click)=\"inputGroupPrefixClick($event)\"\n (keydown)=\"onPrefixKeyDown($event)\"\n [igxDropDownItemNavigation]=\"inputGroupConditions\"\n >\n <igx-icon\n family=\"default\"\n [name]=\"expression.condition.iconName\"\n ></igx-icon>\n </igx-prefix>\n @if (value) {\n <igx-suffix>\n <igx-icon\n tabindex=\"0\"\n (keydown)=\"onCommitKeyDown($event)\"\n (click)=\"onCommitClick($event)\"\n family=\"default\"\n name=\"confirm\"\n >\n </igx-icon>\n <igx-icon\n tabindex=\"0\"\n (keydown)=\"onClearKeyDown($event)\"\n (click)=\"clearInput($event)\"\n family=\"default\"\n name=\"input_clear\"\n >\n </igx-icon>\n </igx-suffix>\n }\n <!-- disable default icons -->\n <igx-picker-toggle></igx-picker-toggle>\n <igx-picker-clear></igx-picker-clear>\n </igx-time-picker>\n</ng-template>\n\n<ng-template #defaultDateTimeUI>\n <igx-input-group\n #inputGroup\n type=\"box\"\n (focusout)=\"onInputGroupFocusout()\"\n [style.--ig-size]=\"filteringElementsSize\"\n >\n <igx-prefix\n #inputGroupPrefix\n (click)=\"inputGroupPrefixClick($event)\"\n (keydown)=\"onPrefixKeyDown($event)\"\n tabindex=\"0\"\n [igxDropDownItemNavigation]=\"inputGroupConditions\"\n >\n <igx-icon family=\"default\" [name]=\"getIconName()\"></igx-icon>\n </igx-prefix>\n <input\n #input\n igxInput\n tabindex=\"0\"\n [placeholder]=\"placeholder\"\n [locale]=\"filteringService.grid.locale\"\n [displayFormat]=\"column.pipeArgs.format\"\n [igxDateTimeEditor]=\"\n $safeNavigationMigration(column.editorOptions?.dateTimeFormat)\n \"\n defaultFormatType=\"dateTime\"\n [value]=\"value\"\n (valueChange)=\"onInput($event)\"\n [readonly]=\"isUnaryCondition\"\n (click)=\"onInputClick()\"\n (keydown)=\"onInputKeyDown($event)\"\n (keyup)=\"onInputKeyUp()\"\n />\n @if (value || value === 0) {\n <igx-suffix>\n <igx-icon\n (keydown)=\"onCommitKeyDown($event)\"\n (click)=\"onCommitClick()\"\n tabindex=\"0\"\n family=\"default\"\n name=\"confirm\"\n >\n </igx-icon>\n <igx-icon\n (keydown)=\"onClearKeyDown($event)\"\n (click)=\"onClearClick()\"\n tabindex=\"0\"\n family=\"default\"\n name=\"input_clear\"\n >\n </igx-icon>\n </igx-suffix>\n }\n </igx-input-group>\n</ng-template>\n\n<ng-container\n *ngTemplateOutlet=\"template; context: { $implicit: this }\"\n></ng-container>\n\n@if (showArrows) {\n <button\n igxIconButton=\"flat\"\n type=\"button\"\n class=\"igx-grid__filtering-row-scroll-start\"\n (keydown)=\"onLeftArrowKeyDown($event)\"\n (click)=\"scrollChipsOnArrowPress('left')\"\n >\n <igx-icon family=\"default\" name=\"prev\"></igx-icon>\n </button>\n}\n\n<div #container class=\"igx-grid__filtering-row-main\">\n <div>\n <igx-chips-area #chipsArea>\n <!-- expressionsList items re-created on refreshExpressions(), track stable expression -->\n @for (\n item of expressionsList;\n track item.expression;\n let i = $index;\n let last = $last\n ) {\n <ng-container tabindex=\"0\">\n <igx-chip\n #chip\n id=\"chip\"\n (pointerdown)=\"onChipPointerdown($event, chip)\"\n (click)=\"onChipClick($event, item)\"\n (keydown)=\"onChipKeyDown($event, item)\"\n (remove)=\"onChipRemoved($event, item)\"\n [selectable]=\"false\"\n [selected]=\"item.isSelected\"\n [style.--ig-size]=\"filteringElementsSize\"\n [removable]=\"true\"\n >\n <igx-icon\n igxPrefix\n family=\"default\"\n [name]=\"item.expression.condition.iconName\"\n >\n </igx-icon>\n <span>{{ filteringService.getChipLabel(item.expression) }}</span>\n </igx-chip>\n @if (!last) {\n <span id=\"operand\">\n <button\n igxButton\n type=\"button\"\n (click)=\"toggleOperatorsDropDown($event, i)\"\n [igxDropDownItemNavigation]=\"operators\"\n [style.--ig-size]=\"filteringElementsSize\"\n >\n <igx-icon family=\"default\" name=\"expand_more\"></igx-icon>\n <span>{{\n filteringService.getOperatorAsString(item.afterOperator)\n }}</span>\n </button>\n <igx-drop-down\n #operators\n (selectionChanging)=\"onLogicOperatorChanged($event, item)\"\n >\n <igx-drop-down-item\n [value]=\"0\"\n [selected]=\"item.afterOperator === 0\"\n >{{\n filteringService.grid.resourceStrings\n .igx_grid_filter_operator_and\n }}</igx-drop-down-item\n >\n <igx-drop-down-item\n [value]=\"1\"\n [selected]=\"item.afterOperator === 1\"\n >{{\n filteringService.grid.resourceStrings\n .igx_grid_filter_operator_or\n }}</igx-drop-down-item\n >\n </igx-drop-down>\n </span>\n }\n </ng-container>\n }\n </igx-chips-area>\n </div>\n</div>\n\n@if (showArrows) {\n <button\n igxIconButton=\"flat\"\n type=\"button\"\n class=\"igx-grid__filtering-row-scroll-end\"\n (click)=\"scrollChipsOnArrowPress('right')\"\n >\n <igx-icon family=\"default\" name=\"next\"></igx-icon>\n </button>\n}\n\n<div\n #buttonsContainer\n [ngClass]=\"\n isNarrowWidth\n ? 'igx-grid__filtering-row-editing-buttons--small'\n : 'igx-grid__filtering-row-editing-buttons'\n \"\n>\n @if (!isNarrowWidth) {\n <button\n igxButton=\"flat\"\n type=\"button\"\n igxRipple\n (click)=\"clearFiltering()\"\n [disabled]=\"disabled\"\n [tabindex]=\"disabled\"\n [style.--ig-size]=\"filteringElementsSize\"\n >\n <igx-icon family=\"default\" name=\"refresh\"></igx-icon>\n <span>{{\n filteringService.grid.resourceStrings.igx_grid_filter_row_reset\n }}</span>\n </button>\n <button\n #closeButton\n igxButton=\"flat\"\n type=\"button\"\n igxRipple\n (click)=\"close()\"\n [style.--ig-size]=\"filteringElementsSize\"\n >\n <igx-icon family=\"default\" name=\"close\"></igx-icon>\n <span>{{\n filteringService.grid.resourceStrings.igx_grid_filter_row_close\n }}</span>\n </button>\n }\n @if (isNarrowWidth) {\n <button\n igxIconButton=\"flat\"\n type=\"button\"\n igxRipple\n (click)=\"clearFiltering()\"\n [disabled]=\"disabled\"\n [tabindex]=\"disabled\"\n [style.--ig-size]=\"filteringElementsSize\"\n >\n <igx-icon family=\"default\" name=\"refresh\"></igx-icon>\n </button>\n <button\n #closeButton\n igxIconButton=\"flat\"\n type=\"button\"\n igxRipple\n (click)=\"close()\"\n [style.--ig-size]=\"filteringElementsSize\"\n >\n <igx-icon family=\"default\" name=\"close\"></igx-icon>\n </button>\n }\n</div>\n" }]
|
|
13420
|
+
], template: "<!-- Have to apply styles inline because of the overlay outlet ... -->\n<igx-drop-down\n #inputGroupConditions\n [style.--ig-size]=\"filteringElementsSize\"\n [height]=\"'200px'\"\n (selectionChanging)=\"onConditionsChanged($event)\"\n>\n @for (condition of conditions; track condition) {\n <igx-drop-down-item\n [value]=\"condition\"\n [selected]=\"isConditionSelected(condition)\"\n >\n <div class=\"igx-grid__filtering-dropdown-items\">\n <igx-icon\n family=\"default\"\n [name]=\"getCondition(condition).iconName\"\n ></igx-icon>\n <span class=\"igx-grid__filtering-dropdown-text\">{{\n translateCondition(condition)\n }}</span>\n </div>\n </igx-drop-down-item>\n }\n</igx-drop-down>\n\n<ng-template #defaultFilterUI>\n <igx-input-group\n #inputGroup\n type=\"box\"\n (focusout)=\"onInputGroupFocusout()\"\n [style.--ig-size]=\"filteringElementsSize\"\n >\n <igx-prefix\n #inputGroupPrefix\n (click)=\"inputGroupPrefixClick($event)\"\n (keydown)=\"onPrefixKeyDown($event)\"\n tabindex=\"0\"\n [igxDropDownItemNavigation]=\"inputGroupConditions\"\n >\n <igx-icon family=\"default\" [name]=\"getIconName()\"></igx-icon>\n </igx-prefix>\n <input\n #input\n igxInput\n tabindex=\"0\"\n [placeholder]=\"placeholder\"\n autocomplete=\"off\"\n [value]=\"value\"\n (input)=\"onInput($event)\"\n [type]=\"type\"\n [readonly]=\"isUnaryCondition\"\n (click)=\"onInputClick()\"\n (compositionstart)=\"onCompositionStart()\"\n (compositionend)=\"onCompositionEnd()\"\n (keydown)=\"onInputKeyDown($event)\"\n (keyup)=\"onInputKeyUp()\"\n />\n @if (value || value === 0) {\n <igx-suffix>\n @if (column.dataType === 'percent') {\n <span class=\"igx-grid__filtering-row-percent-hint\">{{\n value\n | percent\n : column.pipeArgs.digitsInfo\n : filteringService.grid.locale\n }}</span>\n }\n <igx-icon\n (keydown)=\"onCommitKeyDown($event)\"\n (click)=\"onCommitClick()\"\n tabindex=\"0\"\n family=\"default\"\n name=\"confirm\"\n >\n </igx-icon>\n <igx-icon\n (keydown)=\"onClearKeyDown($event)\"\n (click)=\"onClearClick()\"\n tabindex=\"0\"\n family=\"default\"\n name=\"input_clear\"\n >\n </igx-icon>\n </igx-suffix>\n }\n </igx-input-group>\n</ng-template>\n\n<ng-template #defaultDateUI>\n <igx-date-picker\n #picker\n [(value)]=\"value\"\n [locale]=\"filteringService.grid.locale\"\n (click)=\"expression.condition!.isUnary ? null : picker.open()\"\n type=\"box\"\n [displayFormat]=\"column.pipeArgs.format!\"\n [formatter]=\"column.formatter!\"\n [placeholder]=\"placeholder\"\n [weekStart]=\"column.pipeArgs.weekStart!\"\n (keydown)=\"onInputKeyDown($event)\"\n (focusout)=\"onInputGroupFocusout()\"\n (closed)=\"focusEditElement()\"\n >\n <igx-prefix\n #inputGroupPrefix\n tabindex=\"0\"\n (click)=\"inputGroupPrefixClick($event)\"\n (keydown)=\"onPrefixKeyDown($event)\"\n [igxDropDownItemNavigation]=\"inputGroupConditions\"\n >\n <igx-icon\n family=\"default\"\n [name]=\"expression.condition!.iconName\"\n ></igx-icon>\n </igx-prefix>\n @if (value) {\n <igx-suffix>\n <igx-icon\n tabindex=\"0\"\n (keydown)=\"onCommitKeyDown($event)\"\n (click)=\"onCommitClick($event)\"\n family=\"default\"\n name=\"confirm\"\n >\n </igx-icon>\n <igx-icon\n tabindex=\"0\"\n (keydown)=\"onClearKeyDown($event)\"\n (click)=\"clearInput($event)\"\n family=\"default\"\n name=\"input_clear\"\n >\n </igx-icon>\n </igx-suffix>\n }\n <!-- disable default icons -->\n <igx-picker-toggle></igx-picker-toggle>\n <igx-picker-clear></igx-picker-clear>\n </igx-date-picker>\n</ng-template>\n\n<ng-template #defaultTimeUI>\n <igx-time-picker\n #picker\n [(value)]=\"value\"\n [inputFormat]=\"column.editorOptions?.dateTimeFormat!\"\n [displayFormat]=\"column.pipeArgs.format!\"\n [locale]=\"filteringService.grid.locale\"\n [formatter]=\"column.formatter!\"\n type=\"box\"\n [style.--ig-size]=\"filteringElementsSize\"\n [placeholder]=\"placeholder\"\n (closed)=\"focusEditElement()\"\n (focusout)=\"onInputGroupFocusout()\"\n (keydown)=\"onInputKeyDown($event)\"\n (click)=\"expression.condition!.isUnary ? null : picker.open()\"\n >\n <igx-prefix\n #inputGroupPrefix\n tabindex=\"0\"\n (click)=\"inputGroupPrefixClick($event)\"\n (keydown)=\"onPrefixKeyDown($event)\"\n [igxDropDownItemNavigation]=\"inputGroupConditions\"\n >\n <igx-icon\n family=\"default\"\n [name]=\"expression.condition!.iconName\"\n ></igx-icon>\n </igx-prefix>\n @if (value) {\n <igx-suffix>\n <igx-icon\n tabindex=\"0\"\n (keydown)=\"onCommitKeyDown($event)\"\n (click)=\"onCommitClick($event)\"\n family=\"default\"\n name=\"confirm\"\n >\n </igx-icon>\n <igx-icon\n tabindex=\"0\"\n (keydown)=\"onClearKeyDown($event)\"\n (click)=\"clearInput($event)\"\n family=\"default\"\n name=\"input_clear\"\n >\n </igx-icon>\n </igx-suffix>\n }\n <!-- disable default icons -->\n <igx-picker-toggle></igx-picker-toggle>\n <igx-picker-clear></igx-picker-clear>\n </igx-time-picker>\n</ng-template>\n\n<ng-template #defaultDateTimeUI>\n <igx-input-group\n #inputGroup\n type=\"box\"\n (focusout)=\"onInputGroupFocusout()\"\n [style.--ig-size]=\"filteringElementsSize\"\n >\n <igx-prefix\n #inputGroupPrefix\n (click)=\"inputGroupPrefixClick($event)\"\n (keydown)=\"onPrefixKeyDown($event)\"\n tabindex=\"0\"\n [igxDropDownItemNavigation]=\"inputGroupConditions\"\n >\n <igx-icon family=\"default\" [name]=\"getIconName()\"></igx-icon>\n </igx-prefix>\n <input\n #input\n igxInput\n tabindex=\"0\"\n [placeholder]=\"placeholder\"\n [locale]=\"filteringService.grid.locale\"\n [displayFormat]=\"column.pipeArgs.format!\"\n [igxDateTimeEditor]=\"column.editorOptions?.dateTimeFormat!\"\n defaultFormatType=\"dateTime\"\n [value]=\"value\"\n (valueChange)=\"onInput($event)\"\n [readonly]=\"isUnaryCondition\"\n (click)=\"onInputClick()\"\n (keydown)=\"onInputKeyDown($event)\"\n (keyup)=\"onInputKeyUp()\"\n />\n @if (value || value === 0) {\n <igx-suffix>\n <igx-icon\n (keydown)=\"onCommitKeyDown($event)\"\n (click)=\"onCommitClick()\"\n tabindex=\"0\"\n family=\"default\"\n name=\"confirm\"\n >\n </igx-icon>\n <igx-icon\n (keydown)=\"onClearKeyDown($event)\"\n (click)=\"onClearClick()\"\n tabindex=\"0\"\n family=\"default\"\n name=\"input_clear\"\n >\n </igx-icon>\n </igx-suffix>\n }\n </igx-input-group>\n</ng-template>\n\n<ng-container\n *ngTemplateOutlet=\"template; context: { $implicit: this }\"\n></ng-container>\n\n@if (showArrows) {\n <button\n igxIconButton=\"flat\"\n type=\"button\"\n class=\"igx-grid__filtering-row-scroll-start\"\n (keydown)=\"onLeftArrowKeyDown($event)\"\n (click)=\"scrollChipsOnArrowPress('left')\"\n >\n <igx-icon family=\"default\" name=\"prev\"></igx-icon>\n </button>\n}\n\n<div #container class=\"igx-grid__filtering-row-main\">\n <div>\n <igx-chips-area #chipsArea>\n <!-- expressionsList items re-created on refreshExpressions(), track stable expression -->\n @for (\n item of expressionsList;\n track item.expression;\n let i = $index;\n let last = $last\n ) {\n <ng-container tabindex=\"0\">\n <igx-chip\n #chip\n id=\"chip\"\n (pointerdown)=\"onChipPointerdown($event, chip)\"\n (click)=\"onChipClick($event, item)\"\n (keydown)=\"onChipKeyDown($event, item)\"\n (remove)=\"onChipRemoved($event, item)\"\n [selectable]=\"false\"\n [selected]=\"item.isSelected\"\n [style.--ig-size]=\"filteringElementsSize\"\n [removable]=\"true\"\n >\n <igx-icon\n igxPrefix\n family=\"default\"\n [name]=\"item.expression.condition!.iconName\"\n >\n </igx-icon>\n <span>{{ filteringService.getChipLabel(item.expression) }}</span>\n </igx-chip>\n @if (!last) {\n <span id=\"operand\">\n <button\n igxButton\n type=\"button\"\n (click)=\"toggleOperatorsDropDown($event, i)\"\n [igxDropDownItemNavigation]=\"operators\"\n [style.--ig-size]=\"filteringElementsSize\"\n >\n <igx-icon family=\"default\" name=\"expand_more\"></igx-icon>\n <span>{{\n filteringService.getOperatorAsString(item.afterOperator)\n }}</span>\n </button>\n <igx-drop-down\n #operators\n (selectionChanging)=\"onLogicOperatorChanged($event, item)\"\n >\n <igx-drop-down-item\n [value]=\"0\"\n [selected]=\"item.afterOperator === 0\"\n >{{\n filteringService.grid.resourceStrings\n .igx_grid_filter_operator_and\n }}</igx-drop-down-item\n >\n <igx-drop-down-item\n [value]=\"1\"\n [selected]=\"item.afterOperator === 1\"\n >{{\n filteringService.grid.resourceStrings\n .igx_grid_filter_operator_or\n }}</igx-drop-down-item\n >\n </igx-drop-down>\n </span>\n }\n </ng-container>\n }\n </igx-chips-area>\n </div>\n</div>\n\n@if (showArrows) {\n <button\n igxIconButton=\"flat\"\n type=\"button\"\n class=\"igx-grid__filtering-row-scroll-end\"\n (click)=\"scrollChipsOnArrowPress('right')\"\n >\n <igx-icon family=\"default\" name=\"next\"></igx-icon>\n </button>\n}\n\n<div\n #buttonsContainer\n [ngClass]=\"\n isNarrowWidth\n ? 'igx-grid__filtering-row-editing-buttons--small'\n : 'igx-grid__filtering-row-editing-buttons'\n \"\n>\n @if (!isNarrowWidth) {\n <button\n igxButton=\"flat\"\n type=\"button\"\n igxRipple\n (click)=\"clearFiltering()\"\n [disabled]=\"disabled\"\n [tabindex]=\"disabled\"\n [style.--ig-size]=\"filteringElementsSize\"\n >\n <igx-icon family=\"default\" name=\"refresh\"></igx-icon>\n <span>{{\n filteringService.grid.resourceStrings.igx_grid_filter_row_reset\n }}</span>\n </button>\n <button\n #closeButton\n igxButton=\"flat\"\n type=\"button\"\n igxRipple\n (click)=\"close()\"\n [style.--ig-size]=\"filteringElementsSize\"\n >\n <igx-icon family=\"default\" name=\"close\"></igx-icon>\n <span>{{\n filteringService.grid.resourceStrings.igx_grid_filter_row_close\n }}</span>\n </button>\n }\n @if (isNarrowWidth) {\n <button\n igxIconButton=\"flat\"\n type=\"button\"\n igxRipple\n (click)=\"clearFiltering()\"\n [disabled]=\"disabled\"\n [tabindex]=\"disabled\"\n [style.--ig-size]=\"filteringElementsSize\"\n >\n <igx-icon family=\"default\" name=\"refresh\"></igx-icon>\n </button>\n <button\n #closeButton\n igxIconButton=\"flat\"\n type=\"button\"\n igxRipple\n (click)=\"close()\"\n [style.--ig-size]=\"filteringElementsSize\"\n >\n <igx-icon family=\"default\" name=\"close\"></igx-icon>\n </button>\n }\n</div>\n" }]
|
|
13706
13421
|
}], propDecorators: { column: [{
|
|
13707
13422
|
type: Input
|
|
13708
13423
|
}], value: [{
|
|
@@ -13962,7 +13677,7 @@ class BaseRow {
|
|
|
13962
13677
|
*/
|
|
13963
13678
|
update(value) {
|
|
13964
13679
|
const crudService = this.grid.crudService;
|
|
13965
|
-
if (crudService.cellInEditMode && crudService.cell
|
|
13680
|
+
if (crudService.cellInEditMode && crudService.cell?.id.rowID === this.key) {
|
|
13966
13681
|
this.grid.transactions.endPending(false);
|
|
13967
13682
|
}
|
|
13968
13683
|
const row = new IgxEditRow(this.key, this.index, this.data, this.grid);
|
|
@@ -14931,6 +14646,7 @@ class IgxGridHeaderRowComponent {
|
|
|
14931
14646
|
if (row && row.cells) {
|
|
14932
14647
|
return row.cells.map(cell => cell.column);
|
|
14933
14648
|
}
|
|
14649
|
+
return undefined;
|
|
14934
14650
|
}
|
|
14935
14651
|
/**
|
|
14936
14652
|
* @hidden
|
|
@@ -15002,11 +14718,11 @@ class IgxGridHeaderRowComponent {
|
|
|
15002
14718
|
}
|
|
15003
14719
|
}
|
|
15004
14720
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.1", ngImport: i0, type: IgxGridHeaderRowComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
15005
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.1", type: IgxGridHeaderRowComponent, isStandalone: true, selector: "igx-grid-header-row", inputs: { grid: "grid", pinnedStartColumnCollection: "pinnedStartColumnCollection", pinnedEndColumnCollection: "pinnedEndColumnCollection", unpinnedColumnCollection: "unpinnedColumnCollection", hasMRL: ["hasMRL", "hasMRL", booleanAttribute], width: "width" }, host: { properties: { "attr.role": "this.role", "attr.aria-activedescendant": "this.activeDescendant" } }, viewQueries: [{ propertyName: "headerContainer", first: true, predicate: ["headerVirtualContainer"], descendants: true, read: IgxGridForOfDirective, static: true }, { propertyName: "headerDragContainer", first: true, predicate: ["headerDragContainer"], descendants: true }, { propertyName: "headerSelectorContainer", first: true, predicate: ["headerSelectorContainer"], descendants: true }, { propertyName: "headerGroupContainer", first: true, predicate: ["headerGroupContainer"], descendants: true }, { propertyName: "headSelectorBaseTemplate", first: true, predicate: ["headSelectorBaseTemplate"], descendants: true }, { propertyName: "filterRow", first: true, predicate: IgxGridFilteringRowComponent, descendants: true }, { propertyName: "headerHierarchyExpander", first: true, predicate: ["headerHierarchyExpander"], descendants: true }, { propertyName: "_groups", predicate: IgxGridHeaderGroupComponent, descendants: true }], ngImport: i0, template: "<div class=\"igx-grid-thead__wrapper\" (scroll)=\"scroll($event)\" [style.width.px]=\"width\"\n [class.igx-grid__tr--mrl]=\"hasMRL\">\n\n <!-- Column headers area -->\n <div class=\"igx-grid__tr\" role=\"row\" [attr.aria-rowindex]=\"1\" [style.width.px]=\"width\">\n\n <!-- Left column moving area -->\n @if (grid.moving && grid.columnInDrag && pinnedStartColumnCollection.length <= 0) {\n <span id=\"left\" class=\"igx-grid__scroll-on-drag-left\" droppable=\"true\" [style.left.px]=\"grid.pinnedStartWidth\"\n [igxColumnMovingDrop]=\"headerContainer\"></span>\n }\n @if (grid.moving && grid.columnInDrag && pinnedStartColumnCollection.length > 0) {\n <span id=\"left\" class=\"igx-grid__scroll-on-drag-pinned\" droppable=\"true\" [style.left.px]=\"grid.pinnedStartWidth\"\n [igxColumnMovingDrop]=\"headerContainer\"></span>\n }\n\n <!-- Row dragging area -->\n @if (grid.rowDraggable) {\n <div #headerDragContainer class=\"igx-grid__drag-indicator igx-grid__tr-action\" role=\"columnheader\" (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 }\n\n <!-- Row selectors area -->\n @if (grid.showRowSelectors) {\n <div #headerSelectorContainer class=\"igx-grid__cbx-selection igx-grid__tr-action\" role=\"columnheader\"\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 }\n\n <!-- Hierarchical grids expand all area -->\n @if (isHierarchicalGrid) {\n <div #headerHierarchyExpander\n (click)=\"grid.toggleAll()\"\n (pointerdown)=\"$event.preventDefault()\"\n [hidden]=\"!grid.hasExpandableChildren || !grid.hasVisibleColumns\"\n role=\"columnheader\"\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 }\n\n\n <!-- Grouping icon toggle area -->\n @if (grid?.groupingExpressions?.length) {\n <div #headerGroupContainer class=\"{{ indentationCSSClasses }}\"\n (click)=\"grid.toggleAllGroupRows()\"\n (pointerdown)=\"$event.preventDefault()\"\n role=\"columnheader\">\n <ng-container *ngTemplateOutlet=\"grid.iconTemplate; context: { $implicit: grid }\"></ng-container>\n </div>\n }\n\n <!-- Pinned columns collection from the start -->\n @if (pinnedStartColumnCollection.length) {\n @for (column of pinnedStartColumnCollection | igxTopLevel; track trackPinnedColumn(column)) {\n <igx-grid-header-group\n [ngClass]=\"column.headerGroupClasses\"\n [ngStyle]=\"column.headerGroupStyles | igxHeaderGroupStyle:column:grid.pipeTrigger\"\n [column]=\"column\">\n </igx-grid-header-group>\n }\n }\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 </igx-grid-header-group>\n </ng-template>\n\n <!-- Pinned columns collection at the end -->\n @if (pinnedEndColumnCollection.length) {\n @for (column of pinnedEndColumnCollection | igxTopLevel; track trackPinnedColumn(column)) {\n <igx-grid-header-group\n [ngClass]=\"column.headerGroupClasses\"\n [ngStyle]=\"column.headerGroupStyles |igxHeaderGroupStyle:column:grid.pipeTrigger\"\n [column]=\"column\">\n </igx-grid-header-group>\n }\n }\n </div>\n\n <!-- Render a hidden row of the leaf column headers for accessibility purposes -->\n @if (grid.hasColumnGroups) {\n <div role=\"row\" style=\"width: 0; height: 0; position: absolute; top: -10000px;\">\n @for (column of visibleLeafColumns; track column.index) {\n <div role=\"columnheader\" [attr.aria-hidden]=\"isLeafHeaderAriaHidden\">{{ column.header || column.field }}</div>\n }\n </div>\n }\n\n <!-- Filter row area -->\n @if (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 }\n\n <!-- Right column moving area -->\n @if (grid.moving && grid.columnInDrag) {\n <span id=\"right\" class=\"igx-grid__scroll-on-drag-right\" droppable=\"true\" [igxColumnMovingDrop]=\"headerContainer\"></span>\n }\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 && grid.selectionService.areAllRowSelected()\"\n [disableRipple]=\"true\"\n [ngStyle]=\"{'visibility': grid.isMultiRowSelectionEnabled? 'visible' : 'hidden' }\"\n [indeterminate]=\"context.selectedCount > 0 && grid.selectionService.hasSomeRowSelected()\"\n [aria-label]=\"grid.headSelectorBaseAriaLabel\"\n #headerCheckbox>\n </igx-checkbox>\n </div>\n</ng-template>\n", dependencies: [{ kind: "directive", type: IgxColumnMovingDropDirective, selector: "[igxColumnMovingDrop]", inputs: ["igxColumnMovingDrop"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: IgxGridHeaderGroupComponent, selector: "igx-grid-header-group", inputs: ["column"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: IgxGridForOfDirective, selector: "[igxGridFor][igxGridForOf]", inputs: ["igxGridForOf", "igxGridForOfUniqueSizeCache", "igxGridForOfVariableSizes"], outputs: ["dataChanging"] }, { kind: "component", type: IgxGridFilteringRowComponent, selector: "igx-grid-filtering-row", inputs: ["column", "value"] }, { kind: "component", type: IgxCheckboxComponent, selector: "igx-checkbox", inputs: ["indeterminate", "checked", "disabled", "invalid", "readonly", "disableTransitions"] }, { kind: "pipe", type: IgxGridTopLevelColumns, name: "igxTopLevel" }, { kind: "pipe", type: IgxHeaderGroupStylePipe, name: "igxHeaderGroupStyle" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
14721
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.1", type: IgxGridHeaderRowComponent, isStandalone: true, selector: "igx-grid-header-row", inputs: { grid: "grid", pinnedStartColumnCollection: "pinnedStartColumnCollection", pinnedEndColumnCollection: "pinnedEndColumnCollection", unpinnedColumnCollection: "unpinnedColumnCollection", hasMRL: ["hasMRL", "hasMRL", booleanAttribute], width: "width" }, host: { properties: { "attr.role": "this.role", "attr.aria-activedescendant": "this.activeDescendant" } }, viewQueries: [{ propertyName: "headerContainer", first: true, predicate: ["headerVirtualContainer"], descendants: true, read: IgxGridForOfDirective, static: true }, { propertyName: "headerDragContainer", first: true, predicate: ["headerDragContainer"], descendants: true }, { propertyName: "headerSelectorContainer", first: true, predicate: ["headerSelectorContainer"], descendants: true }, { propertyName: "headerGroupContainer", first: true, predicate: ["headerGroupContainer"], descendants: true }, { propertyName: "headSelectorBaseTemplate", first: true, predicate: ["headSelectorBaseTemplate"], descendants: true }, { propertyName: "filterRow", first: true, predicate: IgxGridFilteringRowComponent, descendants: true }, { propertyName: "headerHierarchyExpander", first: true, predicate: ["headerHierarchyExpander"], descendants: true }, { propertyName: "_groups", predicate: IgxGridHeaderGroupComponent, descendants: true }], ngImport: i0, template: "<div class=\"igx-grid-thead__wrapper\" (scroll)=\"scroll($event)\" [style.width.px]=\"width\"\n [class.igx-grid__tr--mrl]=\"hasMRL\">\n\n <!-- Column headers area -->\n <div class=\"igx-grid__tr\" role=\"row\" [attr.aria-rowindex]=\"1\" [style.width.px]=\"width\">\n\n <!-- Left column moving area -->\n @if (grid.moving && grid.columnInDrag && pinnedStartColumnCollection.length <= 0) {\n <span id=\"left\" class=\"igx-grid__scroll-on-drag-left\" droppable=\"true\" [style.left.px]=\"grid.pinnedStartWidth\"\n [igxColumnMovingDrop]=\"headerContainer\"></span>\n }\n @if (grid.moving && grid.columnInDrag && pinnedStartColumnCollection.length > 0) {\n <span id=\"left\" class=\"igx-grid__scroll-on-drag-pinned\" droppable=\"true\" [style.left.px]=\"grid.pinnedStartWidth\"\n [igxColumnMovingDrop]=\"headerContainer\"></span>\n }\n\n <!-- Row dragging area -->\n @if (grid.rowDraggable) {\n <div #headerDragContainer class=\"igx-grid__drag-indicator igx-grid__tr-action\" role=\"columnheader\" (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 }\n\n <!-- Row selectors area -->\n @if (grid.showRowSelectors) {\n <div #headerSelectorContainer class=\"igx-grid__cbx-selection igx-grid__tr-action\" role=\"columnheader\"\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 }\n\n <!-- Hierarchical grids expand all area -->\n @if (isHierarchicalGrid) {\n <div #headerHierarchyExpander\n (click)=\"grid.toggleAll!()\"\n (pointerdown)=\"$event.preventDefault()\"\n [hidden]=\"!grid.hasExpandableChildren || !grid.hasVisibleColumns\"\n role=\"columnheader\"\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 }\n\n\n <!-- Grouping icon toggle area -->\n @if (grid?.groupingExpressions?.length) {\n <div #headerGroupContainer class=\"{{ indentationCSSClasses }}\"\n (click)=\"grid!.toggleAllGroupRows!()\"\n (pointerdown)=\"$event.preventDefault()\"\n role=\"columnheader\">\n <ng-container *ngTemplateOutlet=\"grid.iconTemplate; context: { $implicit: grid }\"></ng-container>\n </div>\n }\n\n <!-- Pinned columns collection from the start -->\n @if (pinnedStartColumnCollection.length) {\n @for (column of pinnedStartColumnCollection | igxTopLevel; track trackPinnedColumn(column)) {\n <igx-grid-header-group\n [ngClass]=\"column.headerGroupClasses\"\n [ngStyle]=\"column.headerGroupStyles | igxHeaderGroupStyle:column:grid.pipeTrigger\"\n [column]=\"column\">\n </igx-grid-header-group>\n }\n }\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 </igx-grid-header-group>\n </ng-template>\n\n <!-- Pinned columns collection at the end -->\n @if (pinnedEndColumnCollection.length) {\n @for (column of pinnedEndColumnCollection | igxTopLevel; track trackPinnedColumn(column)) {\n <igx-grid-header-group\n [ngClass]=\"column.headerGroupClasses\"\n [ngStyle]=\"column.headerGroupStyles |igxHeaderGroupStyle:column:grid.pipeTrigger\"\n [column]=\"column\">\n </igx-grid-header-group>\n }\n }\n </div>\n\n <!-- Render a hidden row of the leaf column headers for accessibility purposes -->\n @if (grid.hasColumnGroups) {\n <div role=\"row\" style=\"width: 0; height: 0; position: absolute; top: -10000px;\">\n @for (column of visibleLeafColumns; track column.index) {\n <div role=\"columnheader\" [attr.aria-hidden]=\"isLeafHeaderAriaHidden\">{{ column.header || column.field }}</div>\n }\n </div>\n }\n\n <!-- Filter row area -->\n @if (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 }\n\n <!-- Right column moving area -->\n @if (grid.moving && grid.columnInDrag) {\n <span id=\"right\" class=\"igx-grid__scroll-on-drag-right\" droppable=\"true\" [igxColumnMovingDrop]=\"headerContainer\"></span>\n }\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 && grid.selectionService.areAllRowSelected()\"\n [disableRipple]=\"true\"\n [ngStyle]=\"{'visibility': grid.isMultiRowSelectionEnabled? 'visible' : 'hidden' }\"\n [indeterminate]=\"context.selectedCount > 0 && grid.selectionService.hasSomeRowSelected()\"\n [aria-label]=\"grid.headSelectorBaseAriaLabel\"\n #headerCheckbox>\n </igx-checkbox>\n </div>\n</ng-template>\n", dependencies: [{ kind: "directive", type: IgxColumnMovingDropDirective, selector: "[igxColumnMovingDrop]", inputs: ["igxColumnMovingDrop"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: IgxGridHeaderGroupComponent, selector: "igx-grid-header-group", inputs: ["column"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: IgxGridForOfDirective, selector: "[igxGridFor][igxGridForOf]", inputs: ["igxGridForOf", "igxGridForOfUniqueSizeCache", "igxGridForOfVariableSizes"], outputs: ["dataChanging"] }, { kind: "component", type: IgxGridFilteringRowComponent, selector: "igx-grid-filtering-row", inputs: ["column", "value"] }, { kind: "component", type: IgxCheckboxComponent, selector: "igx-checkbox", inputs: ["indeterminate", "checked", "disabled", "invalid", "readonly", "disableTransitions"] }, { kind: "pipe", type: IgxGridTopLevelColumns, name: "igxTopLevel" }, { kind: "pipe", type: IgxHeaderGroupStylePipe, name: "igxHeaderGroupStyle" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
15006
14722
|
}
|
|
15007
14723
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.1", ngImport: i0, type: IgxGridHeaderRowComponent, decorators: [{
|
|
15008
14724
|
type: Component,
|
|
15009
|
-
args: [{ changeDetection: ChangeDetectionStrategy.OnPush, selector: 'igx-grid-header-row', imports: [IgxColumnMovingDropDirective, NgTemplateOutlet, NgClass, IgxGridHeaderGroupComponent, NgStyle, IgxGridForOfDirective, IgxGridFilteringRowComponent, IgxCheckboxComponent, IgxGridTopLevelColumns, IgxHeaderGroupStylePipe], template: "<div class=\"igx-grid-thead__wrapper\" (scroll)=\"scroll($event)\" [style.width.px]=\"width\"\n [class.igx-grid__tr--mrl]=\"hasMRL\">\n\n <!-- Column headers area -->\n <div class=\"igx-grid__tr\" role=\"row\" [attr.aria-rowindex]=\"1\" [style.width.px]=\"width\">\n\n <!-- Left column moving area -->\n @if (grid.moving && grid.columnInDrag && pinnedStartColumnCollection.length <= 0) {\n <span id=\"left\" class=\"igx-grid__scroll-on-drag-left\" droppable=\"true\" [style.left.px]=\"grid.pinnedStartWidth\"\n [igxColumnMovingDrop]=\"headerContainer\"></span>\n }\n @if (grid.moving && grid.columnInDrag && pinnedStartColumnCollection.length > 0) {\n <span id=\"left\" class=\"igx-grid__scroll-on-drag-pinned\" droppable=\"true\" [style.left.px]=\"grid.pinnedStartWidth\"\n [igxColumnMovingDrop]=\"headerContainer\"></span>\n }\n\n <!-- Row dragging area -->\n @if (grid.rowDraggable) {\n <div #headerDragContainer class=\"igx-grid__drag-indicator igx-grid__tr-action\" role=\"columnheader\" (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 }\n\n <!-- Row selectors area -->\n @if (grid.showRowSelectors) {\n <div #headerSelectorContainer class=\"igx-grid__cbx-selection igx-grid__tr-action\" role=\"columnheader\"\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 }\n\n <!-- Hierarchical grids expand all area -->\n @if (isHierarchicalGrid) {\n <div #headerHierarchyExpander\n (click)=\"grid.toggleAll()\"\n (pointerdown)=\"$event.preventDefault()\"\n [hidden]=\"!grid.hasExpandableChildren || !grid.hasVisibleColumns\"\n role=\"columnheader\"\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 }\n\n\n <!-- Grouping icon toggle area -->\n @if (grid?.groupingExpressions?.length) {\n <div #headerGroupContainer class=\"{{ indentationCSSClasses }}\"\n (click)=\"grid
|
|
14725
|
+
args: [{ changeDetection: ChangeDetectionStrategy.OnPush, selector: 'igx-grid-header-row', imports: [IgxColumnMovingDropDirective, NgTemplateOutlet, NgClass, IgxGridHeaderGroupComponent, NgStyle, IgxGridForOfDirective, IgxGridFilteringRowComponent, IgxCheckboxComponent, IgxGridTopLevelColumns, IgxHeaderGroupStylePipe], template: "<div class=\"igx-grid-thead__wrapper\" (scroll)=\"scroll($event)\" [style.width.px]=\"width\"\n [class.igx-grid__tr--mrl]=\"hasMRL\">\n\n <!-- Column headers area -->\n <div class=\"igx-grid__tr\" role=\"row\" [attr.aria-rowindex]=\"1\" [style.width.px]=\"width\">\n\n <!-- Left column moving area -->\n @if (grid.moving && grid.columnInDrag && pinnedStartColumnCollection.length <= 0) {\n <span id=\"left\" class=\"igx-grid__scroll-on-drag-left\" droppable=\"true\" [style.left.px]=\"grid.pinnedStartWidth\"\n [igxColumnMovingDrop]=\"headerContainer\"></span>\n }\n @if (grid.moving && grid.columnInDrag && pinnedStartColumnCollection.length > 0) {\n <span id=\"left\" class=\"igx-grid__scroll-on-drag-pinned\" droppable=\"true\" [style.left.px]=\"grid.pinnedStartWidth\"\n [igxColumnMovingDrop]=\"headerContainer\"></span>\n }\n\n <!-- Row dragging area -->\n @if (grid.rowDraggable) {\n <div #headerDragContainer class=\"igx-grid__drag-indicator igx-grid__tr-action\" role=\"columnheader\" (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 }\n\n <!-- Row selectors area -->\n @if (grid.showRowSelectors) {\n <div #headerSelectorContainer class=\"igx-grid__cbx-selection igx-grid__tr-action\" role=\"columnheader\"\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 }\n\n <!-- Hierarchical grids expand all area -->\n @if (isHierarchicalGrid) {\n <div #headerHierarchyExpander\n (click)=\"grid.toggleAll!()\"\n (pointerdown)=\"$event.preventDefault()\"\n [hidden]=\"!grid.hasExpandableChildren || !grid.hasVisibleColumns\"\n role=\"columnheader\"\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 }\n\n\n <!-- Grouping icon toggle area -->\n @if (grid?.groupingExpressions?.length) {\n <div #headerGroupContainer class=\"{{ indentationCSSClasses }}\"\n (click)=\"grid!.toggleAllGroupRows!()\"\n (pointerdown)=\"$event.preventDefault()\"\n role=\"columnheader\">\n <ng-container *ngTemplateOutlet=\"grid.iconTemplate; context: { $implicit: grid }\"></ng-container>\n </div>\n }\n\n <!-- Pinned columns collection from the start -->\n @if (pinnedStartColumnCollection.length) {\n @for (column of pinnedStartColumnCollection | igxTopLevel; track trackPinnedColumn(column)) {\n <igx-grid-header-group\n [ngClass]=\"column.headerGroupClasses\"\n [ngStyle]=\"column.headerGroupStyles | igxHeaderGroupStyle:column:grid.pipeTrigger\"\n [column]=\"column\">\n </igx-grid-header-group>\n }\n }\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 </igx-grid-header-group>\n </ng-template>\n\n <!-- Pinned columns collection at the end -->\n @if (pinnedEndColumnCollection.length) {\n @for (column of pinnedEndColumnCollection | igxTopLevel; track trackPinnedColumn(column)) {\n <igx-grid-header-group\n [ngClass]=\"column.headerGroupClasses\"\n [ngStyle]=\"column.headerGroupStyles |igxHeaderGroupStyle:column:grid.pipeTrigger\"\n [column]=\"column\">\n </igx-grid-header-group>\n }\n }\n </div>\n\n <!-- Render a hidden row of the leaf column headers for accessibility purposes -->\n @if (grid.hasColumnGroups) {\n <div role=\"row\" style=\"width: 0; height: 0; position: absolute; top: -10000px;\">\n @for (column of visibleLeafColumns; track column.index) {\n <div role=\"columnheader\" [attr.aria-hidden]=\"isLeafHeaderAriaHidden\">{{ column.header || column.field }}</div>\n }\n </div>\n }\n\n <!-- Filter row area -->\n @if (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 }\n\n <!-- Right column moving area -->\n @if (grid.moving && grid.columnInDrag) {\n <span id=\"right\" class=\"igx-grid__scroll-on-drag-right\" droppable=\"true\" [igxColumnMovingDrop]=\"headerContainer\"></span>\n }\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 && grid.selectionService.areAllRowSelected()\"\n [disableRipple]=\"true\"\n [ngStyle]=\"{'visibility': grid.isMultiRowSelectionEnabled? 'visible' : 'hidden' }\"\n [indeterminate]=\"context.selectedCount > 0 && grid.selectionService.hasSomeRowSelected()\"\n [aria-label]=\"grid.headSelectorBaseAriaLabel\"\n #headerCheckbox>\n </igx-checkbox>\n </div>\n</ng-template>\n" }]
|
|
15010
14726
|
}], propDecorators: { grid: [{
|
|
15011
14727
|
type: Input
|
|
15012
14728
|
}], pinnedStartColumnCollection: [{
|
|
@@ -15499,6 +15215,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.1", ngImpor
|
|
|
15499
15215
|
// }
|
|
15500
15216
|
// },
|
|
15501
15217
|
class IgxPivotDateDimension {
|
|
15218
|
+
/* treatAsRef */
|
|
15502
15219
|
/**
|
|
15503
15220
|
* Gets/Sets the resource strings.
|
|
15504
15221
|
*
|
|
@@ -15782,10 +15499,22 @@ class IgxGridStateBaseDirective {
|
|
|
15782
15499
|
newColumns.push(ref);
|
|
15783
15500
|
}
|
|
15784
15501
|
});
|
|
15785
|
-
context.currGrid.
|
|
15786
|
-
|
|
15787
|
-
|
|
15788
|
-
|
|
15502
|
+
if (!context.currGrid._init && !context.currGrid._rendered) {
|
|
15503
|
+
// If grid is not rendered but is initialized (during ngAfterViewInit) wait for it to render.
|
|
15504
|
+
// Otherwise pushing mid detect change (mainly while calculating sizes from `calculateGridWidth` and `calculateGridSizes`) messes up headers detect changing.
|
|
15505
|
+
context.currGrid.rendered.pipe(first()).subscribe(() => {
|
|
15506
|
+
context.currGrid.updateColumns(newColumns);
|
|
15507
|
+
newColumns.forEach(col => {
|
|
15508
|
+
context.currGrid.columnInit.emit(col);
|
|
15509
|
+
});
|
|
15510
|
+
});
|
|
15511
|
+
}
|
|
15512
|
+
else {
|
|
15513
|
+
context.currGrid.updateColumns(newColumns);
|
|
15514
|
+
newColumns.forEach(col => {
|
|
15515
|
+
context.currGrid.columnInit.emit(col);
|
|
15516
|
+
});
|
|
15517
|
+
}
|
|
15789
15518
|
}
|
|
15790
15519
|
},
|
|
15791
15520
|
groupBy: {
|
|
@@ -15905,9 +15634,9 @@ class IgxGridStateBaseDirective {
|
|
|
15905
15634
|
const childGridStates = [];
|
|
15906
15635
|
const rowIslands = context.currGrid.allLayoutList;
|
|
15907
15636
|
if (rowIslands) {
|
|
15908
|
-
rowIslands.forEach(rowIsland => {
|
|
15637
|
+
rowIslands.forEach((rowIsland) => {
|
|
15909
15638
|
const childGrids = rowIsland.rowIslandAPI.getChildGrids();
|
|
15910
|
-
childGrids.forEach(chGrid => {
|
|
15639
|
+
childGrids.forEach((chGrid) => {
|
|
15911
15640
|
const parentRowID = this.getParentRowID(chGrid);
|
|
15912
15641
|
context.currGrid = chGrid;
|
|
15913
15642
|
if (context.currGrid) {
|
|
@@ -15923,12 +15652,12 @@ class IgxGridStateBaseDirective {
|
|
|
15923
15652
|
restoreFeatureState(context, state) {
|
|
15924
15653
|
const rowIslands = context.currGrid.allLayoutList;
|
|
15925
15654
|
if (rowIslands) {
|
|
15926
|
-
rowIslands.forEach(rowIsland => {
|
|
15655
|
+
rowIslands.forEach((rowIsland) => {
|
|
15927
15656
|
const childGrids = rowIsland.rowIslandAPI.getChildGrids();
|
|
15928
|
-
childGrids.forEach(chGrid => {
|
|
15657
|
+
childGrids.forEach((chGrid) => {
|
|
15929
15658
|
const parentRowID = this.getParentRowID(chGrid);
|
|
15930
15659
|
context.currGrid = chGrid;
|
|
15931
|
-
const childGridState = state.find(st => st.id === rowIsland.id && st.parentRowID === parentRowID);
|
|
15660
|
+
const childGridState = state.find((st) => st.id === rowIsland.id && st.parentRowID === parentRowID);
|
|
15932
15661
|
if (childGridState && context.currGrid) {
|
|
15933
15662
|
context.restoreGridState(childGridState.state, context.featureKeys);
|
|
15934
15663
|
}
|
|
@@ -16018,7 +15747,7 @@ class IgxGridStateBaseDirective {
|
|
|
16018
15747
|
getStateInternal(serialize = true, features) {
|
|
16019
15748
|
let state;
|
|
16020
15749
|
this.currGrid = this.grid;
|
|
16021
|
-
|
|
15750
|
+
state = this.buildState(features);
|
|
16022
15751
|
if (serialize) {
|
|
16023
15752
|
state = JSON.stringify(state, this.stringifyCallback);
|
|
16024
15753
|
}
|
|
@@ -16039,7 +15768,6 @@ class IgxGridStateBaseDirective {
|
|
|
16039
15768
|
* ```
|
|
16040
15769
|
*/
|
|
16041
15770
|
setStateInternal(state, features) {
|
|
16042
|
-
this.state = state;
|
|
16043
15771
|
this.currGrid = this.grid;
|
|
16044
15772
|
this.restoreGridState(state, features);
|
|
16045
15773
|
this.grid.cdr.detectChanges(); // TODO
|
|
@@ -16104,7 +15832,7 @@ class IgxGridStateBaseDirective {
|
|
|
16104
15832
|
restoreDimensions(config) {
|
|
16105
15833
|
const collections = [config.rows, config.columns, config.filters];
|
|
16106
15834
|
for (const collection of collections) {
|
|
16107
|
-
for (let index = 0; index < collection?.length; index++) {
|
|
15835
|
+
for (let index = 0; index < (collection?.length ?? 0); index++) {
|
|
16108
15836
|
const dim = collection[index];
|
|
16109
15837
|
if (this.isDateDimension(dim)) {
|
|
16110
15838
|
this.restoreDateDimension(dim);
|
|
@@ -16179,7 +15907,7 @@ class IgxGridStateBaseDirective {
|
|
|
16179
15907
|
return null;
|
|
16180
15908
|
}
|
|
16181
15909
|
if (this.currGrid.type === 'pivot') {
|
|
16182
|
-
return recreateTreeFromFields(exprTreeObject, this.currGrid.allDimensions.map(d => ({ dataType: d.dataType, field: d.memberName })));
|
|
15910
|
+
return recreateTreeFromFields(exprTreeObject, this.currGrid.allDimensions.map((d) => ({ dataType: d.dataType, field: d.memberName })));
|
|
16183
15911
|
}
|
|
16184
15912
|
return recreateTreeFromFields(exprTreeObject, this.currGrid.columns);
|
|
16185
15913
|
}
|
|
@@ -16499,7 +16227,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.1", ngImpor
|
|
|
16499
16227
|
/* wcElementTag: igc-grid-toolbar */
|
|
16500
16228
|
/* blazorIndirectRender */
|
|
16501
16229
|
/* singleInstanceIdentifier */
|
|
16502
|
-
/* contentParent:
|
|
16230
|
+
/* contentParent: Grid */
|
|
16231
|
+
/* contentParent: TreeGrid */
|
|
16503
16232
|
/* contentParent: RowIsland */
|
|
16504
16233
|
/* contentParent: HierarchicalGrid */
|
|
16505
16234
|
/* jsonAPIManageItemInMarkup */
|
|
@@ -16663,7 +16392,7 @@ class BaseToolbarDirective {
|
|
|
16663
16392
|
? actions.columnsAreaMaxHeight :
|
|
16664
16393
|
this.columnListHeight ??
|
|
16665
16394
|
`${Math.max(this.grid.calcHeight * 0.5, 200)}px`;
|
|
16666
|
-
toggleRef.opening.pipe(first
|
|
16395
|
+
toggleRef.opening.pipe(first()).subscribe(setHeight);
|
|
16667
16396
|
}
|
|
16668
16397
|
toggleRef.toggle({
|
|
16669
16398
|
...this.overlaySettings, ...{
|
|
@@ -16684,12 +16413,12 @@ class BaseToolbarDirective {
|
|
|
16684
16413
|
}
|
|
16685
16414
|
/** The if statement prevents emitting open and close events twice */
|
|
16686
16415
|
if (toggleRef.collapsed) {
|
|
16687
|
-
toggleRef.opening.pipe(first
|
|
16688
|
-
toggleRef.opened.pipe(first
|
|
16416
|
+
toggleRef.opening.pipe(first(), takeUntil(this.$destroy)).subscribe((event) => this.opening.emit(event));
|
|
16417
|
+
toggleRef.opened.pipe(first(), takeUntil(this.$destroy)).subscribe((event) => this.opened.emit(event));
|
|
16689
16418
|
}
|
|
16690
16419
|
else {
|
|
16691
|
-
toggleRef.closing.pipe(first
|
|
16692
|
-
toggleRef.closed.pipe(first
|
|
16420
|
+
toggleRef.closing.pipe(first(), takeUntil(this.$destroy)).subscribe((event) => this.closing.emit(event));
|
|
16421
|
+
toggleRef.closed.pipe(first(), takeUntil(this.$destroy)).subscribe((event) => this.closed.emit(event));
|
|
16693
16422
|
}
|
|
16694
16423
|
}
|
|
16695
16424
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.1", ngImport: i0, type: BaseToolbarDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
@@ -17546,7 +17275,7 @@ class IgxBaseExporter {
|
|
|
17546
17275
|
this.pivotGridColumns = [];
|
|
17547
17276
|
this.isPivotGridExport = true;
|
|
17548
17277
|
this.pivotGridRowDimensionsMap = new Map();
|
|
17549
|
-
grid.visibleRowDimensions.filter(r => r.enabled).forEach(rowDimension => {
|
|
17278
|
+
grid.visibleRowDimensions.filter(r => r.enabled).forEach((rowDimension) => {
|
|
17550
17279
|
this.addToRowDimensionsMap(rowDimension, rowDimension.memberName);
|
|
17551
17280
|
});
|
|
17552
17281
|
this._ownersMap.set(DEFAULT_OWNER, columnList);
|
|
@@ -17559,8 +17288,10 @@ class IgxBaseExporter {
|
|
|
17559
17288
|
this.addLevelColumns();
|
|
17560
17289
|
this.prepareData(grid);
|
|
17561
17290
|
this.addLevelData();
|
|
17562
|
-
|
|
17563
|
-
|
|
17291
|
+
if (grid.type === 'pivot') {
|
|
17292
|
+
this.addPivotGridColumns(grid);
|
|
17293
|
+
this.addPivotRowHeaders(grid);
|
|
17294
|
+
}
|
|
17564
17295
|
this.exportGridRecordsData(this.flatRecords, grid);
|
|
17565
17296
|
}
|
|
17566
17297
|
/**
|
|
@@ -17687,7 +17418,7 @@ class IgxBaseExporter {
|
|
|
17687
17418
|
}
|
|
17688
17419
|
const targetCol = mapRecord.columns.filter(c => column.columnGroupParent !== null && column.columnGroupParent !== undefined && c.columnGroup === column.columnGroupParent)[0];
|
|
17689
17420
|
if (targetCol !== undefined) {
|
|
17690
|
-
targetCol.columnSpan
|
|
17421
|
+
targetCol.columnSpan = targetCol.columnSpan - span;
|
|
17691
17422
|
if (targetCol.columnGroupParent !== null) {
|
|
17692
17423
|
this.calculateColumnSpans(targetCol, mapRecord, span);
|
|
17693
17424
|
}
|
|
@@ -17878,7 +17609,7 @@ class IgxBaseExporter {
|
|
|
17878
17609
|
hierarchicalOwner: GRID_PARENT
|
|
17879
17610
|
};
|
|
17880
17611
|
this.flatRecords.push(hierarchicalGridRecord);
|
|
17881
|
-
for (const island of childLayoutList) {
|
|
17612
|
+
for (const island of childLayoutList ?? []) {
|
|
17882
17613
|
const path = {
|
|
17883
17614
|
rowID: grid.primaryKey ? entry[grid.primaryKey] : entry,
|
|
17884
17615
|
rowKey: grid.primaryKey ? entry[grid.primaryKey] : entry,
|
|
@@ -18337,7 +18068,7 @@ class IgxBaseExporter {
|
|
|
18337
18068
|
let keyData;
|
|
18338
18069
|
if (island.autoGenerate) {
|
|
18339
18070
|
keyData = gridData && gridData[island.key] ? gridData[island.key] : undefined;
|
|
18340
|
-
const islandKeys = island.children && island.children.length > 0 ? island.children.map(i => i.key) : [];
|
|
18071
|
+
const islandKeys = island.children && island.children.length > 0 ? island.children.map((i) => i.key) : [];
|
|
18341
18072
|
if (keyData && Array.isArray(keyData) && keyData.length > 0) {
|
|
18342
18073
|
const islandData = keyData.map(i => {
|
|
18343
18074
|
const newItem = {};
|
|
@@ -18397,9 +18128,9 @@ class IgxBaseExporter {
|
|
|
18397
18128
|
addPivotRowHeaders(grid) {
|
|
18398
18129
|
if (grid?.pivotUI?.showRowHeaders) {
|
|
18399
18130
|
const headersList = this._ownersMap.get(DEFAULT_OWNER);
|
|
18400
|
-
const enabledRows = grid.visibleRowDimensions.filter(r => r.enabled).map((r, index) => ({ name: r.displayName || r.memberName, level: index }));
|
|
18131
|
+
const enabledRows = grid.visibleRowDimensions.filter((r) => r.enabled).map((r, index) => ({ name: r.displayName || r.memberName, level: index }));
|
|
18401
18132
|
let startIndex = 0;
|
|
18402
|
-
enabledRows.forEach(x => {
|
|
18133
|
+
enabledRows.forEach((x) => {
|
|
18403
18134
|
headersList.columns.unshift({
|
|
18404
18135
|
rowSpan: headersList.maxLevel + 1,
|
|
18405
18136
|
field: x.name,
|
|
@@ -18417,9 +18148,6 @@ class IgxBaseExporter {
|
|
|
18417
18148
|
}
|
|
18418
18149
|
}
|
|
18419
18150
|
addPivotGridColumns(grid) {
|
|
18420
|
-
if (grid.type !== 'pivot') {
|
|
18421
|
-
return;
|
|
18422
|
-
}
|
|
18423
18151
|
const enabledRows = grid.visibleRowDimensions.map((r, i) => ({ name: r.memberName, level: i }));
|
|
18424
18152
|
this.preparePivotGridColumns(enabledRows);
|
|
18425
18153
|
this.pivotGridFilterFieldsCount = enabledRows.length;
|
|
@@ -19033,6 +18761,7 @@ class WorksheetFile {
|
|
|
19033
18761
|
// TODO: get date format from locale
|
|
19034
18762
|
return `"Latest: "&_xlfn.TEXT(_xlfn.MAX(_xlfn.IF(${levelDimensions.startCoordinate}:${levelDimensions.endCoordinate}=${recordLevel}, ${dimensions.startCoordinate}:${dimensions.endCoordinate})), "m/d/yyyy")`;
|
|
19035
18763
|
}
|
|
18764
|
+
return undefined;
|
|
19036
18765
|
}
|
|
19037
18766
|
setRootSummaryStartCoordinate(column, key) {
|
|
19038
18767
|
const firstDataRecordColName = ExcelStrings.getExcelColumn(column) + (this.firstDataRow);
|
|
@@ -20928,7 +20657,7 @@ class IgxGridToolbarExporterComponent extends BaseToolbarDirective {
|
|
|
20928
20657
|
}
|
|
20929
20658
|
this.isExporting = true;
|
|
20930
20659
|
this.toolbar.showProgress = true;
|
|
20931
|
-
exporter.exportEnded.pipe(first
|
|
20660
|
+
exporter.exportEnded.pipe(first()).subscribe(() => {
|
|
20932
20661
|
this.exportEnded.emit();
|
|
20933
20662
|
this.isExporting = false;
|
|
20934
20663
|
this.toolbar.showProgress = false;
|
|
@@ -20980,11 +20709,11 @@ class IgxGridToolbarHidingComponent extends BaseToolbarColumnActionsDirective {
|
|
|
20980
20709
|
this.columnActionsUI = content;
|
|
20981
20710
|
}
|
|
20982
20711
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.1", ngImport: i0, type: IgxGridToolbarHidingComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
20983
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.1", type: IgxGridToolbarHidingComponent, isStandalone: true, selector: "igx-grid-toolbar-hiding", viewQueries: [{ propertyName: "content", first: true, predicate: IgxColumnHidingDirective, descendants: true, read: IgxColumnActionsComponent }], usesInheritance: true, ngImport: i0, template: "@if (grid.rendered$ | async) {\n <button\n [title]=\"
|
|
20712
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.1", type: IgxGridToolbarHidingComponent, isStandalone: true, selector: "igx-grid-toolbar-hiding", viewQueries: [{ propertyName: "content", first: true, predicate: IgxColumnHidingDirective, descendants: true, read: IgxColumnActionsComponent }], usesInheritance: true, ngImport: i0, template: "@if (grid.rendered$ | async) {\n <button\n [title]=\"grid?.resourceStrings.igx_grid_toolbar_hiding_button_tooltip\"\n #btn\n igxButton=\"outlined\"\n type=\"button\"\n name=\"btnColumnHiding\"\n (click)=\"toggle(btn, ref, actions)\"\n >\n <igx-icon\n family=\"default\"\n [name]=\"!grid.hiddenColumnsCount ? 'show' : 'hide'\"\n >\n </igx-icon>\n <span>{{ grid.hiddenColumnsCount }}</span>\n <span>{{ buttonText }}</span>\n </button>\n <igx-column-actions\n #actions\n igxColumnHiding\n igxToggle\n (opened)=\"focusSearch(ref.element)\"\n #ref=\"toggle\"\n [grid]=\"grid\"\n [title]=\"title || grid?.resourceStrings.igx_grid_toolbar_hiding_title!\"\n [filterColumnsPrompt]=\"prompt || grid?.resourceStrings.igx_grid_toolbar_actions_filter_prompt!\n\"\n [hideFilter]=\"hideFilter\"\n [filterCriteria]=\"filterCriteria\"\n [columnDisplayOrder]=\"columnDisplayOrder\"\n [columnsAreaMaxHeight]=\"columnsAreaMaxHeight\"\n [uncheckAllText]=\"uncheckAllText\"\n [checkAllText]=\"checkAllText\"\n [indentation]=\"indentetion\"\n >\n </igx-column-actions>\n}\n", dependencies: [{ kind: "directive", type: IgxButtonDirective, selector: "[igxButton]", inputs: ["selected", "igxButton", "igxLabel"], outputs: ["buttonSelected"] }, { kind: "component", type: IgxIconComponent, selector: "igx-icon", inputs: ["ariaHidden", "family", "name", "active"] }, { kind: "component", type: IgxColumnActionsComponent, selector: "igx-column-actions", inputs: ["grid", "indentation", "columnsAreaMaxHeight", "hideFilter", "title", "filterColumnsPrompt", "filterCriteria", "columnDisplayOrder", "uncheckAllText", "checkAllText", "id"], outputs: ["columnToggled"] }, { kind: "directive", type: IgxColumnHidingDirective, selector: "[igxColumnHiding]" }, { kind: "directive", type: IgxToggleDirective, selector: "[igxToggle]", inputs: ["id"], outputs: ["opened", "opening", "closed", "closing", "appended"], exportAs: ["toggle"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.Eager }); }
|
|
20984
20713
|
}
|
|
20985
20714
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.1", ngImport: i0, type: IgxGridToolbarHidingComponent, decorators: [{
|
|
20986
20715
|
type: Component,
|
|
20987
|
-
args: [{ selector: 'igx-grid-toolbar-hiding', changeDetection: ChangeDetectionStrategy.Eager, imports: [IgxButtonDirective, IgxIconComponent, IgxColumnActionsComponent, IgxColumnHidingDirective, IgxToggleDirective, AsyncPipe], template: "@if (grid.rendered$ | async) {\n <button\n [title]=\"
|
|
20716
|
+
args: [{ selector: 'igx-grid-toolbar-hiding', changeDetection: ChangeDetectionStrategy.Eager, imports: [IgxButtonDirective, IgxIconComponent, IgxColumnActionsComponent, IgxColumnHidingDirective, IgxToggleDirective, AsyncPipe], template: "@if (grid.rendered$ | async) {\n <button\n [title]=\"grid?.resourceStrings.igx_grid_toolbar_hiding_button_tooltip\"\n #btn\n igxButton=\"outlined\"\n type=\"button\"\n name=\"btnColumnHiding\"\n (click)=\"toggle(btn, ref, actions)\"\n >\n <igx-icon\n family=\"default\"\n [name]=\"!grid.hiddenColumnsCount ? 'show' : 'hide'\"\n >\n </igx-icon>\n <span>{{ grid.hiddenColumnsCount }}</span>\n <span>{{ buttonText }}</span>\n </button>\n <igx-column-actions\n #actions\n igxColumnHiding\n igxToggle\n (opened)=\"focusSearch(ref.element)\"\n #ref=\"toggle\"\n [grid]=\"grid\"\n [title]=\"title || grid?.resourceStrings.igx_grid_toolbar_hiding_title!\"\n [filterColumnsPrompt]=\"prompt || grid?.resourceStrings.igx_grid_toolbar_actions_filter_prompt!\n\"\n [hideFilter]=\"hideFilter\"\n [filterCriteria]=\"filterCriteria\"\n [columnDisplayOrder]=\"columnDisplayOrder\"\n [columnsAreaMaxHeight]=\"columnsAreaMaxHeight\"\n [uncheckAllText]=\"uncheckAllText\"\n [checkAllText]=\"checkAllText\"\n [indentation]=\"indentetion\"\n >\n </igx-column-actions>\n}\n" }]
|
|
20988
20717
|
}], propDecorators: { content: [{
|
|
20989
20718
|
type: ViewChild,
|
|
20990
20719
|
args: [IgxColumnHidingDirective, { read: IgxColumnActionsComponent }]
|
|
@@ -21012,11 +20741,11 @@ class IgxGridToolbarPinningComponent extends BaseToolbarColumnActionsDirective {
|
|
|
21012
20741
|
this.columnActionsUI = content;
|
|
21013
20742
|
}
|
|
21014
20743
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.1", ngImport: i0, type: IgxGridToolbarPinningComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
21015
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.1", type: IgxGridToolbarPinningComponent, isStandalone: true, selector: "igx-grid-toolbar-pinning", viewQueries: [{ propertyName: "content", first: true, predicate: IgxColumnPinningDirective, descendants: true, read: IgxColumnActionsComponent }], usesInheritance: true, ngImport: i0, template: "@if (grid.rendered$ | async) {\n <button\n [title]=\"\n $safeNavigationMigration(\n grid?.resourceStrings.igx_grid_toolbar_pinning_button_tooltip\n )\n \"\n #btn\n igxButton=\"outlined\"\n type=\"button\"\n name=\"btnColumnPinning\"\n (click)=\"toggle(btn, ref, actions)\"\n >\n <igx-icon\n family=\"default\"\n [name]=\"!grid.pinnedColumnsCount ? 'unpin' : 'pin'\"\n >\n </igx-icon>\n <span>{{ grid.pinnedColumnsCount }}</span>\n <span>{{ buttonText }}</span>\n </button>\n <igx-column-actions\n #actions\n igxColumnPinning\n igxToggle\n (opened)=\"focusSearch(ref.element)\"\n #ref=\"toggle\"\n [grid]=\"grid\"\n [title]=\"title || grid?.resourceStrings.igx_grid_toolbar_pinning_title
|
|
20744
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.1", type: IgxGridToolbarPinningComponent, isStandalone: true, selector: "igx-grid-toolbar-pinning", viewQueries: [{ propertyName: "content", first: true, predicate: IgxColumnPinningDirective, descendants: true, read: IgxColumnActionsComponent }], usesInheritance: true, ngImport: i0, template: "@if (grid.rendered$ | async) {\n <button\n [title]=\"\n $safeNavigationMigration(\n grid?.resourceStrings.igx_grid_toolbar_pinning_button_tooltip\n )\n \"\n #btn\n igxButton=\"outlined\"\n type=\"button\"\n name=\"btnColumnPinning\"\n (click)=\"toggle(btn, ref, actions)\"\n >\n <igx-icon\n family=\"default\"\n [name]=\"!grid.pinnedColumnsCount ? 'unpin' : 'pin'\"\n >\n </igx-icon>\n <span>{{ grid.pinnedColumnsCount }}</span>\n <span>{{ buttonText }}</span>\n </button>\n <igx-column-actions\n #actions\n igxColumnPinning\n igxToggle\n (opened)=\"focusSearch(ref.element)\"\n #ref=\"toggle\"\n [grid]=\"grid\"\n [title]=\"title || grid?.resourceStrings.igx_grid_toolbar_pinning_title!\"\n [filterColumnsPrompt]=\"prompt || grid?.resourceStrings.igx_grid_toolbar_actions_filter_prompt!\"\n [hideFilter]=\"hideFilter\"\n [filterCriteria]=\"filterCriteria\"\n [columnDisplayOrder]=\"columnDisplayOrder\"\n [columnsAreaMaxHeight]=\"columnsAreaMaxHeight\"\n [uncheckAllText]=\"uncheckAllText\"\n [checkAllText]=\"checkAllText\"\n [indentation]=\"indentetion\"\n >\n </igx-column-actions>\n}\n", dependencies: [{ kind: "directive", type: IgxButtonDirective, selector: "[igxButton]", inputs: ["selected", "igxButton", "igxLabel"], outputs: ["buttonSelected"] }, { kind: "component", type: IgxIconComponent, selector: "igx-icon", inputs: ["ariaHidden", "family", "name", "active"] }, { kind: "component", type: IgxColumnActionsComponent, selector: "igx-column-actions", inputs: ["grid", "indentation", "columnsAreaMaxHeight", "hideFilter", "title", "filterColumnsPrompt", "filterCriteria", "columnDisplayOrder", "uncheckAllText", "checkAllText", "id"], outputs: ["columnToggled"] }, { kind: "directive", type: IgxColumnPinningDirective, selector: "[igxColumnPinning]" }, { kind: "directive", type: IgxToggleDirective, selector: "[igxToggle]", inputs: ["id"], outputs: ["opened", "opening", "closed", "closing", "appended"], exportAs: ["toggle"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.Eager }); }
|
|
21016
20745
|
}
|
|
21017
20746
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.1", ngImport: i0, type: IgxGridToolbarPinningComponent, decorators: [{
|
|
21018
20747
|
type: Component,
|
|
21019
|
-
args: [{ selector: 'igx-grid-toolbar-pinning', changeDetection: ChangeDetectionStrategy.Eager, imports: [IgxButtonDirective, IgxIconComponent, IgxColumnActionsComponent, IgxColumnPinningDirective, IgxToggleDirective, AsyncPipe], template: "@if (grid.rendered$ | async) {\n <button\n [title]=\"\n $safeNavigationMigration(\n grid?.resourceStrings.igx_grid_toolbar_pinning_button_tooltip\n )\n \"\n #btn\n igxButton=\"outlined\"\n type=\"button\"\n name=\"btnColumnPinning\"\n (click)=\"toggle(btn, ref, actions)\"\n >\n <igx-icon\n family=\"default\"\n [name]=\"!grid.pinnedColumnsCount ? 'unpin' : 'pin'\"\n >\n </igx-icon>\n <span>{{ grid.pinnedColumnsCount }}</span>\n <span>{{ buttonText }}</span>\n </button>\n <igx-column-actions\n #actions\n igxColumnPinning\n igxToggle\n (opened)=\"focusSearch(ref.element)\"\n #ref=\"toggle\"\n [grid]=\"grid\"\n [title]=\"title || grid?.resourceStrings.igx_grid_toolbar_pinning_title
|
|
20748
|
+
args: [{ selector: 'igx-grid-toolbar-pinning', changeDetection: ChangeDetectionStrategy.Eager, imports: [IgxButtonDirective, IgxIconComponent, IgxColumnActionsComponent, IgxColumnPinningDirective, IgxToggleDirective, AsyncPipe], template: "@if (grid.rendered$ | async) {\n <button\n [title]=\"\n $safeNavigationMigration(\n grid?.resourceStrings.igx_grid_toolbar_pinning_button_tooltip\n )\n \"\n #btn\n igxButton=\"outlined\"\n type=\"button\"\n name=\"btnColumnPinning\"\n (click)=\"toggle(btn, ref, actions)\"\n >\n <igx-icon\n family=\"default\"\n [name]=\"!grid.pinnedColumnsCount ? 'unpin' : 'pin'\"\n >\n </igx-icon>\n <span>{{ grid.pinnedColumnsCount }}</span>\n <span>{{ buttonText }}</span>\n </button>\n <igx-column-actions\n #actions\n igxColumnPinning\n igxToggle\n (opened)=\"focusSearch(ref.element)\"\n #ref=\"toggle\"\n [grid]=\"grid\"\n [title]=\"title || grid?.resourceStrings.igx_grid_toolbar_pinning_title!\"\n [filterColumnsPrompt]=\"prompt || grid?.resourceStrings.igx_grid_toolbar_actions_filter_prompt!\"\n [hideFilter]=\"hideFilter\"\n [filterCriteria]=\"filterCriteria\"\n [columnDisplayOrder]=\"columnDisplayOrder\"\n [columnsAreaMaxHeight]=\"columnsAreaMaxHeight\"\n [uncheckAllText]=\"uncheckAllText\"\n [checkAllText]=\"checkAllText\"\n [indentation]=\"indentetion\"\n >\n </igx-column-actions>\n}\n" }]
|
|
21020
20749
|
}], propDecorators: { content: [{
|
|
21021
20750
|
type: ViewChild,
|
|
21022
20751
|
args: [IgxColumnPinningDirective, { read: IgxColumnActionsComponent }]
|
|
@@ -21136,12 +20865,14 @@ class IgxRowEditTabStopDirective {
|
|
|
21136
20865
|
move(event) {
|
|
21137
20866
|
event.preventDefault();
|
|
21138
20867
|
this.currentCellIndex = event.shiftKey ? this.grid.lastEditableColumnIndex : this.grid.firstEditableColumnIndex;
|
|
21139
|
-
this.grid.navigation.activeNode.row = this.grid.crudService.rowInEditMode
|
|
20868
|
+
this.grid.navigation.activeNode.row = this.grid.crudService.rowInEditMode?.index;
|
|
21140
20869
|
this.grid.navigation.activeNode.column = this.currentCellIndex;
|
|
21141
|
-
|
|
21142
|
-
|
|
21143
|
-
|
|
21144
|
-
|
|
20870
|
+
if (this.grid.crudService.rowInEditMode) {
|
|
20871
|
+
this.grid.navigateTo(this.grid.crudService.rowInEditMode.index, this.currentCellIndex, (obj) => {
|
|
20872
|
+
obj.target.activate(event);
|
|
20873
|
+
this.grid.cdr.detectChanges();
|
|
20874
|
+
});
|
|
20875
|
+
}
|
|
21145
20876
|
}
|
|
21146
20877
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.1", ngImport: i0, type: IgxRowEditTabStopDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
21147
20878
|
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.1", type: IgxRowEditTabStopDirective, isStandalone: true, selector: "[igxRowEditTabStop]", host: { listeners: { "keydown.tab": "handleTab($event)", "keydown.shift.tab": "handleTab($event)", "keydown.escape": "handleEscape($event)", "keydown.enter": "handleEnter($event)" } }, ngImport: i0 }); }
|
|
@@ -21166,12 +20897,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.1", ngImpor
|
|
|
21166
20897
|
args: ['keydown.enter', ['$event']]
|
|
21167
20898
|
}] } });
|
|
21168
20899
|
|
|
21169
|
-
/**
|
|
21170
|
-
* Injection token for accessing the grid transaction object.
|
|
21171
|
-
* This allows injecting the grid transaction object into components or services.
|
|
21172
|
-
*/
|
|
21173
|
-
const IgxGridTransaction = /*@__PURE__*/ new InjectionToken('IgxGridTransaction');
|
|
21174
|
-
|
|
21175
20900
|
/* csSuppress */
|
|
21176
20901
|
class NoopPivotDimensionsStrategy {
|
|
21177
20902
|
static { this._instance = null; }
|
|
@@ -21278,14 +21003,17 @@ class DimensionValuesFilteringStrategy extends FilteringStrategy {
|
|
|
21278
21003
|
const allDimensions = grid.allDimensions;
|
|
21279
21004
|
const enabledDimensions = allDimensions.filter(x => x && x.enabled);
|
|
21280
21005
|
const dim = PivotUtil.flatten(enabledDimensions).find(x => x.memberName === fieldName);
|
|
21006
|
+
if (!dim) {
|
|
21007
|
+
return undefined;
|
|
21008
|
+
}
|
|
21281
21009
|
const value = dim.childLevel ? this._getDimensionValueHierarchy(dim, rec).map(x => `[` + x + `]`).join('.') : PivotUtil.extractValueFromDimension(dim, rec);
|
|
21282
21010
|
return value;
|
|
21283
21011
|
}
|
|
21284
21012
|
getFilterItems(column, tree) {
|
|
21285
21013
|
const grid = column.grid;
|
|
21286
|
-
const enabledDimensions = grid.allDimensions.filter(x => x && x.enabled);
|
|
21014
|
+
const enabledDimensions = grid.allDimensions.filter((x) => x && x.enabled);
|
|
21287
21015
|
const data = column.grid.gridAPI.filterDataByExpressions(tree);
|
|
21288
|
-
const dim = enabledDimensions.find(x => x.memberName === column.field);
|
|
21016
|
+
const dim = enabledDimensions.find((x) => x.memberName === column.field);
|
|
21289
21017
|
const allValuesHierarchy = PivotUtil.getFieldsHierarchy(data, [dim], PivotDimensionType.Column, grid.pivotKeys, grid.pivotValueCloneStrategy);
|
|
21290
21018
|
const isNoop = grid.pivotConfiguration.columnStrategy instanceof NoopPivotDimensionsStrategy || grid.pivotConfiguration.rowStrategy instanceof NoopPivotDimensionsStrategy;
|
|
21291
21019
|
const items = !isNoop ? this._getFilterItems(allValuesHierarchy, grid.pivotKeys) : [{ value: '' }];
|
|
@@ -21296,7 +21024,7 @@ class DimensionValuesFilteringStrategy extends FilteringStrategy {
|
|
|
21296
21024
|
hierarchy.forEach((value) => {
|
|
21297
21025
|
const val = value.value;
|
|
21298
21026
|
const path = val.split(pivotKeys.columnDimensionSeparator);
|
|
21299
|
-
const hierarchicalValue = path.length > 1 ? path.map(x => `[` + x + `]`).join('.') : val;
|
|
21027
|
+
const hierarchicalValue = path.length > 1 ? path.map((x) => `[` + x + `]`).join('.') : val;
|
|
21300
21028
|
const text = path[path.length - 1];
|
|
21301
21029
|
items.push({
|
|
21302
21030
|
value: hierarchicalValue,
|
|
@@ -21344,12 +21072,12 @@ class IgxGridSummaryService {
|
|
|
21344
21072
|
}
|
|
21345
21073
|
return;
|
|
21346
21074
|
}
|
|
21347
|
-
if (args.
|
|
21348
|
-
const rowID = this.grid.primaryKey ? args.
|
|
21075
|
+
if (args.rowData) {
|
|
21076
|
+
const rowID = this.grid.primaryKey ? args.rowData[this.grid.primaryKey] : args.rowData;
|
|
21349
21077
|
this.removeSummaries(rowID);
|
|
21350
21078
|
}
|
|
21351
21079
|
if (args.rowID !== undefined && args.rowID !== null) {
|
|
21352
|
-
let columnName = args.cellID ? this.grid.columns.find(col => col.index === args.cellID.columnID)
|
|
21080
|
+
let columnName = args.cellID ? this.grid.columns.find(col => col.index === args.cellID.columnID)?.field : undefined;
|
|
21353
21081
|
if (columnName && this.grid.rowEditable) {
|
|
21354
21082
|
return;
|
|
21355
21083
|
}
|
|
@@ -21409,7 +21137,7 @@ class IgxGridSummaryService {
|
|
|
21409
21137
|
this.grid.columns.filter((col) => col.hasSummary && !col.hidden).forEach((column) => {
|
|
21410
21138
|
const getCurrentSummary = column.summaries.operate([], [], column.field);
|
|
21411
21139
|
const getCurrentSummaryColumn = column.disabledSummaries.length > 0
|
|
21412
|
-
? getCurrentSummary.filter(s => !column.disabledSummaries.includes(s.key)).length
|
|
21140
|
+
? getCurrentSummary.filter((s) => !column.disabledSummaries.includes(s.key)).length
|
|
21413
21141
|
: getCurrentSummary.length;
|
|
21414
21142
|
if (maxSummaryLength < getCurrentSummaryColumn) {
|
|
21415
21143
|
maxSummaryLength = getCurrentSummaryColumn;
|
|
@@ -21432,7 +21160,7 @@ class IgxGridSummaryService {
|
|
|
21432
21160
|
const columnPathParts = columns.map(col => columnFieldPath(col.field));
|
|
21433
21161
|
for (const [idx, column] of columns.entries()) {
|
|
21434
21162
|
if (!rowSummaries.get(column.field)) {
|
|
21435
|
-
let summaryResult = column.summaries.operate(data.map(r => resolveNestedPath(r, columnPathParts[idx])), data, column.field, groupRecord
|
|
21163
|
+
let summaryResult = column.summaries.operate(data.map((r) => resolveNestedPath(r, columnPathParts[idx])), data, column.field, groupRecord);
|
|
21436
21164
|
summaryResult = column.disabledSummaries.length > 0
|
|
21437
21165
|
? summaryResult.filter(s => !column.disabledSummaries.includes(s.key))
|
|
21438
21166
|
: summaryResult;
|
|
@@ -21456,16 +21184,16 @@ class IgxGridSummaryService {
|
|
|
21456
21184
|
return;
|
|
21457
21185
|
}
|
|
21458
21186
|
if (this.groupingExpressions.length === 0) {
|
|
21459
|
-
this.groupingExpressions = groupingArgs.expressions.map(record => record.fieldName);
|
|
21187
|
+
this.groupingExpressions = groupingArgs.expressions instanceof Array ? groupingArgs.expressions.map((record) => record.fieldName) : [];
|
|
21460
21188
|
return;
|
|
21461
21189
|
}
|
|
21462
|
-
if (groupingArgs.length === 0) {
|
|
21190
|
+
if (groupingArgs.expressions instanceof Array && groupingArgs.expressions.length === 0) {
|
|
21463
21191
|
this.groupingExpressions = [];
|
|
21464
21192
|
this.clearSummaryCache();
|
|
21465
21193
|
return;
|
|
21466
21194
|
}
|
|
21467
21195
|
this.compareGroupingExpressions(this.groupingExpressions, groupingArgs);
|
|
21468
|
-
this.groupingExpressions = groupingArgs.expressions.map(record => record.fieldName);
|
|
21196
|
+
this.groupingExpressions = groupingArgs.expressions instanceof Array ? groupingArgs.expressions.map((record) => record.fieldName) : [];
|
|
21469
21197
|
}
|
|
21470
21198
|
get hasSummarizedColumns() {
|
|
21471
21199
|
const summarizedColumns = this.grid.columns.filter(col => col.hasSummary && !col.hidden);
|
|
@@ -21523,7 +21251,7 @@ class IgxGridSummaryService {
|
|
|
21523
21251
|
// private removeChildRowSummaries(rowID, columnName?) {
|
|
21524
21252
|
// }
|
|
21525
21253
|
compareGroupingExpressions(current, groupingArgs) {
|
|
21526
|
-
const newExpressions = groupingArgs.expressions.map(record => record.fieldName);
|
|
21254
|
+
const newExpressions = groupingArgs.expressions instanceof Array ? groupingArgs.expressions.map((record) => record.fieldName) : [];
|
|
21527
21255
|
const removedCols = groupingArgs.ungroupedColumns;
|
|
21528
21256
|
if (current.length <= newExpressions.length) {
|
|
21529
21257
|
const newExpr = newExpressions.slice(0, current.length).toString();
|
|
@@ -21537,7 +21265,7 @@ class IgxGridSummaryService {
|
|
|
21537
21265
|
this.clearSummaryCache();
|
|
21538
21266
|
return;
|
|
21539
21267
|
}
|
|
21540
|
-
removedCols.map(col => col.field).forEach(colName => {
|
|
21268
|
+
removedCols instanceof Array && removedCols.map(col => col.field).forEach(colName => {
|
|
21541
21269
|
this.summaryCacheMap.forEach((_cache, id) => {
|
|
21542
21270
|
if (id.indexOf(colName) !== -1) {
|
|
21543
21271
|
this.summaryCacheMap.delete(id);
|
|
@@ -21766,11 +21494,11 @@ class IgxSummaryRowComponent {
|
|
|
21766
21494
|
};
|
|
21767
21495
|
}
|
|
21768
21496
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.1", ngImport: i0, type: IgxSummaryRowComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
21769
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.1", type: IgxSummaryRowComponent, isStandalone: true, selector: "igx-grid-summary-row", inputs: { summaries: "summaries", gridID: "gridID", index: "index", firstCellIndentation: "firstCellIndentation" }, host: { properties: { "attr.data-rowIndex": "this.dataRowIndex" } }, providers: [IgxForOfSyncService], viewQueries: [{ propertyName: "virtDirRow", first: true, predicate: ["igxDirRef"], descendants: true, read: IgxGridForOfDirective }, { propertyName: "_summaryCells", predicate: IgxSummaryCellComponent, descendants: true, read: IgxSummaryCellComponent }], ngImport: i0, template: "@if (summaries.size) {\n @if (grid.summariesMargin) {\n <div\n class=\"igx-grid__summaries-patch\"\n [style.min-width.px]=\"grid.summariesMargin\"\n [style.flex-basis.px]=\"grid.summariesMargin\"\n (pointerdown)=\"$event.preventDefault()\"\n ></div>\n }\n @if (pinnedStartColumns.length > 0) {\n <ng-container *ngTemplateOutlet=\"summaryCellTemplate; context: getContext(this, pinnedStartColumns)\"></ng-container>\n }\n <ng-template igxGridFor let-col [igxGridForOf]=\"unpinnedColumns | igxNotGrouped\" [igxForScrollContainer]=\"grid.parentVirtDir\" let-colIndex=\"index\" [igxForScrollOrientation]=\"'horizontal'\" [igxForContainerSize]=\"grid.unpinnedWidth\" [igxForTrackBy]=\"grid.trackColumnChanges\" [igxForSizePropName]='\"calcPixelWidth\"' #igxDirRef>\n <igx-grid-summary-cell\n class=\"igx-grid-summary igx-grid-summary--fw\"\n role=\"cell\"\n [class.igx-grid-summary--empty]=\"!col.hasSummary\"\n [class.igx-grid-summary--pinned-last]=\"col.isLastPinned\"\n [column]=\"col\"\n [locale]=\"grid.locale\"\n [gridResourceStrings]=\"grid.resourceStrings\"\n [rowIndex]=\"index\"\n [firstCellIndentation]=\"firstCellIndentation\"\n [summaryResults]=\"getColumnSummaries(col.field)
|
|
21497
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.1", type: IgxSummaryRowComponent, isStandalone: true, selector: "igx-grid-summary-row", inputs: { summaries: "summaries", gridID: "gridID", index: "index", firstCellIndentation: "firstCellIndentation" }, host: { properties: { "attr.data-rowIndex": "this.dataRowIndex" } }, providers: [IgxForOfSyncService], viewQueries: [{ propertyName: "virtDirRow", first: true, predicate: ["igxDirRef"], descendants: true, read: IgxGridForOfDirective }, { propertyName: "_summaryCells", predicate: IgxSummaryCellComponent, descendants: true, read: IgxSummaryCellComponent }], ngImport: i0, template: "@if (summaries.size) {\n @if (grid.summariesMargin) {\n <div\n class=\"igx-grid__summaries-patch\"\n [style.min-width.px]=\"grid.summariesMargin\"\n [style.flex-basis.px]=\"grid.summariesMargin\"\n (pointerdown)=\"$event.preventDefault()\"\n ></div>\n }\n @if (pinnedStartColumns.length > 0) {\n <ng-container *ngTemplateOutlet=\"summaryCellTemplate; context: getContext(this, pinnedStartColumns)\"></ng-container>\n }\n <ng-template igxGridFor let-col [igxGridForOf]=\"unpinnedColumns | igxNotGrouped\" [igxForScrollContainer]=\"grid.parentVirtDir\" let-colIndex=\"index\" [igxForScrollOrientation]=\"'horizontal'\" [igxForContainerSize]=\"grid.unpinnedWidth\" [igxForTrackBy]=\"grid.trackColumnChanges\" [igxForSizePropName]='\"calcPixelWidth\"' #igxDirRef>\n <igx-grid-summary-cell\n class=\"igx-grid-summary igx-grid-summary--fw\"\n role=\"cell\"\n [class.igx-grid-summary--empty]=\"!col.hasSummary\"\n [class.igx-grid-summary--pinned-last]=\"col.isLastPinned\"\n [column]=\"col\"\n [locale]=\"grid.locale\"\n [gridResourceStrings]=\"grid.resourceStrings\"\n [rowIndex]=\"index\"\n [firstCellIndentation]=\"firstCellIndentation\"\n [summaryResults]=\"getColumnSummaries(col.field)!\"\n [summaryTemplate]=\"col.summaryTemplate\"\n [hasSummary]=\"col.hasSummary\"\n [summaryFormatter]=\"col.summaryFormatter\"\n [active]=\"isCellActive(col.visibleIndex)\"\n [style.max-height.px]=\"minHeight\"\n [style.min-height.px]=\"minHeight\"\n [style.min-width]=\"col.resolvedWidth\"\n [style.max-width]=\"col.resolvedWidth\"\n [style.flex-basis]=\"col.resolvedWidth\">\n </igx-grid-summary-cell>\n </ng-template>\n @if (pinnedEndColumns.length > 0) {\n <ng-container *ngTemplateOutlet=\"summaryCellTemplate; context: getContext(this, pinnedEndColumns)\"></ng-container>\n }\n}\n\n<ng-template #summaryCellTemplate let-col let-columns=\"columns\">\n @for (col of columns | igxNotGrouped; track trackPinnedColumn(col)) {\n <igx-grid-summary-cell\n role=\"cell\"\n class=\"igx-grid-summary igx-grid-summary--fw igx-grid-summary--pinned\"\n [class.igx-grid-summary--empty]=\"!col.hasSummary\"\n [class.igx-grid-summary--pinned-first]=\"col.isFirstPinned\"\n [class.igx-grid-summary--pinned-last]=\"col.isLastPinned\"\n [column]=\"col\"\n [locale]=\"grid.locale\"\n [gridResourceStrings]=\"grid.resourceStrings\"\n [firstCellIndentation]=\"firstCellIndentation\"\n [rowIndex]=\"index\"\n [summaryResults]=\"getColumnSummaries(col.field)!\"\n [summaryTemplate]=\"col.summaryTemplate\"\n [hasSummary]=\"col.hasSummary\"\n [active]=\"isCellActive(col.visibleIndex)\"\n [style.max-height.px]=\"minHeight\"\n [style.min-height.px]=\"minHeight\"\n [style.min-width]=\"col.resolvedWidth\"\n [style.max-width]=\"col.resolvedWidth\"\n [style.flex-basis]=\"col.resolvedWidth\">\n </igx-grid-summary-cell>\n }\n</ng-template>\n", styles: ["@layer ig.base{.igx-grid-summary{position:relative;display:flex;flex-direction:column;flex:1 1 0%;padding-block:0;padding-inline:max(var(--is-large, 1)*max(1.5rem,-1 * 1.5rem)*var(--ig-spacing-inline-large, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-medium, 1)*max(1rem,-1 * 1rem)*var(--ig-spacing-inline-medium, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-small, 1)*max(.75rem,-1 * .75rem)*var(--ig-spacing-inline-small, var(--ig-spacing-inline, var(--ig-spacing))));background:var(--background-color, inherit);overflow:hidden;outline-style:none;border-inline-end:var(--border-width) var(--border-style) var(--border-color)}.igx-grid-summary__item{display:flex;align-items:center;position:relative;padding-block:max(var(--is-large, 1)*max(.375rem,-1 * .375rem)*var(--ig-spacing-large, var(--ig-spacing, var(--ig-spacing))),var(--is-medium, 1)*max(.125rem,-1 * .125rem)*var(--ig-spacing-medium, var(--ig-spacing, var(--ig-spacing))),var(--is-small, 1)*max(0rem,-1 * 0rem)*var(--ig-spacing-small, var(--ig-spacing, var(--ig-spacing))));padding-inline:0;font-size:.75rem}.igx-grid-summary__label{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;color:var(--label-color);min-width:1.875rem;margin-inline-end:.1875rem}.igx-grid-summary__label:hover{color:var(--label-hover-color)}.igx-grid-summary__result{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;color:var(--result-color);font-weight:600;flex:1 1 auto;text-align:end}.igx-grid-summary--pinned{position:relative;z-index:1}.igx-grid-summary--active.igx-grid-summary--pinned:after{width:calc(100% - .0625rem)}.igx-grid-summary--pinned-first{border-inline-start:var(--pinned-border-width) var(--pinned-border-style) var(--pinned-border-color)}.igx-grid-summary--pinned-first:dir(ltr){border-inline-start:var(--pinned-border-width) var(--pinned-border-style) var(--pinned-border-color)}.igx-grid-summary--pinned-first:dir(rtl){border-inline-end:var(--pinned-border-width) var(--pinned-border-style) var(--pinned-border-color)}@media print{.igx-grid-summary--pinned-first{border-inline-start:var(--pinned-border-width) var(--pinned-border-style) #999}}.igx-grid-summary--pinned-last{border-inline-end:var(--pinned-border-width) var(--pinned-border-style) var(--pinned-border-color)}.igx-grid-summary--pinned-last:after{inset-inline-start:.0625rem}@media print{.igx-grid-summary--pinned-last{border-inline-end:var(--pinned-border-width) var(--pinned-border-style) #999}}.igx-grid-summary--fw{flex-grow:0}.igx-grid-summary:after{content:\"\";position:absolute;inset:0;pointer-events:none}.igx-grid-summary--active:after{width:100%;height:100%;box-shadow:inset 0 0 0 .0625rem var(--cell-active-border-color);pointer-events:none}}@layer ig.indigo{@container style(--ig-theme: indigo){.igx-grid-summary{padding-inline:max(var(--is-large, 1)*max(1rem,-1 * 1rem)*var(--ig-spacing-inline-large, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-medium, 1)*max(.75rem,-1 * .75rem)*var(--ig-spacing-inline-medium, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-small, 1)*max(.5rem,-1 * .5rem)*var(--ig-spacing-inline-small, var(--ig-spacing-inline, var(--ig-spacing))));border-top:var(--border-width) var(--border-style) var(--border-color)}.igx-grid-summary__item{min-height:max(var(--is-large, 1)*max(2.25rem,-1 * 2.25rem),var(--is-medium, 1)*max(1.875rem,-1 * 1.875rem),var(--is-small, 1)*max(1.5rem,-1 * 1.5rem));font-size:initial}.igx-grid-summary__label{font-family:var(--ig-caption-font-family, var(--ig-font-family));font-size:var(--ig-caption-font-size);font-weight:var(--ig-caption-font-weight);font-style:var(--ig-caption-font-style);line-height:var(--ig-caption-line-height);letter-spacing:var(--ig-caption-letter-spacing);text-transform:var(--ig-caption-text-transform);margin-top:var(--ig-caption-margin-top);margin-bottom:var(--ig-caption-margin-bottom);margin-inline-end:initial}.igx-grid-summary__result{font-family:var(--ig-detail-2-font-family, var(--ig-font-family));font-size:var(--ig-detail-2-font-size);font-weight:var(--ig-detail-2-font-weight);font-style:var(--ig-detail-2-font-style);line-height:var(--ig-detail-2-line-height);letter-spacing:var(--ig-detail-2-letter-spacing);text-transform:var(--ig-detail-2-text-transform);margin-top:var(--ig-detail-2-margin-top);margin-bottom:var(--ig-detail-2-margin-bottom)}}}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: IgxGridForOfDirective, selector: "[igxGridFor][igxGridForOf]", inputs: ["igxGridForOf", "igxGridForOfUniqueSizeCache", "igxGridForOfVariableSizes"], outputs: ["dataChanging"] }, { kind: "component", type: IgxSummaryCellComponent, selector: "igx-grid-summary-cell", inputs: ["summaryResults", "column", "firstCellIndentation", "hasSummary", "summaryFormatter", "summaryTemplate", "locale", "gridResourceStrings", "active", "rowIndex"] }, { kind: "pipe", type: IgxGridNotGroupedPipe, name: "igxNotGrouped" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
21770
21498
|
}
|
|
21771
21499
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.1", ngImport: i0, type: IgxSummaryRowComponent, decorators: [{
|
|
21772
21500
|
type: Component,
|
|
21773
|
-
args: [{ changeDetection: ChangeDetectionStrategy.OnPush, selector: 'igx-grid-summary-row', encapsulation: ViewEncapsulation.None, providers: [IgxForOfSyncService], imports: [NgTemplateOutlet, IgxGridForOfDirective, IgxSummaryCellComponent, IgxGridNotGroupedPipe], template: "@if (summaries.size) {\n @if (grid.summariesMargin) {\n <div\n class=\"igx-grid__summaries-patch\"\n [style.min-width.px]=\"grid.summariesMargin\"\n [style.flex-basis.px]=\"grid.summariesMargin\"\n (pointerdown)=\"$event.preventDefault()\"\n ></div>\n }\n @if (pinnedStartColumns.length > 0) {\n <ng-container *ngTemplateOutlet=\"summaryCellTemplate; context: getContext(this, pinnedStartColumns)\"></ng-container>\n }\n <ng-template igxGridFor let-col [igxGridForOf]=\"unpinnedColumns | igxNotGrouped\" [igxForScrollContainer]=\"grid.parentVirtDir\" let-colIndex=\"index\" [igxForScrollOrientation]=\"'horizontal'\" [igxForContainerSize]=\"grid.unpinnedWidth\" [igxForTrackBy]=\"grid.trackColumnChanges\" [igxForSizePropName]='\"calcPixelWidth\"' #igxDirRef>\n <igx-grid-summary-cell\n class=\"igx-grid-summary igx-grid-summary--fw\"\n role=\"cell\"\n [class.igx-grid-summary--empty]=\"!col.hasSummary\"\n [class.igx-grid-summary--pinned-last]=\"col.isLastPinned\"\n [column]=\"col\"\n [locale]=\"grid.locale\"\n [gridResourceStrings]=\"grid.resourceStrings\"\n [rowIndex]=\"index\"\n [firstCellIndentation]=\"firstCellIndentation\"\n [summaryResults]=\"getColumnSummaries(col.field)
|
|
21501
|
+
args: [{ changeDetection: ChangeDetectionStrategy.OnPush, selector: 'igx-grid-summary-row', encapsulation: ViewEncapsulation.None, providers: [IgxForOfSyncService], imports: [NgTemplateOutlet, IgxGridForOfDirective, IgxSummaryCellComponent, IgxGridNotGroupedPipe], template: "@if (summaries.size) {\n @if (grid.summariesMargin) {\n <div\n class=\"igx-grid__summaries-patch\"\n [style.min-width.px]=\"grid.summariesMargin\"\n [style.flex-basis.px]=\"grid.summariesMargin\"\n (pointerdown)=\"$event.preventDefault()\"\n ></div>\n }\n @if (pinnedStartColumns.length > 0) {\n <ng-container *ngTemplateOutlet=\"summaryCellTemplate; context: getContext(this, pinnedStartColumns)\"></ng-container>\n }\n <ng-template igxGridFor let-col [igxGridForOf]=\"unpinnedColumns | igxNotGrouped\" [igxForScrollContainer]=\"grid.parentVirtDir\" let-colIndex=\"index\" [igxForScrollOrientation]=\"'horizontal'\" [igxForContainerSize]=\"grid.unpinnedWidth\" [igxForTrackBy]=\"grid.trackColumnChanges\" [igxForSizePropName]='\"calcPixelWidth\"' #igxDirRef>\n <igx-grid-summary-cell\n class=\"igx-grid-summary igx-grid-summary--fw\"\n role=\"cell\"\n [class.igx-grid-summary--empty]=\"!col.hasSummary\"\n [class.igx-grid-summary--pinned-last]=\"col.isLastPinned\"\n [column]=\"col\"\n [locale]=\"grid.locale\"\n [gridResourceStrings]=\"grid.resourceStrings\"\n [rowIndex]=\"index\"\n [firstCellIndentation]=\"firstCellIndentation\"\n [summaryResults]=\"getColumnSummaries(col.field)!\"\n [summaryTemplate]=\"col.summaryTemplate\"\n [hasSummary]=\"col.hasSummary\"\n [summaryFormatter]=\"col.summaryFormatter\"\n [active]=\"isCellActive(col.visibleIndex)\"\n [style.max-height.px]=\"minHeight\"\n [style.min-height.px]=\"minHeight\"\n [style.min-width]=\"col.resolvedWidth\"\n [style.max-width]=\"col.resolvedWidth\"\n [style.flex-basis]=\"col.resolvedWidth\">\n </igx-grid-summary-cell>\n </ng-template>\n @if (pinnedEndColumns.length > 0) {\n <ng-container *ngTemplateOutlet=\"summaryCellTemplate; context: getContext(this, pinnedEndColumns)\"></ng-container>\n }\n}\n\n<ng-template #summaryCellTemplate let-col let-columns=\"columns\">\n @for (col of columns | igxNotGrouped; track trackPinnedColumn(col)) {\n <igx-grid-summary-cell\n role=\"cell\"\n class=\"igx-grid-summary igx-grid-summary--fw igx-grid-summary--pinned\"\n [class.igx-grid-summary--empty]=\"!col.hasSummary\"\n [class.igx-grid-summary--pinned-first]=\"col.isFirstPinned\"\n [class.igx-grid-summary--pinned-last]=\"col.isLastPinned\"\n [column]=\"col\"\n [locale]=\"grid.locale\"\n [gridResourceStrings]=\"grid.resourceStrings\"\n [firstCellIndentation]=\"firstCellIndentation\"\n [rowIndex]=\"index\"\n [summaryResults]=\"getColumnSummaries(col.field)!\"\n [summaryTemplate]=\"col.summaryTemplate\"\n [hasSummary]=\"col.hasSummary\"\n [active]=\"isCellActive(col.visibleIndex)\"\n [style.max-height.px]=\"minHeight\"\n [style.min-height.px]=\"minHeight\"\n [style.min-width]=\"col.resolvedWidth\"\n [style.max-width]=\"col.resolvedWidth\"\n [style.flex-basis]=\"col.resolvedWidth\">\n </igx-grid-summary-cell>\n }\n</ng-template>\n", styles: ["@layer ig.base{.igx-grid-summary{position:relative;display:flex;flex-direction:column;flex:1 1 0%;padding-block:0;padding-inline:max(var(--is-large, 1)*max(1.5rem,-1 * 1.5rem)*var(--ig-spacing-inline-large, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-medium, 1)*max(1rem,-1 * 1rem)*var(--ig-spacing-inline-medium, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-small, 1)*max(.75rem,-1 * .75rem)*var(--ig-spacing-inline-small, var(--ig-spacing-inline, var(--ig-spacing))));background:var(--background-color, inherit);overflow:hidden;outline-style:none;border-inline-end:var(--border-width) var(--border-style) var(--border-color)}.igx-grid-summary__item{display:flex;align-items:center;position:relative;padding-block:max(var(--is-large, 1)*max(.375rem,-1 * .375rem)*var(--ig-spacing-large, var(--ig-spacing, var(--ig-spacing))),var(--is-medium, 1)*max(.125rem,-1 * .125rem)*var(--ig-spacing-medium, var(--ig-spacing, var(--ig-spacing))),var(--is-small, 1)*max(0rem,-1 * 0rem)*var(--ig-spacing-small, var(--ig-spacing, var(--ig-spacing))));padding-inline:0;font-size:.75rem}.igx-grid-summary__label{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;color:var(--label-color);min-width:1.875rem;margin-inline-end:.1875rem}.igx-grid-summary__label:hover{color:var(--label-hover-color)}.igx-grid-summary__result{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;color:var(--result-color);font-weight:600;flex:1 1 auto;text-align:end}.igx-grid-summary--pinned{position:relative;z-index:1}.igx-grid-summary--active.igx-grid-summary--pinned:after{width:calc(100% - .0625rem)}.igx-grid-summary--pinned-first{border-inline-start:var(--pinned-border-width) var(--pinned-border-style) var(--pinned-border-color)}.igx-grid-summary--pinned-first:dir(ltr){border-inline-start:var(--pinned-border-width) var(--pinned-border-style) var(--pinned-border-color)}.igx-grid-summary--pinned-first:dir(rtl){border-inline-end:var(--pinned-border-width) var(--pinned-border-style) var(--pinned-border-color)}@media print{.igx-grid-summary--pinned-first{border-inline-start:var(--pinned-border-width) var(--pinned-border-style) #999}}.igx-grid-summary--pinned-last{border-inline-end:var(--pinned-border-width) var(--pinned-border-style) var(--pinned-border-color)}.igx-grid-summary--pinned-last:after{inset-inline-start:.0625rem}@media print{.igx-grid-summary--pinned-last{border-inline-end:var(--pinned-border-width) var(--pinned-border-style) #999}}.igx-grid-summary--fw{flex-grow:0}.igx-grid-summary:after{content:\"\";position:absolute;inset:0;pointer-events:none}.igx-grid-summary--active:after{width:100%;height:100%;box-shadow:inset 0 0 0 .0625rem var(--cell-active-border-color);pointer-events:none}}@layer ig.indigo{@container style(--ig-theme: indigo){.igx-grid-summary{padding-inline:max(var(--is-large, 1)*max(1rem,-1 * 1rem)*var(--ig-spacing-inline-large, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-medium, 1)*max(.75rem,-1 * .75rem)*var(--ig-spacing-inline-medium, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-small, 1)*max(.5rem,-1 * .5rem)*var(--ig-spacing-inline-small, var(--ig-spacing-inline, var(--ig-spacing))));border-top:var(--border-width) var(--border-style) var(--border-color)}.igx-grid-summary__item{min-height:max(var(--is-large, 1)*max(2.25rem,-1 * 2.25rem),var(--is-medium, 1)*max(1.875rem,-1 * 1.875rem),var(--is-small, 1)*max(1.5rem,-1 * 1.5rem));font-size:initial}.igx-grid-summary__label{font-family:var(--ig-caption-font-family, var(--ig-font-family));font-size:var(--ig-caption-font-size);font-weight:var(--ig-caption-font-weight);font-style:var(--ig-caption-font-style);line-height:var(--ig-caption-line-height);letter-spacing:var(--ig-caption-letter-spacing);text-transform:var(--ig-caption-text-transform);margin-top:var(--ig-caption-margin-top);margin-bottom:var(--ig-caption-margin-bottom);margin-inline-end:initial}.igx-grid-summary__result{font-family:var(--ig-detail-2-font-family, var(--ig-font-family));font-size:var(--ig-detail-2-font-size);font-weight:var(--ig-detail-2-font-weight);font-style:var(--ig-detail-2-font-style);line-height:var(--ig-detail-2-line-height);letter-spacing:var(--ig-detail-2-letter-spacing);text-transform:var(--ig-detail-2-text-transform);margin-top:var(--ig-detail-2-margin-top);margin-bottom:var(--ig-detail-2-margin-bottom)}}}\n"] }]
|
|
21774
21502
|
}], propDecorators: { summaries: [{
|
|
21775
21503
|
type: Input
|
|
21776
21504
|
}], gridID: [{
|
|
@@ -22245,7 +21973,7 @@ class IgxGridNavigationService {
|
|
|
22245
21973
|
// this is workaround: endTopOffset - containerHeight > 5 and should be replaced with: containerHeight < endTopOffset
|
|
22246
21974
|
// when the page is zoomed the grid does not scroll the row completely in the view
|
|
22247
21975
|
return !targetRow || targetRow.offsetTop < Math.abs(this.containerTopOffset)
|
|
22248
|
-
|| containerHeight && endTopOffset - containerHeight > 5;
|
|
21976
|
+
|| (containerHeight && endTopOffset - containerHeight > 5);
|
|
22249
21977
|
}
|
|
22250
21978
|
shouldNotifyVirtualizedKeyboardSelection(key, rowIndex, visibleColIndex) {
|
|
22251
21979
|
// Any navigation key that ends up scrolling activates the target cell from the
|
|
@@ -22269,7 +21997,7 @@ class IgxGridNavigationService {
|
|
|
22269
21997
|
rowIndex - this.grid.pinnedDataView.length : rowIndex;
|
|
22270
21998
|
this.grid.verticalScrollContainer.scrollTo(scrollRowIndex);
|
|
22271
21999
|
this.grid.verticalScrollContainer.chunkLoad
|
|
22272
|
-
.pipe(first
|
|
22000
|
+
.pipe(first()).subscribe(() => {
|
|
22273
22001
|
this.pendingNavigation = false;
|
|
22274
22002
|
if (cb) {
|
|
22275
22003
|
cb();
|
|
@@ -22277,7 +22005,7 @@ class IgxGridNavigationService {
|
|
|
22277
22005
|
});
|
|
22278
22006
|
}
|
|
22279
22007
|
performHorizontalScrollToCell(visibleColumnIndex, cb) {
|
|
22280
|
-
if (this.grid.rowList < 1 && this.grid.summariesRowList.length < 1 && this.grid.hasColumnGroups) {
|
|
22008
|
+
if (this.grid.rowList.length < 1 && this.grid.summariesRowList.length < 1 && this.grid.hasColumnGroups) {
|
|
22281
22009
|
let column = this.grid.getColumnByVisibleIndex(visibleColumnIndex);
|
|
22282
22010
|
while (column.parent) {
|
|
22283
22011
|
column = column.parent;
|
|
@@ -22289,7 +22017,7 @@ class IgxGridNavigationService {
|
|
|
22289
22017
|
}
|
|
22290
22018
|
this.pendingNavigation = true;
|
|
22291
22019
|
this.grid.parentVirtDir.chunkLoad
|
|
22292
|
-
.pipe(first
|
|
22020
|
+
.pipe(first())
|
|
22293
22021
|
.subscribe(() => {
|
|
22294
22022
|
this.pendingNavigation = false;
|
|
22295
22023
|
if (cb) {
|
|
@@ -22400,7 +22128,7 @@ class IgxGridNavigationService {
|
|
|
22400
22128
|
}
|
|
22401
22129
|
const editCell = this.grid.crudService.cell;
|
|
22402
22130
|
this.grid.verticalScrollContainer.chunkLoad
|
|
22403
|
-
.pipe(first
|
|
22131
|
+
.pipe(first()).subscribe(() => {
|
|
22404
22132
|
if (editCell && this.grid.rowList.map(r => r.index).indexOf(editCell.rowIndex) < 0) {
|
|
22405
22133
|
this.grid.tbody.nativeElement.focus({ preventScroll: true });
|
|
22406
22134
|
}
|
|
@@ -22628,7 +22356,7 @@ class IgxGridNavigationService {
|
|
|
22628
22356
|
this.grid.navigateTo(rowIndex, visibleColIndex, cb);
|
|
22629
22357
|
}
|
|
22630
22358
|
emitKeyDown(type, rowIndex, event) {
|
|
22631
|
-
const row = this.grid.summariesRowList.
|
|
22359
|
+
const row = this.grid.summariesRowList.find((r) => r.index === rowIndex) || this.grid.rowList.find((r) => r.index === rowIndex);
|
|
22632
22360
|
if (!row) {
|
|
22633
22361
|
return;
|
|
22634
22362
|
}
|
|
@@ -22660,6 +22388,7 @@ class IgxGridNavigationService {
|
|
|
22660
22388
|
return i;
|
|
22661
22389
|
}
|
|
22662
22390
|
}
|
|
22391
|
+
return undefined;
|
|
22663
22392
|
}
|
|
22664
22393
|
getRowElementByIndex(index) {
|
|
22665
22394
|
if (this.grid.hasDetails) {
|
|
@@ -22668,7 +22397,7 @@ class IgxGridNavigationService {
|
|
|
22668
22397
|
return detail;
|
|
22669
22398
|
}
|
|
22670
22399
|
}
|
|
22671
|
-
return this.grid.rowList.
|
|
22400
|
+
return this.grid.rowList.find((r) => r.index === index)?.nativeElement || this.grid.summariesRowList.find((r) => r.index === index)?.nativeElement || null;
|
|
22672
22401
|
}
|
|
22673
22402
|
isValidPosition(rowIndex, colIndex) {
|
|
22674
22403
|
const length = this.grid.totalItemCount ?? this.grid.dataView.length;
|
|
@@ -22734,7 +22463,7 @@ class IgxGridNavigationService {
|
|
|
22734
22463
|
this.grid.visibleColumns.sort((c1, c2) => c1.visibleIndex - c2.visibleIndex)
|
|
22735
22464
|
.find(c => this.isColumnFullyVisible(c.visibleIndex))?.visibleIndex;
|
|
22736
22465
|
const column = this.grid.visibleColumns.find((col) => !col.columnLayout && col.visibleIndex === colIndex);
|
|
22737
|
-
const rowInd = rowIndex ? rowIndex : this.grid.rowList.find(r => !this.shouldPerformVerticalScroll(r.index, colIndex))?.index;
|
|
22466
|
+
const rowInd = rowIndex ? rowIndex : this.grid.rowList.find((r) => !this.shouldPerformVerticalScroll(r.index, colIndex))?.index;
|
|
22738
22467
|
const node = {
|
|
22739
22468
|
row: rowInd ?? 0,
|
|
22740
22469
|
column: column?.visibleIndex ?? 0, level: column?.level ?? 0,
|
|
@@ -22801,7 +22530,7 @@ class IgxGridNavigationService {
|
|
|
22801
22530
|
}
|
|
22802
22531
|
const clearSelection = this.grid.columnSelection === GridSelectionMode.single;
|
|
22803
22532
|
const columnsToSelect = !column.children ? [column.field] :
|
|
22804
|
-
column.allChildren.filter(c => !c.hidden && c.selectable && !c.columnGroup).map(c => c.field);
|
|
22533
|
+
column.allChildren.filter((c) => !c.hidden && c.selectable && !c.columnGroup).map((c) => c.field);
|
|
22805
22534
|
if (column.selected) {
|
|
22806
22535
|
this.grid.selectionService.deselectColumns(columnsToSelect, event);
|
|
22807
22536
|
}
|
|
@@ -22929,14 +22658,14 @@ class IgxGridValidationService {
|
|
|
22929
22658
|
*/
|
|
22930
22659
|
isFieldInvalid(formGroup, fieldName) {
|
|
22931
22660
|
const path = this.getFormControlPath(fieldName);
|
|
22932
|
-
return formGroup.get(path)?.invalid && formGroup.get(path)?.touched;
|
|
22661
|
+
return (formGroup.get(path)?.invalid && formGroup.get(path)?.touched);
|
|
22933
22662
|
}
|
|
22934
22663
|
/**
|
|
22935
22664
|
* Checks the validity of the native ngControl after edit
|
|
22936
22665
|
*/
|
|
22937
22666
|
isFieldValidAfterEdit(formGroup, fieldName) {
|
|
22938
22667
|
const path = this.getFormControlPath(fieldName);
|
|
22939
|
-
return !formGroup.get(path)?.invalid && formGroup.get(path)?.dirty;
|
|
22668
|
+
return (!formGroup.get(path)?.invalid && formGroup.get(path)?.dirty);
|
|
22940
22669
|
}
|
|
22941
22670
|
/**
|
|
22942
22671
|
* @hidden
|
|
@@ -23274,9 +23003,9 @@ class IgxGridCellComponent {
|
|
|
23274
23003
|
const scrollOffset = this.grid.verticalScrollContainer.scrollPosition + (event.y - this.grid.tbody.nativeElement.getBoundingClientRect().y);
|
|
23275
23004
|
const targetRowIndex = this.grid.verticalScrollContainer.getIndexAtScroll(scrollOffset);
|
|
23276
23005
|
if (targetRowIndex != this.rowIndex) {
|
|
23277
|
-
const row = this.grid.rowList.
|
|
23278
|
-
const actualTarget = row
|
|
23279
|
-
actualTarget
|
|
23006
|
+
const row = this.grid.rowList.find((x) => x.index === targetRowIndex);
|
|
23007
|
+
const actualTarget = row?.cells?.find((x) => x.column === this.column);
|
|
23008
|
+
actualTarget?.pointerdown(event);
|
|
23280
23009
|
return;
|
|
23281
23010
|
}
|
|
23282
23011
|
}
|
|
@@ -23939,7 +23668,7 @@ class IgxGridCellComponent {
|
|
|
23939
23668
|
if (this.isInvalid && !isTargetErrorIcon) {
|
|
23940
23669
|
this.cdr.detectChanges();
|
|
23941
23670
|
this.openErrorTooltip();
|
|
23942
|
-
this.grid.activeNodeChange.pipe(first
|
|
23671
|
+
this.grid.activeNodeChange.pipe(first()).subscribe(() => {
|
|
23943
23672
|
this.closeErrorTooltip();
|
|
23944
23673
|
});
|
|
23945
23674
|
}
|
|
@@ -24020,7 +23749,7 @@ class IgxGridCellComponent {
|
|
|
24020
23749
|
* Also we need to keep the notifyChanges below, because of the current
|
|
24021
23750
|
* change detection cycle when we have editing with enabled transactions
|
|
24022
23751
|
*/
|
|
24023
|
-
if (this.grid.sortingExpressions.length && this.grid.sortingExpressions.indexOf(editableCell.column.field)) {
|
|
23752
|
+
if (this.grid.sortingExpressions.length && this.grid.sortingExpressions.indexOf(editableCell.column.field) !== -1) {
|
|
24024
23753
|
this.grid.cdr.detectChanges();
|
|
24025
23754
|
}
|
|
24026
23755
|
if (editableArgs && editableArgs.cancel) {
|
|
@@ -24061,7 +23790,7 @@ class IgxGridCellComponent {
|
|
|
24061
23790
|
return new IgxGridCell(this.grid, rowID, this.column);
|
|
24062
23791
|
}
|
|
24063
23792
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.1", ngImport: i0, type: IgxGridCellComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
24064
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.1", type: IgxGridCellComponent, isStandalone: true, selector: "igx-grid-cell", inputs: { column: "column", isPlaceholder: "isPlaceholder", isMerged: "isMerged", intRow: "intRow", row: "row", rowData: "rowData", columnData: "columnData", cellTemplate: "cellTemplate", cellValidationErrorTemplate: "cellValidationErrorTemplate", pinnedIndicator: "pinnedIndicator", value: "value", formatter: "formatter", visibleColumnIndex: "visibleColumnIndex", cellSelectionMode: "cellSelectionMode", lastSearchInfo: "lastSearchInfo", lastPinned: "lastPinned", firstPinned: "firstPinned", editMode: ["editMode", "editMode", booleanAttribute], width: "width", active: "active", displayPinnedChip: "displayPinnedChip" }, host: { listeners: { "dblclick": "onDoubleClick($event)", "click": "onClick($event)" }, properties: { "class.igx-grid__td--new": "this.isEmptyAddRowCell", "attr.data-rowIndex": "this.rowIndex", "attr.data-visibleIndex": "this.visibleColumnIndex", "attr.id": "this.attrCellID", "attr.title": "this.title", "class.igx-grid__td--bool-true": "this.booleanClass", "class.igx-grid__td--pinned-last": "this.lastPinned", "class.igx-grid__td--pinned-first": "this.firstPinned", "class.igx-grid__td--editing": "this.editMode", "attr.role": "this.role", "attr.aria-readonly": "this.readonly", "attr.aria-describedby": "this.ariaDescribeBy", "class.igx-grid__td--invalid": "this.isInvalid", "attr.aria-invalid": "this.isInvalid", "class.igx-grid__td--valid": "this.isValidAfterEdit", "class.igx-grid__td--active": "this.active", "attr.aria-selected": "this.ariaSelected", "class.igx-grid__td--selected": "this.selected", "class.igx-grid__td--column-selected": "this.columnSelected", "class.igx-grid__td--row-pinned-first": "this.displayPinnedChip", "style.min-height.px": "this.minHeight", "attr.aria-rowindex": "this.ariaRowIndex", "attr.aria-colindex": "this.ariaColIndex" } }, viewQueries: [{ propertyName: "errorIcon", first: true, predicate: ["errorIcon"], descendants: true, read: IgxIconComponent }, { propertyName: "defaultErrorTemplate", first: true, predicate: ["defaultError"], descendants: true, read: TemplateRef, static: true }, { propertyName: "defaultCellTemplate", first: true, predicate: ["defaultCell"], descendants: true, read: TemplateRef, static: true }, { propertyName: "emptyCellTemplate", first: true, predicate: ["emptyCell"], descendants: true, read: TemplateRef, static: true }, { propertyName: "defaultPinnedIndicator", first: true, predicate: ["defaultPinnedIndicator"], descendants: true, read: TemplateRef, static: true }, { propertyName: "inlineEditorTemplate", first: true, predicate: ["inlineEditor"], descendants: true, read: TemplateRef, static: true }, { propertyName: "addRowCellTemplate", first: true, predicate: ["addRowCell"], descendants: true, read: TemplateRef, static: true }, { propertyName: "highlight", first: true, predicate: IgxTextHighlightDirective, descendants: true, read: IgxTextHighlightDirective }, { propertyName: "errorTooltip", predicate: ["error"], descendants: true, read: IgxTooltipDirective }], usesOnChanges: true, ngImport: i0, template: "<ng-template #defaultPinnedIndicator>\n @if (displayPinnedChip) {\n <igx-chip\n class=\"igx-grid__td--pinned-chip\"\n [disabled]=\"true\"\n [style.--ig-size]=\"1\"\n >{{ grid.resourceStrings.igx_grid_pinned_row_indicator }}</igx-chip\n >\n }\n</ng-template>\n<ng-template #defaultCell>\n @if (\n (column.dataType !== 'boolean' && column.dataType !== 'image') ||\n (column.dataType === 'boolean' && this.formatter)\n ) {\n <div\n igxTextHighlight\n class=\"igx-grid__td-text\"\n [cssClass]=\"highlightClass\"\n [activeCssClass]=\"activeHighlightClass\"\n [groupName]=\"gridID\"\n [value]=\"\n formatter\n ? (value | columnFormatter: formatter : rowData : columnData)\n : column.dataType === 'number'\n ? (value | number: column.pipeArgs.digitsInfo : grid.locale)\n : column.dataType === 'date' ||\n column.dataType === 'time' ||\n column.dataType === 'dateTime'\n ? (value\n | date\n : column.pipeArgs.format\n : column.pipeArgs.timezone\n : grid.locale)\n : column.dataType === 'currency'\n ? (value\n | currency\n : currencyCode\n : column.pipeArgs.display\n : column.pipeArgs.digitsInfo\n : grid.locale)\n : column.dataType === 'percent'\n ? (value | percent: column.pipeArgs.digitsInfo : grid.locale)\n : value\n \"\n [row]=\"rowData\"\n [column]=\"this.column.field\"\n [containerClass]=\"'igx-grid__td-text'\"\n [metadata]=\"searchMetadata\"\n >\n {{\n formatter\n ? (value | columnFormatter: formatter : rowData : columnData)\n : column.dataType === 'number'\n ? (value | number: column.pipeArgs.digitsInfo : grid.locale)\n : column.dataType === 'date' ||\n column.dataType === 'time' ||\n column.dataType === 'dateTime'\n ? (value\n | date\n : column.pipeArgs.format\n : column.pipeArgs.timezone\n : grid.locale)\n : column.dataType === 'currency'\n ? (value\n | currency\n : currencyCode\n : column.pipeArgs.display\n : column.pipeArgs.digitsInfo\n : grid.locale)\n : column.dataType === 'percent'\n ? (value | percent: column.pipeArgs.digitsInfo : grid.locale)\n : value\n }}\n </div>\n }\n @if (column.dataType === 'boolean' && !this.formatter) {\n <igx-icon\n family=\"default\"\n [name]=\"value ? 'confirm' : 'close'\"\n [ngClass]=\"{ 'igx-icon--success': value, 'igx-icon--error': !value }\"\n >\n </igx-icon>\n }\n @if (column.dataType === 'image') {\n <img [src]=\"value\" [alt]=\"value | igxCellImageAlt\" />\n }\n</ng-template>\n\n<ng-template #emptyCell></ng-template>\n<ng-template #addRowCell let-cell=\"cell\">\n @if (\n column.dataType !== 'boolean' ||\n (column.dataType === 'boolean' && this.formatter)\n ) {\n <div\n igxTextHighlight\n class=\"igx-grid__td-text\"\n [cssClass]=\"highlightClass\"\n [activeCssClass]=\"activeHighlightClass\"\n [groupName]=\"gridID\"\n [value]=\"\n formatter\n ? (value | columnFormatter: formatter : rowData)\n : column.dataType === 'number'\n ? (value | number: column.pipeArgs.digitsInfo : grid.locale)\n : column.dataType === 'date' ||\n column.dataType === 'time' ||\n column.dataType === 'dateTime'\n ? (value\n | date\n : column.pipeArgs.format\n : column.pipeArgs.timezone\n : grid.locale)\n : column.dataType === 'currency'\n ? (value\n | currency\n : currencyCode\n : column.pipeArgs.display\n : column.pipeArgs.digitsInfo\n : grid.locale)\n : column.dataType === 'percent'\n ? (value | percent: column.pipeArgs.digitsInfo : grid.locale)\n : value\n \"\n [row]=\"rowData\"\n [column]=\"this.column.field\"\n [containerClass]=\"'igx-grid__td-text'\"\n [metadata]=\"searchMetadata\"\n >\n {{ !isEmptyAddRowCell ? value : column.header || column.field }}\n </div>\n }\n</ng-template>\n<ng-template #inlineEditor let-cell=\"cell\">\n @if (column.dataType === 'string' || column.dataType === 'image') {\n <ng-container [formGroup]=\"formGroup\">\n <igx-input-group>\n <input\n igxInput\n [attr.aria-describedby]=\"ariaDescribeBy\"\n [attr.aria-invalid]=\"isInvalid\"\n [igxFocus]=\"true\"\n [igxTextSelection]=\"true\"\n [formControl]=\"formControl\"\n (compositionstart)=\"grid.crudService.isInCompositionMode = true\"\n (compositionend)=\"grid.crudService.isInCompositionMode = false\"\n />\n </igx-input-group>\n </ng-container>\n }\n @if (column.dataType === 'number') {\n <igx-input-group [formGroup]=\"formGroup\">\n <input\n igxInput\n [attr.aria-describedby]=\"ariaDescribeBy\"\n [attr.aria-invalid]=\"isInvalid\"\n [igxFocus]=\"true\"\n [igxTextSelection]=\"true\"\n [step]=\"step\"\n type=\"number\"\n [formControl]=\"formControl\"\n />\n </igx-input-group>\n }\n @if (column.dataType === 'boolean') {\n <ng-container [formGroup]=\"formGroup\">\n <igx-checkbox\n [checked]=\"editValue\"\n [igxFocus]=\"true\"\n [disableRipple]=\"true\"\n [formControl]=\"formControl\"\n ></igx-checkbox>\n </ng-container>\n }\n @if (column.dataType === 'date') {\n <ng-container [formGroup]=\"formGroup\">\n <igx-date-picker\n [style.width.%]=\"100\"\n mode=\"dropdown\"\n [locale]=\"grid.locale\"\n [weekStart]=\"column.pipeArgs.weekStart\"\n [(value)]=\"editValue\"\n [igxFocus]=\"true\"\n [formControl]=\"formControl\"\n [inputFormat]=\"\n $safeNavigationMigration(column.editorOptions?.dateTimeFormat)\n \"\n [displayFormat]=\"column.pipeArgs.format\"\n >\n </igx-date-picker>\n </ng-container>\n }\n @if (column.dataType === 'time') {\n <ng-container [formGroup]=\"formGroup\">\n <igx-time-picker\n [style.width.%]=\"100\"\n mode=\"dropdown\"\n [locale]=\"grid.locale\"\n [inputFormat]=\"\n $safeNavigationMigration(column.editorOptions?.dateTimeFormat)\n \"\n [displayFormat]=\"column.pipeArgs.format\"\n [(value)]=\"editValue\"\n [igxFocus]=\"true\"\n [formControl]=\"formControl\"\n ></igx-time-picker>\n </ng-container>\n }\n @if (column.dataType === 'dateTime') {\n <igx-input-group [formGroup]=\"formGroup\">\n <input\n type=\"text\"\n [attr.aria-describedby]=\"ariaDescribeBy\"\n [attr.aria-invalid]=\"isInvalid\"\n [formControl]=\"formControl\"\n igxInput\n [locale]=\"grid.locale\"\n [igxDateTimeEditor]=\"\n $safeNavigationMigration(column.editorOptions?.dateTimeFormat)\n \"\n [defaultFormatType]=\"column.dataType\"\n [displayFormat]=\"column.pipeArgs.format\"\n [igxFocus]=\"true\"\n />\n </igx-input-group>\n }\n @if (column.dataType === 'currency') {\n <igx-input-group [formGroup]=\"formGroup\">\n @if (grid.currencyPositionLeft) {\n <igx-prefix>{{ currencyCodeSymbol }}</igx-prefix>\n }\n <input\n igxInput\n [attr.aria-describedby]=\"ariaDescribeBy\"\n [attr.aria-invalid]=\"isInvalid\"\n [igxFocus]=\"true\"\n [igxTextSelection]=\"true\"\n [step]=\"step\"\n type=\"number\"\n [formControl]=\"formControl\"\n />\n @if (!grid.currencyPositionLeft) {\n <igx-suffix>{{ currencyCodeSymbol }}</igx-suffix>\n }\n </igx-input-group>\n }\n @if (column.dataType === 'percent') {\n <igx-input-group [formGroup]=\"formGroup\">\n <input\n igxInput\n [attr.aria-describedby]=\"ariaDescribeBy\"\n [attr.aria-invalid]=\"isInvalid\"\n [igxFocus]=\"true\"\n [igxTextSelection]=\"true\"\n [step]=\"step\"\n type=\"number\"\n [formControl]=\"formControl\"\n />\n <igx-suffix>\n {{ editValue | percent: column.pipeArgs.digitsInfo : grid.locale }}\n </igx-suffix>\n </igx-input-group>\n }\n</ng-template>\n<ng-container *ngTemplateOutlet=\"pinnedIndicatorTemplate; context: context\">\n</ng-container>\n<ng-container *ngTemplateOutlet=\"template; context: context\"></ng-container>\n\n@if (isInvalid) {\n <igx-icon\n family=\"default\"\n name=\"error\"\n #errorIcon\n [igxTooltipTarget]=\"tooltipRef\"\n (mouseover)=\"errorShowing = true\"\n (mouseout)=\"errorShowing = false\"\n >\n </igx-icon>\n <div [id]=\"ariaErrorMessage\" igxTooltip #error #tooltipRef=\"tooltip\">\n <div [style.width]=\"'max-content'\">\n <ng-container\n *ngTemplateOutlet=\"\n cellValidationErrorTemplate || defaultError;\n context: context\n \"\n ></ng-container>\n </div>\n </div>\n}\n\n<ng-template #defaultError>\n @let errors = formControl.errors;\n @if (errors?.['required']) {\n <div>\n {{ grid.resourceStrings.igx_grid_required_validation_error }}\n </div>\n }\n @if (errors?.['minlength']) {\n <div>\n {{\n grid.resourceStrings.igx_grid_min_length_validation_error\n | igxStringReplace: '{0}' : errors.minlength.requiredLength\n }}\n </div>\n }\n @if (errors?.['maxlength']) {\n <div>\n {{\n grid.resourceStrings.igx_grid_max_length_validation_error\n | igxStringReplace: '{0}' : errors.maxlength.requiredLength\n }}\n </div>\n }\n @if (errors?.['min']) {\n <div>\n {{\n grid.resourceStrings.igx_grid_min_validation_error\n | igxStringReplace: '{0}' : errors.min.min\n }}\n </div>\n }\n @if (errors?.['max']) {\n <div>\n {{\n grid.resourceStrings.igx_grid_max_validation_error\n | igxStringReplace: '{0}' : errors.max.max\n }}\n </div>\n }\n @if (errors?.['email']) {\n <div>\n {{ grid.resourceStrings.igx_grid_email_validation_error }}\n </div>\n }\n @if (errors?.['pattern']) {\n <div>\n {{ grid.resourceStrings.igx_grid_pattern_validation_error }}\n </div>\n }\n</ng-template>\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox]):not([ngNoCva])[formControlName],textarea:not([ngNoCva])[formControlName],input:not([type=checkbox]):not([ngNoCva])[formControl],textarea:not([ngNoCva])[formControl],input:not([type=checkbox]):not([ngNoCva])[ngModel],textarea:not([ngNoCva])[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NumberValueAccessor, selector: "input[type=number]:not([ngNoCva])[formControlName],input[type=number]:not([ngNoCva])[formControl],input[type=number]:not([ngNoCva])[ngModel]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],[formArray],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: IgxChipComponent, selector: "igx-chip", inputs: ["variant", "id", "tabIndex", "data", "draggable", "animateOnRelease", "hideBaseOnDrag", "removable", "removeIcon", "selectable", "selectIcon", "class", "disabled", "selected", "color", "resourceStrings"], outputs: ["selectedChange", "moveStart", "moveEnd", "remove", "chipClick", "selectedChanging", "selectedChanged", "keyDown", "dragEnter", "dragLeave", "dragOver", "dragDrop"] }, { kind: "directive", type: IgxTextHighlightDirective, selector: "[igxTextHighlight]", inputs: ["cssClass", "activeCssClass", "containerClass", "groupName", "value", "row", "column", "metadata"] }, { kind: "component", type: IgxIconComponent, selector: "igx-icon", inputs: ["ariaHidden", "family", "name", "active"] }, { kind: "component", type: IgxInputGroupComponent, selector: "igx-input-group", inputs: ["resourceStrings", "suppressInputAutofocus", "type", "theme"] }, { kind: "directive", type: IgxInputDirective, selector: "[igxInput]", inputs: ["value", "disabled", "required"], exportAs: ["igxInput"] }, { kind: "directive", type: IgxFocusDirective, selector: "[igxFocus]", inputs: ["igxFocus"], exportAs: ["igxFocus"] }, { kind: "directive", type: IgxTextSelectionDirective, selector: "[igxTextSelection]", inputs: ["igxTextSelection"], exportAs: ["igxTextSelection"] }, { kind: "component", type: IgxCheckboxComponent, selector: "igx-checkbox", inputs: ["indeterminate", "checked", "disabled", "invalid", "readonly", "disableTransitions"] }, { kind: "component", type: IgxDatePickerComponent, selector: "igx-date-picker", inputs: ["hideOutsideDays", "displayMonthsCount", "orientation", "showWeekNumbers", "activeDate", "formatter", "todayButtonLabel", "cancelButtonLabel", "spinLoop", "spinDelta", "id", "formatViews", "disabledDates", "specialDates", "calendarFormat", "value", "minValue", "maxValue", "resourceStrings", "readOnly"], outputs: ["valueChange", "validationFailed"] }, { kind: "component", type: IgxTimePickerComponent, selector: "igx-time-picker", inputs: ["id", "displayFormat", "inputFormat", "mode", "minValue", "maxValue", "spinLoop", "formatter", "readOnly", "value", "resourceStrings", "okButtonLabel", "cancelButtonLabel", "itemsDelta"], outputs: ["selected", "valueChange", "validationFailed"] }, { kind: "directive", type: IgxDateTimeEditorDirective, selector: "[igxDateTimeEditor]", inputs: ["locale", "minValue", "maxValue", "spinLoop", "displayFormat", "igxDateTimeEditor", "value", "defaultFormatType", "spinDelta"], outputs: ["valueChange", "validationFailed"], exportAs: ["igxDateTimeEditor"] }, { kind: "directive", type: IgxPrefixDirective, selector: "[igxPrefix],[igxStart],igx-prefix" }, { kind: "directive", type: IgxSuffixDirective, selector: "[igxSuffix],[igxEnd],igx-suffix" }, { kind: "directive", type: IgxTooltipTargetDirective, selector: "[igxTooltipTarget]", inputs: ["showDelay", "hideDelay", "hasArrow", "sticky", "closeButtonTemplate", "positionSettings", "tooltipDisabled", "showTriggers", "hideTriggers", "igxTooltipTarget", "tooltip"], outputs: ["tooltipShow", "tooltipHide"], exportAs: ["tooltipTarget"] }, { kind: "directive", type: IgxTooltipDirective, selector: "[igxTooltip]", inputs: ["context", "id", "role"], exportAs: ["tooltip"] }, { kind: "pipe", type: IgxNumberFormatterPipe, name: "number" }, { kind: "pipe", type: IgxPercentFormatterPipe, name: "percent" }, { kind: "pipe", type: IgxCurrencyFormatterPipe, name: "currency" }, { kind: "pipe", type: IgxDateFormatterPipe, name: "date" }, { kind: "pipe", type: IgxGridCellImageAltPipe, name: "igxCellImageAlt" }, { kind: "pipe", type: IgxStringReplacePipe, name: "igxStringReplace" }, { kind: "pipe", type: IgxColumnFormatterPipe, name: "columnFormatter" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
23793
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.1", type: IgxGridCellComponent, isStandalone: true, selector: "igx-grid-cell", inputs: { column: "column", isPlaceholder: "isPlaceholder", isMerged: "isMerged", intRow: "intRow", row: "row", rowData: "rowData", columnData: "columnData", cellTemplate: "cellTemplate", cellValidationErrorTemplate: "cellValidationErrorTemplate", pinnedIndicator: "pinnedIndicator", value: "value", formatter: "formatter", visibleColumnIndex: "visibleColumnIndex", cellSelectionMode: "cellSelectionMode", lastSearchInfo: "lastSearchInfo", lastPinned: "lastPinned", firstPinned: "firstPinned", editMode: ["editMode", "editMode", booleanAttribute], width: "width", active: "active", displayPinnedChip: "displayPinnedChip" }, host: { listeners: { "dblclick": "onDoubleClick($event)", "click": "onClick($event)" }, properties: { "class.igx-grid__td--new": "this.isEmptyAddRowCell", "attr.data-rowIndex": "this.rowIndex", "attr.data-visibleIndex": "this.visibleColumnIndex", "attr.id": "this.attrCellID", "attr.title": "this.title", "class.igx-grid__td--bool-true": "this.booleanClass", "class.igx-grid__td--pinned-last": "this.lastPinned", "class.igx-grid__td--pinned-first": "this.firstPinned", "class.igx-grid__td--editing": "this.editMode", "attr.role": "this.role", "attr.aria-readonly": "this.readonly", "attr.aria-describedby": "this.ariaDescribeBy", "class.igx-grid__td--invalid": "this.isInvalid", "attr.aria-invalid": "this.isInvalid", "class.igx-grid__td--valid": "this.isValidAfterEdit", "class.igx-grid__td--active": "this.active", "attr.aria-selected": "this.ariaSelected", "class.igx-grid__td--selected": "this.selected", "class.igx-grid__td--column-selected": "this.columnSelected", "class.igx-grid__td--row-pinned-first": "this.displayPinnedChip", "style.min-height.px": "this.minHeight", "attr.aria-rowindex": "this.ariaRowIndex", "attr.aria-colindex": "this.ariaColIndex" } }, viewQueries: [{ propertyName: "errorIcon", first: true, predicate: ["errorIcon"], descendants: true, read: IgxIconComponent }, { propertyName: "defaultErrorTemplate", first: true, predicate: ["defaultError"], descendants: true, read: TemplateRef, static: true }, { propertyName: "defaultCellTemplate", first: true, predicate: ["defaultCell"], descendants: true, read: TemplateRef, static: true }, { propertyName: "emptyCellTemplate", first: true, predicate: ["emptyCell"], descendants: true, read: TemplateRef, static: true }, { propertyName: "defaultPinnedIndicator", first: true, predicate: ["defaultPinnedIndicator"], descendants: true, read: TemplateRef, static: true }, { propertyName: "inlineEditorTemplate", first: true, predicate: ["inlineEditor"], descendants: true, read: TemplateRef, static: true }, { propertyName: "addRowCellTemplate", first: true, predicate: ["addRowCell"], descendants: true, read: TemplateRef, static: true }, { propertyName: "highlight", first: true, predicate: IgxTextHighlightDirective, descendants: true, read: IgxTextHighlightDirective }, { propertyName: "errorTooltip", predicate: ["error"], descendants: true, read: IgxTooltipDirective }], usesOnChanges: true, ngImport: i0, template: "<ng-template #defaultPinnedIndicator>\n @if (displayPinnedChip) {\n <igx-chip\n class=\"igx-grid__td--pinned-chip\"\n [disabled]=\"true\"\n [style.--ig-size]=\"1\"\n >{{ grid.resourceStrings.igx_grid_pinned_row_indicator }}</igx-chip\n >\n }\n</ng-template>\n<ng-template #defaultCell>\n @if (\n (column.dataType !== 'boolean' && column.dataType !== 'image') ||\n (column.dataType === 'boolean' && this.formatter)\n ) {\n <div\n igxTextHighlight\n class=\"igx-grid__td-text\"\n [cssClass]=\"highlightClass\"\n [activeCssClass]=\"activeHighlightClass\"\n [groupName]=\"gridID\"\n [value]=\"\n formatter\n ? (value | columnFormatter: formatter : rowData : columnData)\n : column.dataType === 'number'\n ? (value | number: column.pipeArgs.digitsInfo : grid.locale)\n : column.dataType === 'date' ||\n column.dataType === 'time' ||\n column.dataType === 'dateTime'\n ? (value\n | date\n : column.pipeArgs.format\n : column.pipeArgs.timezone\n : grid.locale)\n : column.dataType === 'currency'\n ? (value\n | currency\n : currencyCode\n : column.pipeArgs.display\n : column.pipeArgs.digitsInfo\n : grid.locale)\n : column.dataType === 'percent'\n ? (value | percent: column.pipeArgs.digitsInfo : grid.locale)\n : value\n \"\n [row]=\"rowData\"\n [column]=\"this.column.field\"\n [containerClass]=\"'igx-grid__td-text'\"\n [metadata]=\"searchMetadata\"\n >\n {{\n formatter\n ? (value | columnFormatter: formatter : rowData : columnData)\n : column.dataType === 'number'\n ? (value | number: column.pipeArgs.digitsInfo : grid.locale)\n : column.dataType === 'date' ||\n column.dataType === 'time' ||\n column.dataType === 'dateTime'\n ? (value\n | date\n : column.pipeArgs.format\n : column.pipeArgs.timezone\n : grid.locale)\n : column.dataType === 'currency'\n ? (value\n | currency\n : currencyCode\n : column.pipeArgs.display\n : column.pipeArgs.digitsInfo\n : grid.locale)\n : column.dataType === 'percent'\n ? (value | percent: column.pipeArgs.digitsInfo : grid.locale)\n : value\n }}\n </div>\n }\n @if (column.dataType === 'boolean' && !this.formatter) {\n <igx-icon\n family=\"default\"\n [name]=\"value ? 'confirm' : 'close'\"\n [ngClass]=\"{ 'igx-icon--success': value, 'igx-icon--error': !value }\"\n >\n </igx-icon>\n }\n @if (column.dataType === 'image') {\n <img [src]=\"value\" [alt]=\"value | igxCellImageAlt\" />\n }\n</ng-template>\n\n<ng-template #emptyCell></ng-template>\n<ng-template #addRowCell let-cell=\"cell\">\n @if (\n column.dataType !== 'boolean' ||\n (column.dataType === 'boolean' && this.formatter)\n ) {\n <div\n igxTextHighlight\n class=\"igx-grid__td-text\"\n [cssClass]=\"highlightClass\"\n [activeCssClass]=\"activeHighlightClass\"\n [groupName]=\"gridID\"\n [value]=\"\n formatter\n ? (value | columnFormatter: formatter : rowData)\n : column.dataType === 'number'\n ? (value | number: column.pipeArgs.digitsInfo : grid.locale)\n : column.dataType === 'date' ||\n column.dataType === 'time' ||\n column.dataType === 'dateTime'\n ? (value\n | date\n : column.pipeArgs.format\n : column.pipeArgs.timezone\n : grid.locale)\n : column.dataType === 'currency'\n ? (value\n | currency\n : currencyCode\n : column.pipeArgs.display\n : column.pipeArgs.digitsInfo\n : grid.locale)\n : column.dataType === 'percent'\n ? (value | percent: column.pipeArgs.digitsInfo : grid.locale)\n : value\n \"\n [row]=\"rowData\"\n [column]=\"this.column.field\"\n [containerClass]=\"'igx-grid__td-text'\"\n [metadata]=\"searchMetadata\"\n >\n {{ !isEmptyAddRowCell ? value : column.header || column.field }}\n </div>\n }\n</ng-template>\n<ng-template #inlineEditor let-cell=\"cell\">\n @if (column.dataType === 'string' || column.dataType === 'image') {\n <ng-container [formGroup]=\"formGroup\">\n <igx-input-group>\n <input\n igxInput\n [attr.aria-describedby]=\"ariaDescribeBy\"\n [attr.aria-invalid]=\"isInvalid\"\n [igxFocus]=\"true\"\n [igxTextSelection]=\"true\"\n [formControl]=\"formControl\"\n (compositionstart)=\"grid.crudService.isInCompositionMode = true\"\n (compositionend)=\"grid.crudService.isInCompositionMode = false\"\n />\n </igx-input-group>\n </ng-container>\n }\n @if (column.dataType === 'number') {\n <igx-input-group [formGroup]=\"formGroup\">\n <input\n igxInput\n [attr.aria-describedby]=\"ariaDescribeBy\"\n [attr.aria-invalid]=\"isInvalid\"\n [igxFocus]=\"true\"\n [igxTextSelection]=\"true\"\n [step]=\"step\"\n type=\"number\"\n [formControl]=\"formControl\"\n />\n </igx-input-group>\n }\n @if (column.dataType === 'boolean') {\n <ng-container [formGroup]=\"formGroup\">\n <igx-checkbox\n [checked]=\"editValue\"\n [igxFocus]=\"true\"\n [disableRipple]=\"true\"\n [formControl]=\"formControl\"\n ></igx-checkbox>\n </ng-container>\n }\n @if (column.dataType === 'date') {\n <ng-container [formGroup]=\"formGroup\">\n <igx-date-picker\n [style.width.%]=\"100\"\n mode=\"dropdown\"\n [locale]=\"grid.locale\"\n [weekStart]=\"column.pipeArgs.weekStart!\"\n [(value)]=\"editValue\"\n [igxFocus]=\"true\"\n [formControl]=\"formControl\"\n [inputFormat]=\"column.editorOptions?.dateTimeFormat!\"\n [displayFormat]=\"column.pipeArgs.format!\"\n >\n </igx-date-picker>\n </ng-container>\n }\n @if (column.dataType === 'time') {\n <ng-container [formGroup]=\"formGroup\">\n <igx-time-picker\n [style.width.%]=\"100\"\n mode=\"dropdown\"\n [locale]=\"grid.locale\"\n [inputFormat]=\"column.editorOptions?.dateTimeFormat!\"\n [displayFormat]=\"column.pipeArgs.format!\"\n [(value)]=\"editValue\"\n [igxFocus]=\"true\"\n [formControl]=\"formControl\"\n ></igx-time-picker>\n </ng-container>\n }\n @if (column.dataType === 'dateTime') {\n <igx-input-group [formGroup]=\"formGroup\">\n <input\n type=\"text\"\n [attr.aria-describedby]=\"ariaDescribeBy\"\n [attr.aria-invalid]=\"isInvalid\"\n [formControl]=\"formControl\"\n igxInput\n [locale]=\"grid.locale\"\n [igxDateTimeEditor]=\"column.editorOptions?.dateTimeFormat!\"\n [defaultFormatType]=\"column.dataType\"\n [displayFormat]=\"column.pipeArgs.format!\"\n [igxFocus]=\"true\"\n />\n </igx-input-group>\n }\n @if (column.dataType === 'currency') {\n <igx-input-group [formGroup]=\"formGroup\">\n @if (grid.currencyPositionLeft) {\n <igx-prefix>{{ currencyCodeSymbol }}</igx-prefix>\n }\n <input\n igxInput\n [attr.aria-describedby]=\"ariaDescribeBy\"\n [attr.aria-invalid]=\"isInvalid\"\n [igxFocus]=\"true\"\n [igxTextSelection]=\"true\"\n [step]=\"step\"\n type=\"number\"\n [formControl]=\"formControl\"\n />\n @if (!grid.currencyPositionLeft) {\n <igx-suffix>{{ currencyCodeSymbol }}</igx-suffix>\n }\n </igx-input-group>\n }\n @if (column.dataType === 'percent') {\n <igx-input-group [formGroup]=\"formGroup\">\n <input\n igxInput\n [attr.aria-describedby]=\"ariaDescribeBy\"\n [attr.aria-invalid]=\"isInvalid\"\n [igxFocus]=\"true\"\n [igxTextSelection]=\"true\"\n [step]=\"step\"\n type=\"number\"\n [formControl]=\"formControl\"\n />\n <igx-suffix>\n {{ editValue | percent: column.pipeArgs.digitsInfo : grid.locale }}\n </igx-suffix>\n </igx-input-group>\n }\n</ng-template>\n<ng-container *ngTemplateOutlet=\"pinnedIndicatorTemplate; context: context\">\n</ng-container>\n<ng-container *ngTemplateOutlet=\"template; context: context\"></ng-container>\n\n@if (isInvalid) {\n <igx-icon\n family=\"default\"\n name=\"error\"\n #errorIcon\n [igxTooltipTarget]=\"tooltipRef\"\n (mouseover)=\"errorShowing = true\"\n (mouseout)=\"errorShowing = false\"\n >\n </igx-icon>\n <div [id]=\"ariaErrorMessage\" igxTooltip #error #tooltipRef=\"tooltip\">\n <div [style.width]=\"'max-content'\">\n <ng-container\n *ngTemplateOutlet=\"\n cellValidationErrorTemplate || defaultError;\n context: context\n \"\n ></ng-container>\n </div>\n </div>\n}\n\n<ng-template #defaultError>\n @let errors = formControl.errors;\n @if (errors?.['required']) {\n <div>\n {{ grid.resourceStrings.igx_grid_required_validation_error }}\n </div>\n }\n @if (errors?.['minlength']) {\n <div>\n {{\n grid.resourceStrings.igx_grid_min_length_validation_error!\n | igxStringReplace: '{0}' : errors.minlength.requiredLength\n }}\n </div>\n }\n @if (errors?.['maxlength']) {\n <div>\n {{\n grid.resourceStrings.igx_grid_max_length_validation_error!\n | igxStringReplace: '{0}' : errors.maxlength.requiredLength\n }}\n </div>\n }\n @if (errors?.['min']) {\n <div>\n {{\n grid.resourceStrings.igx_grid_min_validation_error!\n | igxStringReplace: '{0}' : errors.min.min\n }}\n </div>\n }\n @if (errors?.['max']) {\n <div>\n {{\n grid.resourceStrings.igx_grid_max_validation_error!\n | igxStringReplace: '{0}' : errors.max.max\n }}\n </div>\n }\n @if (errors?.['email']) {\n <div>\n {{ grid.resourceStrings.igx_grid_email_validation_error }}\n </div>\n }\n @if (errors?.['pattern']) {\n <div>\n {{ grid.resourceStrings.igx_grid_pattern_validation_error }}\n </div>\n }\n</ng-template>\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox]):not([ngNoCva])[formControlName],textarea:not([ngNoCva])[formControlName],input:not([type=checkbox]):not([ngNoCva])[formControl],textarea:not([ngNoCva])[formControl],input:not([type=checkbox]):not([ngNoCva])[ngModel],textarea:not([ngNoCva])[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NumberValueAccessor, selector: "input[type=number]:not([ngNoCva])[formControlName],input[type=number]:not([ngNoCva])[formControl],input[type=number]:not([ngNoCva])[ngModel]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],[formArray],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: IgxChipComponent, selector: "igx-chip", inputs: ["variant", "id", "tabIndex", "data", "draggable", "animateOnRelease", "hideBaseOnDrag", "removable", "removeIcon", "selectable", "selectIcon", "class", "disabled", "selected", "color", "resourceStrings"], outputs: ["selectedChange", "moveStart", "moveEnd", "remove", "chipClick", "selectedChanging", "selectedChanged", "keyDown", "dragEnter", "dragLeave", "dragOver", "dragDrop"] }, { kind: "directive", type: IgxTextHighlightDirective, selector: "[igxTextHighlight]", inputs: ["cssClass", "activeCssClass", "containerClass", "groupName", "value", "row", "column", "metadata"] }, { kind: "component", type: IgxIconComponent, selector: "igx-icon", inputs: ["ariaHidden", "family", "name", "active"] }, { kind: "component", type: IgxInputGroupComponent, selector: "igx-input-group", inputs: ["resourceStrings", "suppressInputAutofocus", "type", "theme"] }, { kind: "directive", type: IgxInputDirective, selector: "[igxInput]", inputs: ["value", "disabled", "required"], exportAs: ["igxInput"] }, { kind: "directive", type: IgxFocusDirective, selector: "[igxFocus]", inputs: ["igxFocus"], exportAs: ["igxFocus"] }, { kind: "directive", type: IgxTextSelectionDirective, selector: "[igxTextSelection]", inputs: ["igxTextSelection"], exportAs: ["igxTextSelection"] }, { kind: "component", type: IgxCheckboxComponent, selector: "igx-checkbox", inputs: ["indeterminate", "checked", "disabled", "invalid", "readonly", "disableTransitions"] }, { kind: "component", type: IgxDatePickerComponent, selector: "igx-date-picker", inputs: ["hideOutsideDays", "displayMonthsCount", "orientation", "showWeekNumbers", "activeDate", "formatter", "todayButtonLabel", "cancelButtonLabel", "spinLoop", "spinDelta", "id", "formatViews", "disabledDates", "specialDates", "calendarFormat", "value", "minValue", "maxValue", "resourceStrings", "readOnly"], outputs: ["valueChange", "validationFailed"] }, { kind: "component", type: IgxTimePickerComponent, selector: "igx-time-picker", inputs: ["id", "displayFormat", "inputFormat", "mode", "minValue", "maxValue", "spinLoop", "formatter", "readOnly", "value", "resourceStrings", "okButtonLabel", "cancelButtonLabel", "itemsDelta"], outputs: ["selected", "valueChange", "validationFailed"] }, { kind: "directive", type: IgxDateTimeEditorDirective, selector: "[igxDateTimeEditor]", inputs: ["locale", "minValue", "maxValue", "spinLoop", "displayFormat", "igxDateTimeEditor", "value", "defaultFormatType", "spinDelta"], outputs: ["valueChange", "validationFailed"], exportAs: ["igxDateTimeEditor"] }, { kind: "directive", type: IgxPrefixDirective, selector: "[igxPrefix],[igxStart],igx-prefix" }, { kind: "directive", type: IgxSuffixDirective, selector: "[igxSuffix],[igxEnd],igx-suffix" }, { kind: "directive", type: IgxTooltipTargetDirective, selector: "[igxTooltipTarget]", inputs: ["showDelay", "hideDelay", "hasArrow", "sticky", "closeButtonTemplate", "positionSettings", "tooltipDisabled", "showTriggers", "hideTriggers", "igxTooltipTarget", "tooltip"], outputs: ["tooltipShow", "tooltipHide"], exportAs: ["tooltipTarget"] }, { kind: "directive", type: IgxTooltipDirective, selector: "[igxTooltip]", inputs: ["context", "id", "role"], exportAs: ["tooltip"] }, { kind: "pipe", type: IgxNumberFormatterPipe, name: "number" }, { kind: "pipe", type: IgxPercentFormatterPipe, name: "percent" }, { kind: "pipe", type: IgxCurrencyFormatterPipe, name: "currency" }, { kind: "pipe", type: IgxDateFormatterPipe, name: "date" }, { kind: "pipe", type: IgxGridCellImageAltPipe, name: "igxCellImageAlt" }, { kind: "pipe", type: IgxStringReplacePipe, name: "igxStringReplace" }, { kind: "pipe", type: IgxColumnFormatterPipe, name: "columnFormatter" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
24065
23794
|
}
|
|
24066
23795
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.1", ngImport: i0, type: IgxGridCellComponent, decorators: [{
|
|
24067
23796
|
type: Component,
|
|
@@ -24091,7 +23820,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.1", ngImpor
|
|
|
24091
23820
|
IgxGridCellImageAltPipe,
|
|
24092
23821
|
IgxStringReplacePipe,
|
|
24093
23822
|
IgxColumnFormatterPipe
|
|
24094
|
-
], template: "<ng-template #defaultPinnedIndicator>\n @if (displayPinnedChip) {\n <igx-chip\n class=\"igx-grid__td--pinned-chip\"\n [disabled]=\"true\"\n [style.--ig-size]=\"1\"\n >{{ grid.resourceStrings.igx_grid_pinned_row_indicator }}</igx-chip\n >\n }\n</ng-template>\n<ng-template #defaultCell>\n @if (\n (column.dataType !== 'boolean' && column.dataType !== 'image') ||\n (column.dataType === 'boolean' && this.formatter)\n ) {\n <div\n igxTextHighlight\n class=\"igx-grid__td-text\"\n [cssClass]=\"highlightClass\"\n [activeCssClass]=\"activeHighlightClass\"\n [groupName]=\"gridID\"\n [value]=\"\n formatter\n ? (value | columnFormatter: formatter : rowData : columnData)\n : column.dataType === 'number'\n ? (value | number: column.pipeArgs.digitsInfo : grid.locale)\n : column.dataType === 'date' ||\n column.dataType === 'time' ||\n column.dataType === 'dateTime'\n ? (value\n | date\n : column.pipeArgs.format\n : column.pipeArgs.timezone\n : grid.locale)\n : column.dataType === 'currency'\n ? (value\n | currency\n : currencyCode\n : column.pipeArgs.display\n : column.pipeArgs.digitsInfo\n : grid.locale)\n : column.dataType === 'percent'\n ? (value | percent: column.pipeArgs.digitsInfo : grid.locale)\n : value\n \"\n [row]=\"rowData\"\n [column]=\"this.column.field\"\n [containerClass]=\"'igx-grid__td-text'\"\n [metadata]=\"searchMetadata\"\n >\n {{\n formatter\n ? (value | columnFormatter: formatter : rowData : columnData)\n : column.dataType === 'number'\n ? (value | number: column.pipeArgs.digitsInfo : grid.locale)\n : column.dataType === 'date' ||\n column.dataType === 'time' ||\n column.dataType === 'dateTime'\n ? (value\n | date\n : column.pipeArgs.format\n : column.pipeArgs.timezone\n : grid.locale)\n : column.dataType === 'currency'\n ? (value\n | currency\n : currencyCode\n : column.pipeArgs.display\n : column.pipeArgs.digitsInfo\n : grid.locale)\n : column.dataType === 'percent'\n ? (value | percent: column.pipeArgs.digitsInfo : grid.locale)\n : value\n }}\n </div>\n }\n @if (column.dataType === 'boolean' && !this.formatter) {\n <igx-icon\n family=\"default\"\n [name]=\"value ? 'confirm' : 'close'\"\n [ngClass]=\"{ 'igx-icon--success': value, 'igx-icon--error': !value }\"\n >\n </igx-icon>\n }\n @if (column.dataType === 'image') {\n <img [src]=\"value\" [alt]=\"value | igxCellImageAlt\" />\n }\n</ng-template>\n\n<ng-template #emptyCell></ng-template>\n<ng-template #addRowCell let-cell=\"cell\">\n @if (\n column.dataType !== 'boolean' ||\n (column.dataType === 'boolean' && this.formatter)\n ) {\n <div\n igxTextHighlight\n class=\"igx-grid__td-text\"\n [cssClass]=\"highlightClass\"\n [activeCssClass]=\"activeHighlightClass\"\n [groupName]=\"gridID\"\n [value]=\"\n formatter\n ? (value | columnFormatter: formatter : rowData)\n : column.dataType === 'number'\n ? (value | number: column.pipeArgs.digitsInfo : grid.locale)\n : column.dataType === 'date' ||\n column.dataType === 'time' ||\n column.dataType === 'dateTime'\n ? (value\n | date\n : column.pipeArgs.format\n : column.pipeArgs.timezone\n : grid.locale)\n : column.dataType === 'currency'\n ? (value\n | currency\n : currencyCode\n : column.pipeArgs.display\n : column.pipeArgs.digitsInfo\n : grid.locale)\n : column.dataType === 'percent'\n ? (value | percent: column.pipeArgs.digitsInfo : grid.locale)\n : value\n \"\n [row]=\"rowData\"\n [column]=\"this.column.field\"\n [containerClass]=\"'igx-grid__td-text'\"\n [metadata]=\"searchMetadata\"\n >\n {{ !isEmptyAddRowCell ? value : column.header || column.field }}\n </div>\n }\n</ng-template>\n<ng-template #inlineEditor let-cell=\"cell\">\n @if (column.dataType === 'string' || column.dataType === 'image') {\n <ng-container [formGroup]=\"formGroup\">\n <igx-input-group>\n <input\n igxInput\n [attr.aria-describedby]=\"ariaDescribeBy\"\n [attr.aria-invalid]=\"isInvalid\"\n [igxFocus]=\"true\"\n [igxTextSelection]=\"true\"\n [formControl]=\"formControl\"\n (compositionstart)=\"grid.crudService.isInCompositionMode = true\"\n (compositionend)=\"grid.crudService.isInCompositionMode = false\"\n />\n </igx-input-group>\n </ng-container>\n }\n @if (column.dataType === 'number') {\n <igx-input-group [formGroup]=\"formGroup\">\n <input\n igxInput\n [attr.aria-describedby]=\"ariaDescribeBy\"\n [attr.aria-invalid]=\"isInvalid\"\n [igxFocus]=\"true\"\n [igxTextSelection]=\"true\"\n [step]=\"step\"\n type=\"number\"\n [formControl]=\"formControl\"\n />\n </igx-input-group>\n }\n @if (column.dataType === 'boolean') {\n <ng-container [formGroup]=\"formGroup\">\n <igx-checkbox\n [checked]=\"editValue\"\n [igxFocus]=\"true\"\n [disableRipple]=\"true\"\n [formControl]=\"formControl\"\n ></igx-checkbox>\n </ng-container>\n }\n @if (column.dataType === 'date') {\n <ng-container [formGroup]=\"formGroup\">\n <igx-date-picker\n [style.width.%]=\"100\"\n mode=\"dropdown\"\n [locale]=\"grid.locale\"\n [weekStart]=\"column.pipeArgs.weekStart\"\n [(value)]=\"editValue\"\n [igxFocus]=\"true\"\n [formControl]=\"formControl\"\n [inputFormat]=\"\n $safeNavigationMigration(column.editorOptions?.dateTimeFormat)\n \"\n [displayFormat]=\"column.pipeArgs.format\"\n >\n </igx-date-picker>\n </ng-container>\n }\n @if (column.dataType === 'time') {\n <ng-container [formGroup]=\"formGroup\">\n <igx-time-picker\n [style.width.%]=\"100\"\n mode=\"dropdown\"\n [locale]=\"grid.locale\"\n [inputFormat]=\"\n $safeNavigationMigration(column.editorOptions?.dateTimeFormat)\n \"\n [displayFormat]=\"column.pipeArgs.format\"\n [(value)]=\"editValue\"\n [igxFocus]=\"true\"\n [formControl]=\"formControl\"\n ></igx-time-picker>\n </ng-container>\n }\n @if (column.dataType === 'dateTime') {\n <igx-input-group [formGroup]=\"formGroup\">\n <input\n type=\"text\"\n [attr.aria-describedby]=\"ariaDescribeBy\"\n [attr.aria-invalid]=\"isInvalid\"\n [formControl]=\"formControl\"\n igxInput\n [locale]=\"grid.locale\"\n [igxDateTimeEditor]=\"\n $safeNavigationMigration(column.editorOptions?.dateTimeFormat)\n \"\n [defaultFormatType]=\"column.dataType\"\n [displayFormat]=\"column.pipeArgs.format\"\n [igxFocus]=\"true\"\n />\n </igx-input-group>\n }\n @if (column.dataType === 'currency') {\n <igx-input-group [formGroup]=\"formGroup\">\n @if (grid.currencyPositionLeft) {\n <igx-prefix>{{ currencyCodeSymbol }}</igx-prefix>\n }\n <input\n igxInput\n [attr.aria-describedby]=\"ariaDescribeBy\"\n [attr.aria-invalid]=\"isInvalid\"\n [igxFocus]=\"true\"\n [igxTextSelection]=\"true\"\n [step]=\"step\"\n type=\"number\"\n [formControl]=\"formControl\"\n />\n @if (!grid.currencyPositionLeft) {\n <igx-suffix>{{ currencyCodeSymbol }}</igx-suffix>\n }\n </igx-input-group>\n }\n @if (column.dataType === 'percent') {\n <igx-input-group [formGroup]=\"formGroup\">\n <input\n igxInput\n [attr.aria-describedby]=\"ariaDescribeBy\"\n [attr.aria-invalid]=\"isInvalid\"\n [igxFocus]=\"true\"\n [igxTextSelection]=\"true\"\n [step]=\"step\"\n type=\"number\"\n [formControl]=\"formControl\"\n />\n <igx-suffix>\n {{ editValue | percent: column.pipeArgs.digitsInfo : grid.locale }}\n </igx-suffix>\n </igx-input-group>\n }\n</ng-template>\n<ng-container *ngTemplateOutlet=\"pinnedIndicatorTemplate; context: context\">\n</ng-container>\n<ng-container *ngTemplateOutlet=\"template; context: context\"></ng-container>\n\n@if (isInvalid) {\n <igx-icon\n family=\"default\"\n name=\"error\"\n #errorIcon\n [igxTooltipTarget]=\"tooltipRef\"\n (mouseover)=\"errorShowing = true\"\n (mouseout)=\"errorShowing = false\"\n >\n </igx-icon>\n <div [id]=\"ariaErrorMessage\" igxTooltip #error #tooltipRef=\"tooltip\">\n <div [style.width]=\"'max-content'\">\n <ng-container\n *ngTemplateOutlet=\"\n cellValidationErrorTemplate || defaultError;\n context: context\n \"\n ></ng-container>\n </div>\n </div>\n}\n\n<ng-template #defaultError>\n @let errors = formControl.errors;\n @if (errors?.['required']) {\n <div>\n {{ grid.resourceStrings.igx_grid_required_validation_error }}\n </div>\n }\n @if (errors?.['minlength']) {\n <div>\n {{\n grid.resourceStrings.igx_grid_min_length_validation_error\n | igxStringReplace: '{0}' : errors.minlength.requiredLength\n }}\n </div>\n }\n @if (errors?.['maxlength']) {\n <div>\n {{\n grid.resourceStrings.igx_grid_max_length_validation_error\n | igxStringReplace: '{0}' : errors.maxlength.requiredLength\n }}\n </div>\n }\n @if (errors?.['min']) {\n <div>\n {{\n grid.resourceStrings.igx_grid_min_validation_error\n | igxStringReplace: '{0}' : errors.min.min\n }}\n </div>\n }\n @if (errors?.['max']) {\n <div>\n {{\n grid.resourceStrings.igx_grid_max_validation_error\n | igxStringReplace: '{0}' : errors.max.max\n }}\n </div>\n }\n @if (errors?.['email']) {\n <div>\n {{ grid.resourceStrings.igx_grid_email_validation_error }}\n </div>\n }\n @if (errors?.['pattern']) {\n <div>\n {{ grid.resourceStrings.igx_grid_pattern_validation_error }}\n </div>\n }\n</ng-template>\n" }]
|
|
23823
|
+
], template: "<ng-template #defaultPinnedIndicator>\n @if (displayPinnedChip) {\n <igx-chip\n class=\"igx-grid__td--pinned-chip\"\n [disabled]=\"true\"\n [style.--ig-size]=\"1\"\n >{{ grid.resourceStrings.igx_grid_pinned_row_indicator }}</igx-chip\n >\n }\n</ng-template>\n<ng-template #defaultCell>\n @if (\n (column.dataType !== 'boolean' && column.dataType !== 'image') ||\n (column.dataType === 'boolean' && this.formatter)\n ) {\n <div\n igxTextHighlight\n class=\"igx-grid__td-text\"\n [cssClass]=\"highlightClass\"\n [activeCssClass]=\"activeHighlightClass\"\n [groupName]=\"gridID\"\n [value]=\"\n formatter\n ? (value | columnFormatter: formatter : rowData : columnData)\n : column.dataType === 'number'\n ? (value | number: column.pipeArgs.digitsInfo : grid.locale)\n : column.dataType === 'date' ||\n column.dataType === 'time' ||\n column.dataType === 'dateTime'\n ? (value\n | date\n : column.pipeArgs.format\n : column.pipeArgs.timezone\n : grid.locale)\n : column.dataType === 'currency'\n ? (value\n | currency\n : currencyCode\n : column.pipeArgs.display\n : column.pipeArgs.digitsInfo\n : grid.locale)\n : column.dataType === 'percent'\n ? (value | percent: column.pipeArgs.digitsInfo : grid.locale)\n : value\n \"\n [row]=\"rowData\"\n [column]=\"this.column.field\"\n [containerClass]=\"'igx-grid__td-text'\"\n [metadata]=\"searchMetadata\"\n >\n {{\n formatter\n ? (value | columnFormatter: formatter : rowData : columnData)\n : column.dataType === 'number'\n ? (value | number: column.pipeArgs.digitsInfo : grid.locale)\n : column.dataType === 'date' ||\n column.dataType === 'time' ||\n column.dataType === 'dateTime'\n ? (value\n | date\n : column.pipeArgs.format\n : column.pipeArgs.timezone\n : grid.locale)\n : column.dataType === 'currency'\n ? (value\n | currency\n : currencyCode\n : column.pipeArgs.display\n : column.pipeArgs.digitsInfo\n : grid.locale)\n : column.dataType === 'percent'\n ? (value | percent: column.pipeArgs.digitsInfo : grid.locale)\n : value\n }}\n </div>\n }\n @if (column.dataType === 'boolean' && !this.formatter) {\n <igx-icon\n family=\"default\"\n [name]=\"value ? 'confirm' : 'close'\"\n [ngClass]=\"{ 'igx-icon--success': value, 'igx-icon--error': !value }\"\n >\n </igx-icon>\n }\n @if (column.dataType === 'image') {\n <img [src]=\"value\" [alt]=\"value | igxCellImageAlt\" />\n }\n</ng-template>\n\n<ng-template #emptyCell></ng-template>\n<ng-template #addRowCell let-cell=\"cell\">\n @if (\n column.dataType !== 'boolean' ||\n (column.dataType === 'boolean' && this.formatter)\n ) {\n <div\n igxTextHighlight\n class=\"igx-grid__td-text\"\n [cssClass]=\"highlightClass\"\n [activeCssClass]=\"activeHighlightClass\"\n [groupName]=\"gridID\"\n [value]=\"\n formatter\n ? (value | columnFormatter: formatter : rowData)\n : column.dataType === 'number'\n ? (value | number: column.pipeArgs.digitsInfo : grid.locale)\n : column.dataType === 'date' ||\n column.dataType === 'time' ||\n column.dataType === 'dateTime'\n ? (value\n | date\n : column.pipeArgs.format\n : column.pipeArgs.timezone\n : grid.locale)\n : column.dataType === 'currency'\n ? (value\n | currency\n : currencyCode\n : column.pipeArgs.display\n : column.pipeArgs.digitsInfo\n : grid.locale)\n : column.dataType === 'percent'\n ? (value | percent: column.pipeArgs.digitsInfo : grid.locale)\n : value\n \"\n [row]=\"rowData\"\n [column]=\"this.column.field\"\n [containerClass]=\"'igx-grid__td-text'\"\n [metadata]=\"searchMetadata\"\n >\n {{ !isEmptyAddRowCell ? value : column.header || column.field }}\n </div>\n }\n</ng-template>\n<ng-template #inlineEditor let-cell=\"cell\">\n @if (column.dataType === 'string' || column.dataType === 'image') {\n <ng-container [formGroup]=\"formGroup\">\n <igx-input-group>\n <input\n igxInput\n [attr.aria-describedby]=\"ariaDescribeBy\"\n [attr.aria-invalid]=\"isInvalid\"\n [igxFocus]=\"true\"\n [igxTextSelection]=\"true\"\n [formControl]=\"formControl\"\n (compositionstart)=\"grid.crudService.isInCompositionMode = true\"\n (compositionend)=\"grid.crudService.isInCompositionMode = false\"\n />\n </igx-input-group>\n </ng-container>\n }\n @if (column.dataType === 'number') {\n <igx-input-group [formGroup]=\"formGroup\">\n <input\n igxInput\n [attr.aria-describedby]=\"ariaDescribeBy\"\n [attr.aria-invalid]=\"isInvalid\"\n [igxFocus]=\"true\"\n [igxTextSelection]=\"true\"\n [step]=\"step\"\n type=\"number\"\n [formControl]=\"formControl\"\n />\n </igx-input-group>\n }\n @if (column.dataType === 'boolean') {\n <ng-container [formGroup]=\"formGroup\">\n <igx-checkbox\n [checked]=\"editValue\"\n [igxFocus]=\"true\"\n [disableRipple]=\"true\"\n [formControl]=\"formControl\"\n ></igx-checkbox>\n </ng-container>\n }\n @if (column.dataType === 'date') {\n <ng-container [formGroup]=\"formGroup\">\n <igx-date-picker\n [style.width.%]=\"100\"\n mode=\"dropdown\"\n [locale]=\"grid.locale\"\n [weekStart]=\"column.pipeArgs.weekStart!\"\n [(value)]=\"editValue\"\n [igxFocus]=\"true\"\n [formControl]=\"formControl\"\n [inputFormat]=\"column.editorOptions?.dateTimeFormat!\"\n [displayFormat]=\"column.pipeArgs.format!\"\n >\n </igx-date-picker>\n </ng-container>\n }\n @if (column.dataType === 'time') {\n <ng-container [formGroup]=\"formGroup\">\n <igx-time-picker\n [style.width.%]=\"100\"\n mode=\"dropdown\"\n [locale]=\"grid.locale\"\n [inputFormat]=\"column.editorOptions?.dateTimeFormat!\"\n [displayFormat]=\"column.pipeArgs.format!\"\n [(value)]=\"editValue\"\n [igxFocus]=\"true\"\n [formControl]=\"formControl\"\n ></igx-time-picker>\n </ng-container>\n }\n @if (column.dataType === 'dateTime') {\n <igx-input-group [formGroup]=\"formGroup\">\n <input\n type=\"text\"\n [attr.aria-describedby]=\"ariaDescribeBy\"\n [attr.aria-invalid]=\"isInvalid\"\n [formControl]=\"formControl\"\n igxInput\n [locale]=\"grid.locale\"\n [igxDateTimeEditor]=\"column.editorOptions?.dateTimeFormat!\"\n [defaultFormatType]=\"column.dataType\"\n [displayFormat]=\"column.pipeArgs.format!\"\n [igxFocus]=\"true\"\n />\n </igx-input-group>\n }\n @if (column.dataType === 'currency') {\n <igx-input-group [formGroup]=\"formGroup\">\n @if (grid.currencyPositionLeft) {\n <igx-prefix>{{ currencyCodeSymbol }}</igx-prefix>\n }\n <input\n igxInput\n [attr.aria-describedby]=\"ariaDescribeBy\"\n [attr.aria-invalid]=\"isInvalid\"\n [igxFocus]=\"true\"\n [igxTextSelection]=\"true\"\n [step]=\"step\"\n type=\"number\"\n [formControl]=\"formControl\"\n />\n @if (!grid.currencyPositionLeft) {\n <igx-suffix>{{ currencyCodeSymbol }}</igx-suffix>\n }\n </igx-input-group>\n }\n @if (column.dataType === 'percent') {\n <igx-input-group [formGroup]=\"formGroup\">\n <input\n igxInput\n [attr.aria-describedby]=\"ariaDescribeBy\"\n [attr.aria-invalid]=\"isInvalid\"\n [igxFocus]=\"true\"\n [igxTextSelection]=\"true\"\n [step]=\"step\"\n type=\"number\"\n [formControl]=\"formControl\"\n />\n <igx-suffix>\n {{ editValue | percent: column.pipeArgs.digitsInfo : grid.locale }}\n </igx-suffix>\n </igx-input-group>\n }\n</ng-template>\n<ng-container *ngTemplateOutlet=\"pinnedIndicatorTemplate; context: context\">\n</ng-container>\n<ng-container *ngTemplateOutlet=\"template; context: context\"></ng-container>\n\n@if (isInvalid) {\n <igx-icon\n family=\"default\"\n name=\"error\"\n #errorIcon\n [igxTooltipTarget]=\"tooltipRef\"\n (mouseover)=\"errorShowing = true\"\n (mouseout)=\"errorShowing = false\"\n >\n </igx-icon>\n <div [id]=\"ariaErrorMessage\" igxTooltip #error #tooltipRef=\"tooltip\">\n <div [style.width]=\"'max-content'\">\n <ng-container\n *ngTemplateOutlet=\"\n cellValidationErrorTemplate || defaultError;\n context: context\n \"\n ></ng-container>\n </div>\n </div>\n}\n\n<ng-template #defaultError>\n @let errors = formControl.errors;\n @if (errors?.['required']) {\n <div>\n {{ grid.resourceStrings.igx_grid_required_validation_error }}\n </div>\n }\n @if (errors?.['minlength']) {\n <div>\n {{\n grid.resourceStrings.igx_grid_min_length_validation_error!\n | igxStringReplace: '{0}' : errors.minlength.requiredLength\n }}\n </div>\n }\n @if (errors?.['maxlength']) {\n <div>\n {{\n grid.resourceStrings.igx_grid_max_length_validation_error!\n | igxStringReplace: '{0}' : errors.maxlength.requiredLength\n }}\n </div>\n }\n @if (errors?.['min']) {\n <div>\n {{\n grid.resourceStrings.igx_grid_min_validation_error!\n | igxStringReplace: '{0}' : errors.min.min\n }}\n </div>\n }\n @if (errors?.['max']) {\n <div>\n {{\n grid.resourceStrings.igx_grid_max_validation_error!\n | igxStringReplace: '{0}' : errors.max.max\n }}\n </div>\n }\n @if (errors?.['email']) {\n <div>\n {{ grid.resourceStrings.igx_grid_email_validation_error }}\n </div>\n }\n @if (errors?.['pattern']) {\n <div>\n {{ grid.resourceStrings.igx_grid_pattern_validation_error }}\n </div>\n }\n</ng-template>\n" }]
|
|
24095
23824
|
}], propDecorators: { isEmptyAddRowCell: [{
|
|
24096
23825
|
type: HostBinding,
|
|
24097
23826
|
args: ['class.igx-grid__td--new']
|
|
@@ -24292,7 +24021,7 @@ class IgxGridMRLNavigationService extends IgxGridNavigationService {
|
|
|
24292
24021
|
scrollPos.leftScroll : scrollPos.rightScroll - this.displayContainerWidth;
|
|
24293
24022
|
this.forOfDir().getScroll().scrollLeft = nextScroll;
|
|
24294
24023
|
this.grid.parentVirtDir.chunkLoad
|
|
24295
|
-
.pipe(first
|
|
24024
|
+
.pipe(first())
|
|
24296
24025
|
.subscribe(() => {
|
|
24297
24026
|
if (cb) {
|
|
24298
24027
|
cb();
|
|
@@ -24319,7 +24048,7 @@ class IgxGridMRLNavigationService extends IgxGridNavigationService {
|
|
|
24319
24048
|
this.grid.verticalScrollContainer.addScrollTop(Math.abs(pos.rowBottom - this.scrollTop - containerHeight));
|
|
24320
24049
|
}
|
|
24321
24050
|
this.grid.verticalScrollContainer.chunkLoad
|
|
24322
|
-
.pipe(first
|
|
24051
|
+
.pipe(first()).subscribe(() => {
|
|
24323
24052
|
if (cb) {
|
|
24324
24053
|
cb();
|
|
24325
24054
|
}
|
|
@@ -24380,7 +24109,7 @@ class IgxGridMRLNavigationService extends IgxGridNavigationService {
|
|
|
24380
24109
|
this.activeNode.column = col.visibleIndex;
|
|
24381
24110
|
const layout = this.layout(this.activeNode.column);
|
|
24382
24111
|
const nextLayout = { ...this.activeNode.layout, rowStart: layout.rowStart, rowEnd: layout.rowEnd };
|
|
24383
|
-
this.setActiveNode({ row: this.activeNode.row, layout: nextLayout });
|
|
24112
|
+
this.setActiveNode({ row: this.activeNode.row, column: this.activeNode.column, layout: nextLayout });
|
|
24384
24113
|
return;
|
|
24385
24114
|
}
|
|
24386
24115
|
this.horizontalNav(event, key, -1, 'headerCell');
|
|
@@ -24637,7 +24366,7 @@ class GridBaseAPIService {
|
|
|
24637
24366
|
}
|
|
24638
24367
|
}
|
|
24639
24368
|
get_row_by_index(rowIndex) {
|
|
24640
|
-
return this.grid.rowList.find(
|
|
24369
|
+
return this.grid.rowList.find(row => row.index === rowIndex);
|
|
24641
24370
|
}
|
|
24642
24371
|
/**
|
|
24643
24372
|
* Gets the rowID of the record at the specified data view index
|
|
@@ -24658,6 +24387,7 @@ class GridBaseAPIService {
|
|
|
24658
24387
|
if (row && row.cells) {
|
|
24659
24388
|
return row.cells.find((cell) => cell.column.field === field);
|
|
24660
24389
|
}
|
|
24390
|
+
return undefined;
|
|
24661
24391
|
}
|
|
24662
24392
|
get_cell_by_index(rowIndex, columnID) {
|
|
24663
24393
|
const row = this.get_row_by_index(rowIndex);
|
|
@@ -24668,16 +24398,18 @@ class GridBaseAPIService {
|
|
|
24668
24398
|
if (hasCells && typeof columnID === 'string') {
|
|
24669
24399
|
return row.cells.find((cell) => cell.column.field === columnID);
|
|
24670
24400
|
}
|
|
24401
|
+
return undefined;
|
|
24671
24402
|
}
|
|
24672
24403
|
get_cell_by_visible_index(rowIndex, columnIndex) {
|
|
24673
24404
|
const row = this.get_row_by_index(rowIndex);
|
|
24674
24405
|
if (row && row.cells) {
|
|
24675
24406
|
return row.cells.find((cell) => cell.visibleColumnIndex === columnIndex);
|
|
24676
24407
|
}
|
|
24408
|
+
return undefined;
|
|
24677
24409
|
}
|
|
24678
24410
|
update_cell(cell) {
|
|
24679
24411
|
if (!cell) {
|
|
24680
|
-
return;
|
|
24412
|
+
return undefined;
|
|
24681
24413
|
}
|
|
24682
24414
|
const args = cell.createCellEditEventArgs(true);
|
|
24683
24415
|
if (!this.grid.crudService.row) { // should not recalculate summaries when there is row in edit mode
|
|
@@ -25070,7 +24802,7 @@ class GridBaseAPIService {
|
|
|
25070
24802
|
if (index === -1) {
|
|
25071
24803
|
return;
|
|
25072
24804
|
}
|
|
25073
|
-
const eventArgs = this.get_pin_row_event_args(rowID,
|
|
24805
|
+
const eventArgs = this.get_pin_row_event_args(rowID, undefined, row, false);
|
|
25074
24806
|
grid.rowPinning.emit(eventArgs);
|
|
25075
24807
|
if (eventArgs.cancel) {
|
|
25076
24808
|
return;
|
|
@@ -25223,5 +24955,5 @@ const IGX_GRID_COMMON_DIRECTIVES = [
|
|
|
25223
24955
|
* Generated bundle index. Do not edit.
|
|
25224
24956
|
*/
|
|
25225
24957
|
|
|
25226
|
-
export { ActiveElement, CharSeparatedValueData, ColumnDisplayOrder, CsvFileTypes, DEFAULT_OWNER, DEFAULT_PIVOT_KEYS, DimensionValuesFilteringStrategy, DropPosition, ExportHeaderType, ExportRecordType, ExportUtilities, ExpressionUI, FilterListItem, FilterMode, GRID_LEVEL_COL, GRID_PARENT, GRID_ROOT_SUMMARY, GridBaseAPIService, GridCellMergeMode, GridPagingMode, GridSelectionMode, GridSummaryPosition, HEADER_KEYS, HORIZONTAL_NAV_KEYS, IGX_GRID_BASE, IGX_GRID_COMMON_DIRECTIVES, IGX_GRID_SERVICE_BASE, IGX_GRID_VALIDATION_DIRECTIVES, INPUT_DEBOUNCE_TIME, INPUT_DEBOUNCE_TIME_DEFAULT, IgxAddRow, IgxAdvancedFilteringDialogComponent, IgxBaseExporter, IgxCSVTextDirective, IgxCell, IgxCellCrudState, IgxCellEditorTemplateDirective, IgxCellFooterTemplateDirective, IgxCellHeaderTemplateDirective, IgxCellTemplateDirective, IgxCellValidationErrorDirective, IgxCollapsibleIndicatorTemplateDirective, IgxColumnActionsBaseDirective, IgxColumnActionsComponent, IgxColumnComponent, IgxColumnEmailValidatorDirective, IgxColumnFormatterPipe, IgxColumnGroupComponent, IgxColumnHidingDirective, IgxColumnLayoutComponent, IgxColumnMaxLengthValidatorDirective, IgxColumnMaxValidatorDirective, IgxColumnMinLengthValidatorDirective, IgxColumnMinValidatorDirective, IgxColumnMovingDragDirective, IgxColumnMovingDropDirective, IgxColumnMovingService, IgxColumnPatternValidatorDirective, IgxColumnPinningDirective, IgxColumnRequiredValidatorDirective, IgxColumnResizerDirective, IgxColumnResizingService, IgxCsvExporterOptions, IgxCsvExporterService,
|
|
24958
|
+
export { ActiveElement, CharSeparatedValueData, ColumnDisplayOrder, CsvFileTypes, DEFAULT_OWNER, DEFAULT_PIVOT_KEYS, DimensionValuesFilteringStrategy, DropPosition, ExportHeaderType, ExportRecordType, ExportUtilities, ExpressionUI, FilterListItem, FilterMode, GRID_LEVEL_COL, GRID_PARENT, GRID_ROOT_SUMMARY, GridBaseAPIService, GridCellMergeMode, GridPagingMode, GridSelectionMode, GridSummaryPosition, HEADER_KEYS, HORIZONTAL_NAV_KEYS, IGX_GRID_BASE, IGX_GRID_COMMON_DIRECTIVES, IGX_GRID_SERVICE_BASE, IGX_GRID_VALIDATION_DIRECTIVES, INPUT_DEBOUNCE_TIME, INPUT_DEBOUNCE_TIME_DEFAULT, IgxAddRow, IgxAdvancedFilteringDialogComponent, IgxBaseExporter, IgxCSVTextDirective, IgxCell, IgxCellCrudState, IgxCellEditorTemplateDirective, IgxCellFooterTemplateDirective, IgxCellHeaderTemplateDirective, IgxCellTemplateDirective, IgxCellValidationErrorDirective, IgxCollapsibleIndicatorTemplateDirective, IgxColumnActionsBaseDirective, IgxColumnActionsComponent, IgxColumnComponent, IgxColumnEmailValidatorDirective, IgxColumnFormatterPipe, IgxColumnGroupComponent, IgxColumnHidingDirective, IgxColumnLayoutComponent, IgxColumnMaxLengthValidatorDirective, IgxColumnMaxValidatorDirective, IgxColumnMinLengthValidatorDirective, IgxColumnMinValidatorDirective, IgxColumnMovingDragDirective, IgxColumnMovingDropDirective, IgxColumnMovingService, IgxColumnPatternValidatorDirective, IgxColumnPinningDirective, IgxColumnRequiredValidatorDirective, IgxColumnResizerDirective, IgxColumnResizingService, IgxCsvExporterOptions, IgxCsvExporterService, IgxDragIndicatorIconDirective, IgxEditRow, IgxExcelExporterOptions, IgxExcelExporterService, IgxExcelStyleClearFiltersComponent, IgxExcelStyleColumnOperationsTemplateDirective, IgxExcelStyleConditionalFilterComponent, IgxExcelStyleDateExpressionComponent, IgxExcelStyleFilterOperationsTemplateDirective, IgxExcelStyleHeaderComponent, IgxExcelStyleHeaderIconDirective, IgxExcelStyleHidingComponent, IgxExcelStyleLoadingValuesTemplateDirective, IgxExcelStyleMovingComponent, IgxExcelStylePinningComponent, IgxExcelStyleSearchComponent, IgxExcelStyleSelectingComponent, IgxExcelStyleSortingComponent, IgxExcelTextDirective, IgxExporterOptionsBase, IgxFilterCellTemplateDirective, IgxFilteringService, IgxGridActionButtonComponent, IgxGridActionsBaseDirective, IgxGridAddRowPipe, IgxGridBodyDirective, IgxGridCRUDService, IgxGridCell, IgxGridCellComponent, IgxGridCellImageAltPipe, IgxGridCellStyleClassesPipe, IgxGridCellStylesPipe, IgxGridColumnResizerComponent, IgxGridDataMapperPipe, IgxGridDetailTemplateDirective, IgxGridDragSelectDirective, IgxGridEditingActionsComponent, IgxGridEmptyTemplateDirective, IgxGridExcelStyleFilteringComponent, IgxGridFilterConditionPipe, IgxGridFilteringCellComponent, IgxGridFilteringRowComponent, IgxGridFooterComponent, IgxGridHeaderComponent, IgxGridHeaderGroupComponent, IgxGridHeaderRowComponent, IgxGridLoadingTemplateDirective, IgxGridMRLNavigationService, IgxGridNavigationService, IgxGridNotGroupedPipe, IgxGridPaginatorOptionsPipe, IgxGridPinningActionsComponent, IgxGridRow, IgxGridRowClassesPipe, IgxGridRowPinningPipe, IgxGridRowStylesPipe, IgxGridSelectionService, IgxGridStateBaseDirective, IgxGridStateDirective, IgxGridSummaryService, IgxGridToolbarActionsComponent, IgxGridToolbarAdvancedFilteringComponent, IgxGridToolbarComponent, IgxGridToolbarDirective, IgxGridToolbarExporterComponent, IgxGridToolbarHidingComponent, IgxGridToolbarPinningComponent, IgxGridToolbarTitleComponent, IgxGridTopLevelColumns, IgxGridTransactionPipe, IgxGridTransactionStatePipe, IgxGridValidationService, IgxGroupAreaDropDirective, IgxGroupByAreaDirective, IgxGroupByMetaPipe, IgxGroupByRow, IgxGroupByRowSelectorDirective, IgxGroupByRowTemplateDirective, IgxHasVisibleColumnsPipe, IgxHeadSelectorDirective, IgxHeaderCollapsedIndicatorDirective, IgxHeaderExpandedIndicatorDirective, IgxHeaderGroupStylePipe, IgxHierarchicalGridRow, IgxPdfExporterOptions, IgxPdfExporterService, IgxPdfTextDirective, IgxPivotAggregate, IgxPivotColumnResizingService, IgxPivotDateAggregate, IgxPivotDateDimension, IgxPivotGridColumnResizerComponent, IgxPivotNumericAggregate, IgxPivotResizeHandleDirective, IgxPivotTimeAggregate, IgxRowAddCrudState, IgxRowAddTextDirective, IgxRowCollapsedIndicatorDirective, IgxRowCrudState, IgxRowDirective, IgxRowDragDirective, IgxRowDragGhostDirective, IgxRowEditActionsDirective, IgxRowEditTabStopDirective, IgxRowEditTemplateDirective, IgxRowEditTextDirective, IgxRowExpandedIndicatorDirective, IgxRowSelectorDirective, IgxSortAscendingHeaderIconDirective, IgxSortDescendingHeaderIconDirective, IgxSortHeaderIconDirective, IgxStringReplacePipe, IgxSummaryDataPipe, IgxSummaryFormatterPipe, IgxSummaryRow, IgxSummaryRowComponent, IgxSummaryTemplateDirective, IgxToolbarToken, IgxTreeGridRow, NoopPivotDimensionsStrategy, PivotColumnDimensionsStrategy, PivotDimensionType, PivotRowDimensionsStrategy, PivotRowLayoutType, PivotSummaryPosition, PivotUtil, ROW_ADD_KEYS, ROW_COLLAPSE_KEYS, ROW_EXPAND_KEYS, RowEditPositionStrategy, RowPinningPosition, SUPPORTED_KEYS, SortingIndexPipe, WatchChanges, WatchColumnChanges, generateExpressionsList, getUUID, notifyChanges };
|
|
25227
24959
|
//# sourceMappingURL=igniteui-angular-grids-core.mjs.map
|