Skip to content

Commit e9bc075

Browse files
MKirovaMKirova
authored andcommitted
fix(igxGrid): Fix issues when grid container is scrolled left as a result of focus. Unifying logic between the 3 grids.
1 parent 1357bcb commit e9bc075

File tree

4 files changed

+13
-19
lines changed

4 files changed

+13
-19
lines changed

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

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3043,7 +3043,7 @@ export class IgxGridBaseDirective extends DisplayDensityBase implements
30433043
this._zoneBegoneListeners();
30443044

30453045
const vertScrDC = this.verticalScrollContainer.displayContainer;
3046-
vertScrDC.addEventListener('scroll', this.scrollHandler);
3046+
vertScrDC.addEventListener('scroll', this.preventContainerScroll);
30473047
this.pinContainers.changes.subscribe((c) => {
30483048
if (this.hasPinnedRecords) {
30493049
// on row pin containers change grid sizes should be recalculated.
@@ -3121,7 +3121,7 @@ export class IgxGridBaseDirective extends DisplayDensityBase implements
31213121
this.verticalScrollContainer.getScroll().removeEventListener('scroll', this.verticalScrollHandler);
31223122
this.headerContainer.getScroll().removeEventListener('scroll', this.horizontalScrollHandler);
31233123
const vertScrDC = this.verticalScrollContainer.displayContainer;
3124-
vertScrDC.removeEventListener('scroll', this.scrollHandler);
3124+
vertScrDC.removeEventListener('scroll', this.preventContainerScroll);
31253125
});
31263126
}
31273127

@@ -5549,11 +5549,15 @@ export class IgxGridBaseDirective extends DisplayDensityBase implements
55495549
/**
55505550
* @hidden @internal
55515551
*/
5552-
public scrollHandler = (event) => {
5553-
this.headerContainer.scrollPosition += event.target.scrollLeft;
5554-
this.verticalScrollContainer.scrollPosition += event.target.scrollTop;
5555-
event.target.scrollLeft = 0;
5556-
event.target.scrollTop = 0;
5552+
public preventContainerScroll = (evt) => {
5553+
if (evt.target.scrollTop !== 0) {
5554+
this.verticalScrollContainer.addScrollTop(evt.target.scrollTop);
5555+
evt.target.scrollTop = 0;
5556+
}
5557+
if (evt.target.scrollLeft !== 0) {
5558+
this.headerContainer.scrollPosition += evt.target.scrollLeft;
5559+
evt.target.scrollLeft = 0;
5560+
}
55575561
}
55585562

55595563
/**

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

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -477,16 +477,6 @@ export class IgxGridComponent extends IgxGridBaseDirective implements GridType,
477477
};
478478
}
479479

480-
/**
481-
* @hidden @internal
482-
*/
483-
public preventContainerScroll(evt) {
484-
if (evt.target.scrollTop !== 0) {
485-
this.verticalScrollContainer.addScrollTop(evt.target.scrollTop);
486-
evt.target.scrollTop = 0;
487-
}
488-
}
489-
490480
/**
491481
* @hidden @internal
492482
*/

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@
8686
<div class="igx-grid__tbody-content" tabindex="0" (focus)="navigation.focusTbody($event)" [attr.aria-activedescendant]="activeDescendant"
8787
(keydown)="navigation.dispatchEvent($event)" (onDragStop)="selectionService.dragMode = $event"
8888
(onDragScroll)="dragScroll($event)" [igxGridDragSelect]="selectionService.dragMode" role="rowgroup"
89-
[style.height.px]='totalHeight' [style.width.px]='calcWidth' #tbody (scroll)='scrollHandler($event)'>
89+
[style.height.px]='totalHeight' [style.width.px]='calcWidth' #tbody (scroll)='preventContainerScroll($event)'>
9090
<span *ngIf="hasMovableColumns && draggedColumn && pinnedColumns.length <= 0"
9191
[igxColumnMovingDrop]="headerContainer" [attr.droppable]="true" id="left"
9292
class="igx-grid__scroll-on-drag-left"></span>

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@
6767
<div igxGridBody (keydown.control.c)="copyHandlerIE()" (copy)="copyHandler($event)" class="igx-grid__tbody">
6868
<div class="igx-grid__tbody-content" tabindex="0" (focus)="navigation.focusTbody($event)" [attr.aria-activedescendant]="activeDescendant" (keydown)="navigation.dispatchEvent($event)" role="rowgroup" (onDragStop)="selectionService.dragMode = $event"
6969
(onDragScroll)="dragScroll($event)" [igxGridDragSelect]="selectionService.dragMode"
70-
[style.height.px]='totalHeight' [style.width.px]='calcWidth' #tbody (scroll)='scrollHandler($event)'>
70+
[style.height.px]='totalHeight' [style.width.px]='calcWidth' #tbody (scroll)='preventContainerScroll($event)'>
7171
<span *ngIf="hasMovableColumns && draggedColumn && pinnedColumns.length <= 0"
7272
[igxColumnMovingDrop]="headerContainer" [attr.droppable]="true" id="left"
7373
class="igx-grid__scroll-on-drag-left"></span>

0 commit comments

Comments
 (0)