diff --git a/projects/igniteui-angular/src/lib/grids/hierarchical-grid/hierarchical-cell.component.ts b/projects/igniteui-angular/src/lib/grids/hierarchical-grid/hierarchical-cell.component.ts index 1ce7118cd4a..40c670a0f9f 100644 --- a/projects/igniteui-angular/src/lib/grids/hierarchical-grid/hierarchical-cell.component.ts +++ b/projects/igniteui-angular/src/lib/grids/hierarchical-grid/hierarchical-cell.component.ts @@ -91,12 +91,12 @@ export class IgxHierarchicalGridCellComponent extends IgxGridCellComponent imple private _clearAllHighlights() { [this._rootGrid, ...this._rootGrid.getChildGrids(true)].forEach(grid => { if (grid !== this.grid && grid.navigation.activeNode) { + grid.selectionService.activeElement = null; grid.navigation.clearActivation(); grid.selectionService.initKeyboardState(); grid.selectionService.clear(); } - grid.selectionService.activeElement = null; grid.nativeElement.classList.remove('igx-grid__tr--highlighted'); grid.highlightedRowID = null; grid.cdr.markForCheck(); diff --git a/projects/igniteui-angular/src/lib/grids/hierarchical-grid/hierarchical-grid.selection.spec.ts b/projects/igniteui-angular/src/lib/grids/hierarchical-grid/hierarchical-grid.selection.spec.ts index 39ad035c2ff..f940b75572f 100644 --- a/projects/igniteui-angular/src/lib/grids/hierarchical-grid/hierarchical-grid.selection.spec.ts +++ b/projects/igniteui-angular/src/lib/grids/hierarchical-grid/hierarchical-grid.selection.spec.ts @@ -78,12 +78,19 @@ describe('IgxHierarchicalGrid selection #hGrid', () => { expect(fCell.selected).toBeFalsy(); // select parent cell + const parentSpy = spyOn(hierarchicalGrid.selected, 'emit').and.callThrough(); firstRow = hierarchicalGrid.gridAPI.get_row_by_index(0) as IgxHierarchicalRowComponent; fCell = firstRow.cells.toArray()[0]; GridFunctions.focusCell(fix, fCell); fix.detectChanges(); expect(fChildCell.selected).toBeFalsy(); expect(fCell.selected).toBeTruthy(); + expect(parentSpy).toHaveBeenCalledTimes(1); + + GridFunctions.focusCell(fix, fCell); + fix.detectChanges(); + expect(fCell.selected).toBeTruthy(); + expect(parentSpy).toHaveBeenCalledTimes(1); }); it('should be able to set cellSelection mode per grid', () => {