Skip to content

Commit bb9ed74

Browse files
authored
Merge branch '8.2.x' into dpetev/combo-control-touched-8.2
2 parents 8c194b5 + d86e1f5 commit bb9ed74

File tree

1 file changed

+14
-4
lines changed

1 file changed

+14
-4
lines changed

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

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -675,6 +675,8 @@ export class IgxHierarchicalGridNavigationService extends IgxGridNavigationServi
675675
}
676676

677677
private focusNextRow(elem, visibleColumnIndex, grid, isSummary?) {
678+
const lastCellIndex = grid.unpinnedColumns[grid.unpinnedColumns.length - 1].visibleIndex;
679+
visibleColumnIndex = Math.min(lastCellIndex, visibleColumnIndex);
678680
const cellSelector = this.getCellSelector(visibleColumnIndex, isSummary);
679681
if (grid.navigation.isColumnFullyVisible(visibleColumnIndex) || grid.rowList.length === 0) {
680682
const cell =
@@ -694,13 +696,21 @@ export class IgxHierarchicalGridNavigationService extends IgxGridNavigationServi
694696
cell.focus({ preventScroll: true });
695697
}
696698
} else {
697-
const cellElem = elem.querySelector(`${cellSelector}`);
698-
const rowIndex = parseInt(cellElem.getAttribute('data-rowindex'), 10);
699-
grid.navigation.performHorizontalScrollToCell(rowIndex, visibleColumnIndex);
699+
this.horizontalScrollGridToIndex(grid, visibleColumnIndex, () => {
700+
this.focusNextRow(elem, visibleColumnIndex, grid, isSummary);
701+
});
700702
}
701703
}
704+
public getColumnUnpinnedIndex(visibleColumnIndex: number, grid?: IgxHierarchicalGridComponent) {
705+
const currGrid = grid || this.grid;
706+
const column = currGrid.unpinnedColumns.find((col) => !col.columnGroup && col.visibleIndex === visibleColumnIndex);
707+
return currGrid.pinnedColumns.length ? currGrid.unpinnedColumns.filter((c) => !c.columnGroup).indexOf(column) :
708+
visibleColumnIndex;
709+
}
702710

703711
private focusPrevRow(elem, visibleColumnIndex, grid, inChild?, isSummary?) {
712+
const lastCellIndex = grid.unpinnedColumns[grid.unpinnedColumns.length - 1].visibleIndex;
713+
visibleColumnIndex = Math.min(lastCellIndex, visibleColumnIndex);
704714
if (grid.navigation.isColumnFullyVisible(visibleColumnIndex)) {
705715
const cellSelector = this.getCellSelector(visibleColumnIndex, isSummary);
706716
const cells = elem.querySelectorAll(`${cellSelector}[data-visibleIndex="${visibleColumnIndex}"]`);
@@ -735,7 +745,7 @@ export class IgxHierarchicalGridNavigationService extends IgxGridNavigationServi
735745
}
736746

737747
private horizontalScrollGridToIndex(grid, visibleColumnIndex, callBackFunc) {
738-
const unpinnedIndex = this.getColumnUnpinnedIndex(visibleColumnIndex);
748+
const unpinnedIndex = this.getColumnUnpinnedIndex(visibleColumnIndex, grid);
739749
grid.parentVirtDir.onChunkLoad
740750
.pipe(first())
741751
.subscribe(callBackFunc);

0 commit comments

Comments
 (0)