Added xAPI support
parent
1ebb38b88b
commit
f491786c47
|
@ -16,6 +16,7 @@ H5P.QuestionSet = function (options, contentId) {
|
||||||
}
|
}
|
||||||
|
|
||||||
var $ = H5P.jQuery;
|
var $ = H5P.jQuery;
|
||||||
|
var self = this;
|
||||||
|
|
||||||
var texttemplate =
|
var texttemplate =
|
||||||
'<% if (introPage.showIntroPage) { %>' +
|
'<% if (introPage.showIntroPage) { %>' +
|
||||||
|
@ -90,8 +91,7 @@ H5P.QuestionSet = function (options, contentId) {
|
||||||
finishButtonText: 'Finish',
|
finishButtonText: 'Finish',
|
||||||
solutionButtonText: 'Show solution',
|
solutionButtonText: 'Show solution',
|
||||||
showAnimations: false
|
showAnimations: false
|
||||||
},
|
}
|
||||||
postUserStatistics: (H5P.postUserStatistics === true)
|
|
||||||
};
|
};
|
||||||
|
|
||||||
var template = new EJS({text: texttemplate});
|
var template = new EJS({text: texttemplate});
|
||||||
|
@ -109,8 +109,7 @@ H5P.QuestionSet = function (options, contentId) {
|
||||||
// TODO: Render on init, inject in template.
|
// TODO: Render on init, inject in template.
|
||||||
|
|
||||||
$.extend(question.params, {
|
$.extend(question.params, {
|
||||||
displaySolutionsButton: false,
|
displaySolutionsButton: false
|
||||||
postUserStatistics: false
|
|
||||||
});
|
});
|
||||||
questionInstances.push(H5P.newRunnable(question, contentId));
|
questionInstances.push(H5P.newRunnable(question, contentId));
|
||||||
}
|
}
|
||||||
|
@ -153,7 +152,7 @@ H5P.QuestionSet = function (options, contentId) {
|
||||||
// Trigger resize on question in case the size of the QS has changed.
|
// Trigger resize on question in case the size of the QS has changed.
|
||||||
var instance = questionInstances[questionNumber];
|
var instance = questionInstances[questionNumber];
|
||||||
if (instance.$ !== undefined) {
|
if (instance.$ !== undefined) {
|
||||||
instance.$.trigger('resize');
|
instance.triggerH5PEvent('resize');
|
||||||
}
|
}
|
||||||
|
|
||||||
// Update progress indicator
|
// Update progress indicator
|
||||||
|
@ -202,9 +201,7 @@ H5P.QuestionSet = function (options, contentId) {
|
||||||
passed: success
|
passed: success
|
||||||
};
|
};
|
||||||
var displayResults = function () {
|
var displayResults = function () {
|
||||||
if (params.postUserStatistics === true) {
|
self.triggerH5PxAPIEvent('completed', H5P.getxAPIScoredResult(getScore(), totalScore()));
|
||||||
H5P.setFinished(contentId, getScore(), totalScore());
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!params.endGame.showResultPage) {
|
if (!params.endGame.showResultPage) {
|
||||||
$(returnObject).trigger('h5pQuestionSetFinished', eventData);
|
$(returnObject).trigger('h5pQuestionSetFinished', eventData);
|
||||||
|
@ -302,9 +299,11 @@ H5P.QuestionSet = function (options, contentId) {
|
||||||
var question = questionInstances[i];
|
var question = questionInstances[i];
|
||||||
|
|
||||||
question.attach($('.question-container:eq(' + i + ')', $myDom));
|
question.attach($('.question-container:eq(' + i + ')', $myDom));
|
||||||
$(question).on('h5pQuestionAnswered', function () {
|
question.registerH5PEventListener('xAPI', function (event) {
|
||||||
|
if (event.verb === 'attempted') {
|
||||||
$('.progress-dot:eq(' + currentQuestion +')', $myDom).removeClass('unanswered').addClass('answered');
|
$('.progress-dot:eq(' + currentQuestion +')', $myDom).removeClass('unanswered').addClass('answered');
|
||||||
_updateButtons();
|
_updateButtons();
|
||||||
|
}
|
||||||
});
|
});
|
||||||
if (question.getAnswerGiven()) {
|
if (question.getAnswerGiven()) {
|
||||||
$('.progress-dot:eq(' + i +')'
|
$('.progress-dot:eq(' + i +')'
|
||||||
|
@ -343,7 +342,7 @@ H5P.QuestionSet = function (options, contentId) {
|
||||||
showSolutions();
|
showSolutions();
|
||||||
}
|
}
|
||||||
|
|
||||||
this.$.trigger('resize');
|
this.triggerH5PEvent('resize');
|
||||||
return this;
|
return this;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue