diff --git a/js/h5p-confirmation-dialog.js b/js/h5p-confirmation-dialog.js index 15dd71e..a8d4ac2 100644 --- a/js/h5p-confirmation-dialog.js +++ b/js/h5p-confirmation-dialog.js @@ -154,9 +154,13 @@ H5P.ConfirmationDialog = (function (EventDispatcher) { /** * Fit popup to container. Makes sure it doesn't overflow. + * @params {number} [offsetTop] Offset of popup */ - var fitToContainer = function () { + var fitToContainer = function (offsetTop) { var popupOffsetTop = parseInt(popup.style.top, 10); + if (offsetTop) { + popupOffsetTop = offsetTop; + } // Overflows height if (popupOffsetTop + popup.offsetHeight > wrapperElement.offsetHeight) { @@ -178,30 +182,27 @@ H5P.ConfirmationDialog = (function (EventDispatcher) { * @returns {H5P.ConfirmationDialog} */ this.show = function (offsetTop) { - popup.style.top = offsetTop + 'px'; popupBackground.classList.remove('hidden'); - fitToContainer(); + fitToContainer(offsetTop); setTimeout(function () { popup.classList.remove('hidden'); popupBackground.classList.remove('hiding'); - // Resize iFrame if necessary - if (resizeIFrame && options.instance) { - setTimeout(function () { + setTimeout(function () { + // Focus confirm button + confirmButton.focus(); + + // Resize iFrame if necessary + if (resizeIFrame && options.instance) { var minHeight = parseInt(popup.offsetHeight, 10) + exitButtonOffset + (2 * shadowOffset); wrapperElement.style.minHeight = minHeight + 'px'; options.instance.trigger('resize'); resizeIFrame = false; - }, 100); - } - + } + }, 100); }, 0); - // Programmatically focus popup - popup.setAttribute('tabindex', '-1'); - popup.focus(); - return this; };