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