Skip to content

Commit

Permalink
MDL-43247 SCORM: convert some js to YUI
Browse files Browse the repository at this point in the history
  • Loading branch information
danmarsden committed Jan 22, 2014
1 parent 9d22765 commit f664a93
Showing 1 changed file with 34 additions and 31 deletions.
65 changes: 34 additions & 31 deletions mod/scorm/view.js
Original file line number Diff line number Diff line change
@@ -1,15 +1,16 @@
M.mod_scormform = {};
M.mod_scormform.init = function(Y) {
var scormform = document.getElementById('scormviewform');
var scormform = Y.one('#scormviewform');
var cwidth = scormplayerdata.cwidth;
var cheight = scormplayerdata.cheight;
var poptions = scormplayerdata.popupoptions;
var launch = scormplayerdata.launch;
var currentorg = scormplayerdata.currentorg;
var sco = scormplayerdata.sco;
var scorm = scormplayerdata.scorm;
var launch_url = M.cfg.wwwroot+"/mod/scorm/player.php?a="+scorm+"&currentorg="+currentorg+"&scoid="+sco+"&sesskey="+M.cfg.sesskey;
var launch_url = M.cfg.wwwroot+"/mod/scorm/player.php?a="+scorm+"&currentorg="+currentorg+"&scoid="+sco+"&sesskey="+M.cfg.sesskey+"&display=popup";
var course_url = scormplayerdata.courseurl;
var winobj = null;

poptions = poptions + ',resizable=yes'; // Added for IE (MDL-32506).

Expand All @@ -25,33 +26,35 @@ M.mod_scormform.init = function(Y) {
poptions = poptions+',width='+cwidth+',height='+cheight;
}

var scormredirect = function (winobj) {
winobj.onload = function () {
// Hide the form and toc if it exists - we don't want to allow multiple submissions when a window is open.
var scormload = function () {
if (scormform) {
scormform.hide();
}

// Hide the form and toc if it exists - we don't want to allow multiple submissions when a window is open.
if (scormform) {
scormform.hide();
}
var scormtoc = Y.one('#toc');
if (scormtoc) {
scormtoc.hide();
}
// Hide the intro and display a message to the user if the window is closed.
var scormintro = Y.one('#intro');
scormintro.setHTML('<a href="'+ course_url + '">' + M.str.scorm.popuplaunched + '</a>');
}

var scormtoc = Y.one('#toc');
if (scormtoc) {
scormtoc.hide();
// When pop-up is closed return to course homepage.
var scormunload = function () {
// Onunload is called multiple times in the SCORM window - we only want to handle when it is actually closed.
setTimeout(function() {
if (!winobj.opener) {
// Redirect the parent window to the course homepage.
parent.window.location = course_url;
}
// Hide the intro and display a message to the user if the window is closed but for some reason the events
// below aren't triggered.
var scormintro = Y.one('#intro');
scormintro.setHTML('<a href="'+ course_url + '">' + M.str.scorm.popuplaunched + '</a>');
}
// When pop-up is closed return to course homepage.
winobj.onunload = function () {
// Onunload is called multiple times in the SCORM window - we only want to handle when it is actually closed.
setTimeout(function() {
if (!winobj.opener) {
// Redirect the parent window to the course homepage.
parent.window.location = course_url;
}
}, 200)
}
}, 800)
}

var scormredirect = function (winobj) {
Y.on('load', scormload, winobj);
Y.on('unload', scormunload, winobj);
// Check to make sure pop-up has been launched - if not display a warning,
// this shouldn't happen as the pop-up here is launched on user action but good to make sure.
setTimeout(function() {
Expand All @@ -61,17 +64,17 @@ M.mod_scormform.init = function(Y) {
}

if (launch == true) {
launch_url = launch_url+"&display=popup";
var winobj = window.open(launch_url,'Popup', poptions);
winobj = window.open(launch_url,'Popup', poptions);
this.target='Popup';
scormredirect(winobj);
}
// Listen for view form submit and generate popup on user interaction.
if (scormform) {
scormform.onsubmit = function() {
var winobj = window.open('', 'Popup', poptions);
Y.on('submit', function(e) {
winobj = window.open(launch_url, 'Popup', poptions);
this.target='Popup';
scormredirect(winobj);
}
e.preventDefault();
}, scormform);
}
}

0 comments on commit f664a93

Please sign in to comment.