Skip to content

Commit 4bd24b2

Browse files
committed
feat(igxTreeGrid): Adds always expanded state to pinned rows #6640
1 parent 2056069 commit 4bd24b2

File tree

3 files changed

+12
-3
lines changed

3 files changed

+12
-3
lines changed

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

+1-1
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@
8585
<igx-tree-grid-row [gridID]="id" [index]="rowIndex" [treeRow]="rowData" #row>
8686
</igx-tree-grid-row>
8787
</ng-template>
88-
<ng-container [igxTemplateOutlet]="record_template" [igxTemplateOutletContext]="getContext(rowData, rowIndex)">
88+
<ng-container [igxTemplateOutlet]="record_template" [igxTemplateOutletContext]="getContext(rowData, rowIndex, true)">
8989
</ng-container>
9090
</ng-container>
9191
</ng-template>

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

+6-1
Original file line numberDiff line numberDiff line change
@@ -561,6 +561,7 @@ export class IgxTreeGridComponent extends IgxGridBaseDirective implements GridTy
561561
if (this.gridAPI.grid) {
562562
this.notifyChanges(true);
563563
}
564+
this.cdr.detectChanges();
564565
}
565566

566567
/**
@@ -646,7 +647,11 @@ export class IgxTreeGridComponent extends IgxGridBaseDirective implements GridTy
646647
/**
647648
* @hidden
648649
*/
649-
public getContext(rowData: any, rowIndex: Number): any {
650+
public getContext(rowData: any, rowIndex: number, pinned?: boolean): any {
651+
if (pinned && !this.isRowPinningToTop) {
652+
rowIndex = rowIndex + this.dataView.length;
653+
}
654+
rowIndex = !pinned && this.isRowPinningToTop ? rowIndex + this.pinnedRecords.length : rowIndex;
650655
return {
651656
$implicit: rowData,
652657
index: rowIndex,

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

+5-1
Original file line numberDiff line numberDiff line change
@@ -168,7 +168,11 @@ export class IgxTreeGridFlatteningPipe implements PipeTransform {
168168
data.push(hierarchicalRecord);
169169
}
170170

171-
hierarchicalRecord.expanded = this.gridAPI.get_row_expansion_state(hierarchicalRecord);
171+
const pinnedRow = this.gridAPI.get_row_by_key(hierarchicalRecord.rowID) !== undefined ?
172+
this.gridAPI.get_row_by_key(hierarchicalRecord.rowID).pinned :
173+
false;
174+
175+
hierarchicalRecord.expanded = this.gridAPI.get_row_expansion_state(hierarchicalRecord) || pinnedRow;
172176

173177
this.updateNonProcessedRecordExpansion(grid, hierarchicalRecord);
174178

0 commit comments

Comments
 (0)