Skip to content

Commit 7d9b714

Browse files
committed
fix(AdvancedFiltering): Fixed advanced filtering count #15136
1 parent 09ee61c commit 7d9b714

File tree

3 files changed

+25
-5
lines changed

3 files changed

+25
-5
lines changed

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

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,26 @@ describe('IgxGrid - Advanced Filtering #grid - ', () => {
117117
expect(GridFunctions.getAdvancedFilteringComponent(fix)).toBeNull();
118118
}));
119119

120+
it('Should set initial Advanced Filtering', fakeAsync(() => {
121+
// Set filtering expressions tree
122+
const tree = new FilteringExpressionsTree(FilteringLogic.And);
123+
tree.filteringOperands.push({
124+
fieldName: 'ProductName',
125+
condition: IgxStringFilteringOperand.instance().condition('contains'),
126+
searchVal: 'angular',
127+
ignoreCase: true
128+
});
129+
130+
// Add filters to the grid
131+
const advancedFilteringTree: FilteringExpressionsTree = tree;
132+
grid.advancedFilteringExpressionsTree = advancedFilteringTree;
133+
fix.detectChanges();
134+
135+
// Verify number of advanced filters is correct
136+
const advancedFilters = grid.advancedFilteringExpressionsTree.filteringOperands;
137+
expect(advancedFilters.length).toEqual(1);
138+
}));
139+
120140
it('Should close Advanced Filtering dialog through API by respecting \'applyChanges\' argument.', fakeAsync(() => {
121141
grid.openAdvancedFilteringDialog();
122142
fix.detectChanges();

projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar-advanced-filtering.component.ts

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -45,17 +45,16 @@ export class IgxGridToolbarAdvancedFilteringComponent implements AfterViewInit {
4545
@Input()
4646
public overlaySettings: OverlaySettings;
4747

48-
constructor( @Inject(IgxToolbarToken) private toolbar: IgxToolbarToken) {
49-
this.grid?.advancedFilteringExpressionsTreeChange.subscribe(filteringTree => {
50-
this.numberOfColumns = this.extractUniqueFieldNamesFromFilterTree(filteringTree).length;
51-
});
52-
}
48+
constructor( @Inject(IgxToolbarToken) private toolbar: IgxToolbarToken) { }
5349

5450
/**
5551
* @hidden
5652
*/
5753
public ngAfterViewInit(): void {
5854
this.numberOfColumns = this.grid?.advancedFilteringExpressionsTree ? this.extractUniqueFieldNamesFromFilterTree(this.grid?.advancedFilteringExpressionsTree).length : 0;
55+
this.grid?.advancedFilteringExpressionsTreeChange.subscribe(filteringTree => {
56+
this.numberOfColumns = this.extractUniqueFieldNamesFromFilterTree(filteringTree).length;
57+
});
5958
}
6059

6160
protected extractUniqueFieldNamesFromFilterTree(filteringTree?: IFilteringExpressionsTree) : string[] {

src/app/grid-filtering/grid-filtering.sample.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ <h4>Sample 1</h4>
1414
[filterMode]="'excelStyleFilter'"
1515
[allowAdvancedFiltering]="true"
1616
[rowSelection]="selectionMode"
17+
[advancedFilteringExpressionsTree]="advancedFilteringTree"
1718
[height]="'600px'"
1819
[columnSelection]="'single'">
1920
<igx-grid-toolbar >

0 commit comments

Comments
 (0)