21,14 → 21,40 |
* Exemple: Recherche un nom commun |
*/ |
|
var champs_ts = ["#au","#and","#anf","#nom","#bib"]; |
|
$(document).ready(function() { |
ajouterAutocompletionNoms(); |
ajouterActionClicSurTexteRecherche(); |
gererAffichageValeursParDefaut(); |
afficherValeurParDefaut(); |
ajouterAutocompletion(); |
ajouterActionClicSurTexteRecherche(champs_ts); |
gererAffichageValeursParDefaut(champs_ts); |
afficherValeurParDefaut(champs_ts); |
}); |
|
/**------------------- Fonctions de gestion de l'autocompletion ---------------------------------*/ |
function ajouterAutocompletion(){ |
ajouterAutocompletionNoms(); |
$('.champ_autocomplete').each(function(index) { |
ajouterAutocompletionAvancee($(this)); |
}); |
} |
|
function ajouterAutocompletionAvancee(champs){ |
champs.autocomplete({ |
source: function(requete, add){ |
// la variable de requête doit être vidée car sinon le parametre "term" est ajouté |
requete = ""; |
var id = champs.attr('id'); |
var url = getUrlAutocompletionAvancee(id); |
$.getJSON(url, requete, function(data) { |
var suggestions = []; |
suggestions = traiterRetourAvance(data,champs); |
add(suggestions); |
}); |
}, |
html: true |
}); |
|
} |
function ajouterAutocompletionNoms() { |
$('#nom').autocomplete({ |
source: function(requete, add){ |
35,7 → 61,7 |
// la variable de requête doit être vidée car sinon le parametre "term" est ajouté |
requete = ""; |
var url = getUrlAppelCompletion(); |
$.getJSON(url, requete, function(data) { |
$.getJSON(url, requete, function(data) { |
var suggestions = []; |
if (nomVernaculaireEstDemande()) { |
suggestions = traiterRetourNomsVerna(data); |
80,6 → 106,28 |
return suggestions; |
} |
|
|
|
function traiterRetourAvance(data, champs) { |
var suggestions = []; |
if (jQuery.type(data) == "array") { |
$.each(data[1], function(i, val) { |
var ch = {label : '', value : ''}; |
if (suggestions.length >= AUTOCOMPLETION_ELEMENTS_NBRE) { |
ch.label = "..."; |
ch.value = champs.val(); |
suggestions.push(ch); |
return false; |
} else { |
ch.label = val; |
ch.value = val; |
suggestions.push(ch); |
} |
}); |
} |
return suggestions; |
} |
|
function traiterRetourNomsVerna(data) { |
var suggestions = []; |
if (jQuery.type(data) == "array") { |
102,6 → 150,37 |
|
|
/**------------ Fonctions de gestion des urls d'autocompletion et des fiches ------------------*/ |
|
function getUrlAutocompletionAvancee(parametre) { |
var valeur = getValeurMasque(parametre); |
var ns_str = getValeurNsStructure(parametre); |
var url = URL_SERVICE_AUTOCOMPLETION_NOM_SCI+"?recherche=etendue&"+ |
"navigation.limite="+AUTOCOMPLETION_ELEMENTS_NBRE +'&masque.'+parametre+'='+valeur+ |
'&retour.format=oss&distinct=1&ns.structure='+ns_str; |
return url; |
} |
|
function getValeurMasque(parametre) { |
var valeur = $('#'+parametre).val(); |
if (parametre == 'au' ){ |
valeur = valeur +',(' + valeur + ')'; |
} else if (parametre == 'bib' ){ |
valeur = valeur +', %; ' + valeur ; |
} |
return valeur; |
} |
|
function getValeurNsStructure(parametre) { |
var ns = ''; |
if (parametre == 'au' || parametre == 'bib'){ |
ns = parametre +'_ss'; |
} else { |
ns = parametre; |
} |
return ns; |
} |
|
|
function getUrlAppelCompletion() { |
var url = ''; |
var mots = $('#nom').val(); |
148,43 → 227,57 |
} |
|
/**------------ Fonctions de gestion de l'affichage des valeurs par defaut ----------------------*/ |
function ajouterActionClicSurTexteRecherche() { |
$('#nom').click(function() { |
if (formulaireAfficheValeurParDefaut()) { |
$('#nom').val(''); |
} |
if ($('#nom').hasClass('valeur-defaut-recherche')) { |
$('#nom').removeClass('valeur-defaut-recherche'); |
} |
function ajouterActionClicSurTexteRecherche(champs) { |
$.each(champs, function(index, value) { |
$(value).click(function() { |
if (formulaireAfficheValeurParDefaut(value)) { |
$(value).val(''); |
} |
if ($(value).hasClass('valeur-defaut-recherche')) { |
$(value).removeClass('valeur-defaut-recherche'); |
} |
}); |
}); |
} |
|
function formulaireAfficheValeurParDefaut() { |
valeur_form = $('#nom').val(); |
function formulaireAfficheValeurParDefaut(champ) { |
valeur_form = $(champ).val(); |
valeur_form = $.trim(valeur_form); |
return valeur_form == '' || valeur_form == VALEUR_DEFAUT_NOM_SCI || valeur_form == VALEUR_DEFAUT_NOM_VERNA; |
return ( valeur_form == '' || valeur_form == VALEUR_DEFAUT_NOM_SCI || valeur_form == VALEUR_DEFAUT_NOM_VERNA |
|| valeur_form == VALEUR_DEFAUT_AU || valeur_form == VALEUR_DEFAUT_BIB || valeur_form == VALEUR_DEFAUT_DATE ); |
} |
|
function gererAffichageValeursParDefaut() { |
$('input[name="type_nom"]').click(function() { |
afficherValeurParDefaut(); |
}); |
|
$('#nom').focus(function() { |
$('#nom').removeClass('valeur-defaut-recherche'); |
if (formulaireAfficheValeurParDefaut()) { |
$('#nom').val(''); |
} else { |
$('#nom').select(); |
function gererAffichageValeursParDefaut(champs) { |
$('input[name="type_nom"]').click(function() { |
afficherValeurParDefautNom(); |
}); |
$.each(champs, function(index, value) { |
$(value).focus(function() { |
$(value).removeClass('valeur-defaut-recherche'); |
if (formulaireAfficheValeurParDefaut(value)) { |
$(value).val(''); |
} else { |
$(value).select(); |
} |
}); |
}); |
} |
|
function afficherValeurParDefaut(champs){ |
$.each(champs, function(index, value) { |
if (value == '#nom') { |
afficherValeurParDefautNom(); |
}else{ |
afficherValeurParDefautAvance(value); |
} |
}); |
} |
|
function afficherValeurParDefaut() { |
function afficherValeurParDefautNom() { |
if($('#nom') != undefined && $('#nom').val() != undefined) { |
valeur_form = $('#nom').val(); |
valeur_form = $.trim(valeur_form); |
if (formulaireAfficheValeurParDefaut()) { |
if (formulaireAfficheValeurParDefaut('#nom')) { |
if (nomSciEstDemande()) { |
$('#nom').val(VALEUR_DEFAUT_NOM_SCI); |
} else { |
201,6 → 294,32 |
} |
} |
|
|
function afficherValeurParDefautAvance(champs) { |
if($(champs) != undefined && $(champs).val() != undefined) { |
valeur_form = $(champs).val(); |
valeur_form = $.trim(valeur_form); |
if (formulaireAfficheValeurParDefaut(champs)) { |
if (champs == "#au") { |
$(champs).val(VALEUR_DEFAUT_AU); |
|
}else if (champs == "#bib" ) { |
$(champs).val(VALEUR_DEFAUT_BIB); |
} else { |
$(champs).val(VALEUR_DEFAUT_DATE); |
} |
$(champs).addClass('valeur-defaut-recherche'); |
} |
|
} |
|
|
} |
|
|
|
|
|
/* |
* jQuery UI Autocomplete HTML Extension |
* |