Skip to content

Commit ac22f64

Browse files
committed
fix(grid): apply conditon on condition.logic, not on condition
1 parent 68bcf2d commit ac22f64

File tree

2 files changed

+16
-1
lines changed

2 files changed

+16
-1
lines changed

Diff for: projects/igniteui-angular/src/lib/data-operations/filtering-strategy.spec.ts

+15
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,21 @@ describe('Unit testing FilteringStrategy', () => {
5757
expect(res).toBeFalsy();
5858
});
5959

60+
it ('no error when condition is missing in the filtering expressions tree', () => {
61+
const rec = data[0];
62+
const expressionTree = new FilteringExpressionsTree(FilteringLogic.Or);
63+
expressionTree.filteringOperands = [
64+
{
65+
conditionName: 'contains',
66+
fieldName: 'string',
67+
ignoreCase: false,
68+
searchVal: 'ROW'
69+
}
70+
];
71+
const res = fs.matchRecord(rec, expressionTree);
72+
expect(res).toBeFalsy();
73+
});
74+
6075
it ('tests `findMatch`', () => {
6176
const rec = data[0];
6277
const res = fs.findMatchByExpression(rec, {

Diff for: projects/igniteui-angular/src/lib/data-operations/filtering-strategy.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ export abstract class BaseFilteringStrategy implements IFilteringStrategy {
4040
// protected
4141
public findMatchByExpression(rec: any, expr: IFilteringExpression, isDate?: boolean, isTime?: boolean, grid?: GridType): boolean {
4242
const val = this.getFieldValue(rec, expr.fieldName, isDate, isTime, grid);
43-
if (expr.condition.logic) {
43+
if (expr.condition?.logic) {
4444
return expr.condition.logic(val, expr.searchVal, expr.ignoreCase);
4545
}
4646
}

0 commit comments

Comments
 (0)