Skip to content

Commit 93d2280

Browse files
committed
fix(filtering): fix condition changing when erasing the value #10596
1 parent 400a92f commit 93d2280

File tree

2 files changed

+20
-3
lines changed

2 files changed

+20
-3
lines changed

projects/igniteui-angular/src/lib/grids/filtering/base/grid-filtering-row.component.ts

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,12 @@ export class IgxGridFilteringRowComponent implements AfterViewInit, OnDestroy {
7272
this.expression.searchVal = null;
7373
const index = this.expressionsList.findIndex(item => item.expression === this.expression);
7474
if (index === 0 && this.expressionsList.length === 1) {
75-
this.clearFiltering();
75+
this.filteringService.clearFilter(this.column.field);
76+
77+
if (this.expression.condition.isUnary) {
78+
this.resetExpression();
79+
}
80+
7681
return;
7782
}
7883
} else {

projects/igniteui-angular/src/lib/grids/grid/grid-filtering-ui.spec.ts

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2064,6 +2064,20 @@ describe('IgxGrid - Filtering Row UI actions #grid', () => {
20642064
expect(grid.filteredData).toBeNull();
20652065
}));
20662066

2067+
it('should not reset expression when input is cleared', fakeAsync(() => {
2068+
grid.filter('ProductName', 'I', IgxStringFilteringOperand.instance().condition('startsWith'));
2069+
fix.detectChanges();
2070+
2071+
GridFunctions.clickFilterCellChip(fix, 'ProductName');
2072+
2073+
grid.filteringRow.onClearClick();
2074+
tick(100);
2075+
fix.detectChanges();
2076+
console.log(grid.filteringRow.expression.condition.name);
2077+
2078+
expect(grid.filteringRow.expression.condition.name).toEqual('startsWith');
2079+
}));
2080+
20672081
it('Should filter by cells formatted data when using FormattedValuesFilteringStrategy', fakeAsync(() => {
20682082
const formattedStrategy = new FormattedValuesFilteringStrategy(['Downloads']);
20692083
grid.filterStrategy = formattedStrategy;
@@ -6640,8 +6654,6 @@ const emitFilteringDoneOnInputClear = (fix, grid, filterVal, columnName, conditi
66406654

66416655
GridFunctions.clickFilterCellChip(fix, columnName);
66426656

6643-
// spyOn(grid.filteringDone, 'emit');
6644-
66456657
grid.filteringRow.onClearClick();
66466658
tick(100);
66476659
fix.detectChanges();

0 commit comments

Comments
 (0)