From: Vincent Vanwaelscappel Date: Thu, 14 May 2020 17:21:03 +0000 (+0200) Subject: wip #3637 @5 X-Git-Url: http://git.cubedesigners.com/?a=commitdiff_plain;h=d520dcdd4d3a1376011f8cc20678bd37bcde5f1f;p=fluidbook-html5.git wip #3637 @5 --- diff --git a/js/libs/scorm/apiwrapper.js b/js/libs/scorm/apiwrapper.js index a0cbd76b..ff91eb2f 100644 --- a/js/libs/scorm/apiwrapper.js +++ b/js/libs/scorm/apiwrapper.js @@ -81,10 +81,10 @@ pipwerks.SCORM.API.find = function (win) { scorm = pipwerks.SCORM; while ( - (!win.API && !win.API_1484_11) && - (win.parent) && - (win.parent != win) && - (findAttempts <= findAttemptLimit) + (!win.API && !win.API_1484_11) && + (win.parent) && + (win.parent != win) && + (findAttempts <= findAttemptLimit) ) { findAttempts++; win = win.parent; @@ -254,6 +254,10 @@ pipwerks.SCORM.connection.initialize = function () { //case "passed" : break; //SCORM 1.2 only //case "failed" : break; //SCORM 1.2 only //case "browsed" : break; //SCORM 1.2 only + default : + scorm.status('set', completionStatus); + scorm.set('cmi.success_status', scorm.get('cmi.success_status')); + break; } //Commit changes scorm.save(); @@ -464,7 +468,7 @@ pipwerks.SCORM.data.set = function (parameter, value) { if (success) { if (parameter === "cmi.core.lesson_status" || parameter === "cmi.completion_status") { scorm.data.completionStatus = value; - }else if(parameter=='cmi.core.exit' || parameter=='cmi.exit'){ + } else if (parameter == 'cmi.core.exit' || parameter == 'cmi.exit') { scorm.data.exitStatus = value; } } else { diff --git a/js/libs/scorm/scorm.js b/js/libs/scorm/scorm.js index 8df6674c..14c11dc0 100644 --- a/js/libs/scorm/scorm.js +++ b/js/libs/scorm/scorm.js @@ -159,7 +159,16 @@ function scormMarkAsComplete() { } function scormExit() { - setScormValue('exit', fluidbook.settings.scorm_force_attempts ? 'logout' : 'suspend'); + var v = 'suspend'; + if (fluidbook.settings.scorm_force_attempts) { + if (pipwerks.SCORM.version === '1.2') { + v = 'logout'; + } else { + v = 'normal'; + } + } + + setScormValue('exit', v); } function startScormTimer() {