Rev 2408 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
function WidgetSaisieAmbrosia() {
}
WidgetSaisieAmbrosia.prototype = new WidgetSaisie();
WidgetSaisieAmbrosia.prototype.initEvts = function() {
var lthis = this;
// super()
WidgetSaisie.prototype.initEvts.call(this);
$("body").on('click', ".fermer", function(event) {
event.preventDefault();
lthis.basculerOuvertureFermetureCadre($(this).find('.icone'));
});
};
// @TODO harmoniser
WidgetSaisieAmbrosia.prototype.configurerFormValidator = function() {
$.validator.addMethod(
"dateCel",
function (value, element) {
return value == "" || (/^[0-9]{2}[-\/][0-9]{2}[-\/][0-9]{4}$/.test(value));
},
"Format : jj/mm/aaaa. Date incomplète, utiliser 0, exemple : 00/12/2011.");
$.extend($.validator.defaults, {
ignore: [],// Forcer Jquery Validate à examiner les éléments avec en display:none;
highlight: function(element) {
$(element).closest('.control-group').removeClass('success').addClass('error');
},
success: function(element) {
element.text('OK!').addClass('valid');
element.closest('.control-group').removeClass('error').addClass('success');
if (element.attr('id') == 'taxon' && $('#taxon').val() != '') {
// Si le taxon n'est pas lié au référentiel, on vide le data associé
if ($('#taxon').data('value') != $('#taxon').val()) {
$('#taxon').data('numNomSel', '');
$('#taxon').data('nomRet', '');
$('#taxon').data('numNomRet', '');
$('#taxon').data('nt', '');
$('#taxon').data('famille', '');
}
}
}
});
};
WidgetSaisieAmbrosia.prototype.definirReglesFormValidator = function() {
$('#form-observateur').validate({
rules: {
courriel : {
required : true,
email : true},
courriel_confirmation : {
required : true,
equalTo: '#courriel'}
}
});
$('#form-station').validate({
rules: {
latitude : {
range: [-90, 90],
required: true},
longitude : {
range: [-180, 180],
required: true},
stationSurface: 'required',
milieu: 'required'
}
});
$('#form-obs').validate({
rules: {
date: {
required: true,
'dateCel' : true},
taxon: 'required',
recouvrement: 'required'
},
errorPlacement: function(error, element) {
if (element.attr('name') == 'date') {
element.parent('.input-prepend').after(error);
} else {
error.insertAfter(element);
}
}
});
};
WidgetSaisieAmbrosia.prototype.basculerOuvertureFermetureCadre = function(element) {
if (element.hasClass('icon-plus-sign')) {
element.removeClass('icon-plus-sign').addClass('icon-minus-sign');
} else {
element.removeClass('icon-minus-sign').addClass('icon-plus-sign');
}
};
// @TODO harmoniser si espèce ou référentiel figés
WidgetSaisieAmbrosia.prototype.afficherObs = function() {
$("#liste-obs").prepend(
'<div id="obs'+this.obsNbre+'" class="row-fluid obs obs'+this.obsNbre+'">'+
'<div class="span12">'+
'<div class="well">'+
'<div class="obs-action pull-right has-tooltip" data-placement="bottom" '+
'title="Supprimer cette observation de la liste à transmettre">'+
'<button class="btn btn-danger supprimer-obs" value="'+this.obsNbre+'" title="'+this.obsNbre+'">'+
'<i class="icon-trash icon-white"></i>'+
'</button>'+
'</div> '+
'<div class="row-fluid">'+
'<div class="thumbnail span2">'+
this.ajouterImgMiniatureAuTransfert()+
'</div>'+
'<div class="span9">'+
'<ul class="unstyled">'+
'<li>'+
'<span class="nom-sci">'+$("#taxon").val()+'</span> '+
this.ajouterNumNomSel()+
' observé à '+
'<span class="commune">'+$('#commune-nom').text()+'</span> '+
'('+$('#commune-code-insee').text()+') ['+$("#latitude").val()+' / '+$("#longitude").val()+']'+
' le '+
'<span class="date">'+$("#date").val()+'</span>'+
'</li>'+
'<li>'+
'<span>Lieu-dit :</span> '+$('#lieudit').val()+' - '+
'<span>Station :</span> '+$('#station').val()+' '+
'</li>'+
'<li>'+
'<span>Surface :</span> '+$('#station-surface option:selected').text()+' - '+
'<span>Recouvrement :</span> '+$('#recouvrement option:selected').text()+' '+
'</li>'+
'<li>'+
'<span>Milieu :</span> '+$('#milieu').val()+' '+' - '+
'<span>Commentaire sur le milieu :</span> <span class="discretion">'+$('#milieu-commentaire').val()+' '+'</span><br />'+
'</li>'+
'<li>'+
'Notes : <span class="discretion">'+$("#notes").val()+'</span>'+
'</li>'+
'</ul>'+
'</div>'+
'</div>'+
'</div>'+
'</div>'+
'</div>');
};
// @TODO harmoniser
WidgetSaisieAmbrosia.prototype.ajouterNumNomSel = function() {
var nn = '';
if ($("#taxon").data("numNomSel") == undefined) {
nn = '<span class="alert-error">[non lié au référentiel]</span>';
} else {
nn = '<span class="nn">['+
'<span class="referentiel-obs">'+($("#taxon").data("numNomSel") == undefined ? '' : this.nomSciReferentiel + '-')+'</span>'+
'nn'+$("#taxon").data("numNomSel")+
']</span>';
}
return nn;
};