Skip to content

Commit 75a8e2f

Browse files
MKirovaMKirova
authored andcommitted
chore(*): Apply filtering to pinned data. Update filterData collection correctly.
1 parent 686f4fe commit 75a8e2f

File tree

4 files changed

+8
-6
lines changed

4 files changed

+8
-6
lines changed

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

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2896,8 +2896,9 @@ export class IgxGridBaseDirective extends DisplayDensityBase implements
28962896

28972897
public setFilterData(data, pinned: boolean) {
28982898
if (this.hasPinnedRecords && pinned) {
2899-
this._filteredPinnedData = data;
2900-
this.filteredData = [... this._filteredPinnedData, ... this._filteredUnpinnedData];
2899+
this._filteredPinnedData = data || [];
2900+
const filteredUnpinned = this._filteredUnpinnedData || [];
2901+
this.filteredData = [... this._filteredPinnedData, ... filteredUnpinned];
29012902
} else if (this.hasPinnedRecords && !pinned) {
29022903
this._filteredUnpinnedData = data;
29032904
} else {

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,7 @@
7979
<ng-container *ngIf='data
8080
| visibleColumns:hasVisibleColumns
8181
| treeGridRowPinning:id:pipeTrigger
82+
| treeGridFiltering:filteringExpressionsTree:filterStrategy:advancedFilteringExpressionsTree:id:pipeTrigger:filteringPipeTrigger:true
8283
| treeGridSorting:sortingExpressions:sortStrategy:id:pipeTrigger as pinnedData'>
8384
<div #pinContainer *ngIf='pinnedData.length > 0'
8485
[ngClass]="{

projects/igniteui-angular/src/lib/grids/tree-grid/tree-grid.filtering.pipe.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ export class IgxTreeGridFilteringPipe implements PipeTransform {
6565
public transform(hierarchyData: ITreeGridRecord[], expressionsTree: IFilteringExpressionsTree,
6666
filterStrategy: IFilteringStrategy,
6767
advancedFilteringExpressionsTree: IFilteringExpressionsTree, id: string,
68-
pipeTrigger: number, filteringPipeTrigger: number): ITreeGridRecord[] {
68+
pipeTrigger: number, filteringPipeTrigger: number, pinned?): ITreeGridRecord[] {
6969
const grid: IgxTreeGridComponent = this.gridAPI.grid;
7070
const state: IFilteringState = {
7171
expressionsTree: expressionsTree,
@@ -80,14 +80,14 @@ export class IgxTreeGridFilteringPipe implements PipeTransform {
8080
this.resetFilteredOutProperty(grid.records);
8181

8282
if (FilteringExpressionsTree.empty(state.expressionsTree) && FilteringExpressionsTree.empty(state.advancedExpressionsTree)) {
83-
grid.filteredData = null;
83+
grid.setFilterData(null, pinned);
8484
return hierarchyData;
8585
}
8686

8787
const result = this.filter(hierarchyData, state);
8888
const filteredData: any[] = [];
8989
this.expandAllRecursive(grid, result, grid.expansionStates, filteredData);
90-
grid.filteredData = filteredData;
90+
grid.setFilterData(filteredData, pinned);
9191

9292
return result;
9393
}

src/app/tree-grid-flat-data/tree-grid-flat-data.sample.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
<igx-buttongroup [values]="displayDensities" (onSelect)="selectDensity($event)" style="display: block; width: 500px"></igx-buttongroup>
1313
</div>
1414

15-
<igx-tree-grid #grid1 [data]="data" primaryKey="employeeID" foreignKey="PID" [rowSelectable]="true"
15+
<igx-tree-grid #grid1 [allowFiltering]='true' [data]="data" primaryKey="employeeID" foreignKey="PID" [rowSelectable]="true"
1616
[paging]="false" [displayDensity]="density" [width]="'900px'" [height]="'800px'" [showToolbar]="true"
1717
[columnHiding]="true" [columnPinning]="true" [exportExcel]="true" [exportCsv]="true" exportText="Export"
1818
exportExcelText="Export to Excel" exportCsvText="Export to CSV" [summaryCalculationMode]="summaryMode">

0 commit comments

Comments
 (0)