MOBILE-3320 core: Fix hide tabs issues in SCORM and H5P
parent
d67fd93b92
commit
cbb69db301
|
@ -80,6 +80,7 @@ export class AddonModH5PActivityIndexComponent extends CoreCourseModuleMainActiv
|
||||||
hasOffline = false;
|
hasOffline = false;
|
||||||
isOpeningPage = false;
|
isOpeningPage = false;
|
||||||
|
|
||||||
|
protected listeningResize = false;
|
||||||
protected fetchContentDefaultError = 'addon.mod_h5pactivity.errorgetactivity';
|
protected fetchContentDefaultError = 'addon.mod_h5pactivity.errorgetactivity';
|
||||||
protected syncEventName = AddonModH5PActivitySyncProvider.AUTO_SYNCED;
|
protected syncEventName = AddonModH5PActivitySyncProvider.AUTO_SYNCED;
|
||||||
protected site: CoreSite;
|
protected site: CoreSite;
|
||||||
|
@ -372,8 +373,7 @@ export class AddonModH5PActivityIndexComponent extends CoreCourseModuleMainActiv
|
||||||
|
|
||||||
CoreCourse.checkModuleCompletion(this.courseId, this.module.completiondata);
|
CoreCourse.checkModuleCompletion(this.courseId, this.module.completiondata);
|
||||||
|
|
||||||
window.addEventListener('resize', this.contentResized.bind(this));
|
this.setResizeListener();
|
||||||
this.contentResized();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -488,6 +488,19 @@ export class AddonModH5PActivityIndexComponent extends CoreCourseModuleMainActiv
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set the resize listener if needed.
|
||||||
|
*/
|
||||||
|
setResizeListener(): void {
|
||||||
|
if (!this.playing || this.listeningResize) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
this.listeningResize = true;
|
||||||
|
window.addEventListener('resize', this.contentResized.bind(this));
|
||||||
|
this.contentResized();
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* On content resize, change visibility of the main menu: show on portrait and hide on landscape.
|
* On content resize, change visibility of the main menu: show on portrait and hide on landscape.
|
||||||
*/
|
*/
|
||||||
|
@ -495,6 +508,25 @@ export class AddonModH5PActivityIndexComponent extends CoreCourseModuleMainActiv
|
||||||
this.mainMenuPage.changeVisibility(Platform.isPortrait());
|
this.mainMenuPage.changeVisibility(Platform.isPortrait());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @inheritdoc
|
||||||
|
*/
|
||||||
|
ionViewDidEnter(): void {
|
||||||
|
this.setResizeListener();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @inheritdoc
|
||||||
|
*/
|
||||||
|
ionViewWillLeave(): void {
|
||||||
|
this.mainMenuPage.changeVisibility(true);
|
||||||
|
|
||||||
|
if (this.listeningResize) {
|
||||||
|
this.listeningResize = false;
|
||||||
|
window.removeEventListener('resize', this.resizeFunction);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Component destroyed.
|
* Component destroyed.
|
||||||
*/
|
*/
|
||||||
|
@ -503,10 +535,6 @@ export class AddonModH5PActivityIndexComponent extends CoreCourseModuleMainActiv
|
||||||
|
|
||||||
this.observer?.off();
|
this.observer?.off();
|
||||||
window.removeEventListener('message', this.messageListenerFunction);
|
window.removeEventListener('message', this.messageListenerFunction);
|
||||||
|
|
||||||
if (this.playing) {
|
|
||||||
window.removeEventListener('resize', this.resizeFunction);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -533,6 +533,22 @@ export class AddonModScormPlayerPage implements OnInit, OnDestroy {
|
||||||
}));
|
}));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @inheritdoc
|
||||||
|
*/
|
||||||
|
ionViewDidEnter(): void {
|
||||||
|
if (this.scorm && this.scorm.popup) {
|
||||||
|
this.mainMenuPage.changeVisibility(false);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @inheritdoc
|
||||||
|
*/
|
||||||
|
ionViewWillLeave(): void {
|
||||||
|
this.mainMenuPage.changeVisibility(true);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Component being destroyed.
|
* Component being destroyed.
|
||||||
*/
|
*/
|
||||||
|
@ -549,8 +565,6 @@ export class AddonModScormPlayerPage implements OnInit, OnDestroy {
|
||||||
this.goOfflineObserver?.off();
|
this.goOfflineObserver?.off();
|
||||||
}, 500);
|
}, 500);
|
||||||
|
|
||||||
this.mainMenuPage.changeVisibility(true);
|
|
||||||
|
|
||||||
// Unblock the SCORM so it can be synced.
|
// Unblock the SCORM so it can be synced.
|
||||||
CoreSync.unblockOperation(AddonModScormProvider.COMPONENT, this.scorm.id, 'player');
|
CoreSync.unblockOperation(AddonModScormProvider.COMPONENT, this.scorm.id, 'player');
|
||||||
}
|
}
|
||||||
|
|
|
@ -64,4 +64,18 @@ export class CoreCourseModuleMainActivityPage<ActivityType extends CoreCourseMod
|
||||||
this.activityComponent?.ionViewDidLeave();
|
this.activityComponent?.ionViewDidLeave();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* User will enter the page.
|
||||||
|
*/
|
||||||
|
ionViewWillEnter(): void {
|
||||||
|
this.activityComponent?.ionViewWillEnter();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* User will leave the page.
|
||||||
|
*/
|
||||||
|
ionViewWillLeave(): void {
|
||||||
|
this.activityComponent?.ionViewWillLeave();
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -452,4 +452,18 @@ export class CoreCourseModuleMainResourceComponent implements OnInit, OnDestroy,
|
||||||
this.isCurrentView = false;
|
this.isCurrentView = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* User will enter the page that contains the component. This function should be called by the page that contains the component.
|
||||||
|
*/
|
||||||
|
ionViewWillEnter(): void {
|
||||||
|
// To be overridden.
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* User will leave the page that contains the component. This function should be called by the page that contains the component.
|
||||||
|
*/
|
||||||
|
ionViewWillLeave(): void {
|
||||||
|
// To be overridden.
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue