Subversion Repositories eFlore/Applications.cel

Rev

Rev 3047 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 3047 Rev 3048
Line 87... Line 87...
87
	this.surChangementTaxonListe();
87
	this.surChangementTaxonListe();
88
	$('#taxon-liste').on('change', this.surChangementTaxonListe);
88
	$('#taxon-liste').on('change', this.surChangementTaxonListe);
89
	if (this.debug) {
89
	if (this.debug) {
90
		console.log('Selected taxon:'+$('#taxon-liste option:selected').val());
90
		console.log('Selected taxon:'+$('#taxon-liste option:selected').val());
91
	}
91
	}
-
 
92
 
-
 
93
	// vidage du champ de recherche Google Maps
-
 
94
	$('#carte-recherche').val('');
-
 
95
 
-
 
96
	// vidage du taxon précédemment saisi avec l'autocomplétion, sans quoi on
-
 
97
	// perd son nn
-
 
98
	$('#taxon').val('');
-
 
99
	$('#taxon').data('numNomSel', ''); // et on vide le nn précédent
-
 
100
	this.surChangementValeurTaxon();
92
	$('#taxon-liste').on('blur', this.surChangementValeurTaxon);
101
	$('#taxon-liste').on('blur', this.surChangementValeurTaxon);
93
	$('#taxon').on('blur', this.surChangementValeurTaxon);
102
	$('#taxon').on('blur', this.surChangementValeurTaxon);
Line 94... Line 103...
94
 
103
 
95
	this.surChangementMilieuListe();
104
	this.surChangementMilieuListe();
Line 148... Line 157...
148
	});
157
	});
149
	$('#geolocaliser').on('click', this.geolocaliser.bind(this));
158
	$('#geolocaliser').on('click', this.geolocaliser.bind(this));
Line 150... Line 159...
150
 
159
 
Line 151... Line -...
151
};
-
 
152
 
-
 
153
/**
-
 
154
 * AUTO-COMPLÉTION Noms Scientifiques => OK
-
 
155
 * sélectionne un nom et puis qu'on le remplacer par un nom non valide
-
 
156
 * Garder la trace de la valeur permet de vider le nn lorsqu'on
-
 
157
 */
-
 
158
/*
-
 
159
WidgetSaisieBellesdemarue.prototype.ajouterAutocompletionNoms = function() {
-
 
160
	var lthis = this;
-
 
161
	$('#taxon').autocomplete({
-
 
162
		source: function(requete, add){
-
 
163
			// la variable de requête doit être vidée car sinon le parametre "term" est ajouté
-
 
164
 
-
 
165
			var url = lthis.getUrlAutocompletionNomsSci();
-
 
166
			$.getJSON(url, function(data) {
-
 
167
				var suggestions = lthis.traiterRetourNomsSci(data);
-
 
168
				add(suggestions);
-
 
169
			});
-
 
170
		},
-
 
171
		html: true
-
 
172
	});
-
 
173
 
-
 
174
	$('#taxon').bind('autocompleteselect', function(event, ui) {
-
 
175
		$('#taxon').data(ui.item);
-
 
176
		lthis.valeurChamp = $('#taxon').val();
-
 
177
		if (ui.item.retenu == true) {
-
 
178
			$('#taxon').addClass('ns-retenu');
-
 
179
		} else {
-
 
180
			$('#taxon').removeClass('ns-retenu');
-
 
181
		}
-
 
182
	});
-
 
183
	
-
 
184
	$('#taxon').bind('keypress', function() {
-
 
185
		if(lthis.valeurChamp != $('#taxon').val()) {
-
 
186
			$('#taxon').data('numNomSel', '');
-
 
187
		}
-
 
188
		lthis.valeurChamp = $('#taxon').val();
-
 
189
	});
-
 
190
};
-
 
191
 
-
 
192
*/
160
};
193
 
161
 
194
// surcharge
162
// surcharge
195
WidgetSaisieBellesdemarue.prototype.configurerFormValidator = function() {
163
WidgetSaisieBellesdemarue.prototype.configurerFormValidator = function() {
196
	$.validator.addMethod(
164
	$.validator.addMethod(
Line 285... Line 253...
285
 
253
 
286
WidgetSaisieBellesdemarue.prototype.surChangementTaxonListe = function() {
254
WidgetSaisieBellesdemarue.prototype.surChangementTaxonListe = function() {
287
	if ($('#taxon-liste').val() === '?') {
255
	if ($('#taxon-liste').val() === '?') {
288
		$('#taxon-input-groupe').removeClass('hidden');
256
		$('#taxon-input-groupe').removeClass('hidden');
-
 
257
	} else {
289
	} else {
258
		$('#taxon').val(''); // on force à réutiliser l'autocomplétion pour avoir un nn
290
		// $('#milieu-autre').val(''); paraît logique de faire ça mais méfiance
259
		$('#taxon').data('numNomSel', ''); // on vide le nn précédent
291
		$('#taxon-input-groupe').addClass('hidden');
260
		$('#taxon-input-groupe').addClass('hidden');
292
	}
261
	}
Line 293... Line 262...
293
};
262
};
Line 372... Line 341...
372
			}
341
			}
373
		});
342
		});
374
	});
343
	});
375
};
344
};
Line 376... Line -...
376
 
-
 
-
 
345
 
-
 
346
// lorsqu'on choisit un taxon dans la liste, ou qu'on en tape un à la main dans
377
/*
347
// le champ "autre espèce" (avec autocomplétion)
378
WidgetSaisieBellesdemarue.prototype.surChangementValeurTaxon = function() {
348
WidgetSaisieBellesdemarue.prototype.surChangementValeurTaxon = function() {
379
	var nomHorsListe = $('#taxon-liste').val() == '?' ? true : false;
349
	var nomHorsListe = $('#taxon-liste').val() == '?' ? true : false;
380
	var nomSpecial = $('#taxon-liste option:selected').hasClass('nom-special');
350
	var nomSpecial = $('#taxon-liste option:selected').hasClass('nom-special');
-
 
351
	var numNomSel = nomHorsListe ? $('#taxon').data('numNomSel') : $('#taxon-liste').val();
381
	var numNomSel = nomHorsListe ? $('#taxon').data('numNomSel') : $('#taxon-liste').val();
352
	var nomSel = nomHorsListe ? $('#taxon').val() : $('#taxon-liste option:selected').text().trim();
382
	
353
 
383
	// Un nom non valide entraine automatiquement une certitude "à déterminer"
354
	// Un nom non valide entraine automatiquement une certitude "à déterminer"
384
	if(nomSpecial || !numNomSel) {
355
	if(nomSpecial || !numNomSel) {
385
		$('#certitude-adeterminer').attr('checked', 'checked');
356
		$('#certitude-adeterminer').prop('checked', true);
386
	} else {
357
	} else {
387
		$('#certitude-adeterminer').removeAttr('checked');
358
		$('#certitude-adeterminer').prop('checked', false);
-
 
359
	}
-
 
360
 
-
 
361
	// stockage temporaire des infos connues
-
 
362
	$('#taxon').data('nn', numNomSel);
388
	}
363
	$('#taxon').data('ns', nomSel);
389
};
364
};
Line 390... Line 365...
390
*/
365
 
391
 
366
 
392
// surcharge
367
// surcharge
393
WidgetSaisieBellesdemarue.prototype.ajouterObs = function() {
-
 
394
	// Fermeture automatique des dialogue de transmission de données
368
WidgetSaisieBellesdemarue.prototype.ajouterObs = function() {
395
	// @WARNING TEST
369
	// Fermeture automatique des dialogue de transmission de données
Line 396... Line 370...
396
	$('#dialogue-obs-transaction-ko').hide();
370
	$('#dialogue-obs-transaction-ko').hide();
397
	$('#dialogue-obs-transaction-ok').hide();
371
	$('#dialogue-obs-transaction-ok').hide();
Line 402... Line 376...
402
		$('#image-obligatoire').show();
376
		$('#image-obligatoire').show();
403
	} else {
377
	} else {
404
		$('#image-obligatoire').hide();
378
		$('#image-obligatoire').hide();
405
	}
379
	}
Line 406... Line 380...
406
 
380
 
407
	if (this.validerFormulaire() == true && nbImages == 0) {
381
	if (this.validerFormulaire() == true && nbImages > 0) {
408
		this.masquerPanneau('#dialogue-form-invalide');
382
		this.masquerPanneau('#dialogue-form-invalide');
409
		this.obsNbre = this.obsNbre + 1;
383
		this.obsNbre = this.obsNbre + 1;
410
		$(".obs-nbre").text(this.obsNbre);
384
		$(".obs-nbre").text(this.obsNbre);
411
		$(".obs-nbre").triggerHandler('changement');
385
		$(".obs-nbre").triggerHandler('changement');
412
		this.afficherObs();
386
		this.afficherObs();
413
		this.stockerObsData();
387
		this.stockerObsData();
414
		this.supprimerMiniatures();
388
		this.supprimerMiniatures();
415
		if(! this.especeImposee) {
389
		if(! this.especeImposee) {
416
			$("#taxon").val("");
390
			$("#taxon").val("");
417
			$("#taxon").data("numNomSel",undefined);
391
			$("#taxon").data("numNomSel", undefined);
418
		}
392
		}
419
		$('#barre-progression-upload').attr('aria-valuemax', this.obsNbre);
393
		$('#barre-progression-upload').attr('aria-valuemax', this.obsNbre);
420
		$('#barre-progression-upload .sr-only').text('0/'+this.obsNbre+" observations transmises");
394
		$('#barre-progression-upload .sr-only').text('0/'+this.obsNbre+" observations transmises");
421
	} else {
395
	} else {
422
		this.afficherPanneau('#dialogue-form-invalide');
396
		this.afficherPanneau('#dialogue-form-invalide');
423
	}
397
	}
Line 424... Line -...
424
};
-
 
425
 
398
};
426
/*
399
 
427
// surcharge
-
 
428
WidgetSaisieBellesdemarue.prototype.afficherObs = function() {
400
// surcharge
429
	var numNomSel = ($('#taxon-liste').val() == '?') ? $('#taxon').data('numNomSel') : $('#taxon-liste').val(),
-
 
430
		nomSpecial = $('#taxon-liste option:selected').hasClass('nom-special'),
-
 
431
		taxon = ($('#taxon-liste').val() == '?') ? $('#taxon').val() : $('#taxon-liste option:selected').data('nom-a-sauver'),
401
WidgetSaisieBellesdemarue.prototype.afficherObs = function() {
432
		referentiel = (numNomSel == undefined) ? '' : '['+ this.nomSciReferentiel +']',
-
 
433
		commune = $('#commune-nom').text(),
402
	// on accepte que la commune soit parfois vide
434
		codeInsee = $('#commune-code-insee').text(),
-
 
435
		station = this.getValeurStation(),
-
 
436
		lat = $('input[name="latitude"]').val(),
403
	var commune = $("#commune-nom").text();
437
		lng = $('input[name="longitude"]').val(),
-
 
438
		date = $('#date').val(),
-
 
439
		milieux = this.getMilieux(),
404
	if (this.debug) {
440
		notes = (nomSpecial ? this.taxons[numNomSel]['nom_fr'] + ".<br />" : '') + $('#notes').val();
405
		console.log(commune);
441
 
406
	}
442
	$('#liste-obs').prepend(
407
	$("#liste-obs").prepend(
443
		'<div id="obs'+this.obsNbre+'" class="row-fluid obs obs'+this.obsNbre+'">' +
408
		'<div id="obs'+this.obsNbre+'" class="row-fluid obs obs'+this.obsNbre+'">'+
444
			'<div class="span12">' +
409
			'<div class="span12">'+
445
				'<div class="well">' +
410
				'<div class="well">'+
446
					'<div class="obs-action pull-right has-tooltip" data-placement="bottom" ' +
411
					'<div class="obs-action pull-right has-tooltip" data-placement="bottom" '+
447
						'title="Supprimer cette observation de la liste à transmettre">' +
412
						'title="Supprimer cette observation de la liste à transmettre">'+
448
						'<button class="btn btn-danger supprimer-obs" value="'+this.obsNbre+'" title="'+this.obsNbre+'">' +
413
						'<button class="btn btn-danger supprimer-obs" value="'+this.obsNbre+'" title="'+this.obsNbre+'">'+
449
							'<i class="icon-trash icon-white"></i>' +
414
							'<i class="icon-trash icon-white"></i>'+
450
						'</button>' +
415
						'</button>'+
451
					'</div> ' +
416
					'</div> '+
452
					'<div class="row-fluid">' +
417
					'<div class="row-fluid">'+
453
						'<div class="span2 obs-miniatures">' +
418
						'<div class="thumbnail span2">'+
454
						this.ajouterImgMiniatureAuTransfert() +
419
						this.ajouterImgMiniatureAuTransfert()+
455
						'</div>'+
420
						'</div>'+
-
 
421
						'<div class="span9">'+
-
 
422
							'<ul class="unstyled">'+
-
 
423
								'<li>'+
-
 
424
									'<span class="nom-sci">'+this.ajouterNomEspece()+'</span> '+
-
 
425
									this.ajouterNumNomSel()+
-
 
426
									this.ajouterNomReferentiel()+
-
 
427
								'</li>'+
-
 
428
								'<li>'+
-
 
429
									'Observé à '+
-
 
430
									'<span class="commune">'+commune+'</span> '+
-
 
431
									' ['+$("#latitude").val()+' / '+$("#longitude").val()+']'+
-
 
432
									' le '+
-
 
433
									'<span class="date">'+$("#date").val()+'</span>'+
-
 
434
								'</li>'+
-
 
435
								'<li>'+
-
 
436
									'<span>Certitude :</span> '+$('input[name="certitude"]').val()+' '+
-
 
437
								'</li>'+
-
 
438
								'<li>'+
456
						'<div class="span7">' +
439
									'<span>Milieu :</span> '+this.ajouterMilieu()+
457
							'<ul class="unstyled">' +
-
 
458
								'<li>'+
-
 
459
									'<span class="nom-sci">' + taxon + '</span> ' +
-
 
460
									this.formaterNumNomSel(numNomSel) +
-
 
461
									' observé à <br />' +
-
 
462
									'<span class="commune">' + commune + '</span> ' +
-
 
463
									'(' + codeInsee + '), ' +
-
 
464
									'<span class="station">' + station + '</span><br /> ' +
440
								'</li>'+
465
									' le ' +
-
 
466
									'<span class="date">' + date + '</span>' +
-
 
467
								'</li>' +
-
 
468
								'<li>' +
441
								'<li>'+
469
									'Milieux : ' + milieux + ' ' + ' ; ' +
-
 
470
								'</li>' +
-
 
471
								'<li>' +
-
 
472
									'Notes : ' + notes +
442
									'Commentaires : <span class="discretion">'+$("#notes").val()+'</span>'+
473
								'</li>' +
443
								'</li>'+
474
							'</ul>' +
444
							'</ul>'+
475
						'</div>' +
445
						'</div>'+
476
					'</div>' +
446
					'</div>'+
477
				'</div>' +
447
				'</div>'+
478
			'</div>'+
448
			'</div>'+
479
		'</div>');
449
		'</div>');
Line 480... Line 450...
480
	$('#zone-liste-obs').removeClass("hidden");
450
	$('#zone-liste-obs').removeClass("hidden").show();
-
 
451
};
-
 
452
 
-
 
453
WidgetSaisieBellesdemarue.prototype.ajouterMilieu = function() {
-
 
454
	var milieu = $('#milieu').val();
-
 
455
	if (milieu == 'autres') {
-
 
456
		var autreMilieu = $('#milieu-autre').val();
-
 
457
		if (autreMilieu) {
-
 
458
			milieu = autreMilieu;
-
 
459
		}
-
 
460
	}
-
 
461
	return milieu;
-
 
462
};
-
 
463
 
-
 
464
WidgetSaisieBellesdemarue.prototype.ajouterNomEspece = function() {
-
 
465
	var ns = $('#taxon').data('ns');
-
 
466
	if (! ns) {
-
 
467
		ns = "inconnue";
-
 
468
	}
-
 
469
	return ns;
481
};
470
};
-
 
471
 
482
 
472
WidgetSaisieBellesdemarue.prototype.ajouterNomReferentiel = function() {
-
 
473
	var nomRef = '';
-
 
474
	if ($("#taxon").data("nn")) {
-
 
475
		nomRef = '<span class="referentiel-obs">'+
-
 
476
			' [' + this.nomSciReferentiel +']'+
-
 
477
		'</span>';
-
 
478
	}
-
 
479
	return nomRef;
483
WidgetSaisieBellesdemarue.prototype.getValeurStation = function() { 
480
};
-
 
481
 
484
	var station = "";
482
// surcharge
-
 
483
WidgetSaisieBellesdemarue.prototype.ajouterNumNomSel = function() {
485
	var valeurSelectionnee = $("#indication-nom-rue-nom").text().trim();
484
	var nn = '';
486
	if(valeurSelectionnee == this.aucuneRueSelectionnee || valeurSelectionnee == this.nomDeRueInconnue) {
485
	if (! $("#taxon").data("nn")) {
487
		station = $('input[name="adresse"]').val().trim()
486
		nn = ' <span class="alert-error">[non lié au référentiel]</span>';
488
	} else {
-
 
489
		station = $("#indication-nom-rue-nom").text().trim();
487
	} else {
490
	}
488
		nn = ' <span class="nn">[nn'+$("#taxon").data("nn")+']</span>';
Line -... Line 489...
-
 
489
	}
491
	
490
	return nn;
492
	return station;
491
};
493
}
492
 
494
 
493
/*
495
WidgetSaisieBellesdemarue.prototype.ajouterImgMiniatureAuTransfert = function() {
494
WidgetSaisieBellesdemarue.prototype.ajouterImgMiniatureAuTransfert = function() {
Line 562... Line 561...
562
		}
561
		}
563
	}
562
	}
564
	miniatureAffichee.addClass('miniature-selectionnee').removeClass('miniature-cachee');
563
	miniatureAffichee.addClass('miniature-selectionnee').removeClass('miniature-cachee');
565
};
564
};
Line 566... Line -...
566
 
-
 
567
WidgetSaisieBellesdemarue.prototype.formaterNumNomSel = function(numNomSel) {
-
 
568
	var nn = '';
-
 
569
	if (numNomSel == undefined) {
-
 
570
		nn = '<span class="alert-error">[non lié au référentiel]</span>';
-
 
571
	} else {
-
 
572
		nn = '<span class="nn">[nn'+numNomSel+']</span>';
-
 
573
	}
-
 
574
	return nn;
-
 
575
};
-
 
576
 
-
 
577
// surcharge
-
 
578
WidgetSaisieBellesdemarue.prototype.surChangementReferentiel = function() {
-
 
579
	this.nomSciReferentiel = $('#referentiel').val();
-
 
580
	$('#taxon').val('');
-
 
581
};
-
 
582
 
565
 
583
// surcharge
566
// surcharge
584
WidgetSaisieBellesdemarue.prototype.stockerObsData = function() {
567
WidgetSaisieBellesdemarue.prototype.stockerObsData = function() {
585
	var lthis = this;
568
	var lthis = this;
586
	var nomHorsListe = $('#taxon-liste').val() == '?' ? true : false;
569
	var nomHorsListe = $('#taxon-liste').val() == '?' ? true : false;