From 53a6683b945d3b39c5f2cd9c8ddd5e4a9b80a592 Mon Sep 17 00:00:00 2001 From: xdrm-brackets Date: Fri, 13 Nov 2015 18:00:17 +0100 Subject: [PATCH] =?UTF-8?q?Remplacement=20du=20Drag&Drop=20par=20des=20=20Fini=20et=20op=C3=A9rationnel?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- js/shortcut.js | 4 +- page/_JS/groups.js | 107 ++++++++++++++++++++++++++++++++++----------- page/groups.php | 5 +-- 3 files changed, 85 insertions(+), 31 deletions(-) diff --git a/js/shortcut.js b/js/shortcut.js index d1eaae2..99bfbdc 100755 --- a/js/shortcut.js +++ b/js/shortcut.js @@ -57,7 +57,7 @@ function Shortcut(keyStore, handler){ // creation de la fonction d'évènement shortcutList[eventIndex].push( function(e, k, f, h){ /* k ; f ; h */ - console.log(f); + // console.log(f); // on cherche l'avancée var step = shortcutStep[f]; @@ -70,7 +70,7 @@ function Shortcut(keyStore, handler){ for( var i = 0 ; i < shortcutStep[f].length ; i++ ) shortcutStep[f][i] = 0; - console.log('ok'); + // console.log('ok'); e.preventDefault(); h(); // EXECUTION DE : handler(); diff --git a/page/_JS/groups.js b/page/_JS/groups.js index 10a701d..347f127 100755 --- a/page/_JS/groups.js +++ b/page/_JS/groups.js @@ -33,7 +33,7 @@ var afficherCacherGroupesDefined = true; /* on définit le Drag'n'Drop */ -var dnd = new DragnDrop(); +// var dnd = new DragnDrop(); @@ -43,38 +43,93 @@ 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 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]); + // 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; + // 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 + // 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]') ); + // } + // }); + // }); + // + + /* DEPLACEMENT A L'AIDE DES dans la liste + + deplacementObj[i] = { + select: deplacementElements[i], // le + button: deplacementElements[i].parentNode.children[1], // le bouton de validation pour ce }; - // l'ordre n'est pas alphabétique mais va à la fin + // on créé l'évènement qui affiche le validateur dès le changement de valeur + deplacementObj[i].select.addEventListener('change', function(e){ + // on récupère le rang dans la liste et qu'il s'agit du même élément + if( e.target.dataset.hasOwnProperty('i') && deplacementObj[e.target.dataset.i].select == e.target ){ + var obj = deplacementObj[e.target.dataset.i]; - 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]') ); + if( obj.initval != obj.select.value ) // si c'est une nouvelle valeur (nouveau groupe), on active le validateur (bouton) + addClass( obj.button, 'active' ); + else + remClass( obj.button, 'active' ); + } - }); - }); + }, false); + + + // on créé l'évènement de confirmation du déplacement + deplacementObj[i].button.addEventListener('click', function(e){ + // s'il s'agit bien d'un bouton de validation, que le ";