]> git.mjollnir.org Git - moodle.git/commitdiff
MDL-19692: Completion tracking help icon enhancements
authorsam_marshall <sam_marshall>
Tue, 14 Jul 2009 14:00:34 +0000 (14:00 +0000)
committersam_marshall <sam_marshall>
Tue, 14 Jul 2009 14:00:34 +0000 (14:00 +0000)
course/completion.js
course/lib.php
course/view.php
lang/en_utf8/completion.php
lib/completionlib.php

index a593f44ec315b679cbf785c4e405b8b49e59701e..5144238d259d273d066c63ed5dae1543bd9d7489 100644 (file)
@@ -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.");
+        }
+    }
+}
index b595fbd650489a934d25ff219dbcdb74dc5446b6..fe673f1268826d947ef7e5662f5214f8da83e8c3 100644 (file)
@@ -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 "<span class='autocompletion'>";
                         echo "<img src='$imgsrc' alt='$imgalt' title='$imgalt' /></span>";
                     }
+                    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 "</ul><!--class='section'-->\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;
+    }
 }
 
 /**
index 4c7288d517dce4c13f369ec93e335d122c68497e..afb98374097b3835b54fad5e4ead9a1d93fcac59 100644 (file)
     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'));
index 806cefac8a6e750b3a4ddc6a5cedf3b41439f908..b751dc18116c332d9a7da2d6939bf5a7e8251f51 100644 (file)
@@ -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';
 ?>
index fe988510d148b33ad6ec621e93c1012fca95c36b..2407a82eb05f8704967bd8033d384d3f47812490 100644 (file)
@@ -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 '<span class="completionprogress">'.get_string('yourprogress','completion').' ';
+            echo '<span id = "completionprogressid" class="completionprogress">'.get_string('yourprogress','completion').' ';
             helpbutton('completionicons',get_string('completionicons','completion'),'completion');
             echo '</span>';
         }