From 8021c4c367a25863c88fe34e3ccb554b7795988f Mon Sep 17 00:00:00 2001
From: Galina Edinakova <gedinakova@infragistics.com>
Date: Wed, 8 Jan 2025 15:28:38 +0200
Subject: [PATCH 1/3] test(Filter): Adding a test for clear filters in custom
 dialog

---
 .../lib/grids/grid/grid-filtering-ui.spec.ts  | 35 +++++++++++++++++++
 1 file changed, 35 insertions(+)

diff --git a/projects/igniteui-angular/src/lib/grids/grid/grid-filtering-ui.spec.ts b/projects/igniteui-angular/src/lib/grids/grid/grid-filtering-ui.spec.ts
index 44b13a326bc..725035129d3 100644
--- a/projects/igniteui-angular/src/lib/grids/grid/grid-filtering-ui.spec.ts
+++ b/projects/igniteui-angular/src/lib/grids/grid/grid-filtering-ui.spec.ts
@@ -6273,6 +6273,41 @@ describe('IgxGrid - Filtering actions - Excel style filtering #grid', () => {
                 ['Select All', '1:00:00 AM', '12:00:00 PM', '11:00:00 PM'],
                 [true, true, true, true]);
         }));
+
+        it('Bug 15193 - "Clear Filter" button should clear all filters in the custom dialog.', fakeAsync(() => {
+            GridFunctions.clickExcelFilterIcon(fix, 'ReleaseDate');
+            tick(100);
+            fix.detectChanges();
+
+            GridFunctions.clickExcelFilterCascadeButton(fix);
+            tick();
+            fix.detectChanges();
+
+            GridFunctions.clickOperatorFromCascadeMenu(fix, 0);
+            tick();
+            fix.detectChanges();
+
+            const expressions = GridFunctions.getExcelCustomFilteringDateExpressions(fix);
+            const lastExpression = expressions[expressions.length - 1];
+            (lastExpression.querySelector('igx-select').querySelector('igx-input-group') as HTMLElement).click();
+            tick();
+            fix.detectChanges();
+            const dropdownList = fix.debugElement.query(By.css('div.igx-drop-down__list.igx-toggle'));
+
+            const todayItem = dropdownList.children[0].children.find(item => item.nativeElement?.innerText === 'Today');
+            todayItem.nativeElement.click();
+            tick();
+            fix.detectChanges();
+            
+            GridFunctions.clickClearFilterExcelStyleCustomFiltering(fix);
+            tick();
+            fix.detectChanges();
+
+            GridFunctions.getExcelCustomFilteringDateExpressions(fix).forEach(expr => {
+                const input = expr.children[0].querySelector('input');
+                expect(input.value).toBe('');
+            });
+        }));
     });
 
     describe('Templates: ', () => {

From c62c02c9267d4b813f35259e2eb9a98f89dfbf4d Mon Sep 17 00:00:00 2001
From: Galina Edinakova <gedinakova@infragistics.com>
Date: Wed, 8 Jan 2025 15:53:37 +0200
Subject: [PATCH 2/3] fix(Filter): Cleared the selected opertor on clear
 filter.

---
 .../excel-style/excel-style-custom-dialog.component.ts        | 1 +
 .../src/lib/grids/grid/grid-filtering-ui.spec.ts              | 4 ++--
 2 files changed, 3 insertions(+), 2 deletions(-)

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 eb701c26413..cfaacf1af8a 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
@@ -136,6 +136,7 @@ export class IgxExcelStyleCustomDialogComponent implements AfterViewInit {
 
     public onClearButtonClick() {
         this.filteringService.clearFilter(this.column.field);
+        this.selectedOperator = null;
         this.createInitialExpressionUIElement();
         this.cdr.detectChanges();
     }
diff --git a/projects/igniteui-angular/src/lib/grids/grid/grid-filtering-ui.spec.ts b/projects/igniteui-angular/src/lib/grids/grid/grid-filtering-ui.spec.ts
index 725035129d3..1495b5d0f6f 100644
--- a/projects/igniteui-angular/src/lib/grids/grid/grid-filtering-ui.spec.ts
+++ b/projects/igniteui-angular/src/lib/grids/grid/grid-filtering-ui.spec.ts
@@ -6283,7 +6283,7 @@ describe('IgxGrid - Filtering actions - Excel style filtering #grid', () => {
             tick();
             fix.detectChanges();
 
-            GridFunctions.clickOperatorFromCascadeMenu(fix, 0);
+            GridFunctions.clickOperatorFromCascadeMenu(fix, 5);
             tick();
             fix.detectChanges();
 
@@ -6293,7 +6293,7 @@ describe('IgxGrid - Filtering actions - Excel style filtering #grid', () => {
             tick();
             fix.detectChanges();
             const dropdownList = fix.debugElement.query(By.css('div.igx-drop-down__list.igx-toggle'));
-
+ 
             const todayItem = dropdownList.children[0].children.find(item => item.nativeElement?.innerText === 'Today');
             todayItem.nativeElement.click();
             tick();

From 2e3c44d8c79a90663e750f0065ebbcb8e00b9228 Mon Sep 17 00:00:00 2001
From: Stamen Stoychev <sstoychev@infragistics.com>
Date: Mon, 13 Jan 2025 14:45:40 +0200
Subject: [PATCH 3/3] Update
 projects/igniteui-angular/src/lib/grids/grid/grid-filtering-ui.spec.ts

Co-authored-by: igdmdimitrov <49060557+igdmdimitrov@users.noreply.github.com>
---
 .../src/lib/grids/grid/grid-filtering-ui.spec.ts                | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/projects/igniteui-angular/src/lib/grids/grid/grid-filtering-ui.spec.ts b/projects/igniteui-angular/src/lib/grids/grid/grid-filtering-ui.spec.ts
index 1495b5d0f6f..1eb0274e036 100644
--- a/projects/igniteui-angular/src/lib/grids/grid/grid-filtering-ui.spec.ts
+++ b/projects/igniteui-angular/src/lib/grids/grid/grid-filtering-ui.spec.ts
@@ -6274,7 +6274,7 @@ describe('IgxGrid - Filtering actions - Excel style filtering #grid', () => {
                 [true, true, true, true]);
         }));
 
-        it('Bug 15193 - "Clear Filter" button should clear all filters in the custom dialog.', fakeAsync(() => {
+        it('should clear all filters in the custom dialog when clicking "Clear Filter" button', fakeAsync(() => {
             GridFunctions.clickExcelFilterIcon(fix, 'ReleaseDate');
             tick(100);
             fix.detectChanges();