3425 |
idir |
1 |
/**
|
|
|
2 |
* Constructeur WidgetsSaisiesASL par défaut
|
|
|
3 |
* S'applique au squelette apa.tpl.html
|
|
|
4 |
* Squelette de base d'apa streets et lg
|
|
|
5 |
*/
|
|
|
6 |
// ASL : APA, sTREETs, Lichen's Go!
|
|
|
7 |
function WidgetsSaisiesASL( proprietes ) {
|
|
|
8 |
if ( utils.valOk( proprietes ) ) {
|
|
|
9 |
this.urlWidgets = proprietes.urlWidgets;
|
3532 |
idir |
10 |
this.projet = proprietes.projet;
|
|
|
11 |
this.idProjet = proprietes.idProjet;
|
3606 |
idir |
12 |
this.tagsMotsCles = proprietes.tagsMotsCles;
|
3425 |
idir |
13 |
this.mode = proprietes.mode;
|
|
|
14 |
this.langue = proprietes.langue;
|
|
|
15 |
this.serviceObsImgs = proprietes.serviceObsImgs;
|
|
|
16 |
this.serviceObsImgUrl = proprietes.serviceObsImgUrl;
|
|
|
17 |
this.serviceAnnuaireIdUrl = proprietes.serviceAnnuaireIdUrl;
|
|
|
18 |
this.serviceNomCommuneUrl = proprietes.serviceNomCommuneUrl;
|
|
|
19 |
this.serviceNomCommuneUrlAlt = proprietes.serviceNomCommuneUrlAlt;
|
|
|
20 |
this.debug = proprietes.debug;
|
|
|
21 |
this.html5 = proprietes.html5;
|
|
|
22 |
this.serviceSaisieUrl = proprietes.serviceSaisieUrl;
|
|
|
23 |
this.serviceObsUrl = proprietes.serviceObsUrl;
|
|
|
24 |
this.chargementImageIconeUrl = proprietes.chargementImageIconeUrl;
|
|
|
25 |
this.pasDePhotoIconeUrl = proprietes.pasDePhotoIconeUrl;
|
|
|
26 |
this.autocompletionElementsNbre = proprietes.autocompletionElementsNbre;
|
|
|
27 |
this.serviceAutocompletionNomSciUrl = proprietes.serviceAutocompletionNomSciUrl;
|
|
|
28 |
this.serviceAutocompletionNomSciUrlTpl = proprietes.serviceAutocompletionNomSciUrlTpl;
|
|
|
29 |
this.dureeMessage = proprietes.dureeMessage;
|
|
|
30 |
this.obsMaxNbre = proprietes.obsMaxNbre;
|
|
|
31 |
this.msgs = utils.msgs;
|
|
|
32 |
}
|
|
|
33 |
this.urlRacine = window.location.origin;
|
|
|
34 |
this.isASL = true;
|
|
|
35 |
this.nbObsEnCours = 1;
|
|
|
36 |
this.obsNbre = 0;
|
|
|
37 |
this.totalObsATransmettre = 0;
|
|
|
38 |
this.nbObsTransmises = 0;
|
|
|
39 |
this.tagImg = null;
|
|
|
40 |
this.tagObs = null;
|
|
|
41 |
this.separationTagImg = null;
|
|
|
42 |
this.separationTagObs = null;
|
|
|
43 |
this.nomSciReferentiel = null;
|
|
|
44 |
this.referentielImpose = null;
|
|
|
45 |
this.releveDatas = null;
|
|
|
46 |
this.urlBaseAuth = null;
|
|
|
47 |
this.idUtilisateur = null;
|
|
|
48 |
this.sujet = null;
|
|
|
49 |
this.isTaxonListe = false;
|
|
|
50 |
}
|
|
|
51 |
WidgetsSaisiesASL.prototype = new WidgetsSaisiesCommun();
|
|
|
52 |
|
|
|
53 |
/**
|
|
|
54 |
* Initialise le formulaire, les validateurs, les listes de complétion...
|
|
|
55 |
*/
|
|
|
56 |
WidgetsSaisiesASL.prototype.initForm = function() {
|
|
|
57 |
this.initFormConnection();
|
|
|
58 |
};
|
|
|
59 |
|
|
|
60 |
WidgetsSaisiesASL.prototype.initEvts = function() {
|
|
|
61 |
const lthis = this;
|
|
|
62 |
// initialisation des fonctions connexion utilisateur
|
|
|
63 |
this.initEvtsConnection();
|
|
|
64 |
// chargement plantes ou lichens
|
|
|
65 |
if ( this.valOk( $( '.charger-releve' ) ) ) {
|
|
|
66 |
var btnChargementForm = this.determinerBtnsChargementForm( '.' );
|
|
|
67 |
// #releve-data n'est pas modifié, bouton dans #releves-utilisateur
|
|
|
68 |
this.btnsChargerForm( btnChargementForm, false );
|
|
|
69 |
}
|
|
|
70 |
};
|
|
|
71 |
|
|
|
72 |
WidgetsSaisiesASL.prototype.determinerBtnsChargementForm = function( typeSelecteur, ajouterBtnPoursuivre = false ) {
|
|
|
73 |
var complement = '',
|
|
|
74 |
selecteurDefault = '',
|
|
|
75 |
separateur = ',';
|
|
|
76 |
|
|
|
77 |
if ( '#' === typeSelecteur ) {
|
|
|
78 |
if ( ajouterBtnPoursuivre ) {
|
|
|
79 |
selecteurDefault = 'poursuivre';
|
|
|
80 |
}
|
|
|
81 |
typeSelecteur += 'bouton-';
|
|
|
82 |
} else if ( '.' === typeSelecteur ) {
|
|
|
83 |
selecteurDefault = 'charger-releve';
|
|
|
84 |
complement = separateur + typeSelecteur;
|
|
|
85 |
}
|
3532 |
idir |
86 |
switch( this.projet ) {
|
3425 |
idir |
87 |
case 'tb_streets':
|
|
|
88 |
if ( !ajouterBtnPoursuivre ) {
|
|
|
89 |
complement += 'saisir-plantes';
|
|
|
90 |
}
|
|
|
91 |
break;
|
|
|
92 |
case 'tb_lichensgo':
|
|
|
93 |
if ( !ajouterBtnPoursuivre ) {
|
|
|
94 |
complement += 'saisir-lichens';
|
|
|
95 |
}
|
|
|
96 |
break;
|
|
|
97 |
case 'tb_aupresdemonarbre':
|
|
|
98 |
default:
|
|
|
99 |
separateur += typeSelecteur;
|
|
|
100 |
if ( ajouterBtnPoursuivre) {
|
|
|
101 |
complement = separateur;
|
|
|
102 |
}
|
|
|
103 |
complement += 'saisir-plantes' + separateur + 'saisir-lichens';
|
|
|
104 |
break;
|
|
|
105 |
}
|
|
|
106 |
return typeSelecteur + selecteurDefault + complement;
|
|
|
107 |
};
|
|
|
108 |
|
|
|
109 |
WidgetsSaisiesASL.prototype.btnsChargerForm = function( btn, modifierReleveData = true, dansRelevesUtilisateur = true ) {
|
|
|
110 |
const lthis = this;
|
|
|
111 |
var bloc = ( dansRelevesUtilisateur ) ? '#releves-utilisateur' : '#charger-form';
|
|
|
112 |
|
3432 |
idir |
113 |
$( btn, bloc ).off().on( 'click', function( event ) {
|
|
|
114 |
event.preventDefault();
|
|
|
115 |
|
3532 |
idir |
116 |
var thisWidgetObs = ( lthis.valOk( $( '#' + lthis.projet + '-obs' ).val() ) ) ? $.parseJSON( $( '#' + lthis.projet + '-obs' ).val() ) : [];
|
3425 |
idir |
117 |
var nomSquelette = $( this ).data( 'load' ),
|
|
|
118 |
releveDatas = '';
|
|
|
119 |
|
|
|
120 |
$( '#charger-form' ).data( 'load', nomSquelette );
|
|
|
121 |
if ( modifierReleveData ) {
|
|
|
122 |
if ( '#bouton-nouveau-releve' !== btn ) {
|
|
|
123 |
$( '#bouton-nouveau-releve' ).removeClass( 'hidden' );
|
3432 |
idir |
124 |
if ( lthis.valOk( thisWidgetObs ) ) {
|
|
|
125 |
releveDatas = JSON.stringify( thisWidgetObs[ $( this ).data( 'releve' ) ] );
|
|
|
126 |
}
|
3425 |
idir |
127 |
} else {
|
|
|
128 |
$( btn ).addClass( 'hidden' );
|
|
|
129 |
}
|
|
|
130 |
$( '#releve-data' ).val( releveDatas );
|
|
|
131 |
}
|
|
|
132 |
lthis.chargerForm( nomSquelette, lthis );
|
|
|
133 |
if ( lthis.valOk( thisWidgetObs ) ) {
|
|
|
134 |
$( '#bouton-list-releves' ).removeClass( 'hidden' );
|
|
|
135 |
}
|
|
|
136 |
$( '#table-releves' ).addClass( 'hidden' );
|
|
|
137 |
});
|
|
|
138 |
};
|
|
|
139 |
|
|
|
140 |
WidgetsSaisiesASL.prototype.chargerForm = function( nomSquelette, formObj ) {
|
|
|
141 |
const lthis = this;
|
|
|
142 |
|
3532 |
idir |
143 |
var urlSquelette = this.urlWidgets + 'saisie2?projet=' + this.projet + '&squelette=' + nomSquelette;
|
3425 |
idir |
144 |
|
|
|
145 |
$.ajax({
|
3432 |
idir |
146 |
url: urlSquelette,
|
3425 |
idir |
147 |
type: 'get',
|
|
|
148 |
success: function( squelette ) {
|
|
|
149 |
if ( lthis.valOk( squelette ) ) {
|
|
|
150 |
formObj.chargerSquelette( squelette, nomSquelette );
|
|
|
151 |
}
|
|
|
152 |
},
|
|
|
153 |
error: function() {
|
|
|
154 |
$( '#charger-form' ).html( lthis.msgTraduction( 'erreur-formulaire' ) );
|
|
|
155 |
}
|
|
|
156 |
});
|
|
|
157 |
};
|
|
|
158 |
|
|
|
159 |
// Préchargement des infos-obs ************************************************/
|
|
|
160 |
/**
|
|
|
161 |
* Callback dans le chargement du formulaire dans #charger-form
|
|
|
162 |
*/
|
|
|
163 |
WidgetsSaisiesASL.prototype.chargerSquelette = function( squelette , nomSquelette ) {
|
|
|
164 |
// à compléter plus tard si nécessaire, pour le moment on charge "arbres"
|
|
|
165 |
switch( nomSquelette ) {
|
|
|
166 |
case 'plantes' :
|
|
|
167 |
case 'lichens' :
|
|
|
168 |
this.chargerFormPlantesOuLichens( squelette, nomSquelette );
|
|
|
169 |
break;
|
|
|
170 |
case 'arbres' :
|
|
|
171 |
default :
|
|
|
172 |
if ( this.valOk( this.sujet ) ) {
|
|
|
173 |
this.reinitialiserWidget( squelette );
|
|
|
174 |
} else {
|
|
|
175 |
this.chargerObsUtilisateur( squelette );
|
|
|
176 |
}
|
|
|
177 |
break;
|
|
|
178 |
}
|
|
|
179 |
};
|
|
|
180 |
|
|
|
181 |
WidgetsSaisiesASL.prototype.chargerFormPlantesOuLichens = function( squelette, nomSquelette ) {
|
|
|
182 |
if ( this.valOk( $( '#releve-data' ).val() ) ) {
|
|
|
183 |
$( '#charger-form' ).html( squelette );
|
|
|
184 |
this.confirmerSortie();
|
|
|
185 |
const releveDatas = $.parseJSON( $( '#releve-data' ).val() );
|
|
|
186 |
const nbArbres = releveDatas.length -1;
|
|
|
187 |
|
|
|
188 |
for ( var i = 1; i <= nbArbres ; i++ ) {
|
|
|
189 |
$( '#choisir-arbre' ).append(
|
|
|
190 |
'<option value="' + i + '">'+
|
|
|
191 |
this.msgTraduction( 'arbre' ) + ' ' + i +
|
|
|
192 |
'</option>'
|
|
|
193 |
);
|
|
|
194 |
}
|
3427 |
idir |
195 |
this.scrollFormTop( '#zone-' + nomSquelette );
|
3425 |
idir |
196 |
}
|
|
|
197 |
};
|
|
|
198 |
|
|
|
199 |
WidgetsSaisiesASL.prototype.reinitialiserWidget = function( squelette ) {
|
|
|
200 |
$( '#charger-form' ).html( squelette );
|
|
|
201 |
if ( this.valOk( $( '#releve-data' ).val() ) ) {
|
|
|
202 |
this.rechargerFormulaire();
|
|
|
203 |
}
|
|
|
204 |
};
|
|
|
205 |
|
|
|
206 |
/**
|
|
|
207 |
* Infos des obs arbres de cet utilisateur
|
|
|
208 |
*/
|
|
|
209 |
WidgetsSaisiesASL.prototype.chargerObsUtilisateur = function( formReleve ) {
|
|
|
210 |
const lthis = this;
|
3532 |
idir |
211 |
var tagsMotsCles = this.tagsMotsCles.split( ',' ),
|
|
|
212 |
reprereAjoutTags = tagsMotsCles.length - 1,
|
3425 |
idir |
213 |
queryStringMotsCles = '';
|
|
|
214 |
|
3532 |
idir |
215 |
$.each( tagsMotsCles , function( i, tag ) {
|
|
|
216 |
queryStringMotsCles += 'mots_cles=' + tagsMotsCles[i];
|
3425 |
idir |
217 |
if ( i < reprereAjoutTags ) {
|
|
|
218 |
queryStringMotsCles += '&';
|
|
|
219 |
}
|
|
|
220 |
});
|
|
|
221 |
|
|
|
222 |
const urlObs =
|
|
|
223 |
$( 'body' ).data( 'obs-list' ) + '/'+
|
|
|
224 |
$( '#id_utilisateur' ).val() + '?' + queryStringMotsCles;
|
|
|
225 |
|
|
|
226 |
$.ajax({
|
|
|
227 |
url: urlObs,
|
|
|
228 |
type: 'GET',
|
|
|
229 |
success: function( dataObs, textStatus, jqXHR ) {
|
|
|
230 |
if ( !lthis.valOk( dataObs ) ) {
|
|
|
231 |
dataObs = '';
|
|
|
232 |
}
|
|
|
233 |
lthis.preformaterDonneesObs( dataObs );
|
|
|
234 |
},
|
|
|
235 |
error: function( jqXHR, textStatus, errorThrown ) {
|
|
|
236 |
lthis.activerModale( lthis.msgTraduction( 'erreur-chargement-obs-utilisateur' ) );
|
|
|
237 |
}
|
|
|
238 |
})
|
|
|
239 |
.always( function() {
|
|
|
240 |
$( '#charger-form' ).html( formReleve );
|
|
|
241 |
});
|
|
|
242 |
};
|
|
|
243 |
|
|
|
244 |
/**
|
|
|
245 |
* Préformater les données des obs d'un utilisateur
|
|
|
246 |
*/
|
|
|
247 |
WidgetsSaisiesASL.prototype.preformaterDonneesObs = function( dataObs ) {
|
|
|
248 |
const lthis = this;
|
|
|
249 |
|
|
|
250 |
if ( this.valOk( dataObs ) ) {
|
|
|
251 |
var projetObs = [],
|
|
|
252 |
datRuComun = [],
|
|
|
253 |
obsArbres = [],
|
|
|
254 |
projetObsE = {},
|
|
|
255 |
count = 0,
|
3532 |
idir |
256 |
tagsMotsCles = this.tagsMotsCles.split( ',' );
|
3425 |
idir |
257 |
|
|
|
258 |
$.each( dataObs, function( i, obs ) {
|
|
|
259 |
if (
|
3532 |
idir |
260 |
new RegExp( tagsMotsCles[0] ).test( obs.mots_cles_texte ) &&
|
|
|
261 |
new RegExp( tagsMotsCles[1] ).test( obs.mots_cles_texte ) &&
|
3432 |
idir |
262 |
!/(:?plantes|lichens(?!go))/.test( obs.mots_cles_texte )
|
3425 |
idir |
263 |
) {
|
|
|
264 |
if ( lthis.valOk( obs.obs_etendue ) ) {
|
|
|
265 |
$.each( obs.obs_etendue, function( indice, obsE ) {
|
|
|
266 |
projetObsE[obsE.cle] = obsE.valeur;
|
|
|
267 |
});
|
|
|
268 |
}
|
|
|
269 |
obs.date_observation = $.trim( obs.date_observation.replace( /[0-9]{2}:[0-9]{2}:[0-9]{2}$/, '') );
|
|
|
270 |
if ( -1 === datRuComun.indexOf( obs.date_observation + projetObsE.rue + obs.zone_geo ) ) {
|
|
|
271 |
datRuComun.push( obs.date_observation + projetObsE.rue + obs.zone_geo );
|
|
|
272 |
projetObs[count] = lthis.formaterReleveData( { 'obs':obs, 'obsE':projetObsE } );
|
|
|
273 |
count++;
|
|
|
274 |
}
|
|
|
275 |
obsArbres.push( lthis.formaterArbreData( { 'obs':obs, 'obsE':projetObsE } ) );
|
|
|
276 |
projetObsE = [];
|
|
|
277 |
}
|
|
|
278 |
});
|
|
|
279 |
// on insert les arbres dans les relevés en fonction de la date et la rue d'observation
|
|
|
280 |
// car les arbres pour un relevé (date/rue) n'ont pas forcément été enregistrés dans l'ordre ni le même jour
|
|
|
281 |
$.each( obsArbres, function( indexArbre, arbre ) {
|
|
|
282 |
for ( var indexReleve = 0; indexReleve < datRuComun.length; indexReleve++ ) {
|
|
|
283 |
if ( arbre.date_rue_commune === datRuComun[indexReleve] ) {
|
|
|
284 |
projetObs[indexReleve].push( arbre );
|
|
|
285 |
}
|
|
|
286 |
}
|
|
|
287 |
});
|
|
|
288 |
if ( this.valOk( projetObs ) ) {
|
|
|
289 |
this.prechargerLesObs( projetObs );
|
3532 |
idir |
290 |
$( '#' + this.projet + '-obs' ).val( JSON.stringify( projetObs ) );
|
3425 |
idir |
291 |
$( '#bouton-list-releves' ).removeClass( 'hidden' );
|
|
|
292 |
}
|
|
|
293 |
$( '#dates-rues-communes' ).val( JSON.stringify( datRuComun ) );
|
|
|
294 |
}
|
|
|
295 |
};
|
|
|
296 |
|
|
|
297 |
/**
|
|
|
298 |
* Stocke en Json les valeurs du relevé dans en value d'un input hidden
|
|
|
299 |
*/
|
|
|
300 |
WidgetsSaisiesASL.prototype.formaterReleveData = function( releveDatas ) {
|
|
|
301 |
var releve = [],
|
|
|
302 |
obs = releveDatas.obs,
|
|
|
303 |
obsE = releveDatas.obsE;
|
|
|
304 |
|
|
|
305 |
releve[0] = {
|
|
|
306 |
utilisateur : obs.ce_utilisateur,
|
|
|
307 |
date : obs.date_observation,
|
|
|
308 |
rue : obsE.rue,
|
|
|
309 |
'commune-nom' : obs.zone_geo,
|
|
|
310 |
'commune-insee' : obs.ce_zone_geo,
|
|
|
311 |
pays : obs.pays,
|
3532 |
idir |
312 |
'geometry-releve' : obsE['geometry-releve'],
|
3425 |
idir |
313 |
'latitude-releve' : obsE['latitude-releve'],
|
|
|
314 |
'longitude-releve' : obsE['longitude-releve'],
|
|
|
315 |
'altitude-releve' : obsE['altitude-releve'],
|
|
|
316 |
commentaires : obs.commentaire
|
|
|
317 |
};
|
3532 |
idir |
318 |
if ( 'tb_lichensgo' !== this.projet ) {
|
3425 |
idir |
319 |
releve[0]['zone-pietonne'] = obsE['zone-pietonne'];
|
|
|
320 |
releve[0]['pres-lampadaires'] = obsE['pres-lampadaires'];
|
|
|
321 |
}
|
|
|
322 |
return releve;
|
|
|
323 |
};
|
|
|
324 |
|
|
|
325 |
/**
|
|
|
326 |
* Stocke en Json les valeurs d'une obs
|
|
|
327 |
*/
|
|
|
328 |
WidgetsSaisiesASL.prototype.formaterArbreData = function( arbresDatas ) {
|
|
|
329 |
var retour = {},
|
|
|
330 |
obs = arbresDatas.obs,
|
|
|
331 |
obsE = arbresDatas.obsE,
|
|
|
332 |
miniatureImg = [];
|
|
|
333 |
if( this.valOk( obs['miniature-img'] ) ) {
|
|
|
334 |
miniatureImg = obs['miniature-img'];
|
|
|
335 |
} else if ( this.valOk( obsE['miniature-img'] ) ) {
|
|
|
336 |
miniatureImg = $.parseJSON( obsE['miniature-img'] );
|
|
|
337 |
}
|
|
|
338 |
|
|
|
339 |
retour = {
|
|
|
340 |
'date_rue_commune' : obs.date_observation + obsE.rue + obs.zone_geo,
|
|
|
341 |
'num-arbre' : obsE.num_arbre,
|
|
|
342 |
'id_observation' : obs.id_observation,
|
|
|
343 |
'taxon' : {
|
|
|
344 |
'numNomSel' : obs.nom_sel_nn,
|
|
|
345 |
'value' : obs.nom_sel,
|
|
|
346 |
'nomRet' : obs.nom_ret,
|
|
|
347 |
'numNomRet' : obs.nom_ret_nn,
|
|
|
348 |
'nt' : obs.nt,
|
|
|
349 |
'famille' : obs.famille,
|
|
|
350 |
},
|
|
|
351 |
'miniature-img' : miniatureImg,
|
|
|
352 |
'referentiel' : obs.nom_referentiel,
|
|
|
353 |
'certitude' : obs.certitude,
|
|
|
354 |
'rue-arbres' : obsE['rue-arbres'],
|
3532 |
idir |
355 |
'geometry-arbres' : obs['geometry'],
|
3425 |
idir |
356 |
'latitude-arbres' : obs['latitude'],
|
|
|
357 |
'longitude-arbres' : obs['longitude'],
|
|
|
358 |
'altitude-arbres' : obs['altitude'],
|
|
|
359 |
'circonference' : obsE.circonference,
|
|
|
360 |
'com-arbres' : obsE['com-arbres']
|
|
|
361 |
};
|
3532 |
idir |
362 |
if ( 'tb_lichensgo' !== this.projet ) {
|
3425 |
idir |
363 |
retour['surface-pied'] = obsE['surface-pied'];
|
|
|
364 |
retour['equipement-pied-arbre'] = obsE['equipement-pied-arbre'];
|
|
|
365 |
retour['tassement'] = obsE.tassement;
|
|
|
366 |
retour['dejections'] = obsE.dejections;
|
|
|
367 |
}
|
3532 |
idir |
368 |
if ( 'tb_streets' !== this.projet ) {
|
3425 |
idir |
369 |
retour['face-ombre'] = obsE['face-ombre'];
|
|
|
370 |
}
|
|
|
371 |
return retour;
|
|
|
372 |
};
|
|
|
373 |
|
|
|
374 |
WidgetsSaisiesASL.prototype.prechargerLesObs = function( thisWidgetObs ) {
|
|
|
375 |
const lthis = this;
|
|
|
376 |
const $listReleve = $( '#list-releves' );
|
|
|
377 |
const TEXT_ARBRE = ' ' + this.msgTraduction( 'arbre' ).toLowerCase();
|
|
|
378 |
|
|
|
379 |
var nbArbres = '',
|
|
|
380 |
texteArbre = '',
|
|
|
381 |
releveHtml = '';
|
|
|
382 |
|
|
|
383 |
$( '#bouton-list-releves' )
|
|
|
384 |
.removeClass( 'hidden' )
|
3432 |
idir |
385 |
.on( 'click', function( event ) {
|
|
|
386 |
event.preventDefault();
|
3425 |
idir |
387 |
$( '#table-releves' ).removeClass( 'hidden' );
|
|
|
388 |
$( this ).addClass( 'hidden' );
|
|
|
389 |
});
|
|
|
390 |
function boutonsChargerReleve( lthis, squelette, indice ) {
|
|
|
391 |
var boutonLichens =
|
3432 |
idir |
392 |
'<a href="" class="saisir-lichens btn btn-sm btn-info" data-releve="' + indice + '" data-load="lichens">'+
|
3425 |
idir |
393 |
'<i class="far fa-snowflake"></i> ' + lthis.msgTraduction( 'saisir-lichens' )+
|
3432 |
idir |
394 |
'</a> ',
|
3425 |
idir |
395 |
boutonPlantes =
|
3432 |
idir |
396 |
'<a href="" class="saisir-plantes btn btn-sm btn-info mb-1" data-releve="' + indice + '" data-load="plantes">'+
|
3425 |
idir |
397 |
'<i class="fas fa-seedling"></i> ' + lthis.msgTraduction( 'saisir-plantes' )+
|
3432 |
idir |
398 |
'</a> ';
|
3425 |
idir |
399 |
|
|
|
400 |
switch( squelette ) {
|
|
|
401 |
case 'tb_streets':
|
|
|
402 |
return boutonPlantes;
|
|
|
403 |
case 'tb_lichensgo' :
|
|
|
404 |
return boutonLichens;
|
|
|
405 |
case 'tb_aupresdemonarbre' :
|
|
|
406 |
default :
|
|
|
407 |
return boutonPlantes + boutonLichens;
|
|
|
408 |
}
|
|
|
409 |
return '';
|
|
|
410 |
}
|
|
|
411 |
$.each( thisWidgetObs, function( i, releve ) {
|
|
|
412 |
nbArbres = releve.length - 1;
|
|
|
413 |
texteArbre = ( 1 < nbArbres ) ? ( TEXT_ARBRE + 's' ) : TEXT_ARBRE;
|
|
|
414 |
releveHtml +=
|
|
|
415 |
'<tr class="table-light text-center">'+
|
|
|
416 |
'<td>' +
|
|
|
417 |
'<p>'+
|
|
|
418 |
lthis.fournirDate( releve[0].date ) +
|
|
|
419 |
'</p><p>'+
|
|
|
420 |
releve[0].rue + ', ' + releve[0]['commune-nom'] +
|
|
|
421 |
'</p><p>'+
|
|
|
422 |
'(' + nbArbres + texteArbre + ')' +
|
|
|
423 |
'</p>'+
|
|
|
424 |
'</td>'+
|
|
|
425 |
'<td class="d-flex flex-column">' +
|
3432 |
idir |
426 |
'<a href="" class="charger-releve btn btn-sm btn-info mb-1" data-releve="' + i + '" data-load="arbres">'+
|
3425 |
idir |
427 |
'<i class="fas fa-clone"></i> ' + lthis.msgTraduction( 'dupliquer' )+
|
3432 |
idir |
428 |
'</a> '+
|
3532 |
idir |
429 |
boutonsChargerReleve( lthis, lthis.projet, i ) +
|
3425 |
idir |
430 |
'</td>'+
|
|
|
431 |
'</tr>';
|
|
|
432 |
});
|
|
|
433 |
$listReleve.append( releveHtml );
|
|
|
434 |
$( '#nb-releves-bienvenue' )
|
|
|
435 |
.removeClass( 'hidden' )
|
|
|
436 |
.find( 'span.nb-releves' )
|
|
|
437 |
.text( thisWidgetObs.length );
|
|
|
438 |
};
|