Subversion Repositories eFlore/Applications.cel

Compare Revisions

Ignore whitespace Rev 1383 → Rev 1547

/branches/v1.6-croc/widget/modules/export/squelettes/js/export.js
New file
0,0 → 1,168
//+---------------------------------------------------------------------------------------------------------+
// AUTO-COMPLÉTION Noms Scientifiques
function ajouterAutocompletionNomSci() {
$('#taxon').autocomplete({
source: function(requete, add){
// la variable de requête doit être vidée car sinon le parametre "term" est ajouté
requete = "";
var url = getUrlAutocompletionNomSci()+"/"+formaterRequeteNomSci($('#taxon').val());
$.getJSON(url, requete, function(data) {
var suggestions = traiterRetourNomSci(data);
add(suggestions);
});
},
html: true
});
}
 
function formaterRequeteNomSci(nomSci) {
var nomSciCoupe = nomSci.split(' ');
if(nomSciCoupe.length >= 2) {
nomSci = nomSciCoupe[0]+'/'+nomSciCoupe[1];
} else {
nomSci = nomSciCoupe[0]+'/*';
}
return nomSci;
}
 
function traiterRetourNomSci(data) {
var suggestions = [];
if (data != undefined) {
$.each(data, function(i, val) {
var nom = {label : '', value : ''};
if (suggestions.length >= AUTOCOMPLETION_ELEMENTS_NBRE) {
nom.label = "...";
nom.value = val[0];
suggestions.push(nom);
return false;
} else {
nom.label = val[0];
nom.value = val[0];
suggestions.push(nom);
}
});
}
return suggestions;
}
 
function ajouterAutocompletionCommunes() {
$('#commune').autocomplete({
source: function(requete, add){
// la variable de requête doit être vidée car sinon le parametre "term" est ajouté
requete = "";
var url = getUrlAutocompletionCommunes()+"/"+$('#commune').val();
$.getJSON(url, requete, function(data) {
var suggestions = traiterRetourCommune(data);
add(suggestions);
});
},
html: true
});
$( "#commune" ).bind("autocompleteselect", function(event, ui) {
console.log(ui.item);
$("#commune").data(ui.item.value);
$("#dept").data(ui.item.code);
$("#dept").val(ui.item.code);
});
}
 
function getUrlAutocompletionNomSci() {
var url = SERVICE_AUTOCOMPLETION_NOM_SCI_URL;
return url;
}
 
function separerCommuneDepartement(chaine) {
var deptCommune = chaine.split(' (');
if(deptCommune[1] != null && deptCommune[1] != undefined) {
deptCommune[1] = deptCommune[1].replace(')', '');
} else {
deptCommune[1] = '';
}
return deptCommune;
}
 
function traiterRetourCommune(data) {
var suggestions = [];
if (data != undefined) {
$.each(data, function(i, val) {
var nom = {label : '', value : ''};
if (suggestions.length >= AUTOCOMPLETION_ELEMENTS_NBRE) {
nom.label = "...";
nom.value = val[0];
suggestions.push(nom);
return false;
} else {
nom.label = val[0];
var deptCommune = separerCommuneDepartement(val[0]);
nom.value = deptCommune[0];
nom.code = deptCommune[1];
suggestions.push(nom);
}
});
}
return suggestions;
}
 
function getUrlAutocompletionCommunes() {
var url = SERVICE_AUTOCOMPLETION_COMMUNE_URL;
return url;
}
 
function configurerValidationFormulaire() {
$("#form-export-obs").validate({
rules: {
utilisateur: {
email: true
},
date_debut: {
date: true,
date_valid : $('#date_debut')
},
date_fin: {
date: true,
date_valid : $('#date_fin')
},
dept: {
dept_valid : $('#dept')
},
num_taxon: {
number: true
}
},
messages: {
email: "L'email de l'utilisateur doit être valide",
num_taxon: "Le numéro taxonomique doit être un entier"
}
});
$.validator.addMethod("dept_valid", function(valeur) {
return valeur == "" || valeur.match(/^\d+(?:,\d+)*$/);
}, "Le ou les département(s) doivent être sur deux chiffres, séparés par des virgules"
);
$.validator.addMethod("date_valid", function(element) {
var valid = true;
var dateDebut = $('#date_debut').datepicker("getDate");
var dateFin = $('#date_fin').datepicker("getDate");
if($('#date_debut').val() != "" && $('#date_fin').val() != "") {
if(dateDebut != null && dateFin != null) {
valid = dateDebut <= dateFin;
} else {
valid = dateDebut == null || dateFin == null;
}
}
return valid;
}, "Les dates de début et de fin doivent être au format jj/mm/aaaa et la première inférieur à la dernière, si les deux sont présentes"
);
}
 
$(document).ready(function() {
ajouterAutocompletionNomSci();
ajouterAutocompletionCommunes();
$("#date_debut").datepicker($.datepicker.regional['fr']);
$("#date_fin").datepicker($.datepicker.regional['fr']);
configurerValidationFormulaire();
});