From 4e590b26dc8f0fe83d9fdafaa51c00a0fd7f8543 Mon Sep 17 00:00:00 2001 From: Mark Johnson Date: Wed, 11 Sep 2019 09:20:56 +0100 Subject: [PATCH] MOBILE-3143 Tabs: Prevent tabs disappearing when scrolling down. --- src/components/tabs/tabs.ts | 48 +++++++++++++++++-------------------- 1 file changed, 22 insertions(+), 26 deletions(-) diff --git a/src/components/tabs/tabs.ts b/src/components/tabs/tabs.ts index ba7b9fdb1..5715c32bb 100644 --- a/src/components/tabs/tabs.ts +++ b/src/components/tabs/tabs.ts @@ -223,10 +223,8 @@ export class CoreTabsComponent implements OnInit, AfterViewInit, OnChanges, OnDe return; } - setTimeout(() => { - this.calculateMaxSlides(); - this.updateSlides(); - }); + this.calculateMaxSlides(); + this.updateSlides(); } /** @@ -352,32 +350,30 @@ export class CoreTabsComponent implements OnInit, AfterViewInit, OnChanges, OnDe this.slideChanged(); - setTimeout(() => { - this.calculateTabBarHeight(); - this.slides.update(); - this.slides.resize(); + this.calculateTabBarHeight(); + this.slides.update(); + this.slides.resize(); - if (!this.hasSliddenToInitial && this.selected && this.selected >= this.slidesShown) { - this.hasSliddenToInitial = true; - this.shouldSlideToInitial = true; - - setTimeout(() => { - if (this.shouldSlideToInitial) { - this.slides.slideTo(this.selected, 0); - this.shouldSlideToInitial = false; - this.updateAriaHidden(); // Slide's slideTo() sets aria-hidden to true, update it. - } - }, 400); - - return; - } else if (this.selected) { - this.hasSliddenToInitial = true; - } + if (!this.hasSliddenToInitial && this.selected && this.selected >= this.slidesShown) { + this.hasSliddenToInitial = true; + this.shouldSlideToInitial = true; setTimeout(() => { - this.updateAriaHidden(); // Slide's update() sets aria-hidden to true, update it. + if (this.shouldSlideToInitial) { + this.slides.slideTo(this.selected, 0); + this.shouldSlideToInitial = false; + this.updateAriaHidden(); // Slide's slideTo() sets aria-hidden to true, update it. + } }, 400); - }); + + return; + } else if (this.selected) { + this.hasSliddenToInitial = true; + } + + setTimeout(() => { + this.updateAriaHidden(); // Slide's update() sets aria-hidden to true, update it. + }, 400); } protected calculateMaxSlides(): void {