$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++;
}
}
<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) {
<?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)) {
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";
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"));
}
}
* 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);
}
}
}
+ // Remove the loader gif image.
+ var membersLabel = document.getElementById("memberslabel");
+ membersLabel.removeChild(document.getElementById("membersloader"));
}
}
* 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);
+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);
+}
+
+