Skip to content

Commit

Permalink
Several fixes to markCompletion and results page
Browse files Browse the repository at this point in the history
  • Loading branch information
torinfo committed Mar 14, 2017
1 parent 482b073 commit 9886a2c
Show file tree
Hide file tree
Showing 6 changed files with 125 additions and 98 deletions.
20 changes: 11 additions & 9 deletions editor/js/toolbox.js
Expand Up @@ -1008,7 +1008,11 @@ var EDITOR = (function ($, parent) {
thisValue = stripP(thisValue.substr(0, thisValue.length-1));
if (lastValue != thisValue) {
lastValue = thisValue;


var tree = $.jstree.reference("#treeview");
var node = tree.get_node(options.key, false);
var parent_id = tree.get_parent(node);

if (options.key != "treeroot") {
// makes sure deprecated / hidden page highlights aren't lost when page name is changed
if ($("#" + options.key + " .deprecatedImg").length > 0) {
Expand All @@ -1017,7 +1021,7 @@ var EDITOR = (function ($, parent) {
{
thisText = '<img src="editor/img/tick.png" title="' + language.markForCompletion.$tooltip + '" class="markCompletionImg">' + thisText;
}
if ($("#" + options.key + " .hiddenImg").length > 0)
if (parent_id == "treeroot" && $("#" + options.key + " .hiddenImg").length > 0)
{
thisText = '<img src="editor/img/hidden.png" title="' + language.hidePage.$tooltip + '" class="hiddenImg">' + thisText;

Expand All @@ -1029,16 +1033,15 @@ var EDITOR = (function ($, parent) {
{
thisText = '<img src="editor/img/hidden.png" title="' + language.hidePage.$tooltip + '" class="hiddenImg">&nbsp;<span class="hidden">' + thisText + '</span>';
}
if ($("#" + options.key + " .markCompletionImg").length > 0)
if (parent_id == "treeroot" && $("#" + options.key + " .markCompletionImg").length > 0)
{
thisText = '<img src="editor/img/tick.png" title="' + language.markForCompletion.$tooltip + '" class="markCompletionImg">&nbsp;<span class="marked">' + thisText + '</span>';
}
}
}

// Rename the node
var tree = $.jstree.reference("#treeview");
tree.rename_node(tree.get_node(options.key, false), thisText);
tree.rename_node(node, thisText);

if ($('#mainleveltitle'))
{
Expand Down Expand Up @@ -1459,8 +1462,7 @@ var EDITOR = (function ($, parent) {
{
// console.log([key, names, values]);
// Get the node name

if (names == "hidePage") {
if (names[0] == "hidePage") {
if (values[0] == "true") {
if ($("#" + key + " .deprecated").length == 0) {
$("#" + key + " .jstree-anchor").each(function(i,v) {
Expand All @@ -1480,10 +1482,10 @@ var EDITOR = (function ($, parent) {
}
}

if (names == "markForCompletion") {
if (names[0] == "markForCompletion") {
if (values[0] == "true") {
if ($("#" + key + " .deprecated").length == 0) {
$("#" + key + " .jstree-anchor").each(function(i,v) {
$("#" + key + " .jstree-anchor.jstree-clicked").each(function(i,v) {
$(v).contents().eq($(v).contents().length - 1).wrap('<span class="marked"/>');
});
$("#" + key + " .jstree-anchor .marked").before('<img src="editor/img/tick.png" title="' + language.markForCompletion.$tooltip + '" class="markCompletionImg">&nbsp;');
Expand Down
Expand Up @@ -357,7 +357,10 @@ function XTExitPage(page_nr, pageName)
{
var temp = false;
var i = 0;
for(i; i<state.toCompletePages.length;i++)

state.exitInteraction(page_nr, -1, false, "", "", "", false);

for(i=0; i<state.toCompletePages.length;i++)
{
var currentPageNr = state.toCompletePages[i];
if(currentPageNr == page_nr)
Expand All @@ -368,12 +371,8 @@ function XTExitPage(page_nr, pageName)
}
if(temp)
{

state.completedPages[i] = state.pageCompleted(page_nr);
}


return state.exitInteraction(page_nr, -1, false, "", "", "", false);
}

function XTSetPageType(page_nr, page_type, nrinteractions, weighting)
Expand Down Expand Up @@ -428,33 +427,44 @@ function XTTerminate()

function XTResults()
{
results = {};
results.mode = x_currentPageXML.getAttribute("mode");

score = 0;
nrofquestions = 0;
totalWeight = 0;
totalDuration = 0;
results.interactions = Array();

for(i = 0; i < state.interactions.length-1; i++){
score += state.interactions[i].score * state.interactions[i].weighting ;
if(state.interactions[i].nrinteractions > 0)
{
interaction = {};
interaction.score = Math.round(state.interactions[i].score);
interaction.title = state.interactions[i].ia_name;
interaction.duration = Math.round(state.interactions[i].duration / 1000);
interaction.weighting = state.interactions[i].weighting;
interaction.subinteractions = Array();
results.interactions[nrofquestions] = interaction;
totalDuration += state.interactions[i].duration;
nrofquestions++;
totalWeight += state.interactions[i].weighting;

}else if(results.mode == "full-results")
{
subinteraction = {}
var completion = 0;
var counter = 0;
for(var i = 0; i< state.completedPages.length;i++)
{
if(state.completedPages[i] == true)
{
counter++;
}
}
completion = (counter/state.completedPages.length)*100;

results = {};
results.mode = x_currentPageXML.getAttribute("mode");

score = 0;
nrofquestions = 0;
totalWeight = 0;
totalDuration = 0;
results.interactions = Array();

for(i = 0; i < state.interactions.length-1; i++){
score += state.interactions[i].score * state.interactions[i].weighting ;
if(state.interactions[i].nrinteractions > 0)
{
interaction = {};
interaction.score = Math.round(state.interactions[i].score);
interaction.title = state.interactions[i].ia_name;
interaction.duration = Math.round(state.interactions[i].duration / 1000);
interaction.weighting = state.interactions[i].weighting;
interaction.subinteractions = Array();
results.interactions[nrofquestions] = interaction;
totalDuration += state.interactions[i].duration;
nrofquestions++;
totalWeight += state.interactions[i].weighting;

}else if(results.mode == "full-results")
{
subinteraction = {}

var learnerAnswer, correctAnswer;
switch (state.interactions[i].ia_type){
Expand All @@ -467,23 +477,23 @@ function XTResults()
correctAnswer = state.interactions[i].correctAnswers.join(", ");
break;
}
debugger;
subinteraction.question = state.interactions[i].ia_name;
subinteraction.learnerAnswer = learnerAnswer;
subinteraction.correctAnswer = correctAnswer;
results.interactions[nrofquestions-1].subinteractions.push(subinteraction);
}
}
if(state.interactions.length == 0)
{
$("#questionScores").hide()
}
results.score = score;
results.nrofquestions = nrofquestions;
results.averageScore = Math.round(score / totalWeight);
results.totalDuration = Math.round(totalDuration / 1000);
results.start = state.start.getDate() + "-" + (state.start.getMonth()+1) + "-" +state.start.getFullYear() + " " + state.start.getHours() + ":" + state.start.getMinutes();

return results;
}
subinteraction.question = state.interactions[i].ia_name;
subinteraction.learnerAnswer = learnerAnswer;
subinteraction.correctAnswer = correctAnswer;
results.interactions[nrofquestions-1].subinteractions.push(subinteraction);
}

}
if(state.interactions.length == 0)
{
$("#questionScores").hide()
}
results.completion = completion;
results.score = score;
results.nrofquestions = nrofquestions;
results.averageScore = Math.round(score / totalWeight);
results.totalDuration = Math.round(totalDuration / 1000);
results.start = state.start.getDate() + "-" + (state.start.getMonth()+1) + "-" +state.start.getFullYear() + " " + state.start.getHours() + ":" + state.start.getMinutes();

return results;
}
4 changes: 2 additions & 2 deletions modules/xerte/play.php
Expand Up @@ -111,7 +111,7 @@ function show_template_page($row, $datafile="")
$page_content = str_replace("%XMLFILE%", $string_for_flash_xml, $page_content);
$page_content = str_replace("%SITE%",$xerte_toolkits_site->site_url,$page_content);

$tracking = "<script type=\"text/javascript\" src=\"" . $flash_js_dir . "js/xttracking_noop.js\"></script>";
$tracking = "<script type=\"text/javascript\" src=\"" . $template_path . "common_html5/js/xttracking_noop.js?version=" . $version . "\"></script>";

$page_content = str_replace("%TRACKING_SUPPORT%", $tracking, $page_content);
}
Expand Down Expand Up @@ -150,7 +150,7 @@ function show_template_page($row, $datafile="")
$page_content = str_replace("%OFFLINEINCLUDES%", "", $page_content);
$page_content = str_replace("%MATHJAXPATH%", "//cdn.mathjax.org/mathjax/latest/", $page_content);

$tracking = "<script type=\"text/javascript\" src=\"" . $template_path . "common_html5/js/xttracking_noop.js\"></script>";
$tracking = "<script type=\"text/javascript\" src=\"" . $template_path . "common_html5/js/xttracking_noop.js?version=" . $version . "\"></script>";

$page_content = str_replace("%TRACKING_SUPPORT%", $tracking, $page_content);

Expand Down
2 changes: 1 addition & 1 deletion modules/xerte/preview.php
Expand Up @@ -156,7 +156,7 @@ function show_preview_code2($row, $row_username){
$page_content = str_replace("%XMLFILE%", $string_for_flash_xml, $page_content);
$page_content = str_replace("%SITE%",$xerte_toolkits_site->site_url,$page_content);

$tracking = "<script type=\"text/javascript\" src=\"" . $flash_js_dir . "js/xttracking_noop.js\"></script>";
$tracking = "<script type=\"text/javascript\" src=\"" . $template_path . "common_html5/js/xttracking_noop.js?version=" . $version . "\"></script>";

$page_content = str_replace("%TRACKING_SUPPORT%", $tracking, $page_content);
}
Expand Down
48 changes: 31 additions & 17 deletions modules/xerte/scorm1.2/xttracking_scorm1.2.js
Expand Up @@ -922,26 +922,29 @@ function XTEnterPage(page_nr, page_name)

function XTExitPage(page_nr, page_name)
{
var temp = false;
var i = 0;
for(i; i<state.toCompletePages.length;i++)

if (state.scormmode == 'normal')
{
var currentPageNr = toCompletePages[i];
if(currentPageNr == page_nr)
var temp = false;
var i = 0;

state.exitInteraction(page_nr, -1, false, "", "", "", false);

for(i=0; i<state.toCompletePages.length;i++)
{
temp = true;
break;
var currentPageNr = toCompletePages[i];
if(currentPageNr == page_nr)
{
temp = true;
break;
}
}
if(temp)
{
state.completedPages[i] = state.pageCompleted(page_nr);
}
}
if(temp)
{
state.completedPages[i] = state.pageCompleted(page_nr);
}


if (state.scormmode == 'normal')
{
return state.exitInteraction(page_nr, -1, false, "", "", "", false);
}
}

Expand Down Expand Up @@ -1057,6 +1060,17 @@ function XTTerminate()

function XTResults()
{
var completion = 0;
var counter = 0;
for(var i = 0; i< state.completedPages.length;i++)
{
if(state.completedPages[i] == true)
{
counter++;
}
}
completion = (counter/state.completedPages.length)*100;

results = {};
results.mode = x_currentPageXML.getAttribute("mode");

Expand Down Expand Up @@ -1096,7 +1110,6 @@ function XTResults()
correctAnswer = state.interactions[i].correctAnswers.join(", ");
break;
}
debugger;
subinteraction.question = state.interactions[i].ia_name;
subinteraction.learnerAnswer = learnerAnswer;
subinteraction.correctAnswer = correctAnswer;
Expand All @@ -1108,11 +1121,12 @@ function XTResults()
{
$("#questionScores").hide()
}
results.completion = completion;
results.score = score;
results.nrofquestions = nrofquestions;
results.averageScore = Math.round(score / totalWeight);
results.totalDuration = Math.round(totalDuration / 1000);
results.start = state.start.getDate() + "-" + (state.start.getMonth()+1) + "-" +state.start.getFullYear() + " " + state.start.getHours() + ":" + state.start.getMinutes();

return results;
}
}
35 changes: 18 additions & 17 deletions modules/xerte/scorm2004.3rd/xttracking_scorm2004.3rd.js
Expand Up @@ -909,25 +909,27 @@ function XTEnterPage(page_nr, page_name)

function XTExitPage(page_nr, pageName)
{
var temp = false;
var i = 0;
for(i; i<state.toCompletePages.length;i++)
if (state.scormmode == 'normal')
{
var currentPageNr = state.toCompletePages[i];
if(currentPageNr == page_nr)
var temp = false;
var i = 0;

state.exitInteraction(page_nr, -1, false, "", "", "", false);

for(i=0; i<state.toCompletePages.length;i++)
{
temp = true;
break;
var currentPageNr = state.toCompletePages[i];
if(currentPageNr == page_nr)
{
temp = true;
break;
}
}
if(temp)
{
state.completedPages[i] = state.pageCompleted(page_nr);
}
}
if(temp)
{
state.completedPages[i] = state.pageCompleted(page_nr);
}

if (state.scormmode == 'normal')
{
return state.exitInteraction(page_nr, -1, false, "", "", "", false);
}
}

Expand Down Expand Up @@ -1047,7 +1049,7 @@ function XTTerminate()
function XTResults()
{
var completion = 0;
var counter;
var counter = 0;
for(var i = 0; i< state.completedPages.length;i++)
{
if(state.completedPages[i] == true)
Expand Down Expand Up @@ -1096,7 +1098,6 @@ function XTResults()
correctAnswer = state.interactions[i].correctAnswers.join(", ");
break;
}
debugger;
subinteraction.question = state.interactions[i].ia_name;
subinteraction.learnerAnswer = learnerAnswer;
subinteraction.correctAnswer = correctAnswer;
Expand Down

0 comments on commit 9886a2c

Please sign in to comment.