New file |
0,0 → 1,160 |
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; |
}; |