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
  • Loading branch information
ihor-romaniuk authored and leangseu-edx committed Jun 21, 2023
1 parent 62652c7 commit 42e84e3
Showing 1 changed file with 21 additions and 2 deletions.
23 changes: 21 additions & 2 deletions xmodule/js/src/video/04_video_full_screen.js
Original file line number Diff line number Diff line change
Expand Up @@ -161,7 +161,21 @@
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 42e84e3

Please sign in to comment.