Subversion Repositories eFlore/Applications.cel

Compare Revisions

Ignore whitespace Rev 2706 → Rev 2707

/trunk/widget/modules/saisie/squelettes/defaut/defaut.tpl.html
202,7 → 202,7
<h2>Observateur</h2>
<form id="form-observateur" action="#" class="" autocomplete="on">
<div class="row-fluid">
<div class="span6" rel="tooltip" data-placement="right"
<div class="span6 has-tooltip" data-placement="right"
title="Saisissez le courriel avec lequel vous être inscrit à Tela Botanica.
Si vous n'êtes pas inscrit, ce n'est pas grave, vous pourrez le faire
ultérieurement. Des informations complémentaires vont vous être
296,8 → 296,7
<form id="form-carte-recherche" class="form-search form-horizontal" action="#" >
<div class="control-group">
<label for="carte-recherche">Rechercher</label>
<input id="carte-recherche" class="search-query" type="text" value=""
rel="tooltip"
<input id="carte-recherche" class="search-query has-tooltip" type="text" value=""
title="Permet de centrer la carte sur le lieu recherché."
placeholder="Centrer la carte sur un lieu..."/>
</div>
306,7 → 305,7
</div>
<div class="row-fluid">
<div class="span12">
<div id="map-canvas" rel="tooltip"
<div id="map-canvas" class="has-tooltip"
title="Vous pouvez cliquer sur la carte pour déplacer le marqueur
représentant votre station ou bien le glisser-déposer sur
le lieu souhaité."></div>
317,8 → 316,7
<a href="#" class="afficher-coord">Afficher</a>
<a href="#" class="afficher-coord" style="display:none;">Cacher</a>
les coordonnées géographiques
<span id="lat-lon-info" class="info"
rel="tooltip"
<span id="lat-lon-info" class="info has-tooltip"
title="Système géodésique mondial, révision de 1984 - Coordonnées non projetées">
(WGS84)
</span>
327,8 → 325,7
<span for="marqueur-commune">Commune : </span>
<span id="marqueur-commune">
<span id="commune-nom" class="commune-info"></span>
(<span id="commune-code-insee" class="commune-info"
rel="tooltip"
(<span id="commune-code-insee" class="commune-info has-tooltip"
title="Code INSEE de la commune"></span>)
</span>
</div>
351,7 → 348,7
<div class="span1">
<div>
<input id="geolocaliser" type="button" value="Voir sur la carte"
rel="tooltip"
class="has-tooltip"
title="Centre la carte sur les coordonnées de latitude et longitude saisies."/>
</div>
</div>
358,7 → 355,7
</div>
</div>
<div class="row-fluid">
<div class="span4" rel="tooltip"
<div class="span4 has-tooltip"
title="Toponyme plus précis que la commune, utilisé localement et se trouvant souvent sur les cartes au 1/25 000." >
<label for="lieudit">Lieu-dit</label>
<div>
365,7 → 362,7
<input type="text" id="lieudit" class="span2" name="lieudit"/>
</div>
</div>
<div class="span4" rel="tooltip"
<div class="span4 has-tooltip"
title="Lieu précis de l'observation définissant une unité écologique homogène (ex: le pré derrière la maison)." >
<label for="station">Station</label>
<div>
372,7 → 369,7
<input type="text" id="station" class="span2" name="station"/>
</div>
</div>
<div class="span4" rel="tooltip"
<div class="span4 has-tooltip"
title="Type d'habitat plus ou moins standardisé dans les codes Corine ou Catminat (ex: prairie humide).">
<label for="milieu">Milieu</label>
<div>
388,7 → 385,7
<h2>Observation</h2>
<?php if(!$referentiel_impose && !$espece_imposee) : ?>
<div class="row-fluid">
<div rel="tooltip"
<div class="has-tooltip"
title="Sélectionnez le référentiel associé à votre relevé">
<label for="referentiel" title="Réferentiel">
Référentiel
409,7 → 406,7
</div>
<?php endif; ?>
<div class="row-fluid">
<div class="span4" rel="tooltip"
<div class="span4 has-tooltip"
title="Vous pouvez cliquer sur l'icône de calendrier pour
sélectionner une date dans un calendrier.">
<label for="date" title="Veuillez indiquer la date du relevé au format jj/mm/aaaa">
421,7 → 418,7
placeholder="jj/mm/aaaa" />
</div>
</div>
<div id="taxon-input-groupe" class="span8" rel="tooltip"
<div id="taxon-input-groupe" class="span8 has-tooltip"
title="Sélectionnez une espèce dans la liste déroulante pour lier
votre nom au référentiel selectionné. Si vous
le désirez vous pouvez aussi saisir un nom absent du référentiel
462,7 → 459,7
</form>
</div>
<div class="row-fluid">
<div class="span12 centre" rel="tooltip"
<div class="span12 centre has-tooltip"
title="Une fois les champs remplis, vous pouvez cliquer sur ce bouton pour
ajouter votre observation à la liste à transmettre.">
<button id="ajouter-obs" class="btn btn-primary btn-large" type="button">
506,8 → 503,8
<h2>Observations à transmettre : <span class="obs-nbre">0</span></h2>
</div>
<div class="span4 droite">
<button id="transmettre-obs" class="btn btn-primary btn-large"
type="button" disabled="disabled" rel="tooltip"
<button id="transmettre-obs" class="btn btn-primary btn-large has-tooltip"
type="button" disabled="disabled"
title="Ajoute les observations ci-dessous à votre Carnet en Ligne et les rend publiques.">
Transmettre
</button>
/trunk/widget/modules/saisie/squelettes/defaut/js/WidgetSaisie.js
21,7 → 21,7
this.serviceSaisieUrl = null;
this.serviceObsUrl = null;
this.nomSciReferentiel = null;
this.especeImposee = null;
this.especeImposee = false;
this.infosEspeceImposee = null;
this.autocompletionElementsNbre = null;
this.referentielImpose = null;
46,6 → 46,7
this.initCarto();
this.initForm();
this.initEvts();
this.requeterIdentite();
};
 
/**
54,6 → 55,34
WidgetSaisie.prototype.initCarto = function() {
this.initialiserGoogleMap();
this.initialiserAutocompleteCommune();
 
$("#carte-recherche").autocomplete({
//Cette partie utilise geocoder pour extraire des valeurs d'adresse
source: function(request, response) {
geocoderOptions.address = request.term + addressSuffix;
console.log('Geocoder options', geocoderOptions);
lthis.geocoder.geocode( geocoderOptions, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
response($.map(results, function(item) {
var retour = {
label: item.formatted_address,
value: item.formatted_address,
latitude: item.geometry.location.lat(),
longitude: item.geometry.location.lng()
};
return retour;
}));
} else {
lthis.afficherErreurGoogleMap(status);
}
});
},
// Cette partie est executee a la selection d'une adresse
select: function(event, ui) {
var latLng = new google.maps.LatLng(ui.item.latitude, ui.item.longitude);
lthis.deplacerMarker(latLng);
}
});
}
 
/**
61,10 → 90,11
*/
WidgetSaisie.prototype.initForm = function() {
if (this.obsId != '') {
console.log('obsId: (' + typeof obsId + ') : ' + obsId);
this.chargerInfoObs();
}
 
this.configurerDatePicker();
this.configurerDatePicker('#date');
this.ajouterAutocompletionNoms();
this.configurerFormValidator();
this.definirReglesFormValidator();
117,7 → 147,7
$("#courriel").on('blur', this.requeterIdentite.bind(this));
$("#courriel").on('keypress', this.testerLancementRequeteIdentite.bind(this));
$(".alert .close").on('click', this.fermerPanneauAlert);
$("[rel=tooltip]").tooltip('enable');
$(".has-tooltip").tooltip('enable');
$("#btn-aide").on('click', this.basculerAffichageAide);
$("#prenom").on("change", this.formaterPrenom.bind(this));
$("#nom").on("change", this.formaterNom.bind(this));
150,6 → 180,19
return 'Êtes vous sûr de vouloir quiter la page?\nLes observations saisies mais non transmises seront perdues.';
});
}
 
// Autocompletion du champ adresse
$("#carte-recherche").on('focus', function() {
$(this).select();
});
$("#carte-recherche").on('mouseup', function(event) {// Pour Safari...
event.preventDefault();
});
$("#carte-recherche").keypress(function(e) {
if (e.which == 13) {
e.preventDefault();
}
});
}
 
/**
193,6 → 236,13
};
 
/**
* Efface une miniature (formulaire)
*/
WidgetSaisie.prototype.supprimerMiniature = function(miniature) {
miniature.parents('.miniature').remove();
}
 
/**
* Efface toutes les miniatures (formulaire)
*/
WidgetSaisie.prototype.supprimerMiniatures = function() {
229,47 → 279,6
geocoderOptions.region = 'fr';
addressSuffix = ', France';
}
 
$("#carte-recherche").autocomplete({
//Cette partie utilise geocoder pour extraire des valeurs d'adresse
source: function(request, response) {
geocoderOptions.address = request.term + addressSuffix;
console.log('Geocoder options', geocoderOptions);
lthis.geocoder.geocode( geocoderOptions, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
response($.map(results, function(item) {
var retour = {
label: item.formatted_address,
value: item.formatted_address,
latitude: item.geometry.location.lat(),
longitude: item.geometry.location.lng()
};
return retour;
}));
} else {
lthis.afficherErreurGoogleMap(status);
}
});
},
// Cette partie est executee a la selection d'une adresse
select: function(event, ui) {
var latLng = new google.maps.LatLng(ui.item.latitude, ui.item.longitude);
lthis.deplacerMarker(latLng);
}
});
 
// Autocompletion du champ adresse
$("#carte-recherche").on('focus', function() {
$(this).select();
});
$("#carte-recherche").on('mouseup', function(event) {// Pour Safari...
event.preventDefault();
});
$("#carte-recherche").keypress(function(e) {
if (e.which == 13) {
e.preventDefault();
}
});
};
 
WidgetSaisie.prototype.afficherErreurGoogleMap = function(status) {
452,7 → 461,7
},
error : function(jqXHR, textStatus, errorThrown) {
if (this.debug) {
$("#dialogue-erreur .alert-txt").append('<p class="msg">Une erreur Ajax est survenue lors de la transmission de vos observations.</p>');
$("#dialogue-erreur .alert-txt").append('<p class="msg">Une erreur Ajax est survenue lors de la recherche de la commune.</p>');
reponse = jQuery.parseJSON(jqXHR.responseText);
var erreurMsg = "";
if (reponse != null) {
503,7 → 512,7
$("#nom").val(infos.nom);
$("#courriel_confirmation").val(courriel);
$("#prenom, #nom, #courriel_confirmation").attr('disabled', 'disabled');
$("#date").focus();
lthis.focusChampFormulaire();
lthis.masquerPanneau("#dialogue-courriel-introuvable");
} else {
lthis.surErreurCompletionCourriel();
523,16 → 532,19
});
};
 
WidgetSaisie.prototype.focusChampFormulaire = function() {
$("#date").focus();
}
 
WidgetSaisie.prototype.surErreurCompletionCourriel = function() {
$("#prenom, #nom, #courriel_confirmation").val('');
$("#prenom, #nom, #courriel_confirmation").removeAttr('disabled');
this.afficherPanneau("#dialogue-courriel-introuvable");
};
//+---------------------------------------------------------------------------------------------------------+
//FORMULAIRE
 
WidgetSaisie.prototype.chargerInfoObs = function() {
var urlObs = this.serviceObsUrl + '/' + this.obsId;
var lthis = this;
$.ajax({
url: urlObs,
type: 'GET',
539,16 → 551,21
success: function(data, textStatus, jqXHR) {
if (data != undefined && data != "") {
this.prechargerForm(data);
} else {
lthis.surErreurChargementInfosObs();
}
// TODO: voir s'il est pertinent d'indiquer quelque chose en cas d'erreur ou d'obs
// inexistante
},
error: function(jqXHR, textStatus, errorThrown) {
// TODO: cf TODO ci-dessus
lthis.surErreurChargementInfosObs();
}
});
};
 
// @TODO faire mieux que ça !
WidgetSaisie.prototype.surErreurChargementInfosObs = function() {
alert("Erreur lors du chargement de l'observation");
}
 
WidgetSaisie.prototype.prechargerForm = function(data) {
 
$("#milieu").val(data.milieu);
641,9 → 658,9
});
};
 
WidgetSaisie.prototype.configurerDatePicker = function() {
WidgetSaisie.prototype.configurerDatePicker = function(selector) {
$.datepicker.setDefaults($.datepicker.regional["fr"]);
$("#date").datepicker({
$(selector).datepicker({
dateFormat: "dd/mm/yy",
maxDate: new Date,
showOn: "button",
650,9 → 667,12
buttonImageOnly: true,
buttonImage: this.calendrierIconeUrl,
buttonText: "Afficher le calendrier pour saisir la date.",
showButtonPanel: true
showButtonPanel: true,
onSelect: function(date) {
$(this).valid();
}
});
$("img.ui-datepicker-trigger").appendTo("#date-icone");
$(selector + ' + img.ui-datepicker-trigger').appendTo(selector + '-icone.add-on');
};
 
WidgetSaisie.prototype.fermerPanneauAlert = function() {
687,11 → 707,11
 
WidgetSaisie.prototype.basculerAffichageAide = function() {
if ($(this).hasClass('btn-warning')) {
$("[rel=tooltip]").tooltip('enable');
$(".has-tooltip").tooltip('enable');
$(this).removeClass('btn-warning').addClass('btn-success');
$('#btn-aide-txt', this).text("Désactiver l'aide");
} else {
$("[rel=tooltip]").tooltip('disable');
$(".has-tooltip").tooltip('disable');
$(this).removeClass('btn-success').addClass('btn-warning');
$('#btn-aide-txt', this).text("Activer l'aide");
}
739,7 → 759,7
'<div id="obs'+this.obsNbre+'" class="row-fluid obs obs'+this.obsNbre+'">'+
'<div class="span12">'+
'<div class="well">'+
'<div class="obs-action pull-right" rel="tooltip" data-placement="bottom" '+
'<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>'+
775,6 → 795,7
'</div>'+
'</div>'+
'</div>');
$('#zone-liste-obs').removeClass("hidden").show();
};
 
WidgetSaisie.prototype.stockerObsData = function() {