Subversion Repositories eFlore/Applications.cel

Compare Revisions

Ignore whitespace Rev 2904 → Rev 2866

/trunk/widget/modules/saisie/squelettes/messicoles/js/WidgetSaisieMessicoles.js
41,9 → 41,6
$("#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 {
64,18 → 61,6
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
103,6 → 88,7
$("#form-obs").validate({
rules: {
"taxon-liste" : "required",
taxon : "required",
"abondance-liste" : "required",
"zone-champ[]" : {
required : true,
109,19 → 95,27
minlength : 1
}
},
errorPlacement: function(error, element) {
errorPlacement: function(error, element) { // pas top mais mieux que rien
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();
return (observateur && station && obs && releve);
date = $("#form-date").valid();
return (observateur && station && obs && date);
};
 
// surcharge fonction stockerObsData()
139,7 → 133,6
// champs spécifques aux messicoles
var abondance = $('#abondance-liste').val(),
certitude = $('#identification-liste').val();
$('#liste-obs').data('obsId'+this.obsNbre, {
'date': $('#date').val(),
193,19 → 186,13
code_insee = code_insee.trim() != "" ? "("+code_insee+")" : "";
var latitude = $("#latitude").val();
var longitude = $("#longitude").val();
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 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 date = $("#date").val();
// champs spécifques aux messicoles
 
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 culture = ($('#culture-autres-radio').is(':checked') ? $('#culture-autres-input').val() : $('input[name=type-culture]:checked').data('titre'));
var identification = $('#identification-liste option:selected').data('titre');
var abondance = $('#abondance-liste option:selected').data('titre');
var zoneChamp = [];
213,6 → 200,7
$('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(
245,7 → 233,7
'</li>'+
'<li>'+
'<div class="row-fluid">'+
'<span class="span4">Culture de <span class="gras">'+cultureDetails+'</span> de type <span class="gras">'+culture+'</span></span>'+
'<span class="span4">Culture 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>'+
308,28 → 296,20
label: "Zone du champ",
valeur: zoneChamp.join()
});
var typeCulture = $('input[name=type-culture]:checked').data('titre');
 
var typeCulture = $('input[name=type-culture]:checked').val();
if (typeCulture == "autres") {
typeCulture = $('#culture-autres-input').val();
}
//console.log("tc:", typeCulture);
if (typeCulture != '') {
champs.push({
cle: "typeDeCulture",
label: "Type de culture",
valeur: (typeCulture == undefined ? "" : typeCulture)
valeur: 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;
}
 
338,7 → 318,6
 
/* 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({
350,20 → 329,14
}
});
 
// 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();
// 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();
 
// Affichage de l'espèce liée au référentiel sélectionné lors de la sélection 'Autres' (espèce)
function gererAffichageChampAutreEspece() {