Skip to content

Commit 3b1d73b

Browse files
committed
fix(filtering): Added filtering pipe trigger #6289
1 parent a846946 commit 3b1d73b

File tree

4 files changed

+20
-13
lines changed

4 files changed

+20
-13
lines changed

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

Lines changed: 17 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -387,11 +387,9 @@ export abstract class IgxGridBaseComponent extends DisplayDensityBase implements
387387
}
388388
}
389389

390-
// clone the filtering expression tree in order to trigger the filtering pipe
391-
const filteringExpressionTreeClone = new FilteringExpressionsTree(value.operator, value.fieldName);
392-
filteringExpressionTreeClone.type = FilteringExpressionsTreeType.Regular;
393-
filteringExpressionTreeClone.filteringOperands = value.filteringOperands;
394-
this._filteringExpressionsTree = filteringExpressionTreeClone;
390+
value.type = FilteringExpressionsTreeType.Regular;
391+
this._filteringExpressionsTree = value;
392+
this._filteringPipeTrigger++;
395393
this.filteringExpressionsTreeChange.emit(this._filteringExpressionsTree);
396394

397395
if (this.filteringService.isFilteringExpressionsTreeEmpty(this._filteringExpressionsTree) &&
@@ -464,11 +462,9 @@ export abstract class IgxGridBaseComponent extends DisplayDensityBase implements
464462
*/
465463
set advancedFilteringExpressionsTree(value) {
466464
if (value && value instanceof FilteringExpressionsTree) {
467-
// clone the filtering expression tree in order to trigger the filtering pipe
468-
const filteringExpressionTreeClone = new FilteringExpressionsTree(value.operator, value.fieldName);
469-
filteringExpressionTreeClone.type = FilteringExpressionsTreeType.Advanced;
470-
filteringExpressionTreeClone.filteringOperands = value.filteringOperands;
471-
this._advancedFilteringExpressionsTree = filteringExpressionTreeClone;
465+
value.type = FilteringExpressionsTreeType.Advanced;
466+
this._advancedFilteringExpressionsTree = value;
467+
this._filteringPipeTrigger++;
472468
} else {
473469
this._advancedFilteringExpressionsTree = null;
474470
}
@@ -2234,6 +2230,13 @@ export abstract class IgxGridBaseComponent extends DisplayDensityBase implements
22342230
return this._pipeTrigger;
22352231
}
22362232

2233+
/**
2234+
* @hidden
2235+
*/
2236+
get filteringPipeTrigger(): number {
2237+
return this._filteringPipeTrigger;
2238+
}
2239+
22372240
/**
22382241
* @hidden
22392242
*/
@@ -2784,6 +2787,10 @@ export abstract class IgxGridBaseComponent extends DisplayDensityBase implements
27842787
* @hidden
27852788
*/
27862789
protected _pipeTrigger = 0;
2790+
/**
2791+
* @hidden
2792+
*/
2793+
protected _filteringPipeTrigger = 0;
27872794
/**
27882795
* @hidden
27892796
*/

projects/igniteui-angular/src/lib/grids/grid/grid.component.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,7 @@
106106
<ng-template igxGridFor let-rowData [igxGridForOf]="data
107107
| gridTransaction:id:pipeTrigger
108108
| visibleColumns:hasVisibleColumns
109-
| gridFiltering:filteringExpressionsTree:filterStrategy:advancedFilteringExpressionsTree:id:pipeTrigger
109+
| gridFiltering:filteringExpressionsTree:filterStrategy:advancedFilteringExpressionsTree:id:pipeTrigger:filteringPipeTrigger
110110
| gridSort:sortingExpressions:id:pipeTrigger
111111
| gridGroupBy:groupingExpressions:groupingExpansionState:groupsExpanded:id:groupsRecords:pipeTrigger
112112
| gridPaging:page:perPage:id:pipeTrigger

projects/igniteui-angular/src/lib/grids/hierarchical-grid/hierarchical-grid.component.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@
8383
<ng-template igxGridFor let-rowData [igxGridForOf]="data
8484
| gridTransaction:id:pipeTrigger
8585
| visibleColumns:hasVisibleColumns
86-
| gridFiltering:filteringExpressionsTree:filterStrategy:advancedFilteringExpressionsTree:id:pipeTrigger
86+
| gridFiltering:filteringExpressionsTree:filterStrategy:advancedFilteringExpressionsTree:id:pipeTrigger:filteringPipeTrigger
8787
| gridSort:sortingExpressions:id:pipeTrigger
8888
| gridHierarchicalPaging:page:perPage:id:pipeTrigger
8989
| gridHierarchical:hierarchicalState:id:primaryKey:childLayoutKeys:pipeTrigger" let-rowIndex="index"

projects/igniteui-angular/src/lib/grids/tree-grid/tree-grid.component.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@
7474
| treeGridTransaction:id:pipeTrigger
7575
| visibleColumns:hasVisibleColumns
7676
| treeGridHierarchizing:primaryKey:foreignKey:childDataKey:id:pipeTrigger
77-
| treeGridFiltering:filteringExpressionsTree:filterStrategy:advancedFilteringExpressionsTree:id:pipeTrigger
77+
| treeGridFiltering:filteringExpressionsTree:filterStrategy:advancedFilteringExpressionsTree:id:pipeTrigger:filteringPipeTrigger
7878
| treeGridSorting:sortingExpressions:id:pipeTrigger
7979
| treeGridFlattening:id:expansionDepth:expansionStates:pipeTrigger
8080
| treeGridPaging:page:perPage:id:pipeTrigger

0 commit comments

Comments
 (0)