diff --git a/js/questionset.js b/js/questionset.js index eeac01d..945d2d5 100644 --- a/js/questionset.js +++ b/js/questionset.js @@ -115,6 +115,7 @@ H5P.QuestionSet = function (options, contentId) { var up; renderSolutions = false; + var $template = $(template.render(params)); // Set overrides for questions var override; if (params.override.showSolutionButton || params.override.retryButton) { @@ -141,6 +142,12 @@ H5P.QuestionSet = function (options, contentId) { // Extend subcontent with the overrided settings. $.extend(question.params.behaviour, override); } + + question.params = question.params || {}; + question.params.overrideSettings = question.params.overrideSettings || {}; + question.params.overrideSettings.$confirmationDialogParent = $template; + question.params.overrideSettings.instance = this; + var questionInstance = H5P.newRunnable(question, contentId, undefined, undefined, {parent: self}); questionInstance.on('resize', function () { up = true; @@ -422,7 +429,8 @@ H5P.QuestionSet = function (options, contentId) { } // Render own DOM into target. - $myDom.html(template.render(params)); + $myDom.children().remove(); + $myDom.append($template); if (params.backgroundImage !== undefined) { $myDom.css({ overflow: 'hidden', diff --git a/library.json b/library.json index 4ffc1b5..b50a5f1 100644 --- a/library.json +++ b/library.json @@ -4,7 +4,7 @@ "contentType": "question", "majorVersion": 1, "minorVersion": 8, - "patchVersion": 0, + "patchVersion": 1, "embedTypes": [ "iframe" ], @@ -61,4 +61,4 @@ "minorVersion": 1 } ] -} +} \ No newline at end of file diff --git a/upgrades.js b/upgrades.js index a44e08f..dc41328 100644 --- a/upgrades.js +++ b/upgrades.js @@ -28,18 +28,20 @@ H5PUpgrades['H5P.QuestionSet'] = (function ($) { */ 8: function (parameters, finished) { - if (parameters.override.overrideButtons) { - // Set new variables - parameters.override.showSolutionButton = - (parameters.override.overrideShowSolutionButton ? 'on' : 'off'); - parameters.override.retryButton = - (parameters.override.overrideRetry ? 'on' : 'off'); - } + if (parameters.override) { + if (parameters.override.overrideButtons) { + // Set new variables + parameters.override.showSolutionButton = + (parameters.override.overrideShowSolutionButton ? 'on' : 'off'); + parameters.override.retryButton = + (parameters.override.overrideRetry ? 'on' : 'off'); + } - // Remove old field variables - delete parameters.override.overrideButtons; - delete parameters.override.overrideShowSolutionButton; - delete parameters.override.overrideRetry; + // Remove old field variables + delete parameters.override.overrideButtons; + delete parameters.override.overrideShowSolutionButton; + delete parameters.override.overrideRetry; + } // Move copyright dialog question label if (parameters.questionLabel) {