2,7 → 2,6 |
|
/* |
* Liste des noms scientifiques reçus pour la mise en gras des noms valide |
* et l'accès direct aux fiches |
*/ |
var listeNomsScientifiques = new Object(); |
/* |
16,13 → 15,8 |
* |
* var urlServiceAutocompletionNomsVerna : url de base du service de complétion de noms vernaculaires |
* pour le projet en cours de consultation. |
* Exemple : http://localhost/service:eflore:0.1/nvjfl/noms-vernaculaires?recherche=etendue&retour.format=oss&masque=aca&masque.lg=fra |
* Exemple : http://localhost/service:eflore:0.1/nvjfl/noms-vernaculaires?recherche=etendue&retour.format=oss&masque=aca&masque.lg=fra |
* |
* var urlBaseFicheTaxon : url de base de fiches des taxons afin de rediriger l'utilisateur sans |
* faire de recherche dans le cas d'une selection d'un nom sci dans la liste d'autocompletion |
* Exemple : http://localhost/eflore-consultation/index_botanique.php?referentiel=bdtfx&module=fiche&action=fiche&nn=127 |
* |
* |
* var valeurDefautNomSci : Contient la valeur par défaut affichée dans le formulaire en mode sci |
* Exemple: Rechercher un nom scientifique |
* var valeurDefautNomVerna : Contient la valeur par défaut affichée dans le formulaire en mode verna |
65,20 → 59,18 |
return url; |
} |
|
function getUrlFicheTaxon(num_nom) { |
return urlBaseFicheTaxon.replace('{num_taxon}',num_nom).replace('&','&'); |
} |
|
|
/**------------------- Fonctions de gestion de l'autocompletion ---------------------------------*/ |
function traiterRetourNomsSci(data) { |
|
var suggestions = []; |
if(data.resultat != undefined) { |
$.each(data.resultat, function(i, val) { |
val.num_tax = i; |
listeNomsScientifiques[val.nom_sci] = val; |
suggestions.push(val.nom_sci); |
}); |
var suggestions = []; |
if(data.resultat != undefined) { |
$.each(data.resultat, function(i, val) { |
val.num_tax = i; |
listeNomsScientifiques[val.nom_sci] = val; |
suggestions.push(val.nom_sci); |
}); |
} |
|
return suggestions; |
86,11 → 78,11 |
|
function traiterRetourNomsVerna(data) { |
|
var suggestions = []; |
if(jQuery.type(data) == "array") { |
$.each(data[1], function(i, val){ |
suggestions.push(val); |
}); |
var suggestions = []; |
if(jQuery.type(data) == "array") { |
$.each(data[1], function(i, val){ |
suggestions.push(val); |
}); |
} |
|
return suggestions; |
98,29 → 90,20 |
|
function ajouterAutocompletionNoms() { |
$('#nom').autocomplete({ |
source: function(req, add){ |
// la variable de requête doit être vidée car sinon le parametre "term" est ajouté |
req = ""; |
$.getJSON(getUrlAppelCompletion($('#nom').val()), req, function(data) { |
source: function(req, add){ |
// la variable de requête doit être vidée car sinon le parametre "term" est ajouté |
req = ""; |
$.getJSON(getUrlAppelCompletion($('#nom').val()), req, function(data) { |
|
if(nomVernaculaireEstDemande()) { |
suggestions = traiterRetourNomsVerna(data); |
} else { |
suggestions = traiterRetourNomsSci(data); |
} |
if(nomVernaculaireEstDemande()) { |
suggestions = traiterRetourNomsVerna(data); |
} else { |
suggestions = traiterRetourNomsSci(data); |
} |
|
add(suggestions); |
add(suggestions); |
}); |
}, |
select: function(ui, item) { |
var nom = item.item.value; |
if(listeNomsScientifiques[nom] != undefined) { |
// En cas de selection d'un nom scientifique de la liste |
var num_tax = listeNomsScientifiques[nom].num_tax; |
// On redirige automatique l'utilisateur vers sa fiche |
window.location = getUrlFicheTaxon(num_tax); |
} |
}, |
html: true |
}); |
} |