]> git.mjollnir.org Git - moodle.git/commitdiff
Added loading in progress image feedback.
authorvyshane <vyshane>
Fri, 19 Jan 2007 09:23:22 +0000 (09:23 +0000)
committervyshane <vyshane>
Fri, 19 Jan 2007 09:23:22 +0000 (09:23 +0000)
group/index.php
group/lib/clientlib.js

index a3d4e57e633dba7614d3b0adc976045de18c2d80..e43e4d06cc539be13fc1312cb6346877061fd768 100644 (file)
@@ -164,7 +164,7 @@ if ($success) {
                 $select = ' selected="selected"';
                 $sel_groupingid = $id;
             }
-            echo "<option value=\"$id\"$select onclick=\"groupsCombo.refreshGroups($id)\" >$name</option>\n";
+            echo "<option value=\"$id\"$select onclick=\"groupsCombo.refreshGroups($id);\">$name</option>\n";
             $count++;
         }
     }
@@ -184,7 +184,7 @@ if ($success) {
             <p><input type="submit" name="act_printerfriendly" id="printerfriendly" value="<?php print_string('printerfriendly', 'group'); ?>" /></p>
             </td>
             <td>
-                <p><label for="groups"><?php print_string('groupsinselectedgrouping', 'group'); ?></label></p>
+                <p><label for="groups" id="groupslabel"><?php print_string('groupsinselectedgrouping', 'group'); ?></label></p>
                 <select name="group" id="groups" size="15" class="select">
 <?php //onchange="onGroupChange()"
     if (GROUP_NOT_IN_GROUPING == $sel_groupingid) {
@@ -227,7 +227,7 @@ if ($success) {
 <?php } ?>
             </td>
             <td>
-                <p><label for="members"><?php print_string('membersofselectedgroup', 'group'); ?></label></p>
+                <p><label for="members" id="memberslabel"><?php print_string('membersofselectedgroup', 'group'); ?></label></p>
                 <select name="user[]" id="members" size="15" multiple="multiple" class="select">
 <?php
     if (isset($sel_groupid)) {
@@ -263,7 +263,7 @@ if ($success) {
     echo '<script type="text/javascript" src="'.$CFG->wwwroot.'/lib/yui/connection/connection-min.js"></script>';
     echo '<script type="text/javascript" src="'.$CFG->wwwroot.'/group/lib/clientlib.js"></script>'."\n";
 
-    echo '<script type="text/javascript" defer="defer">'."\n";
+    echo '<script type="text/javascript">'."\n";
     echo '//<![CDATA['."\n";
     echo 'var groupsCombo = new UpdatableGroupsCombo("'.$CFG->wwwroot.'", '.$course->id.');'."\n";
     echo 'var membersCombo = new UpdatableMembersCombo("'.$CFG->wwwroot.'", '.$course->id.');'."\n";
index 58a98c55391baef2e28bb69ad7b46a68275b1fcd..e0c15f1b1c5cd233ed021b389d58265a86ae3508 100644 (file)
@@ -33,20 +33,23 @@ function UpdatableGroupsCombo(wwwRoot, courseId) {
                         groupsComboEl.removeChild(groupsComboEl.firstChild);
                     }
                    if (o.responseText) {
-                       var groups = eval('('+o.responseText+')');
+                       var groups = eval("("+o.responseText+")");
 
                        // Populate the groups combo box.
                         for (var i=0; i<groups.length; i++) {
                             var optionEl = document.createElement("option");
                             optionEl.setAttribute("value", groups[i].id);
                             optionEl.setAttribute("onclick",
-                                "membersCombo.refreshMembers("+groups[i].id+")");
+                                "membersCombo.refreshMembers("+groups[i].id+");");
                             optionEl.innerHTML = groups[i].name;
                             groupsComboEl.appendChild(optionEl);
                         }
                    }
                 }
                }
+               // Remove the loader gif image.
+               var groupsLabel = document.getElementById("groupslabel");
+               groupsLabel.removeChild(document.getElementById("groupsloader"));
         }
     }
     
@@ -59,6 +62,9 @@ function UpdatableGroupsCombo(wwwRoot, courseId) {
  * When a grouping is selected, we need to update the groups.
  */
 UpdatableGroupsCombo.prototype.refreshGroups = function (groupingId) {
+    // Add the loader gif image.
+    createLoaderImg("groupsloader", "groupslabel", this.wwwRoot);
+    
     var sUrl = this.wwwRoot+"/group/index.php?id="+this.courseId+"&grouping="
                         +groupingId+"&act_ajax_getgroupsingrouping";
     YAHOO.util.Connect.asyncRequest('GET', sUrl, this.callback, null);
@@ -97,6 +103,9 @@ function UpdatableMembersCombo(wwwRoot, courseId) {
                    }
                 }
                }
+               // Remove the loader gif image.
+               var membersLabel = document.getElementById("memberslabel");
+               membersLabel.removeChild(document.getElementById("membersloader"));
         }
     }
     
@@ -109,6 +118,9 @@ function UpdatableMembersCombo(wwwRoot, courseId) {
  * When a group is selected, we need to update the members.
  */
 UpdatableMembersCombo.prototype.refreshMembers = function (groupId) {
+    // Add the loader gif image.
+    createLoaderImg("membersloader", "memberslabel", this.wwwRoot);
+
     var sUrl = this.wwwRoot+"/group/index.php?id="+this.courseId+"&group="
                         +groupId+"&act_ajax_getmembersingroup";
     YAHOO.util.Connect.asyncRequest('GET', sUrl, this.callback, null);
@@ -116,3 +128,14 @@ UpdatableMembersCombo.prototype.refreshMembers = function (groupId) {
 
 
 
+function createLoaderImg(id, parentId, wwwRoot) {
+    var parent = document.getElementById(parentId);
+    var loadingImg = document.createElement("img");
+
+    loadingImg.setAttribute("src", wwwRoot+"/pix/i/ajaxloader.gif");
+    loadingImg.setAttribute("id", id);
+    loadingImg.setAttribute("alt", "Loading");
+    parent.appendChild(loadingImg);
+}
+
+