22,6 → 22,9 |
*/ |
|
var champs_ts = ["#au","#and","#anf","#nom","#bib"]; |
var autocompletionFicheOuverte = false; |
var elementAutocompletionSelectionne = null; |
var nomRechercheEnCours = null; |
|
$(document).ready(function() { |
ajouterAutocompletion(); |
28,6 → 31,7 |
ajouterActionClicSurTexteRecherche(champs_ts); |
gererAffichageValeursParDefaut(champs_ts); |
afficherValeurParDefaut(champs_ts); |
gererAccesFicheFlecheDroite(); |
}); |
|
/**------------------- Fonctions de gestion de l'autocompletion ---------------------------------*/ |
55,6 → 59,7 |
}); |
|
} |
|
function ajouterAutocompletionNoms() { |
$('#nom').autocomplete({ |
source: function(requete, add){ |
71,6 → 76,19 |
add(suggestions); |
}); |
}, |
search: function(event, ui) { |
nomRechercheEnCours = 'nom_sci'; |
}, |
focus: function(event, ui) { |
elementAutocompletionSelectionne = ui.item; |
}, |
open: function(event, ui) { |
autocompletionFicheOuverte = true; |
}, |
close: function(event, ui) { |
autocompletionFicheFermee = false; |
nomRechercheEnCours = null; |
}, |
html: true |
}); |
|
83,6 → 101,22 |
}); |
} |
|
// gére l'acces direct à une fiche par l'appui sur droite |
// dans la liste d'autocompletion des noms scientifiques |
function gererAccesFicheFlecheDroite() { |
$(document).keypress(function(event) { |
// flèche droite |
if(event.keyCode == '39') { |
if(autocompletionFicheOuverte && elementAutocompletionSelectionne != null && nomSciEstDemande()) { |
$('#nom').val(elementAutocompletionSelectionne.value); |
$('#eflore_nomenclature_fiche').click(); |
$('#nom').autocomplete( "disable" ); |
//TODO : ajout d'un message de chargement ? |
} |
} |
}); |
} |
|
function traiterRetourNomsSci(data) { |
var suggestions = []; |
if (data.resultat != undefined) { |
107,7 → 141,6 |
} |
|
|
|
function traiterRetourAvance(data, champs) { |
var suggestions = []; |
if (jQuery.type(data) == "array") { |
312,14 → 345,8 |
} |
|
} |
|
|
} |
|
|
|
|
|
/* |
* jQuery UI Autocomplete HTML Extension |
* |
355,8 → 382,8 |
if (item.retenu == true) { |
item.label = "<strong>"+item.label+"</strong>"; |
} |
|
return $("<li></li>") |
var classe = (nomRechercheEnCours == 'nom_sci' && nomSciEstDemande()) ? 'class="autocompletion_nom"' : ''; |
return $("<li "+classe+"></li>") |
.data("item.autocomplete", item) |
.append( $("<a></a>")[ this.options.html ? "html" : "text" ](item.label)) |
.appendTo(ul); |