Skip to content

Commit

Permalink
fix: simplify code by using common method
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 efe4065 commit 9e0b59f
Showing 1 changed file with 19 additions and 24 deletions.
43 changes: 19 additions & 24 deletions xmodule/js/src/video/04_video_full_screen.js
Original file line number Diff line number Diff line change
Expand Up @@ -162,7 +162,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 @@ -194,17 +208,7 @@
}
this.el.trigger('fullscreen', [this.isFullScreen]);

if (window !== window.parent) {
// This is used by the Learning MFE to know about closing 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: false
}
}, document.referrer
);
}
this.videoFullScreen.notifyParent(false);
}

function handleEnter() {
Expand All @@ -215,17 +219,7 @@
return;
}

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

this.videoFullScreen.fullScreenState = this.isFullScreen = true;
fullScreenClassNameEl.addClass('video-fullscreen');
Expand Down Expand Up @@ -292,7 +286,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 9e0b59f

Please sign in to comment.