From 4cd273de6c79bef573c44f9b7458a1b2e9d837f7 Mon Sep 17 00:00:00 2001 From: Martin Dragnev Date: Fri, 10 Jan 2020 17:52:46 +0200 Subject: [PATCH 1/4] fix(igxHGrid): Check VisibleColumnIndex is not greater than columns length #5126 --- .../hierarchical-grid-navigation.service.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/projects/igniteui-angular/src/lib/grids/hierarchical-grid/hierarchical-grid-navigation.service.ts b/projects/igniteui-angular/src/lib/grids/hierarchical-grid/hierarchical-grid-navigation.service.ts index 88075c56244..07d2510b4a5 100644 --- a/projects/igniteui-angular/src/lib/grids/hierarchical-grid/hierarchical-grid-navigation.service.ts +++ b/projects/igniteui-angular/src/lib/grids/hierarchical-grid/hierarchical-grid-navigation.service.ts @@ -609,7 +609,10 @@ export class IgxHierarchicalGridNavigationService extends IgxGridNavigationServi if (nextIsSiblingChild) { this.focusNextChild(next, visibleColumnIndex, nextParentGrid); } else { - this.focusNextRow(next, visibleColumnIndex, grid || nextParentGrid); + const nextGrid = grid || nextParentGrid; + this.focusNextRow(next, visibleColumnIndex > nextParentGrid.columnList.length + ? nextParentGrid.columnList.length - 1 + : visibleColumnIndex, nextGrid); } } else if (verticalScroll.scrollTop !== verticalScroll.scrollHeight - nextParentGrid.verticalScrollContainer.igxForContainerSize && !atLastChunk) { From bb4963f54cc9ad6c4d2a15d69a9412e94a37c762 Mon Sep 17 00:00:00 2001 From: Martin Dragnev Date: Fri, 10 Jan 2020 18:00:12 +0200 Subject: [PATCH 2/4] chore(*): Fixing typo mistake --- .../hierarchical-grid/hierarchical-grid-navigation.service.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/projects/igniteui-angular/src/lib/grids/hierarchical-grid/hierarchical-grid-navigation.service.ts b/projects/igniteui-angular/src/lib/grids/hierarchical-grid/hierarchical-grid-navigation.service.ts index 07d2510b4a5..de8d09d1603 100644 --- a/projects/igniteui-angular/src/lib/grids/hierarchical-grid/hierarchical-grid-navigation.service.ts +++ b/projects/igniteui-angular/src/lib/grids/hierarchical-grid/hierarchical-grid-navigation.service.ts @@ -610,7 +610,7 @@ export class IgxHierarchicalGridNavigationService extends IgxGridNavigationServi this.focusNextChild(next, visibleColumnIndex, nextParentGrid); } else { const nextGrid = grid || nextParentGrid; - this.focusNextRow(next, visibleColumnIndex > nextParentGrid.columnList.length + this.focusNextRow(next, visibleColumnIndex > nextGrid.columnList.length ? nextParentGrid.columnList.length - 1 : visibleColumnIndex, nextGrid); } From 1fc8e7759fe8eb521999f08edcdf89c4591ddfc6 Mon Sep 17 00:00:00 2001 From: Martin Dragnev Date: Tue, 14 Jan 2020 17:42:23 +0200 Subject: [PATCH 3/4] chore(*): code refactoring --- .../hierarchical-grid-navigation.service.ts | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/projects/igniteui-angular/src/lib/grids/hierarchical-grid/hierarchical-grid-navigation.service.ts b/projects/igniteui-angular/src/lib/grids/hierarchical-grid/hierarchical-grid-navigation.service.ts index de8d09d1603..4d97ebfed80 100644 --- a/projects/igniteui-angular/src/lib/grids/hierarchical-grid/hierarchical-grid-navigation.service.ts +++ b/projects/igniteui-angular/src/lib/grids/hierarchical-grid/hierarchical-grid-navigation.service.ts @@ -610,9 +610,7 @@ export class IgxHierarchicalGridNavigationService extends IgxGridNavigationServi this.focusNextChild(next, visibleColumnIndex, nextParentGrid); } else { const nextGrid = grid || nextParentGrid; - this.focusNextRow(next, visibleColumnIndex > nextGrid.columnList.length - ? nextParentGrid.columnList.length - 1 - : visibleColumnIndex, nextGrid); + this.focusNextRow(next, visibleColumnIndex, grid || nextParentGrid); } } else if (verticalScroll.scrollTop !== verticalScroll.scrollHeight - nextParentGrid.verticalScrollContainer.igxForContainerSize && !atLastChunk) { @@ -671,6 +669,8 @@ export class IgxHierarchicalGridNavigationService extends IgxGridNavigationServi } private focusNextRow(elem, visibleColumnIndex, grid, isSummary?) { + const lastCellIndex = grid.unpinnedColumns[grid.unpinnedColumns.length - 1].visibleIndex; + visibleColumnIndex = Math.min(lastCellIndex, visibleColumnIndex); const cellSelector = this.getCellSelector(visibleColumnIndex, isSummary); if (grid.navigation.isColumnFullyVisible(visibleColumnIndex) || grid.rowList.length === 0) { const cell = @@ -697,6 +697,8 @@ export class IgxHierarchicalGridNavigationService extends IgxGridNavigationServi } private focusPrevRow(elem, visibleColumnIndex, grid, inChild?, isSummary?) { + const lastCellIndex = grid.unpinnedColumns[grid.unpinnedColumns.length - 1].visibleIndex; + visibleColumnIndex = Math.min(lastCellIndex, visibleColumnIndex); if (grid.navigation.isColumnFullyVisible(visibleColumnIndex)) { const cellSelector = this.getCellSelector(visibleColumnIndex, isSummary); const cells = elem.querySelectorAll(`${cellSelector}[data-visibleIndex="${visibleColumnIndex}"]`); From d70a5557db71d0873a4266596ce727dbf12a2412 Mon Sep 17 00:00:00 2001 From: Martin Dragnev Date: Tue, 14 Jan 2020 17:45:17 +0200 Subject: [PATCH 4/4] chore(*): Code refactoring --- .../hierarchical-grid/hierarchical-grid-navigation.service.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/projects/igniteui-angular/src/lib/grids/hierarchical-grid/hierarchical-grid-navigation.service.ts b/projects/igniteui-angular/src/lib/grids/hierarchical-grid/hierarchical-grid-navigation.service.ts index 4d97ebfed80..b4e80bbe255 100644 --- a/projects/igniteui-angular/src/lib/grids/hierarchical-grid/hierarchical-grid-navigation.service.ts +++ b/projects/igniteui-angular/src/lib/grids/hierarchical-grid/hierarchical-grid-navigation.service.ts @@ -609,7 +609,6 @@ export class IgxHierarchicalGridNavigationService extends IgxGridNavigationServi if (nextIsSiblingChild) { this.focusNextChild(next, visibleColumnIndex, nextParentGrid); } else { - const nextGrid = grid || nextParentGrid; this.focusNextRow(next, visibleColumnIndex, grid || nextParentGrid); } } else if (verticalScroll.scrollTop !==