Skip to content

Commit 6d37c90

Browse files
authored
Merge pull request #6820 from IgniteUI/mkirova/fix-6701-9.0.x
fix(igxHierarchicalGrid): Fixing ivy issue with dynamically added sum…
2 parents 8a48522 + 9812dde commit 6d37c90

File tree

4 files changed

+21
-9
lines changed

4 files changed

+21
-9
lines changed

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

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2799,14 +2799,15 @@ export class IgxGridBaseDirective extends DisplayDensityBase implements
27992799
const extractForOfs = pipe(map((collection: any[]) => collection.filter(elementFilter).map(item => item.virtDirRow)));
28002800
const rowListObserver = extractForOfs(this._dataRowList.changes);
28012801
const summaryRowObserver = extractForOfs(this._summaryRowList.changes);
2802-
2803-
combineLatest([rowListObserver, summaryRowObserver]).pipe(takeUntil(this.destroy$))
2804-
.subscribe(([row, summary]) => this._horizontalForOfs = [...row, ...summary]);
2805-
2806-
this._horizontalForOfs = [
2807-
...this._dataRowList.filter(elementFilter).map(item => item.virtDirRow),
2808-
...this._summaryRowList.filter(elementFilter).map(item => item.virtDirRow)
2809-
];
2802+
const resetHorizontalForOfs = () => {
2803+
this._horizontalForOfs = [
2804+
...this._dataRowList.filter(elementFilter).map(item => item.virtDirRow),
2805+
...this._summaryRowList.filter(elementFilter).map(item => item.virtDirRow)
2806+
];
2807+
};
2808+
rowListObserver.pipe(takeUntil(this.destroy$)).subscribe(resetHorizontalForOfs);
2809+
summaryRowObserver.pipe(takeUntil(this.destroy$)).subscribe(resetHorizontalForOfs);
2810+
resetHorizontalForOfs();
28102811
}
28112812

28122813
/**

projects/igniteui-angular/src/lib/grids/hierarchical-grid/hierarchical-grid.navigation.spec.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -211,7 +211,6 @@ describe('IgxHierarchicalGrid Basic Navigation #hGrid', () => {
211211
}));
212212

213213
it('should include summary rows in tab sequence.', (async () => {
214-
pending('Related to the issue #6701');
215214
const childGrid = hierarchicalGrid.hgridAPI.getChildGrids(false)[0];
216215
childGrid.getColumnByName('ID').hasSummary = true;
217216
fixture.detectChanges();

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,7 @@ <h4 class="sample-title">Sample One</h4>
7070

7171
<h4 class="sample-title">Sample two</h4>
7272
<div class="sample-actions">
73+
<button igxButton="raised" (click)="enableSummary()">Enable Summaries</button>
7374
<button igxButton="raised" (click)='setterBindingChange()'>Set rowSelectable via binding</button>
7475
<button igxButton="raised" (click)='setterChange()'>Set rowSelectable via setter on 1st layout</button>
7576
<button igxButton="raised" (click)='testApis()'>Test APis</button>

src/app/hierarchical-grid/hierarchical-grid.sample.ts

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,9 @@ export class HierarchicalGridSampleComponent {
3333
@ViewChild('hGrid', { static: true })
3434
hGrid: IgxHierarchicalGridComponent;
3535

36+
@ViewChild('hGrid2', { static: true })
37+
hGrid2: IgxHierarchicalGridComponent;
38+
3639
constructor(private cdr: ChangeDetectorRef) {
3740
// this.localData.push({ ID: -1, Name: ''});
3841
// for (let i = 0; i < 10000; i++) {
@@ -60,6 +63,14 @@ export class HierarchicalGridSampleComponent {
6063
this.localData[2].childData[1].hasChild = false;
6164
}
6265

66+
public enableSummary() {
67+
const childGrid = this.hGrid2.hgridAPI.getChildGrids(false)[0];
68+
this.hGrid2.getColumnByName('ID').hasSummary = true;
69+
if (childGrid) {
70+
childGrid.getColumnByName('ID').hasSummary = true;
71+
}
72+
}
73+
6374
ngAfterViewInit() {
6475
this.cdr.detectChanges();
6576
}

0 commit comments

Comments
 (0)