Subversion Repositories eFlore/Applications.cel

Compare Revisions

Ignore whitespace Rev 2866 → Rev 2904

/branches/v2.24-sarcloir/widget/modules/saisie/squelettes/messicoles/js/WidgetSaisieMessicoles.js
41,6 → 41,9
$("#taxon").val("");
$("#taxon").data("numNomSel",undefined);
}
$('#form-obs').each(function(){
this.reset();
});
$('#barre-progression-upload').attr('aria-valuemax', this.obsNbre);
$('#barre-progression-upload .sr-only').text('0/'+this.obsNbre+" observations transmises");
} else {
61,6 → 64,18
equalTo: "#courriel"}
}
});
$("#form-releve").validate({
rules: {
date : {
required : true,
date : date
},
"type-culture" : "required"
},
errorPlacement: function(error, element) {
error.insertBefore(element.parent());
}
});
$("#form-station").validate({
ignore: ':hidden:not("#latitude, #longitude")', // validation des champs cachés...
errorPlacement: function(error, element) { // ...mais erreur visible
88,7 → 103,6
$("#form-obs").validate({
rules: {
"taxon-liste" : "required",
taxon : "required",
"abondance-liste" : "required",
"zone-champ[]" : {
required : true,
95,27 → 109,19
minlength : 1
}
},
errorPlacement: function(error, element) { // pas top mais mieux que rien
errorPlacement: function(error, element) {
error.insertBefore(element.parent());
}
});
$("#form-date").validate({
rules: {
date : {
required : true,
date : date
}
}
});
};
 
// surcharge fonction validerFormulaire()
WidgetSaisieMessicoles.prototype.validerFormulaire = function() {
observateur = $("#form-observateur").valid();
releve = $("#form-releve").valid();
station = $("#form-station").valid();
obs = $("#form-obs").valid();
date = $("#form-date").valid();
return (observateur && station && obs && date);
return (observateur && station && obs && releve);
};
 
// surcharge fonction stockerObsData()
133,6 → 139,7
// champs spécifques aux messicoles
var abondance = $('#abondance-liste').val(),
certitude = $('#identification-liste').val();
$('#liste-obs').data('obsId'+this.obsNbre, {
'date': $('#date').val(),
186,13 → 193,19
code_insee = code_insee.trim() != "" ? "("+code_insee+")" : "";
var latitude = $("#latitude").val();
var longitude = $("#longitude").val();
var lieudit = ($('#lieudit').val() != "" ? $('#lieudit').val() : "pas de lieu-dit saisi");
var station = ($('#station').val() != "" ? $('#station').val() : "pas de station saisie");
var milieu = ($('#milieu').val() != "" ? $('#milieu').val() : "pas de milieu saisi");
 
var lieudit = ($('#lieudit').val() != "" ? $('#lieudit').val() : "aucun lieu-dit saisi");
var station = ($('#station').val() != "" ? $('#station').val() : "aucune station saisie");
var milieu = ($('#milieu').val() != "" ? $('#milieu').val() : "aucun milieu saisi");
var notes = ($('#notes').val() != "" ? $('#notes').val() : "<b>aucunes notes saisies</b>");
var date = $("#date").val();
// champs spécifques aux messicoles
var culture = ($('#culture-autres-radio').is(':checked') ? $('#culture-autres-input').val() : $('input[name=type-culture]:checked').data('titre'));
 
var culture = ($('input[name=type-culture]').is(':checked') ? $('input[name=type-culture]:checked').data('titre') : "?");
var cultureDetails = ($('input[name=type-culture]').is(':checked') ? $('input[name=type-culture]:checked').parent().find('input[type=text]').val() : '?');
var identification = $('#identification-liste option:selected').data('titre');
var abondance = $('#abondance-liste option:selected').data('titre');
var zoneChamp = [];
200,7 → 213,6
$('input[name="zone-champ[]"]:checked').each(function() {
zoneChamp.push(' '+$(this).data('titre'));
});
var notes = $("#notes").val();
 
// affichage des données de l'observation à transmettre
$("#liste-obs").prepend(
233,7 → 245,7
'</li>'+
'<li>'+
'<div class="row-fluid">'+
'<span class="span4">Culture de type <span class="gras">'+culture+'</span></span>'+
'<span class="span4">Culture de <span class="gras">'+cultureDetails+'</span> de type <span class="gras">'+culture+'</span></span>'+
'<span class="span4">Identification <span class="gras">'+identification+'</span></span>'+
'<span class="span4">Abondance de <span class="gras">'+abondance+'</span></span>'+
'</div>'+
296,20 → 308,28
label: "Zone du champ",
valeur: zoneChamp.join()
});
 
var typeCulture = $('input[name=type-culture]:checked').val();
if (typeCulture == "autres") {
typeCulture = $('#culture-autres-input').val();
}
var typeCulture = $('input[name=type-culture]:checked').data('titre');
//console.log("tc:", typeCulture);
if (typeCulture != '') {
champs.push({
cle: "typeDeCulture",
label: "Type de culture",
valeur: typeCulture
valeur: (typeCulture == undefined ? "" : typeCulture)
});
}
var typeCultureDetails = $('input[name=type-culture]:checked').parent().find('input[type=text]').val();
 
//console.log("tcd:", typeCultureDetails);
if (typeCultureDetails != '') {
champs.push({
cle: "typeDeCultureDetails",
label: "Details de la culture",
valeur: typeCultureDetails
});
}
 
return champs;
}
 
318,6 → 338,7
 
/* jQuery en vrac */
$(document).ready(function() {
// super popover qui va chercher son contenu dans un div à côté (pour les
// boutons d'aide des types de champs, etc.)
$('[data-toggle="popover"]').popover({
329,14 → 350,20
}
});
 
// Activation de la saisie si on clique sur 'Autres' (type de champ)
function gererAffichageChampAutreCulture() {
var input = $('#culture-autres-input');
($('#culture-autres-radio').is(':checked')) ? input.show() && input.focus() : input.hide();
}
$('.culture').change(gererAffichageChampAutreCulture);
// ... et aussi au chargement du widget, si la sélection est restée sur "Autre"
gererAffichageChampAutreCulture();
// Activation de la saisie si on clique sur un type de champ
function gererAffichageChampCulture(){
$('.culture input[type=text]').hide();
var radio = $('.culture input[type=radio]:checked');
var input = radio.parent().find('input[type=text]');
(radio.is(':checked')) ? input.show() && input.focus() : input.hide();
}
$('.culture').change(gererAffichageChampCulture);
// ... et aussi au chargement du widget, si la sélection est restée sur un champ
gererAffichageChampCulture();
 
// Affichage de l'espèce liée au référentiel sélectionné lors de la sélection 'Autres' (espèce)
function gererAffichageChampAutreEspece() {