diff --git a/projects/igniteui-angular/src/lib/grids/filtering/excel-style/excel-style-custom-dialog.component.ts b/projects/igniteui-angular/src/lib/grids/filtering/excel-style/excel-style-custom-dialog.component.ts index 02d4c96ed89..433a51c3554 100644 --- a/projects/igniteui-angular/src/lib/grids/filtering/excel-style/excel-style-custom-dialog.component.ts +++ b/projects/igniteui-angular/src/lib/grids/filtering/excel-style/excel-style-custom-dialog.component.ts @@ -246,8 +246,9 @@ export class IgxExcelStyleCustomDialogComponent implements AfterViewInit { private createInitialExpressionUIElement() { if (this.expressionsList.length == 1) { - const currentExpr = this.expressionsList[0].expression; - if (currentExpr.condition.name === this.selectedOperator) { + const currentExprUI = this.expressionsList.pop(); + if (currentExprUI.expression.condition.name === this.selectedOperator) { + currentExprUI.beforeOperator = FilteringLogic.And; const secondExprUI = new ExpressionUI(); secondExprUI.expression = { condition: null, @@ -255,9 +256,8 @@ export class IgxExcelStyleCustomDialogComponent implements AfterViewInit { ignoreCase: this.column.filteringIgnoreCase, searchVal: null }; - - secondExprUI.beforeOperator = FilteringLogic.And; - + currentExprUI.afterOperator = FilteringLogic.And; + this.expressionsList.push(currentExprUI); this.expressionsList.push(secondExprUI); return; } diff --git a/projects/igniteui-angular/src/lib/grids/headers/grid-header.component.ts b/projects/igniteui-angular/src/lib/grids/headers/grid-header.component.ts index ff213911677..b320df9e175 100644 --- a/projects/igniteui-angular/src/lib/grids/headers/grid-header.component.ts +++ b/projects/igniteui-angular/src/lib/grids/headers/grid-header.component.ts @@ -154,7 +154,7 @@ export class IgxGridHeaderComponent implements DoCheck, OnDestroy { } public get filterIconClassName() { - return this.column.filteringExpressionsTree ? 'igx-excel-filter__icon--filtered' : 'igx-excel-filter__icon'; + return this.column.filteringExpressionsTree || this.isAdvancedFilterApplied() ? 'igx-excel-filter__icon--filtered' : 'igx-excel-filter__icon'; } public get selectable() { @@ -276,6 +276,13 @@ export class IgxGridHeaderComponent implements DoCheck, OnDestroy { this.sortDirection = expr ? expr.dir : SortingDirection.None; } + protected isAdvancedFilterApplied() { + if(!this.grid.advancedFilteringExpressionsTree) { + return false; + } + return !!this.grid.advancedFilteringExpressionsTree.find(this.column.field); + } + private triggerSort() { const groupingExpr = this.grid.groupingExpressions ? this.grid.groupingExpressions.find((expr) => expr.fieldName === this.column.field) : diff --git a/projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar-advanced-filtering.component.html b/projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar-advanced-filtering.component.html index 8a92942a118..ed9fd801f98 100644 --- a/projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar-advanced-filtering.component.html +++ b/projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar-advanced-filtering.component.html @@ -7,4 +7,5 @@ {{ grid?.resourceStrings.igx_grid_toolbar_advanced_filtering_button_label }} + ({{ grid?.advancedFilteringExpressionsTree.filteringOperands.length}})