From 785d8390e8c0161a8bde91c7159ee4174b4b8ad3 Mon Sep 17 00:00:00 2001 From: Dani Palou Date: Thu, 21 Apr 2022 08:55:26 +0200 Subject: [PATCH 1/2] MOBILE-3833 course: Fix conflict with automatic scrolls --- .../course/components/course-format/course-format.ts | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/core/features/course/components/course-format/course-format.ts b/src/core/features/course/components/course-format/course-format.ts index ca8f8b29c..b6bada1f1 100644 --- a/src/core/features/course/components/course-format/course-format.ts +++ b/src/core/features/course/components/course-format/course-format.ts @@ -509,12 +509,14 @@ export class CoreCourseFormatComponent implements OnInit, OnChanges, OnDestroy { const moduleIdToScroll = this.moduleId && previousValue === undefined ? this.moduleId : moduleId; if (moduleIdToScroll) { this.scrollToModule(moduleIdToScroll); - } else { - this.content.scrollToTop(0); } - if (!previousValue || previousValue.id != newSection.id) { - // First load or section changed, add log in Moodle. + if (!previousValue || previousValue.id !== newSection.id) { + // First load or section changed. + if (!moduleIdToScroll) { + this.content.scrollToTop(0); + } + CoreUtils.ignoreErrors( CoreCourse.logView(this.course.id, newSection.section, undefined, this.course.fullname), ); From 21200eab2151b4bbf47fcece95587ef61cb9ef78 Mon Sep 17 00:00:00 2001 From: Dani Palou Date: Thu, 21 Apr 2022 09:51:24 +0200 Subject: [PATCH 2/2] MOBILE-3833 swipe-slides: Fix slides width after resize --- src/core/components/swipe-slides/swipe-slides.ts | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/core/components/swipe-slides/swipe-slides.ts b/src/core/components/swipe-slides/swipe-slides.ts index a169714e4..27e6587b3 100644 --- a/src/core/components/swipe-slides/swipe-slides.ts +++ b/src/core/components/swipe-slides/swipe-slides.ts @@ -18,6 +18,8 @@ import { import { CoreSwipeSlidesItemsManager } from '@classes/items-management/swipe-slides-items-manager'; import { IonContent, IonSlides } from '@ionic/angular'; import { CoreDomUtils, VerticalPoint } from '@services/utils/dom'; +import { CoreDom } from '@singletons/dom'; +import { CoreEventObserver } from '@singletons/events'; import { CoreMath } from '@singletons/math'; /** @@ -40,12 +42,17 @@ export class CoreSwipeSlidesComponent implements OnChanges, OnDe protected hostElement: HTMLElement; protected unsubscribe?: () => void; + protected resizeListener: CoreEventObserver; constructor( elementRef: ElementRef, protected content?: IonContent, ) { this.hostElement = elementRef.nativeElement; + + this.resizeListener = CoreDom.onWindowResize(() => { + this.slides?.update(); + }); } /** @@ -247,6 +254,7 @@ export class CoreSwipeSlidesComponent implements OnChanges, OnDe */ ngOnDestroy(): void { this.unsubscribe && this.unsubscribe(); + this.resizeListener.off(); } }