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();