diff --git a/core/misc/dialog/dialog.position.js b/core/misc/dialog/dialog.position.js index 7678646..bc949a1 100644 --- a/core/misc/dialog/dialog.position.js +++ b/core/misc/dialog/dialog.position.js @@ -45,12 +45,15 @@ // jQuery UI does not support percentages on heights, convert to pixels. if (typeof optionValue === 'string' && /%$/.test(optionValue) && /height/i.test(option)) { // Take offsets in account. - windowHeight -= displace.offsets.top + displace.offsets.bottom; + if (!event.data.settings.modal) { + windowHeight -= displace.offsets.top + displace.offsets.bottom; + } adjustedValue = parseInt(0.01 * parseInt(optionValue, 10) * windowHeight, 10); // Don't force the dialog to be bigger vertically than needed. if (option === 'height' && event.data.$element.parent().outerHeight() < adjustedValue) { adjustedValue = 'auto'; } + adjustedOptions.modal = event.data.settings.modal; adjustedOptions[option] = adjustedValue; } } @@ -74,7 +77,7 @@ * Altered options object. */ function resetPosition(options) { - var offsets = displace.offsets; + var offsets = options.modal ? { left: 0, right: 0, top: 0, bottom: 0 } : displace.offsets; var left = offsets.left - offsets.right; var top = offsets.top - offsets.bottom;