Skip to content

Commit 6ebfaba

Browse files
committed
fix(filtering): handle multiple events firing for column of type date #10233
1 parent ca81912 commit 6ebfaba

File tree

1 file changed

+12
-3
lines changed

1 file changed

+12
-3
lines changed

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

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ import { AbsoluteScrollStrategy } from '../../../services/overlay/scroll';
2929
import { DisplayDensity } from '../../../core/displayDensity';
3030
import { IgxDatePickerComponent } from '../../../date-picker/date-picker.component';
3131
import { IgxTimePickerComponent } from '../../../time-picker/time-picker.component';
32-
import { PlatformUtil } from '../../../core/utils';
32+
import { isEqual, PlatformUtil } from '../../../core/utils';
3333
import { Subject } from 'rxjs';
3434
import { takeUntil } from 'rxjs/operators';
3535

@@ -70,14 +70,23 @@ export class IgxGridFilteringRowComponent implements AfterViewInit, OnDestroy {
7070
public set value(val) {
7171
if (!val && val !== 0) {
7272
this.expression.searchVal = null;
73-
this.showHideArrowButtons();
73+
const index = this.expressionsList.findIndex(item => item.expression === this.expression);
74+
if (index === 0 && this.expressionsList.length === 1) {
75+
this.clearFiltering();
76+
return;
77+
}
7478
} else {
79+
const oldValue = this.expression.searchVal;
80+
if (isEqual(oldValue, val)) {
81+
return;
82+
}
83+
7584
this.expression.searchVal = DataUtil.parseValue(this.column.dataType, val);
7685
if (this.expressionsList.find(item => item.expression === this.expression) === undefined) {
7786
this.addExpression(true);
7887
}
88+
this.filter();
7989
}
80-
this.filter();
8190
}
8291

8392
public get displayDensity() {

0 commit comments

Comments
 (0)