Skip to content

Commit

Permalink
fix: save scroll position on exit from video xblock fullscreen mode (…
Browse files Browse the repository at this point in the history
…#31871)
  • Loading branch information
ihor-romaniuk authored and JuanDavidBuitrago committed Jul 18, 2023
1 parent 04d44d0 commit d808a8d
Showing 1 changed file with 20 additions and 1 deletion.
21 changes: 20 additions & 1 deletion xmodule/js/src/video/04_video_full_screen.js
Original file line number Diff line number Diff line change
Expand Up @@ -161,6 +161,20 @@
return this.videoFullScreen.height;
}

function notifyParent(fullscreenOpen) {
if (window !== window.parent) {
// This is used by the Learning MFE to know about changing fullscreen mode.
// The MFE is then able to respond appropriately and scroll window to the previous position.
window.parent.postMessage({
type: 'plugin.videoFullScreen',
payload: {
open: fullscreenOpen
}
}, document.referrer
);
}
}

/**
* Event handler to toggle fullscreen mode.
* @param {jquery Event} event
Expand Down Expand Up @@ -192,6 +206,8 @@
this.resizer.delta.reset().setMode('width');
}
this.el.trigger('fullscreen', [this.isFullScreen]);

this.videoFullScreen.notifyParent(false);
}

function handleEnter() {
Expand All @@ -202,6 +218,8 @@
return;
}

this.videoFullScreen.notifyParent(true);

this.videoFullScreen.fullScreenState = this.isFullScreen = true;
fullScreenClassNameEl.addClass('video-fullscreen');
this.videoFullScreen.fullScreenEl
Expand Down Expand Up @@ -267,7 +285,8 @@
handleFullscreenChange: handleFullscreenChange,
toggle: toggle,
toggleHandler: toggleHandler,
updateControlsHeight: updateControlsHeight
updateControlsHeight: updateControlsHeight,
notifyParent: notifyParent,
};

state.bindTo(methodsDict, state.videoFullScreen, state);
Expand Down

0 comments on commit d808a8d

Please sign in to comment.