Merge pull request #32 from h5p/semi-fullscreen-api-function

Added semi fullscreen function
pull/27/head 1.11.0
Pål Jørgensen 2016-11-30 09:40:17 +01:00 committed by GitHub
commit ece72fcfbe
1 changed files with 17 additions and 3 deletions

View File

@ -477,6 +477,19 @@ H5P.communicator = (function () {
return (window.postMessage && window.addEventListener ? new Communicator() : undefined);
})();
/**
* Enter semi fullscreen for the given H5P instance
*
* @method semiFullScreen
* @param {H5P.jQuery} $element Content container.
* @param {Object} instance
* @param {function} exitCallback Callback function called when user exits fullscreen.
* @param {H5P.jQuery} $body For internal use. Gives the body of the iframe.
*/
H5P.semiFullScreen = function ($element, instance, exitCallback, body) {
H5P.fullScreen($element, instance, exitCallback, body, true);
};
/**
* Enter fullscreen for the given H5P instance.
*
@ -484,15 +497,16 @@ H5P.communicator = (function () {
* @param {Object} instance
* @param {function} exitCallback Callback function called when user exits fullscreen.
* @param {H5P.jQuery} $body For internal use. Gives the body of the iframe.
* @param {Boolean} forceSemiFullScreen
*/
H5P.fullScreen = function ($element, instance, exitCallback, body) {
H5P.fullScreen = function ($element, instance, exitCallback, body, forceSemiFullScreen) {
if (H5P.exitFullScreen !== undefined) {
return; // Cannot enter new fullscreen until previous is over
}
if (H5P.isFramed && H5P.externalEmbed === false) {
// Trigger resize on wrapper in parent window.
window.parent.H5P.fullScreen($element, instance, exitCallback, H5P.$body.get());
window.parent.H5P.fullScreen($element, instance, exitCallback, H5P.$body.get(), forceSemiFullScreen);
H5P.isFullscreen = true;
H5P.exitFullScreen = function () {
window.parent.H5P.exitFullScreen();
@ -572,7 +586,7 @@ H5P.fullScreen = function ($element, instance, exitCallback, body) {
};
H5P.isFullscreen = true;
if (H5P.fullScreenBrowserPrefix === undefined) {
if (H5P.fullScreenBrowserPrefix === undefined || forceSemiFullScreen === true) {
// Create semi fullscreen.
if (H5P.isFramed) {