New file |
0,0 → 1,155 |
var urlBaseJrest = 'http://162.38.234.9/obs_saisons/applications/jrest/'; |
|
/** |
************************************************************************************************ |
************************************************************************************************ |
|
Fonctions pour l'administration |
|
************************************************************************************************ |
************************************************************************************************ |
**/ |
|
var liste_utilisateurs_en_cours; |
var indice_utilisateur_en_cours; |
var timerRequeteAutocompletion; |
var timerAffichageAutocompletion; |
|
function ajouterAutoCompletionUtilisateurs() { |
|
$('input#identite_utilisateur').after('<div class="conteneur_suggestions_utilisateur"></div>'); |
$('input#identite_utilisateur').parent().addClass('autocompletion'); |
$('input#identite_utilisateur').attr('autocomplete','off'); |
$('.conteneur_suggestions_utilisateur').hide(); |
rendreListeAutoCompletionUtilisateursInteractive('input#identite_utilisateur'); |
} |
|
function obtenirInformationsUtilisateur(nom_utilisateur) { |
|
if(jQuery.trim(nom_utilisateur) == '') { |
$('.conteneur_suggestions_utilisateur').hide(); |
return; |
} |
|
$.get(urlBaseJrest+'OdsUtilisateur/'+nom_utilisateur, function(data) { |
|
infos_utilisateurs = jQuery.parseJSON(data); |
afficherListeAutoCompletionUtilisateur(infos_utilisateurs); |
}); |
} |
|
|
function afficherListeAutoCompletionUtilisateur(tableau_utilisateur) { |
|
liste_utilisateurs_en_cours = tableau_utilisateur; |
|
html_liste_utilisateurs = '<ul class="liste_suggestions">'; |
|
for(i = 0; i < tableau_utilisateur.length; i++) { |
|
html_liste_utilisateurs += '<li id="utilisateur_'+i+'" class="element_auto_completion_utilisateur">'+tableau_utilisateur[i]['nom']+'</li>'; |
} |
|
html_liste_utilisateurs += '</ul>'; |
|
$('.conteneur_suggestions_utilisateur').html(html_liste_utilisateurs); |
|
$('.element_auto_completion_utilisateur').hover(function() { |
indice = $(this).attr('id').split('_')[1]; |
mettreEnSurbrillanceUtilisateur(indice); |
}); |
|
$('.element_auto_completion_utilisateur').click(function() { |
$('#identite_utilisateur').val($(this).val()); |
$('#form_changement_identite').submit(); |
}); |
|
if(tableau_utilisateur.length > 0) { |
$('.conteneur_suggestions_utilisateur').show(); |
mettreEnSurbrillanceUtilisateur(0); |
} |
} |
|
function mettreEnSurbrillanceUtilisateur(indice) { |
|
if(indice_utilisateur_en_cours != null) { |
$('#utilisateur_'+indice_utilisateur_en_cours).removeClass('element_selectionne'); |
} |
$('#utilisateur_'+indice).addClass('element_selectionne'); |
indice_utilisateur_en_cours = indice; |
|
reprogrammerTimerPourCacherListeAutoCompletion(); |
} |
|
function rendreListeAutoCompletionUtilisateursInteractive(selecteur) { |
|
$(selecteur).keyup(function(event) { |
if(event.which == 8 || (event.which >= 48 && event.which <= 90)) { |
|
reprogrammerTimerPourCacherListeAutoCompletion(); |
reprogrammerTimerPourLancerRequeteUtilisateur(); |
} |
}); |
|
$(selecteur).keydown(function(event) { |
|
reprogrammerTimerPourCacherListeAutoCompletion(); |
|
// entree |
if(event.which==13){ |
selectionnerUtilisateur(indice_utilisateur_en_cours); |
} |
|
// haut |
if(event.which == 38){ |
if(indice_utilisateur_en_cours > 0) { |
mettreEnSurbrillanceUtilisateur(indice_utilisateur_en_cours - 1); |
} |
} |
|
// bas |
if(event.which == 40){ |
if(indice_utilisateur_en_cours < liste_utilisateurs_en_cours.length - 1) { |
mettreEnSurbrillanceUtilisateur(indice_utilisateur_en_cours + 1); |
} |
} |
}); |
|
$('.conteneur_suggestions_utilisateur').blur(function() { |
$('.conteneur_suggestions_utilisateur').hide(); |
}); |
} |
|
function reprogrammerTimerPourCacherListeAutoCompletion() { |
|
if(timerAffichageAutocompletion != null) { |
window.clearTimeout(timerAffichageAutocompletion); |
} |
|
timerAffichageAutocompletion = window.setTimeout(function() { |
$('.conteneur_suggestions_utilisateur').hide(); |
}, 2000); |
} |
|
function reprogrammerTimerPourLancerRequeteUtilisateur() { |
|
if(timerRequeteAutocompletion != null) { |
window.clearTimeout(timerRequeteAutocompletion); |
} |
|
timerRequeteAutocompletion = window.setTimeout(function() { |
obtenirInformationsUtilisateur($('input#identite_utilisateur').val()); |
}, 350); |
} |
|
function selectionnerUtilisateur(indice) { |
|
infos_utilisateur = liste_utilisateurs_en_cours[indice]; |
|
$('input#identite_utilisateur').val(infos_utilisateur['nom']); |
$('.conteneur_suggestions_utilisateur').hide(); |
} |
|
$('#identite_utilisateur').ready(function() { |
ajouterAutoCompletionUtilisateurs(); |
}); |