@@ -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 */
0 commit comments