- [x] [view/js/machines] Recherche instantanee

This commit is contained in:
xdrm-brackets 2016-02-16 22:10:36 +01:00
parent ee4444e42e
commit 0b80fbfb2f
4 changed files with 46 additions and 8 deletions

View File

@ -7,13 +7,13 @@
############ ############
# EN COURS # # EN COURS #
############ ############
- [ ] [view/js/machines] Recherche instantanee
######## ########
# FAIT # # FAIT #
######## ########
- [x] [view/js/machines] Recherche instantanee
- [x] [container.scss] Gestion de l'affichage responsive - [x] [container.scss] Gestion de l'affichage responsive
- [x] [container.scss] Gestion de l'affichage retour a la ligne - [x] [container.scss] Gestion de l'affichage retour a la ligne
- [x] [container.scss] Gestion de l'affichage info ne depassent plus - [x] [container.scss] Gestion de l'affichage info ne depassent plus

View File

@ -2,7 +2,8 @@
var section = { var section = {
view: { view: {
text: '#CONTAINER > section[data-sublink="view"] ', text: '#CONTAINER > section[data-sublink="view"] ',
element: document.querySelector('#CONTAINER > section[data-sublink="view"]') element: document.querySelector('#CONTAINER > section[data-sublink="view"]'),
searchbar: document.querySelector('#CONTAINER > section[data-sublink="view"] > .searchbar')
}, },
create: { create: {
@ -28,13 +29,49 @@ var section = {
*/ */
if( section.view.element != null ){ if( section.view.element != null ){
// On recupere tous les liens /* (1) On recupere tous les liens */
section.view.link = { section.view.link = {
edit: document.querySelectorAll(section.view.text + '.link_edit[data-machine]'), edit: document.querySelectorAll(section.view.text + '.link_edit[data-machine]'),
remove: document.querySelectorAll(section.view.text + '.link_remove[data-machine]') remove: document.querySelectorAll(section.view.text + '.link_remove[data-machine]')
}; };
// On gere la "redirection" vers la modification
/* (2) Gestion de la recherche instantannee */
section.view.searchbar.addEventListener('keyup', function(e){
var search = {
path: 'machineDefault/search',
data: [section.view.searchbar.value]
};
// On envoie la requete
api.send(search, function(result){
if( result.ModuleError == 0 ){ // si aucune erreur
// On enregistre tous les UID dans un tableau
var uid_list = [];
for( var i = 0 ; i < result.machines.length ; i++ )
uid_list.push( result.machines[i].id_machine);
// On recupere la liste des elements correspondants aux utilisateurs
var machine_list = document.querySelectorAll(section.view.text + '> article.inline-box[id]');
// Pour chaque machine
for( var i = 0 ; i < machine_list.length ; i++ ){
// Si doit etre visible
if( uid_list.indexOf(machine_list[i].id) > -1 )
machine_list[i].remClass('hidden');
// Si ne doit pas etre visible
else
machine_list[i].addClass('hidden');
}
}
});
}, false);
/* (3) On gere la "redirection" vers la modification */
for( var i = 0 ; i < section.view.link.edit.length ; i++ ){ for( var i = 0 ; i < section.view.link.edit.length ; i++ ){
section.view.link.edit[i].addEventListener('click', function(e){ section.view.link.edit[i].addEventListener('click', function(e){
@ -45,7 +82,7 @@ if( section.view.element != null ){
} }
// On gere la "redirection" vers la suppression /* (4) On gere la "redirection" vers la suppression */
for( var i = 0 ; i < section.view.link.remove.length ; i++ ){ for( var i = 0 ; i < section.view.link.remove.length ; i++ ){
section.view.link.remove[i].addEventListener('click', function(e){ section.view.link.remove[i].addEventListener('click', function(e){

View File

@ -49,7 +49,8 @@ if( section.view.element != null ){
// On envoie la requete // On envoie la requete
api.send(search, function(result){ api.send(search, function(result){
if( result.ModuleError == 0 && result.users.length > 0 ){ // si on a trouve qqch console.log(result.users.length);
if( result.ModuleError == 0 ){ // si aucune erreur
// On enregistre tous les UID dans un tableau // On enregistre tous les UID dans un tableau
var uid_list = []; var uid_list = [];
@ -59,8 +60,8 @@ if( section.view.element != null ){
// On recupere la liste des elements correspondants aux utilisateurs // On recupere la liste des elements correspondants aux utilisateurs
var user_list = document.querySelectorAll(section.view.text + '> article.inline-box[id]'); var user_list = document.querySelectorAll(section.view.text + '> article.inline-box[id]');
// Pour chaque utilisateur
for( var i = 0 ; i < user_list.length ; i++ ){ for( var i = 0 ; i < user_list.length ; i++ ){
console.log( user_list[i] instanceof Element );
// Si doit etre visible // Si doit etre visible
if( uid_list.indexOf(user_list[i].id) > -1 ) if( uid_list.indexOf(user_list[i].id) > -1 )
user_list[i].remClass('hidden'); user_list[i].remClass('hidden');

View File

@ -78,7 +78,7 @@
$clusters = new Repo('machine/getClusters', array($machine['id_machine'])); $clusters = new Repo('machine/getClusters', array($machine['id_machine']));
$clusters = $clusters->answer(); $clusters = $clusters->answer();
echo "<article class='inline-box'>"; echo "<article class='inline-box' id='".$machine['id_machine']."'>";
// Nom de la machine // Nom de la machine
echo "<span class='title'>#".$machine['name']."</span>"; echo "<span class='title'>#".$machine['name']."</span>";