| 2709 |
mathias |
1 |
function WidgetSaisieAmbrosia() {
|
| 1210 |
jpm |
2 |
}
|
| 2709 |
mathias |
3 |
WidgetSaisieAmbrosia.prototype = new WidgetSaisie();
|
| 1210 |
jpm |
4 |
|
|
|
5 |
|
| 2709 |
mathias |
6 |
WidgetSaisieAmbrosia.prototype.initEvts = function() {
|
|
|
7 |
var lthis = this;
|
|
|
8 |
// super()
|
|
|
9 |
WidgetSaisie.prototype.initEvts.call(this);
|
| 1249 |
jpm |
10 |
|
| 2328 |
jpm |
11 |
$("body").on('click', ".fermer", function(event) {
|
|
|
12 |
event.preventDefault();
|
| 2709 |
mathias |
13 |
lthis.basculerOuvertureFermetureCadre($(this).find('.icone'));
|
| 2328 |
jpm |
14 |
});
|
| 2709 |
mathias |
15 |
};
|
| 2328 |
jpm |
16 |
|
| 2709 |
mathias |
17 |
// @TODO harmoniser
|
|
|
18 |
WidgetSaisieAmbrosia.prototype.configurerFormValidator = function() {
|
| 1210 |
jpm |
19 |
$.validator.addMethod(
|
| 2328 |
jpm |
20 |
"dateCel",
|
|
|
21 |
function (value, element) {
|
|
|
22 |
return value == "" || (/^[0-9]{2}[-\/][0-9]{2}[-\/][0-9]{4}$/.test(value));
|
|
|
23 |
},
|
| 1213 |
jpm |
24 |
"Format : jj/mm/aaaa. Date incomplète, utiliser 0, exemple : 00/12/2011.");
|
| 2328 |
jpm |
25 |
|
| 1210 |
jpm |
26 |
$.extend($.validator.defaults, {
|
| 2328 |
jpm |
27 |
ignore: [],// Forcer Jquery Validate à examiner les éléments avec en display:none;
|
|
|
28 |
highlight: function(element) {
|
|
|
29 |
$(element).closest('.control-group').removeClass('success').addClass('error');
|
| 1210 |
jpm |
30 |
},
|
| 2328 |
jpm |
31 |
success: function(element) {
|
|
|
32 |
element.text('OK!').addClass('valid');
|
|
|
33 |
element.closest('.control-group').removeClass('error').addClass('success');
|
|
|
34 |
|
|
|
35 |
if (element.attr('id') == 'taxon' && $('#taxon').val() != '') {
|
|
|
36 |
// Si le taxon n'est pas lié au référentiel, on vide le data associé
|
|
|
37 |
if ($('#taxon').data('value') != $('#taxon').val()) {
|
|
|
38 |
$('#taxon').data('numNomSel', '');
|
|
|
39 |
$('#taxon').data('nomRet', '');
|
|
|
40 |
$('#taxon').data('numNomRet', '');
|
|
|
41 |
$('#taxon').data('nt', '');
|
|
|
42 |
$('#taxon').data('famille', '');
|
| 1213 |
jpm |
43 |
}
|
| 1210 |
jpm |
44 |
}
|
|
|
45 |
}
|
|
|
46 |
});
|
| 2709 |
mathias |
47 |
};
|
| 1249 |
jpm |
48 |
|
| 2709 |
mathias |
49 |
WidgetSaisieAmbrosia.prototype.definirReglesFormValidator = function() {
|
| 2328 |
jpm |
50 |
$('#form-observateur').validate({
|
| 1210 |
jpm |
51 |
rules: {
|
|
|
52 |
courriel : {
|
|
|
53 |
required : true,
|
|
|
54 |
email : true},
|
|
|
55 |
courriel_confirmation : {
|
|
|
56 |
required : true,
|
| 2328 |
jpm |
57 |
equalTo: '#courriel'}
|
| 1210 |
jpm |
58 |
}
|
|
|
59 |
});
|
| 2328 |
jpm |
60 |
$('#form-station').validate({
|
| 1210 |
jpm |
61 |
rules: {
|
|
|
62 |
latitude : {
|
| 2328 |
jpm |
63 |
range: [-90, 90],
|
|
|
64 |
required: true},
|
| 1210 |
jpm |
65 |
longitude : {
|
| 2328 |
jpm |
66 |
range: [-180, 180],
|
|
|
67 |
required: true},
|
|
|
68 |
stationSurface: 'required',
|
|
|
69 |
milieu: 'required'
|
| 1210 |
jpm |
70 |
}
|
|
|
71 |
});
|
| 2328 |
jpm |
72 |
$('#form-obs').validate({
|
| 1210 |
jpm |
73 |
rules: {
|
| 2328 |
jpm |
74 |
date: {
|
|
|
75 |
required: true,
|
|
|
76 |
'dateCel' : true},
|
|
|
77 |
taxon: 'required',
|
|
|
78 |
recouvrement: 'required'
|
|
|
79 |
},
|
|
|
80 |
errorPlacement: function(error, element) {
|
|
|
81 |
if (element.attr('name') == 'date') {
|
|
|
82 |
element.parent('.input-prepend').after(error);
|
|
|
83 |
} else {
|
|
|
84 |
error.insertAfter(element);
|
|
|
85 |
}
|
| 1210 |
jpm |
86 |
}
|
|
|
87 |
});
|
| 2709 |
mathias |
88 |
};
|
| 1249 |
jpm |
89 |
|
| 2709 |
mathias |
90 |
WidgetSaisieAmbrosia.prototype.basculerOuvertureFermetureCadre = function(element) {
|
| 2328 |
jpm |
91 |
if (element.hasClass('icon-plus-sign')) {
|
|
|
92 |
element.removeClass('icon-plus-sign').addClass('icon-minus-sign');
|
|
|
93 |
} else {
|
|
|
94 |
element.removeClass('icon-minus-sign').addClass('icon-plus-sign');
|
|
|
95 |
}
|
| 2709 |
mathias |
96 |
};
|
| 2328 |
jpm |
97 |
|
| 2709 |
mathias |
98 |
// @TODO harmoniser si espèce ou référentiel figés
|
|
|
99 |
WidgetSaisieAmbrosia.prototype.afficherObs = function() {
|
| 1249 |
jpm |
100 |
$("#liste-obs").prepend(
|
| 2709 |
mathias |
101 |
'<div id="obs'+this.obsNbre+'" class="row-fluid obs obs'+this.obsNbre+'">'+
|
| 1249 |
jpm |
102 |
'<div class="span12">'+
|
| 1253 |
jpm |
103 |
'<div class="well">'+
|
| 2328 |
jpm |
104 |
'<div class="obs-action pull-right has-tooltip" data-placement="bottom" '+
|
| 1253 |
jpm |
105 |
'title="Supprimer cette observation de la liste à transmettre">'+
|
| 2709 |
mathias |
106 |
'<button class="btn btn-danger supprimer-obs" value="'+this.obsNbre+'" title="'+this.obsNbre+'">'+
|
| 1249 |
jpm |
107 |
'<i class="icon-trash icon-white"></i>'+
|
|
|
108 |
'</button>'+
|
| 2328 |
jpm |
109 |
'</div> '+
|
|
|
110 |
'<div class="row-fluid">'+
|
| 1249 |
jpm |
111 |
'<div class="thumbnail span2">'+
|
| 2709 |
mathias |
112 |
this.ajouterImgMiniatureAuTransfert()+
|
| 1240 |
jpm |
113 |
'</div>'+
|
| 1249 |
jpm |
114 |
'<div class="span9">'+
|
|
|
115 |
'<ul class="unstyled">'+
|
|
|
116 |
'<li>'+
|
|
|
117 |
'<span class="nom-sci">'+$("#taxon").val()+'</span> '+
|
| 2709 |
mathias |
118 |
this.ajouterNumNomSel()+
|
| 1249 |
jpm |
119 |
' observé à '+
|
|
|
120 |
'<span class="commune">'+$('#commune-nom').text()+'</span> '+
|
|
|
121 |
'('+$('#commune-code-insee').text()+') ['+$("#latitude").val()+' / '+$("#longitude").val()+']'+
|
|
|
122 |
' le '+
|
|
|
123 |
'<span class="date">'+$("#date").val()+'</span>'+
|
|
|
124 |
'</li>'+
|
|
|
125 |
'<li>'+
|
| 2330 |
jpm |
126 |
'<span>Lieu-dit :</span> '+$('#lieudit').val()+' - '+
|
| 1249 |
jpm |
127 |
'<span>Station :</span> '+$('#station').val()+' '+
|
|
|
128 |
'</li>'+
|
|
|
129 |
'<li>'+
|
| 2330 |
jpm |
130 |
'<span>Surface :</span> '+$('#station-surface option:selected').text()+' - '+
|
|
|
131 |
'<span>Recouvrement :</span> '+$('#recouvrement option:selected').text()+' '+
|
| 1249 |
jpm |
132 |
'</li>'+
|
| 2330 |
jpm |
133 |
'<li>'+
|
|
|
134 |
'<span>Milieu :</span> '+$('#milieu').val()+' '+' - '+
|
|
|
135 |
'<span>Commentaire sur le milieu :</span> <span class="discretion">'+$('#milieu-commentaire').val()+' '+'</span><br />'+
|
|
|
136 |
'</li>'+
|
|
|
137 |
'<li>'+
|
|
|
138 |
'Notes : <span class="discretion">'+$("#notes").val()+'</span>'+
|
|
|
139 |
'</li>'+
|
| 1249 |
jpm |
140 |
'</ul>'+
|
|
|
141 |
'</div>'+
|
| 1237 |
jpm |
142 |
'</div>'+
|
| 1249 |
jpm |
143 |
'</div>'+
|
|
|
144 |
'</div>'+
|
|
|
145 |
'</div>');
|
| 2709 |
mathias |
146 |
};
|
| 1249 |
jpm |
147 |
|
| 2709 |
mathias |
148 |
// @TODO harmoniser
|
|
|
149 |
WidgetSaisieAmbrosia.prototype.ajouterNumNomSel = function() {
|
| 1240 |
jpm |
150 |
var nn = '';
|
|
|
151 |
if ($("#taxon").data("numNomSel") == undefined) {
|
|
|
152 |
nn = '<span class="alert-error">[non lié au référentiel]</span>';
|
|
|
153 |
} else {
|
| 2330 |
jpm |
154 |
nn = '<span class="nn">['+
|
| 2709 |
mathias |
155 |
'<span class="referentiel-obs">'+($("#taxon").data("numNomSel") == undefined ? '' : this.nomSciReferentiel + '-')+'</span>'+
|
| 2330 |
jpm |
156 |
'nn'+$("#taxon").data("numNomSel")+
|
|
|
157 |
']</span>';
|
| 1240 |
jpm |
158 |
}
|
|
|
159 |
return nn;
|
| 2709 |
mathias |
160 |
};
|