Deprecate 'overrideSettings'
* Deprecate and log warning to console when 'overrideSettings' is used * Change confirmation dialog be 'fixed' e.g relative to viewport instead of and arbitrary relative parent element * Same for the overlay mask * Set minimum height on body element, to fit confirmation dialog * Remove the minimum height on close dialog Fixes HFP-574pull/40/head
parent
fb76e09e8c
commit
481322e6ae
|
@ -315,7 +315,7 @@ H5P.ConfirmationDialog = (function (EventDispatcher) {
|
|||
if (resizeIFrame && options.instance) {
|
||||
var minHeight = parseInt(popup.offsetHeight, 10) +
|
||||
exitButtonOffset + (2 * shadowOffset);
|
||||
wrapperElement.style.minHeight = minHeight + 'px';
|
||||
self.setViewPortMinimumHeight(minHeight);
|
||||
options.instance.trigger('resize');
|
||||
resizeIFrame = false;
|
||||
}
|
||||
|
@ -340,10 +340,20 @@ H5P.ConfirmationDialog = (function (EventDispatcher) {
|
|||
setTimeout(function () {
|
||||
popupBackground.classList.add('hidden');
|
||||
wrapperElement.removeChild(popupBackground);
|
||||
self.setViewPortMinimumHeight(null);
|
||||
}, 100);
|
||||
|
||||
return this;
|
||||
};
|
||||
|
||||
/**
|
||||
* Sets the minimum height of the view port
|
||||
*
|
||||
* @param {number|null} minHeight
|
||||
*/
|
||||
this.setViewPortMinimumHeight = function(minHeight) {
|
||||
document.body.style.minHeight = (typeof minHeight === 'number') ? (minHeight + 'px') : minHeight;
|
||||
};
|
||||
}
|
||||
|
||||
ConfirmationDialog.prototype = Object.create(EventDispatcher.prototype);
|
||||
|
|
21
js/h5p.js
21
js/h5p.js
|
@ -1000,24 +1000,13 @@ H5P.findCopyrights = function (info, parameters, contentId) {
|
|||
continue; // Do not check
|
||||
}
|
||||
|
||||
/*
|
||||
* TODO: Make parameters clean again
|
||||
* Some content types adds jQuery or other objects to parameters
|
||||
* in order to determine override settings for sub-content-types.
|
||||
* For instance Question Set tells Multiple Choice that it should
|
||||
* attach Multi Choice's confirmation dialog to a Question Set
|
||||
* jQuery element, so that the confirmation dialog will not be restricted
|
||||
* to the space confined by Multi Choice.
|
||||
* Ideally this should not be added to parameters, we must make a better
|
||||
* solution. We should likely be adding these to sub-content through
|
||||
* functions/setters instead of passing them down as params.
|
||||
*
|
||||
* This solution is implemented as a hack that will ignore all parameters
|
||||
* inside a "overrideSettings" field, this should suffice for now since
|
||||
* all overridden objects are added to this field, however this is not very
|
||||
* robust solution and will very likely lead to problems in the future.
|
||||
/**
|
||||
* @deprecated This hack should be removed after 2017-11-01
|
||||
* The code that was using this was removed by HFP-574
|
||||
*/
|
||||
if (field === 'overrideSettings') {
|
||||
console.warn("The semantics field 'overrideSettings' is DEPRECATED and should not be used.");
|
||||
console.warn(parameters);
|
||||
continue;
|
||||
}
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
.h5p-confirmation-dialog-background {
|
||||
position: absolute;
|
||||
position: fixed;
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
left: 0;
|
||||
|
@ -30,7 +30,7 @@
|
|||
}
|
||||
|
||||
.h5p-confirmation-dialog-popup {
|
||||
position: absolute;
|
||||
position: fixed;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
|
|
Loading…
Reference in New Issue