Skip to content

Commit 8dfe38c

Browse files
committed
fix(tabs): improve tab scrolling for different window scales
1 parent 6d54034 commit 8dfe38c

File tree

2 files changed

+7
-4
lines changed

2 files changed

+7
-4
lines changed

projects/igniteui-angular/src/lib/tabs/tabs/tab-header.component.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ export class IgxTabHeaderComponent extends IgxTabHeaderDirective implements Afte
9696
}
9797

9898
if (!unsupportedKey) {
99-
itemsArray[newIndex].headerComponent.nativeElement.focus();
99+
itemsArray[newIndex].headerComponent.nativeElement.focus({preventScroll:true});
100100
if (this.tab.panelComponent) {
101101
this.tabs.selectedIndex = newIndex;
102102
}

projects/igniteui-angular/src/lib/tabs/tabs/tabs.component.ts

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -231,16 +231,19 @@ export class IgxTabsComponent extends IgxTabsDirective implements AfterViewInit,
231231

232232
private scroll(scrollRight: boolean): void {
233233
const tabsArray = this.items.toArray();
234-
for (const tab of tabsArray) {
234+
235+
for (let index = 0; index < tabsArray.length; index++) {
236+
const tab = tabsArray[index];
235237
const element = tab.headerComponent.nativeElement;
238+
236239
if (scrollRight) {
237240
if (element.offsetWidth + element.offsetLeft > this.viewPort.nativeElement.offsetWidth + this.offset) {
238241
this.scrollElement(element, scrollRight);
239242
break;
240243
}
241244
} else {
242-
if (element.offsetWidth + element.offsetLeft >= this.offset - 1) {
243-
this.scrollElement(element, scrollRight);
245+
if (element.offsetLeft >= this.offset) {
246+
this.scrollElement(tabsArray[index - 1].headerComponent.nativeElement, scrollRight);
244247
break;
245248
}
246249
}

0 commit comments

Comments
 (0)