var subSections = document.querySelectorAll('hgroup'); // si aucune sous-partie n'est active, on active la première if( document.querySelector('#CONTAINER hgroup.active') == null ) selectSubSection( document.querySelector('#CONTAINER hgroup') ); /* Gestion du déroulement des tableaux des groupes */ function afficherCacherGroupes(e){ e.preventDefault(); // s'il s'agit de la case "Voir plus" if( e.target.className == 'more' ){ var thead = e.target.parentNode.parentNode.parentNode.children[0]; thead.className = (thead.className=='active') ? '' : 'active'; } } if( !afficherCacherGroupesDefined ) DOM.CONTAINER.addEventListener('click', afficherCacherGroupes, false); var afficherCacherGroupesDefined = true; /* on définit le Drag'n'Drop */ var dnd = new DragnDrop(); /* GESTION DU DRAG N DROP */ if( document.querySelector('#CONTAINER section[name=movestudents]') != null ){ // si c'set l'admin var members = document.querySelectorAll('#CONTAINER section[name=movestudents] table tr td:not(.more)'); for( var i = 0 ; i < members.length ; i++ ) dnd.setDraggable(members[i]); var groups = document.querySelectorAll('#CONTAINER section[name=movestudents] table thead th:first-child'); for( var i = 0 ; i < groups.length ; i++ ) dnd.setDroppable(groups[i]); dnd.init(function(input, output){ // on demande un déplacement var id_etudiant = input.children[0].children[0].innerHTML; var nom_groupe = output.children[0].innerHTML; var request = { // on définit la requête pour API level_0: 'groups', level_1: 'move', etudiant: id_etudiant, groupe: nom_groupe }; // l'ordre n'est pas alphabétique mais va à la fin API.send(request, function(response){ // on gère la réponse de API if( response.request == 'success' ){ input.parentNode.removeChild( input ); // on supprime le membre de l'ancien groupe var tableauDestination = output.parentNode.parentNode.parentNode.children[1]; //
destination tableauDestination.appendChild( input ); // on ajoute le membre au nouveau groupe // selectSection( document.querySelector('#MENU span[data-link=groups]') ); } }); }); } /***************************************************/ /*** GESTION DES SELECT POUR AFFINER LES GROUPES ***/ /***************************************************/ var selectList = document.querySelectorAll("#CONTAINER > section[name] > select"); // GESTION DE LA PRISE EN COMPTE DES SELECT // DOM.CONTAINER.addEventListener('change', function(e){ if( e.target.tagName == 'SELECT' && ['semestre', 'groupe'].indexOf(e.target.getAttribute('name')) > -1 ){ if( e.target.getAttribute('name') == 'semestre' ){ // si modifie le semestre pageM.vars[1] = e.target.value; // on selectionne semestre pageM.vars[2] = '*'; // on désactive le groupe }else{ pageM.vars[1] = '*'; // on désactive le semestre pageM.vars[2] = e.target.value; // on active le groupe } selectSection( document.querySelector('#MENU > span[data-link='+pageM.page+']') ); // console.log(e.target.getAttribute('name')+' = '+e.target.value); } }, false);