Get generic copyrights from content types that doesnt implement getCopyrights.

pull/1/head
Frode Petterson 2015-06-19 15:40:35 +02:00
parent ea6af64c31
commit 20e133b441
2 changed files with 41 additions and 15 deletions

View File

@ -98,7 +98,8 @@ H5P.QuestionSet = function (options, contentId) {
overrideButtons: false, overrideButtons: false,
overrideShowSolutionButton: false, overrideShowSolutionButton: false,
overrideRetry: false overrideRetry: false
} },
questionLabel: 'Question'
}; };
var template = new EJS({text: texttemplate}); var template = new EJS({text: texttemplate});
@ -106,7 +107,7 @@ H5P.QuestionSet = function (options, contentId) {
var params = $.extend(true, {}, defaults, options); var params = $.extend(true, {}, defaults, options);
var currentQuestion = 0; var currentQuestion = 0;
var questionInstances = new Array(); var questionInstances = [];
var $myDom; var $myDom;
renderSolutions = false; renderSolutions = false;
@ -364,8 +365,7 @@ H5P.QuestionSet = function (options, contentId) {
} }
}); });
if (question.getAnswerGiven()) { if (question.getAnswerGiven()) {
$('.progress-dot:eq(' + i +')' $('.progress-dot:eq(' + i +')', $myDom).removeClass('unanswered').addClass('answered');
, $myDom).removeClass('unanswered').addClass('answered');
} }
} }
@ -399,7 +399,7 @@ H5P.QuestionSet = function (options, contentId) {
if (renderSolutions) { if (renderSolutions) {
showSolutions(); showSolutions();
} }
this.trigger('resize'); this.trigger('resize');
return this; return this;
@ -439,20 +439,40 @@ H5P.QuestionSet = function (options, contentId) {
} }
// Questions // Questions
var questionCopyrights;
for (var i = 0; i < questionInstances.length; i++) { for (var i = 0; i < questionInstances.length; i++) {
var questionInstance = questionInstances[i]; var instance = questionInstances[i];
if (questionInstance.getCopyrights !== undefined) { var qParams = params.questions[i].params;
var rights = questionInstance.getCopyrights(); questionCopyrights = undefined;
if (rights !== undefined) {
rights.setLabel('Question '+(i+1)); if (instance.getCopyrights !== undefined) {
info.addContent(rights); // Use the instance's own copyright generator
} questionCopyrights = instance.getCopyrights();
} }
if (questionCopyrights === undefined) {
// Create a generic flat copyright list
questionCopyrights = new H5P.ContentCopyrights();
H5P.findCopyrights(questionCopyrights, qParams, contentId);
}
// Determine label
var label = (params.questionLabel + ' ' + (i + 1));
if (qParams.contentName !== undefined) {
label += ': ' + qParams.contentName;
}
else if (instance.getTitle !== undefined) {
label += ': ' + instance.getTitle();
}
questionCopyrights.setLabel(label);
// Add info
info.addContent(questionCopyrights);
} }
// Success video // Success video
var video;
if (params.endGame.successVideo !== undefined && params.endGame.successVideo.length > 0) { if (params.endGame.successVideo !== undefined && params.endGame.successVideo.length > 0) {
var video = params.endGame.successVideo[0]; video = params.endGame.successVideo[0];
if (video.copyright !== undefined) { if (video.copyright !== undefined) {
info.addMedia(new H5P.MediaCopyright(video.copyright)); info.addMedia(new H5P.MediaCopyright(video.copyright));
} }
@ -473,7 +493,7 @@ H5P.QuestionSet = function (options, contentId) {
}; };
this.showSolutions = function() { this.showSolutions = function() {
renderSolutions = true; renderSolutions = true;
} };
}; };
H5P.QuestionSet.prototype = Object.create(H5P.EventDispatcher.prototype); H5P.QuestionSet.prototype = Object.create(H5P.EventDispatcher.prototype);
H5P.QuestionSet.prototype.constructor = H5P.QuestionSet; H5P.QuestionSet.prototype.constructor = H5P.QuestionSet;

View File

@ -324,5 +324,11 @@
"default": false "default": false
} }
] ]
},
{
"name": "questionLabel",
"type": "text",
"label": "Question label text",
"default": "Question"
} }
] ]