From d840390f9a85e8f66a791bbe73c51bfbfe18dd45 Mon Sep 17 00:00:00 2001 From: Oliver Tacke Date: Tue, 22 Mar 2022 13:36:41 +0100 Subject: [PATCH 1/2] Fix re-creating state for user responses --- js/summary.js | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/js/summary.js b/js/summary.js index 15d1fcd..87ba87a 100644 --- a/js/summary.js +++ b/js/summary.js @@ -171,6 +171,9 @@ H5P.Summary = (function ($, Question, XApiEventBuilder, StopWatch) { summaries: [] }; + // dataBitMap can contain empty entries as offset for previous panels + var emptyEntriesCount = 0; + for (var summaryIndex = 0; summaryIndex < that.summaries[panelIndex].summary.length; summaryIndex++) { var isAnswer = (summaryIndex === 0); that.answer[id] = isAnswer; // First claim is correct @@ -179,9 +182,11 @@ H5P.Summary = (function ($, Question, XApiEventBuilder, StopWatch) { that.dataBitMap[panelIndex] = this.dataBitMap[panelIndex] || []; that.dataBitMap[panelIndex][id] = summaryIndex; + emptyEntriesCount = that.dataBitMap[panelIndex].length - (that.dataBitMap[panelIndex].filter(function () { return true; })).length; + // checks the answer and updates the user response array if(that.answers[panelIndex] && (that.answers[panelIndex].indexOf(id) !== -1)){ - this.storeUserResponse(panelIndex, summaryIndex); + this.storeUserResponse(panelIndex, emptyEntriesCount + summaryIndex); } // adds to elements @@ -193,7 +198,7 @@ H5P.Summary = (function ($, Question, XApiEventBuilder, StopWatch) { // if we have progressed passed this point, the success pattern must also be saved if(panelIndex < that.progress){ - this.storeUserResponse(panelIndex, 0); + this.storeUserResponse(panelIndex, emptyEntriesCount); } // Randomize elements From 195ea2e7bbec8585656555fdd97d8729e1d7d068 Mon Sep 17 00:00:00 2001 From: Oliver Tacke Date: Tue, 9 Aug 2022 15:31:00 +0200 Subject: [PATCH 2/2] Add verbosity for non-obvious behavior --- js/summary.js | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/js/summary.js b/js/summary.js index 87ba87a..a26c566 100644 --- a/js/summary.js +++ b/js/summary.js @@ -182,7 +182,12 @@ H5P.Summary = (function ($, Question, XApiEventBuilder, StopWatch) { that.dataBitMap[panelIndex] = this.dataBitMap[panelIndex] || []; that.dataBitMap[panelIndex][id] = summaryIndex; - emptyEntriesCount = that.dataBitMap[panelIndex].length - (that.dataBitMap[panelIndex].filter(function () { return true; })).length; + const filledEntriesCount = ( + that.dataBitMap[panelIndex].filter(function () { + return true; // dataBitMap[panelIndex] can contain "empty" values + }) + ).length; + emptyEntriesCount = that.dataBitMap[panelIndex].length - filledEntriesCount; // checks the answer and updates the user response array if(that.answers[panelIndex] && (that.answers[panelIndex].indexOf(id) !== -1)){