From 905b1de634bcb772d344ec95c77969049fe7cd49 Mon Sep 17 00:00:00 2001 From: sam_marshall Date: Tue, 14 Jul 2009 14:00:34 +0000 Subject: [PATCH] MDL-19692: Completion tracking help icon enhancements --- course/completion.js | 16 +++++++++++++++- course/lib.php | 12 ++++++++++++ course/view.php | 1 + lang/en_utf8/completion.php | 1 - lib/completionlib.php | 2 +- 5 files changed, 29 insertions(+), 3 deletions(-) diff --git a/course/completion.js b/course/completion.js index a593f44ec3..5144238d25 100644 --- a/course/completion.js +++ b/course/completion.js @@ -92,4 +92,18 @@ function completion_toggle(e) { 'id='+this.cmid+'&completionstate='+this.otherState+'&fromajax=1'); } -YAHOO.util.Event.onDOMReady(completion_init); +function completion_set_progressicon_visibility(spanid,displaystatus) { + // Check if the progress icon exists + if (document.getElementById(spanid)!= null) { + if (displaystatus=='show') { + document.getElementById(spanid).style.display="block"; + } + else if (displaystatus=='hide') { + document.getElementById(spanid).style.display="none"; + + } + else { + alert ("An error occurred when calling completion_set_progressicon_visibility() function."); + } + } +} diff --git a/course/lib.php b/course/lib.php index b595fbd650..fe673f1268 100644 --- a/course/lib.php +++ b/course/lib.php @@ -1197,6 +1197,8 @@ function print_section($course, $section, $mods, $modnamesused, $absolute=false, static $strunreadpostsone; static $usetracking; static $groupings; + static $shownhelp=false; + static $hiddenhelp=false; if (!isset($initialised)) { @@ -1491,6 +1493,10 @@ function print_section($course, $section, $mods, $modnamesused, $absolute=false, echo ""; echo "$imgalt"; } + if (!$shownhelp && !$isediting) { + $PAGE->requires->js_function_call('completion_set_progressicon_visibility', array('completionprogressid', 'show')); + $shownhelp=true; + } } } @@ -1526,6 +1532,12 @@ function print_section($course, $section, $mods, $modnamesused, $absolute=false, if (!empty($section->sequence) || $ismoving) { echo "\n\n"; } + + //use javascript to hide the progress help button when no progress tick boxes have been displayed + if (!$shownhelp && !$hiddenhelp && $completioninfo->is_enabled()&& !$isediting && isloggedin() && !isguestuser()) { + $PAGE->requires->js_function_call('completion_set_progressicon_visibility', array('completionprogressid', 'hide')); + $hiddenhelp = true; + } } /** diff --git a/course/view.php b/course/view.php index 4c7288d517..afb9837409 100644 --- a/course/view.php +++ b/course/view.php @@ -178,6 +178,7 @@ if ($completion->is_enabled() && ajaxenabled()) { $PAGE->requires->yui_lib('connection'); $PAGE->requires->js('course/completion.js'); + $PAGE->requires->js_function_call('completion_init')->on_dom_ready(); $PAGE->requires->data_for_js('completion_strsaved', get_string('saved', 'completion')); $PAGE->requires->data_for_js('completion_strtitley', get_string('completion-title-manual-y', 'completion')); $PAGE->requires->data_for_js('completion_strtitlen', get_string('completion-title-manual-n', 'completion')); diff --git a/lang/en_utf8/completion.php b/lang/en_utf8/completion.php index 806cefac8a..b751dc1811 100644 --- a/lang/en_utf8/completion.php +++ b/lang/en_utf8/completion.php @@ -49,5 +49,4 @@ $string['unlockcompletion']='Unlock completion options'; $string['writingcompletiondata']='Writing completion data'; $string['completionicons']='progress tick boxes'; $string['yourprogress']='Your progress'; -$string['yourprogress']='Your progress'; ?> diff --git a/lib/completionlib.php b/lib/completionlib.php index fe988510d1..2407a82eb0 100644 --- a/lib/completionlib.php +++ b/lib/completionlib.php @@ -168,7 +168,7 @@ class completion_info { public function print_help_icon() { global $PAGE; if ($this->is_enabled() && !$PAGE->user_is_editing() && isloggedin() && !isguestuser()) { - echo ''.get_string('yourprogress','completion').' '; + echo ''.get_string('yourprogress','completion').' '; helpbutton('completionicons',get_string('completionicons','completion'),'completion'); echo ''; } -- 2.39.5