Current Path : /var/www/moodledata/localcache/js/ |
Current File : /var/www/moodledata/localcache/js/6bb4daaadd9b4e37745fbbf7f419ec5015c714fc |
/** * Client-side JavaScript for group management interface. * @copyright vy-shane AT moodle.com * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later * @package core_group */ function UpdatableGroupsCombo(wwwRoot,courseId){this.wwwRoot=wwwRoot;this.courseId=courseId;this.connectCallback={success:function(o){if(o.responseText!==undefined){var groupsComboEl=document.getElementById("groups");var membersComboEl=document.getElementById("members");if(membersComboEl){while(membersComboEl.firstChild){membersComboEl.removeChild(membersComboEl.firstChild)}} if(groupsComboEl&&o.responseText){var groups=eval("("+o.responseText+")");for(var i=0;i<groups.length;i++){var optionEl=document.createElement("option");optionEl.setAttribute("value",groups[i].id);optionEl.title=groups[i].name;optionEl.innerHTML=groups[i].name;groupsComboEl.appendChild(optionEl)}}} removeLoaderImgs("groupsloader","groupslabel")},failure:function(o){removeLoaderImgs("membersloader","memberslabel");this.currentTransId=null}}} function UpdatableMembersCombo(wwwRoot,courseId){this.wwwRoot=wwwRoot;this.courseId=courseId;this.connectCallback={success:function(t,o){if(o.responseText!==undefined){var selectEl=document.getElementById("members");if(selectEl&&o.responseText){var roles=eval("("+o.responseText+")");if(selectEl){while(selectEl.firstChild){selectEl.removeChild(selectEl.firstChild)}} for(var i=0;i<roles.length;i++){var optgroupEl=document.createElement("optgroup");optgroupEl.setAttribute("label",roles[i].name);for(var j=0;j<roles[i].users.length;j++){var optionEl=document.createElement("option");optionEl.setAttribute("value",roles[i].users[j].id);optionEl.title=roles[i].users[j].name;optionEl.innerHTML=roles[i].users[j].name;optgroupEl.appendChild(optionEl)} selectEl.appendChild(optgroupEl)}}} removeLoaderImgs("membersloader","memberslabel")},failure:function(){removeLoaderImgs("membersloader","memberslabel")}};var updatemembers=Y.one('#updatemembers');if(updatemembers){updatemembers.hide()}} UpdatableMembersCombo.prototype.refreshMembers=function(){var selectEl=document.getElementById("groups");var selectionCount=0,groupId=0;if(selectEl){for(var i=0;i<selectEl.options.length;i++){if(selectEl.options[i].selected){selectionCount++;if(!groupId){groupId=selectEl.options[i].value}}}} var singleSelection=selectionCount==1;if(singleSelection){createLoaderImg("membersloader","memberslabel",this.wwwRoot)} var spanEl=document.getElementById("thegroup");if(singleSelection){spanEl.innerHTML=selectEl.options[selectEl.selectedIndex].title}else{spanEl.innerHTML=' '} selectEl=document.getElementById("members");if(selectEl){while(selectEl.firstChild){selectEl.removeChild(selectEl.firstChild)}} document.getElementById("showaddmembersform").disabled=!singleSelection;document.getElementById("showeditgroupsettingsform").disabled=!singleSelection;document.getElementById("deletegroup").disabled=selectionCount==0;if(singleSelection){var sUrl=this.wwwRoot+"/group/index.php?id="+this.courseId+"&group="+groupId+"&act_ajax_getmembersingroup";var self=this;YUI().use('io',function(Y){Y.io(sUrl,{method:'GET',context:this,on:self.connectCallback})})}};var createLoaderImg=function(elClass,parentId,wwwRoot){var parentEl=document.getElementById(parentId);if(!parentEl){return!1} if(document.getElementById("loaderImg")){return!1} var loadingImg=document.createElement("img");loadingImg.setAttribute("src",M.util.image_url('/i/ajaxloader','moodle'));loadingImg.setAttribute("class",elClass);loadingImg.setAttribute("alt","Loading");loadingImg.setAttribute("id","loaderImg");parentEl.appendChild(loadingImg);return!0};var removeLoaderImgs=function(elClass,parentId){var parentEl=document.getElementById(parentId);if(parentEl){var loader=document.getElementById("loaderImg");if(loader){parentEl.removeChild(loader)}}};function updateUserSummary(){var selectEl=document.getElementById('addselect'),summaryDiv=document.getElementById('group-usersummary'),length=selectEl.length,selectCnt=0,selectIdx=-1,i;for(i=0;i<length;i++){if(selectEl.options[i].selected){selectCnt++;selectIdx=i}} if(selectCnt==1&&userSummaries[selectIdx]){summaryDiv.innerHTML=userSummaries[selectIdx]}else{summaryDiv.innerHTML=''} return!0} function init_add_remove_members_page(Y){var add=Y.one('#add');var addselect=M.core_user.get_user_selector('addselect');add.set('disabled',addselect.is_selection_empty());addselect.on('user_selector:selectionchanged',function(isempty){add.set('disabled',isempty)});var remove=Y.one('#remove');var removeselect=M.core_user.get_user_selector('removeselect');remove.set('disabled',removeselect.is_selection_empty());removeselect.on('user_selector:selectionchanged',function(isempty){remove.set('disabled',isempty)});addselect=document.getElementById('addselect');addselect.onchange=updateUserSummary}