mirror of
https://github.com/moodle/moodle.git
synced 2025-01-19 06:18:28 +01:00
MDL-26482 SCORM add option to disable TOC completely - thanks to Clark Burns for some help!
This commit is contained in:
parent
ecb8829273
commit
99da7a9523
@ -68,6 +68,7 @@ $string['deleteattemptcheck'] = 'Are you absolutely sure you want to completely
|
||||
$string['deleteallattempts'] = 'Delete all SCORM attempts';
|
||||
$string['details'] = 'Track details';
|
||||
$string['directories'] = 'Show the directory links';
|
||||
$string['disabled'] = 'Disabled';
|
||||
$string['display'] = 'Display package';
|
||||
$string['displayattemptstatus'] = 'Display attempt status';
|
||||
$string['displayattemptstatus_help'] = 'If enabled, scores and grades for attempts are displayed on the SCORM outline page.';
|
||||
|
@ -29,6 +29,10 @@ define('SCORM_TYPE_EXTERNAL', 'external');
|
||||
/** SCORM_TYPE_IMSREPOSITORY = imsrepository */
|
||||
define('SCORM_TYPE_IMSREPOSITORY', 'imsrepository');
|
||||
|
||||
define('SCORM_TOC_SIDE', 0);
|
||||
define('SCORM_TOC_HIDDEN', 1);
|
||||
define('SCORM_TOC_POPUP', 2);
|
||||
define('SCORM_TOC_DISABLED', 3);
|
||||
|
||||
/**
|
||||
* Given an object containing all the necessary data,
|
||||
|
@ -121,9 +121,10 @@ function scorm_get_skip_view_array() {
|
||||
* @return array an array of hide table of contents options
|
||||
*/
|
||||
function scorm_get_hidetoc_array() {
|
||||
return array(0 =>get_string('sided', 'scorm'),
|
||||
1 => get_string('hidden', 'scorm'),
|
||||
2 => get_string('popupmenu', 'scorm'));
|
||||
return array(SCORM_TOC_SIDE =>get_string('sided', 'scorm'),
|
||||
SCORM_TOC_HIDDEN => get_string('hidden', 'scorm'),
|
||||
SCORM_TOC_POPUP => get_string('popupmenu', 'scorm'),
|
||||
SCORM_TOC_DISABLED => get_string('disabled', 'scorm'));
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -28,18 +28,16 @@ mod_scorm_activate_item = null;
|
||||
M.mod_scorm = {};
|
||||
|
||||
M.mod_scorm.init = function(Y, hide_nav, hide_toc, toc_title, window_name, launch_sco) {
|
||||
|
||||
var scorm_disable_toc = false;
|
||||
var scorm_hide_nav = true;
|
||||
var scorm_hide_toc = true;
|
||||
if (hide_nav == 0) {
|
||||
scorm_hide_nav = false;
|
||||
}
|
||||
else {
|
||||
scorm_hide_nav = true;
|
||||
}
|
||||
if (hide_toc == 0) {
|
||||
scorm_hide_toc = false;
|
||||
}
|
||||
else {
|
||||
scorm_hide_toc = true;
|
||||
} else if (hide_toc == 3) {
|
||||
scorm_disable_toc = true;
|
||||
}
|
||||
|
||||
var scorm_layout_widget;
|
||||
@ -285,23 +283,36 @@ M.mod_scorm.init = function(Y, hide_nav, hide_toc, toc_title, window_name, launc
|
||||
YAHOO.widget.LayoutUnit.prototype.STR_COLLAPSE = M.str.moodle.hide;
|
||||
YAHOO.widget.LayoutUnit.prototype.STR_EXPAND = M.str.moodle.show;
|
||||
|
||||
scorm_layout_widget = new YAHOO.widget.Layout('scorm_layout', {
|
||||
minWidth: 255,
|
||||
minHeight: 600,
|
||||
units: [
|
||||
{ position: 'left', body: 'scorm_toc', header: toc_title, width: 250, resize: true, gutter: '2px 5px 5px 2px', collapse: true, minWidth:250, maxWidth: 590},
|
||||
{ position: 'center', body: '<div id="scorm_content"></div>', gutter: '2px 5px 5px 2px', scroll: true}
|
||||
]
|
||||
});
|
||||
if (scorm_disable_toc) {
|
||||
scorm_layout_widget = new YAHOO.widget.Layout('scorm_layout', {
|
||||
minWidth: 255,
|
||||
minHeight: 600,
|
||||
units: [
|
||||
{ position: 'left', body: 'scorm_toc', header: toc_title, width: 0, resize: true, gutter: '0px 0px 0px 0px', collapse: false},
|
||||
{ position: 'center', body: '<div id="scorm_content"></div>', gutter: '0px 0px 0px 0px', scroll: true}
|
||||
]
|
||||
});
|
||||
} else {
|
||||
scorm_layout_widget = new YAHOO.widget.Layout('scorm_layout', {
|
||||
minWidth: 255,
|
||||
minHeight: 600,
|
||||
units: [
|
||||
{ position: 'left', body: 'scorm_toc', header: toc_title, width: 250, resize: true, gutter: '2px 5px 5px 2px', collapse: true, minWidth:250, maxWidth: 590},
|
||||
{ position: 'center', body: '<div id="scorm_content"></div>', gutter: '2px 5px 5px 2px', scroll: true}
|
||||
]
|
||||
});
|
||||
}
|
||||
|
||||
scorm_layout_widget.render();
|
||||
var left = scorm_layout_widget.getUnitByPosition('left');
|
||||
left.on('collapse', function() {
|
||||
scorm_resize_frame();
|
||||
});
|
||||
left.on('expand', function() {
|
||||
scorm_resize_frame();
|
||||
});
|
||||
|
||||
if (!scorm_disable_toc) {
|
||||
left.on('collapse', function() {
|
||||
scorm_resize_frame();
|
||||
});
|
||||
left.on('expand', function() {
|
||||
scorm_resize_frame();
|
||||
});
|
||||
}
|
||||
// ugly resizing hack that works around problems with resizing of iframes and objects
|
||||
left._resize.on('startResize', function() {
|
||||
var obj = YAHOO.util.Dom.get('scorm_object');
|
||||
@ -314,10 +325,11 @@ M.mod_scorm.init = function(Y, hide_nav, hide_toc, toc_title, window_name, launc
|
||||
});
|
||||
|
||||
// hide the TOC if that is the default
|
||||
if (scorm_hide_toc == true) {
|
||||
left.collapse();
|
||||
if (!scorm_disable_toc) {
|
||||
if (scorm_hide_toc == true) {
|
||||
left.collapse();
|
||||
}
|
||||
}
|
||||
|
||||
// TOC tree
|
||||
var tree = new YAHOO.widget.TreeView('scorm_tree');
|
||||
scorm_tree_node = tree;
|
||||
@ -328,18 +340,20 @@ M.mod_scorm.init = function(Y, hide_nav, hide_toc, toc_title, window_name, launc
|
||||
scorm_bloody_labelclick = true;
|
||||
}
|
||||
});
|
||||
tree.subscribe('collapse', function(node) {
|
||||
if (scorm_bloody_labelclick) {
|
||||
scorm_bloody_labelclick = false;
|
||||
return false;
|
||||
}
|
||||
});
|
||||
tree.subscribe('expand', function(node) {
|
||||
if (scorm_bloody_labelclick) {
|
||||
scorm_bloody_labelclick = false;
|
||||
return false;
|
||||
}
|
||||
});
|
||||
if (!scorm_disable_toc) {
|
||||
tree.subscribe('collapse', function(node) {
|
||||
if (scorm_bloody_labelclick) {
|
||||
scorm_bloody_labelclick = false;
|
||||
return false;
|
||||
}
|
||||
});
|
||||
tree.subscribe('expand', function(node) {
|
||||
if (scorm_bloody_labelclick) {
|
||||
scorm_bloody_labelclick = false;
|
||||
return false;
|
||||
}
|
||||
});
|
||||
}
|
||||
tree.expandAll();
|
||||
tree.render();
|
||||
|
||||
|
@ -209,7 +209,7 @@ if ($result->prerequisites) {
|
||||
<?php echo $mode == 'review' ? '<div id="scormmode" class="scorm-left">'.get_string('reviewmode', 'scorm')."</div>\n" : ''; ?>
|
||||
<div id="scormnav" class="scorm-right">
|
||||
<?php
|
||||
if ($scorm->hidetoc == 2) {
|
||||
if ($scorm->hidetoc == SCORM_TOC_POPUP) {
|
||||
echo $result->tocmenu;
|
||||
}
|
||||
?>
|
||||
|
Loading…
x
Reference in New Issue
Block a user