/trunk/widget/modules/carto/Carto.php |
---|
200,166 → 200,6 |
} |
/** |
* Tableau des observations d'une station |
*/ |
public function executerStation() { |
$widget = null; |
$observations = $this->chargerObservations(); |
$nbre_obs = $this->chargerObservationsNbre(); |
// Création des infos du widget |
if (isset($observations['commune'])) { |
$commune = $observations['commune']; |
unset($observations['commune']); |
$widget['donnees']['commune'] = $commune; |
} |
$obs_ids = null; |
if (isset($observations['ids'])) { |
$obs_ids = $observations['ids']; |
unset($observations['ids']); |
} |
$widget['squelette'] = $this->choisirFormatSortie(count($observations)); |
if ($widget['squelette'] == 'obs_liste' && $obs_ids != null && count($obs_ids) > 0) { |
$widget['donnees']['images'] = $this->chargerImages($obs_ids); |
} |
$widget['donnees']['observations'] = $observations; |
$widget['donnees']['station_id'] = $this->station; |
$widget['donnees']['nbre_obs_total'] = $nbre_obs; |
return $widget; |
} |
/** |
* Tableau des observations d'une station |
*/ |
public function executerObservations() { |
$widget = null; |
$observations = $this->chargerObservations(); |
$nbre_obs = $this->chargerObservationsNbre(); |
// Création des infos du widget |
if (isset($observations['commune'])) { |
$commune = $observations['commune']; |
unset($observations['commune']); |
$widget['donnees']['commune'] = $commune; |
} |
$obs_ids = null; |
if (isset($observations['ids'])) { |
$obs_ids = $observations['ids']; |
unset($observations['ids']); |
} |
$widget['squelette'] = $this->choisirFormatSortie(count($observations)).'_contenu'; |
if ($widget['squelette'] == 'obs_liste_contenu' && $obs_ids != null && count($obs_ids) > 0) { |
$widget['donnees']['images'] = $this->chargerImages($obs_ids); |
} |
$widget['donnees']['observations'] = $observations; |
return $widget; |
} |
private function chargerPagination($url_tpl, $nbre) { |
} |
private function chargerObservationsNbre() { |
// Récupération des données au format Json |
$url = $this->contruireUrlServiceCarto('observations-nombre'); |
$json = $this->getDao()->consulter($url); |
$nbre = json_decode($json); |
return $nbre; |
} |
private function chargerObservations() { |
// Récupération des données au format Json |
$url = $this->contruireUrlServiceCarto('observations'); |
$this->debug[] = $url; |
$json = $this->getDao()->consulter($url); |
$donnees = json_decode($json); |
// Post-traitement des données |
$observations = $this->traiterObservations($donnees); |
return $observations; |
} |
private function traiterObservations($donnees) { |
$observations = array(); |
if (is_array($donnees) && count($donnees) > 0) { |
foreach ($donnees as $donnee) { |
$observation = array(); |
$observation['id'] = $donnee->id; |
$observation['nn'] = $this->etreVide($donnee->num_nom_sel) ? null : $donnee->num_nom_sel; |
$observation['nom'] = $this->nettoyerTexte($donnee->nom_sel); |
$observation['date'] = $this->formaterDate($donnee->date_observation, '%d/%m/%Y'); |
$observation['lieu'] = $this->traiterLieu($donnee); |
$observation['observateur'] = $this->tronquerCourriel($donnee->identifiant); |
$observations[] = $observation; |
$observations['commune'] = $this->nettoyerTexte($donnee->location); |
$observations['ids'][] = $donnee->id; |
} |
} |
return $observations; |
} |
private function traiterLieu($donnee) { |
$lieu = array(); |
if (isset($donnee->lieudit) && ! empty($donnee->lieudit)) { |
$lieu[] = $donnee->lieudit; |
} |
if (isset($donnee->milieu) && ! empty($donnee->milieu)) { |
$lieu[] = $donnee->milieu; |
} |
return implode(', ', $lieu); |
} |
private function choisirFormatSortie($observations_nbre) { |
$sortie = 'obs_tableau'; |
if (isset($this->format) && $this->format != '*') { |
$sortie = ($this->format == 'tableau' ) ? 'obs_tableau' : 'obs_liste'; |
} else { |
$sortie = ($observations_nbre > 4) ? 'obs_tableau' : 'obs_liste'; |
} |
return $sortie; |
} |
private function chargerImages($obs_ids) { |
// Récupération des données au format Json |
$service = 'CelImage/liste-ids?obsId='.implode(',', $obs_ids); |
$url = sprintf($this->config['chemins']['baseURLServicesCelTpl'], $service); |
$json = $this->getDao()->consulter($url); |
$donnees = json_decode($json); |
// Post-traitement des données |
$images = $this->traiterImages($donnees); |
return $images; |
} |
private function traiterImages($donnees) { |
$images = array(); |
//echo '<br/><pre>'.print_r($donnees,true).'</pre>'; |
if (count($donnees) > 0) { |
foreach ($donnees as $id_obs => $id_images) { |
foreach ($id_images as $id_img) { |
$urls['id'] = $id_img; |
$urls['miniature'] = $this->getUrlImage($id_img, 'CXS'); |
$urls['normale'] = $this->getUrlImage($id_img, 'XL'); |
$images[$id_obs][] = $urls; |
} |
} |
} |
return $images; |
} |
/** |
* Afficher message d'avertissement. |
*/ |
public function executerAvertissement() { |
/trunk/widget/modules/carto/squelettes/carte_defaut.tpl.html |
---|
24,13 → 24,16 |
<!-- Javascript : bibliothèques --> |
<script type="text/javascript" src="https://getfirebug.com/firebug-lite.js"></script> |
<!-- Google Map v3 --> |
<script type="text/javascript" src="http://maps.google.com/maps/api/js?v=3.5&sensor=true&language=fr&region=FR"></script> |
<script type="text/javascript" src="http://www.tela-botanica.org/commun/google/map/3/markerclusterer/1.0/markerclusterer-1.0.pack.js"></script> |
<script type="text/javascript" src="http://maps.google.com/maps/api/js?v=3.6&sensor=true&language=fr&region=FR"></script> |
<script type="text/javascript" src="http://www.tela-botanica.org/commun/google/map/3/markerclusterer/2.0.1/markerclusterer-2.0.1.pack.js"></script> |
<!-- Jquery --> |
<script type="text/javascript" src="http://www.tela-botanica.org/commun/jquery/1.6.2/jquery-1.6.2.min.js"></script> |
<script type="text/javascript" src="http://www.tela-botanica.org/commun/jquery/jquery-ui/1.8.15/js/jquery-ui-1.8.15.custom.min.js"></script> |
<script type="text/javascript" src="http://www.tela-botanica.org/commun/jquery/tablesorter/2.0.5/jquery.tablesorter.min.js"></script> |
<script type="text/javascript" src="http://www.tela-botanica.org/commun/jquery/fancybox/1.3.4/jquery.fancybox-1.3.4.pack.js"></script> |
<script type="text/javascript" src="http://www.tela-botanica.org/commun/jquery/pagination/2.2/jquery.pagination.js"></script> |
<script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jquery.templates/beta1/jquery.tmpl.min.js"></script> |
<script type="text/javascript" src="<?=$url_base?>modules/carto/squelettes/scripts/smartinfowindow.js"></script> |
<!-- Javascript : données --> |
<script src="<?=$url_json?>" type="text/javascript"></script> |
56,17 → 59,26 |
'dept=<?=$dept?>'+'&'+ |
'commune=<?=$commune?>'; |
var urlObsCarte = '<?=$url_cel_carto?>/carte-defaut-json'+'?'+ |
'utilisateur=<?=$utilisateur?>'+'&'+ |
'projet=<?=$projet?>'+'&'+ |
'dept=<?=$dept?>'+'&'+ |
'commune=<?=$commune?>'; |
'utilisateur=<?=$utilisateur?>'+ |
'&projet=<?=$projet?>'+ |
'&num_taxon='+nt+ |
'&dept=<?=$dept?>'+ |
'&commune=<?=$commune?>'; |
var urlObsStation = '<?=$url_cel_carto?>/{action}'+'?'+ |
'station={stationId}'+ |
'&utilisateur=<?=$utilisateur?>'+ |
'&projet=<?=$projet?>'+ |
'&num_taxon='+nt+ |
'&dept=<?=$dept?>'+ |
'&commune=<?=$commune?>'; |
//]]> |
</script> |
<script type="text/javascript" src="<?=$url_base?>modules/carto/squelettes/scripts/carto.js"></script> |
<!-- CSS --> |
<link rel="stylesheet" href="http://www.tela-botanica.org/commun/jquery/fancybox/1.3.4/jquery.fancybox-1.3.4.css" type="text/css" media="screen" /> |
<link rel="stylesheet" href="http://www.tela-botanica.org/commun/jquery/jquery-ui/1.8.15/css/smoothness/jquery-ui-1.8.15.custom.css" type="text/css" media="screen" /> |
<link href="<?=$url_base?>modules/carto/squelettes/css/carto.css" rel="stylesheet" type="text/css" media="screen" /> |
<link rel="stylesheet" href="http://www.tela-botanica.org/commun/jquery/fancybox/1.3.4/jquery.fancybox-1.3.4.css" type="text/css" media="screen" /> |
</head> |
<body> |
115,12 → 127,126 |
<? endif ?> |
<div id="carte"></div> |
<!-- +-------------------------------------------------------------------------------------------+ --> |
<!-- Blocs chargés à la demande : par défaut avec un style display à none --> |
<div id="chargement"> |
<!-- Squelette du message de chargement des observations --> |
<script id="tpl-chargement" type="text/x-jquery-tmpl"> |
<div id="chargement" style="height:500px;"> |
<img src="<?=$url_base?>modules/carto/squelettes/images/chargement.gif" alt="Chargement en cours..." /> |
<p>Chargement des observations en cours...</p> |
</div> |
</script> |
<!-- Squelette du contenu d'une info-bulle observation --> |
<script id="tpl-obs" type="text/x-jquery-tmpl"> |
<div id="info-bulle" style="min-height:500px;width:600px;"> |
<div id="obs"> |
<h2><span id="obs-total"></span> observations pour <span id="obs-commune"></span></h2> |
<div class="navigation"> </div> |
<div> |
<ul> |
<li><a href="#obs-vue-tableau">Tableau</a></li> |
<li><a href="#obs-vue-liste">Liste</a></li> |
</ul> |
</div> |
<div id="observations"> |
<div id="obs-vue-tableau" style="display:none;"> |
<table id="obs-tableau"> |
<thead> |
<tr> |
<th title="Nom scientifique défini par l'utilisateur.">Nom</th> |
<th title="Date de l'observation">Date</th> |
<th title="Lieu d'observation">Lieu</th> |
<th title="Auteur de l'observation">Observateur</th> |
</tr> |
</thead> |
<tbody id="obs-tableau-lignes" class="obs-conteneur"> |
<!-- Insertion des lignes à partir du squelette tpl-obs-liste-tableau --> |
</tbody> |
</table> |
</div> |
<div id="obs-vue-liste" style="display:none;"> |
<ol id="obs-liste-lignes" class="obs-conteneur"> |
<!-- Insertion des lignes à partir du squelette tpl-obs-liste --> |
</ol> |
</div> |
</div> |
<div class="navigation"> </div> |
<div id="obs-pieds-page"> |
<p id="obs-msg-info">Les observations de cette carte sont regroupées par commune.</p> |
<p>Id : <span id="obs-station-id"> </span></p> |
</div> |
</div> |
</div> |
</script> |
<!-- Squelette du contenu d'une info-bulle observation --> |
<script id="tpl-obs-tableau" type="text/x-jquery-tmpl"> |
<tr> |
<td> |
<span class="nom-sci"> |
{{if nn != 0}} |
<a href="http://www.tela-botanica.org/nn${nn}" onclick="window.open(this.href); arreter(event); return false; ">${nomSci}</a> |
{{else}} |
${nomSci} |
{{/if}} |
</span> |
</td> |
<td> ${date}</td> |
<td> ${lieu}</td> |
<td> ${observateur}</td> |
</tr> |
</script> |
<!-- Squelette du contenu d'une info-bulle observation --> |
<script id="tpl-obs-liste" type="text/x-jquery-tmpl"> |
<li> |
<div id="cel-obs-${id}"> |
{{if images}} |
{{each(index, img) images}} |
<div{{if index == 0}} class="cel-img-principale" {{else}} class="cel-img-secondaire"{{/if}}> |
<a class="cel-img" |
href="${img.normale}" |
title="${nomSci} {{if nn}} [${nn}] {{/if}} par ${observateur} - Publiée le ${datePubli} - GUID : ${img.guid}" |
rel="cel-obs-${id}"> |
<img src="${img.miniature}" alt="Image #${img.id} de l'osbervation #${nn}" /> |
</a> |
<p id="cel-info-${img.id}" class="cel-infos"> |
<a class="cel-img-titre" href="${urlEflore}" |
onclick="window.open(this.href);return false;" |
title="Cliquez pour accéder à la fiche eFlore"> |
<strong>${nomSci} {{if nn}} [nn${nn}] {{/if}}</strong> par <em>${observateur}</em> |
</a> |
<br /> |
<span class="cel-img-date">Publiée le ${datePubli}</span> |
</p> |
</div> |
{{/each}} |
{{/if}} |
<dl> |
<dt class="champ-nom-sci">Nom</dt> |
<dd title="Nom défini par l'utilisateur{{if nn != 0}}. Cliquez pour accéder à la fiche d'eFlore.{{/if}}"> |
<span class="nom-sci"> |
{{if nn != 0}} |
<a href="http://www.tela-botanica.org/nn${nn}" |
onclick="window.open(this.href); arreter(event); return false; "> |
${nomSci} |
</a> |
{{else}} |
${nomSci} |
{{/if}} |
</span> |
</dd> |
<dt title="Lieu d'observation">Lieu</dt><dd> ${lieu}</dd> |
<dt title="Date d'observation">Le</dt><dd> ${date}</dd> |
<dt title="Auteur de l'observation">Publié par</dt><dd> ${observateur}</dd> |
</dl> |
<hr class="nettoyage"/> |
</div> |
</li> |
</script> |
<!-- Stats : Google Analytics --> |
<script type="text/javascript"> |
//<![CDATA[ |
/trunk/widget/modules/carto/squelettes/scripts/carto.js |
---|
31,17 → 31,17 |
name: "OSM", |
maxZoom: 19 |
}); |
var pagineur = {'limite':50, 'start':0, 'total':0, 'stationId':null, 'format':'tableau'}; |
var station = {'commune':'', 'obsNbre':0}; |
var obsStation = new Array(); |
var obsPage = new Array(); |
/*+--------------------------------------------------------------------------------------------------------+*/ |
// INITIALISATION DU CODE |
//Déclenchement d'actions quand JQuery et le document HTML sont OK |
$(document).ready(function() { |
initialiserWidget(); |
}); |
/*+--------------------------------------------------------------------------------------------------------+*/ |
// FONCTIONS |
function initialiserWidget() { |
afficherStats(); |
54,6 → 54,9 |
rafraichirCarte(); |
} |
/*+--------------------------------------------------------------------------------------------------------+*/ |
// AFFICHAGE GÉNÉRAL |
function afficherStats() { |
// Ajout du nombre de communes où des observations ont eu lieu |
$('#commune-nbre').append(obs.stats.communes.formaterNombre()); |
63,6 → 66,9 |
$('.plantes-nbre').append(plantesNbre.formaterNombre()); |
} |
/*+--------------------------------------------------------------------------------------------------------+*/ |
// CARTE |
function initialiserAffichageCarte() { |
$('#carte').height($(window).height() - 35); |
$('#carte').width($(window).width() - 24); |
72,16 → 78,6 |
} |
} |
function initialiserAffichagePanneauLateral() { |
$('#panneau-lateral').height($(window).height() - 35); |
if (nt == '*') { |
$('#pl-ouverture').bind('click', afficher); |
$('#pl-fermeture').bind('click', cacher); |
$('.taxon').live('click', filtrerParTaxon); |
} |
} |
function initialiserCarte() { |
map = new google.maps.Map(document.getElementById('carte'), carteOptions); |
// Ajout de la couche OSM à la carte |
88,10 → 84,6 |
map.mapTypes.set('OSM', osmMapType); |
} |
function initialiserInfoBulle() { |
google.maps.event.addListener(infoBulle, 'domready', modifierContenuInfoBulle); |
google.maps.event.addListener(infoBulle, 'closeclick', deplacerCartePointClique); |
} |
function chargerLimitesCommunales() { |
if (urlsLimitesCommunales != null) { |
120,7 → 112,6 |
google.maps.event.addListener(point, 'click', function() { |
pointClique = this; |
infoBulle.open(map, this); |
var limites = map.getBounds(); |
129,8 → 120,8 |
var centreSudLatLng = new google.maps.LatLng(nordEst.lat(), centre.lng()); |
map.panTo(centreSudLatLng); |
afficherMsgChargement(); |
chargerFormatObs(this.stationId, '*'); |
afficherInfoBulle(); |
lancerChargementObs(); |
}); |
points.push(point); |
144,17 → 135,179 |
executerMarkerClusterer(points, bounds); |
} |
function modifierContenuInfoBulle() { |
// Onglet Tableau : Jquery => TableSorter |
if ($("#observations table").get() != '') { |
ajouterTableauTriable("#observations table"); |
function deplacerCartePointClique() { |
map.panTo(pointClique.position); |
} |
// Onglet Liste : Jquery => FancyBox |
if ($("#observations ol").get() != '') { |
function executerMarkerClusterer(points, bounds) { |
if (markerClusterer) { |
markerClusterer.clearMarkers(); |
} |
markerClusterer = new MarkerClusterer(map, points); |
map.fitBounds(bounds); |
} |
/*+--------------------------------------------------------------------------------------------------------+*/ |
// INFO BULLE |
function initialiserInfoBulle() { |
google.maps.event.addListener(infoBulle, 'domready', initialiserContenuInfoBulle); |
google.maps.event.addListener(infoBulle, 'closeclick', deplacerCartePointClique); |
} |
function afficherInfoBulle() { |
var obsHtml = $("#tpl-obs").html(); |
infoBulle.setContent(obsHtml); |
} |
function afficherMessageChargement(element) { |
if ($('#chargement').get() == '') { |
$('#tpl-chargement').tmpl().appendTo(element); |
} |
} |
function supprimerMessageChargement() { |
$('#chargement').remove(); |
} |
function lancerChargementObs() { |
var urlObsNbre = urlObsStation; |
urlObsNbre = urlObsNbre.replace(/\{action\}/g, 'observations-nombre'); |
urlObsNbre = urlObsNbre.replace(/\{stationId\}/g, pointClique.stationId); |
console.log("Lancement recup nombre"); |
$.getJSON(urlObsNbre, function(infos){ |
console.log("Lancement charger obs"); |
chargerObs(0, infos.obsNbre); |
station = infos; |
actualiserPagineur(); |
creerTitreInfoBulle(); |
}); |
} |
function actualiserPagineur() { |
pagineur.stationId = pointClique.stationId; |
pagineur.total = station.obsNbre; |
console.log(pagineur.total); |
if (pagineur.total > 4) { |
pagineur.format = 'tableau'; |
} else { |
pagineur.format = 'liste'; |
} |
} |
function chargerObs(depart, total) { |
if (depart < total) { |
var limite = 300; |
if (depart == 0) { |
obsStation = new Array(); |
} |
console.log("Chargement de "+depart+" à "+(depart+limite)); |
var urlObs = urlObsStation+'&start={start}&limit='+limite; |
urlObs = urlObs.replace(/\{action\}/g, 'observations'); |
urlObs = urlObs.replace(/\{stationId\}/g, pointClique.stationId); |
urlObs = urlObs.replace(/\{start\}/g, depart); |
$.getJSON(urlObs, function(observations){ |
obsStation = obsStation.concat(observations.observations); |
console.log("Chargement ok"); |
chargerObs(depart+limite, total); |
}); |
} else { |
if (pagineur.limite < total) { |
afficherPagination(); |
} else { |
surClicPagePagination(0, null); |
} |
} |
} |
function afficherPagination(observations) { |
$(".navigation").pagination(pagineur.total, { |
items_per_page:pagineur.limite, |
callback:surClicPagePagination, |
next_text:'Suivant', |
prev_text:'Précédent', |
prev_show_always:false, |
num_edge_entries:1, |
num_display_entries:5, |
load_first_page:true |
}); |
} |
function surClicPagePagination(pageIndex, paginationConteneur) { |
var index = pageIndex * pagineur.limite; |
var indexMax = index + pagineur.limite; |
pagineur.depart = index; |
obsPage = new Array(); |
for(index; index < indexMax; index++) { |
obsPage.push(obsStation[index]); |
} |
supprimerMessageChargement(); |
mettreAJourObservations(); |
return false; |
} |
function mettreAJourObservations() { |
$("#obs-"+pagineur.format+"-lignes").empty(); |
$("#obs-vue-"+pagineur.format).css('display', 'block'); |
$(".obs-conteneur").css('counter-reset', 'item '+pagineur.depart); |
$("#tpl-obs-"+pagineur.format).tmpl(obsPage).appendTo("#obs-"+pagineur.format+"-lignes"); |
// Actualisation de Fancybox |
if (pagineur.format == 'liste') { |
ajouterGaleriePhoto("a.cel-img"); |
} |
} |
function creerTitreInfoBulle() { |
$("#obs-total").append(station.obsNbre); |
$("#obs-commune").append(station.commune); |
} |
function initialiserContenuInfoBulle() { |
afficherOnglets(); |
afficherMessageChargement('#observations'); |
ajouterTableauTriable("#obs-tableau"); |
afficherTextStationId(); |
corrigerLargeurInfoWindow(); |
} |
function afficherOnglets() { |
var $tabs = $('#obs').tabs(); |
$('#obs').bind('tabsselect', function(event, ui) { |
if (ui.panel.id == 'obs-vue-tableau') { |
surClicAffichageTableau(); |
} else if (ui.panel.id == 'obs-vue-liste') { |
surClicAffichageListe(); |
} |
}); |
$tabs.tabs('select', "#obs-vue-"+pagineur.format); |
} |
function afficherTextStationId() { |
$('#obs-station-id').text(pointClique.stationId); |
} |
function corrigerLargeurInfoWindow() { |
$("#info-bulle").width($("#info-bulle").width() - 16); |
} |
function surClicAffichageTableau(event) { |
console.log('tableau'); |
pagineur.format = 'tableau'; |
mettreAJourObservations(); |
mettreAJourTableauTriable("#obs-tableau"); |
} |
function surClicAffichageListe(event) { |
console.log('liste'); |
pagineur.format = 'liste'; |
mettreAJourObservations(); |
ajouterGaleriePhoto("a.cel-img"); |
} |
function ajouterTableauTriable(element) { |
// add parser through the tablesorter addParser method |
$.tablesorter.addParser({ |
161,14 → 314,14 |
// Définition d'un id unique pour ce parsseur |
id: 'date_cel', |
is: function(s) { |
// retourne false si le parsseur n'est pas autodétecté |
return false; |
// doit retourner false si le parsseur n'est pas autodétecté |
return /^\s*\d{2}[\/-]\d{2}[\/-]\d{4}\s*$/.test(s); |
}, |
format: function(s) { |
format: function(date) { |
// Transformation date jj/mm/aaaa en aaaa/mm/jj |
s = s.replace(/(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{4})/, "$3/$2/$1"); |
date = date.replace(/^\s*(\d{2})[\/-](\d{2})[\/-](\d{4})\s*$/, "$3/$2/$1"); |
// Remplace la date par un nombre de millisecondes pour trier numériquement |
return $.tablesorter.formatFloat(new Date(s).getTime()); |
return $.tablesorter.formatFloat(new Date(date).getTime()); |
}, |
// set type, either numeric or text |
type: 'numeric' |
182,6 → 335,10 |
}); |
} |
function mettreAJourTableauTriable(element) { |
$(element).trigger('update'); |
} |
function ajouterGaleriePhoto(element) { |
$(element).fancybox({ |
transitionIn : 'elastic', |
188,7 → 345,21 |
transitionOut : 'elastic', |
speedIn : 600, |
speedOut : 200, |
overlayShow : true |
overlayShow:true, |
titleShow:true, |
titlePosition:'inside', |
titleFormat:function (titre, currentArray, currentIndex, currentOpts) { |
var motif = /urn:lsid:tela-botanica[.]org:cel:img([0-9]+)$/; |
motif.exec(titre); |
var id = RegExp.$1; |
var info = $('#cel-info-'+id).clone().html(); |
var tpl = |
'<div class="cel-legende">'+ |
'<p class="cel-legende-vei">'+'Image n°' + (currentIndex + 1) + ' sur ' + currentArray.length +'<\/p>'+ |
(titre && titre.length ? '<p>'+info+'<\/p>' : '' )+ |
'<\/div>'; |
return tpl; |
} |
}).live('click', function(e) { |
if (e.stopPropagation) { |
e.stopPropagation(); |
197,78 → 368,20 |
}); |
} |
function deplacerCartePointClique() { |
map.panTo(pointClique.position); |
} |
/*+--------------------------------------------------------------------------------------------------------+*/ |
// PANNEAU LATÉRAL |
function executerMarkerClusterer(points, bounds) { |
if (markerClusterer) { |
markerClusterer.clearMarkers(); |
} |
markerClusterer = new MarkerClusterer(map, points); |
map.fitBounds(bounds); |
} |
function initialiserAffichagePanneauLateral() { |
$('#panneau-lateral').height($(window).height() - 35); |
function afficherMsgChargement() { |
var chargement = document.getElementById('chargement').cloneNode(true); |
chargement.setAttribute('id', 'chargement-copie'); |
infoBulle.setContent(chargement); |
if (nt == '*') { |
$('#pl-ouverture').bind('click', afficherPanneauLateral); |
$('#pl-fermeture').bind('click', cacherPanneauLateral); |
$('.taxon').live('click', filtrerParTaxon); |
} |
var pagineur = {'limite':150, 'obsTotal':0, 'stationId':null, 'format':null}; |
function handlePaginationClick(new_page_index, pagination_container) { |
$('.obs-liste-conteneur').css('display', 'none'); |
$('#chargement').clone().attr('id', 'chargement-copie').appendTo('#observations').css('display', 'block'); |
console.log($('#chargement').get()); |
var start = new_page_index * pagineur.limite; |
var url = urlObs+ |
'&format='+pagineur.format+ |
'&station='+pagineur.stationId+ |
'&start='+start+ |
'&limit='+pagineur.limite; |
$.get(url, function(observations) { |
$('#chargement-copie').remove(); |
$('.obs-liste-conteneur').css('display', 'block'); |
$('#obs-liste').empty(); |
$('#obs-liste').append(observations); |
}); |
return false; |
} |
function chargerFormatObs(stationId, format) { |
pagineur.obsTotal = parseInt($('#obs-total').text()); |
pagineur.stationId = stationId; |
pagineur.format = format; |
var start = 1 * pagineur.limite; |
var url = urlStation+ |
'&format='+format+ |
'&station='+stationId+ |
'&start='+start+ |
'&limit='+pagineur.limite; |
$.get(url, function(observations){ |
infoBulle.setContent(observations); |
// First Parameter: number of items |
// Second Parameter: options object |
$("#pagination").pagination(pagineur.obsTotal, { |
items_per_page:pagineur.limite, |
callback:handlePaginationClick |
}); |
}); |
} |
function arreter(event) { |
if (event.stopPropagation) { |
event.stopPropagation(); |
} else if (window.event) { |
window.event.cancelBubble = true; |
} |
return false; |
} |
function afficher() { |
function afficherPanneauLateral() { |
$('#panneau-lateral').width(300); |
$('#pl-contenu').css('display', 'block'); |
$('#pl-ouverture').css('display', 'none'); |
278,7 → 391,7 |
google.maps.event.trigger(map, 'resize'); |
}; |
function cacher() { |
function cacherPanneauLateral() { |
$('#panneau-lateral').width(24); |
$('#pl-contenu').css('display', 'none'); |
$('#pl-ouverture').css('display', 'block'); |
313,6 → 426,18 |
} |
}; |
/*+--------------------------------------------------------------------------------------------------------+*/ |
// FONCTIONS UTILITAIRES |
function arreter(event) { |
if (event.stopPropagation) { |
event.stopPropagation(); |
} else if (window.event) { |
window.event.cancelBubble = true; |
} |
return false; |
} |
/** |
* +-------------------------------------+ |
* Number.prototype.formaterNombre |
386,4 → 511,16 |
_sRetour = separeMilliers(_sNombre.substr(0, _sNombre.indexOf('.')))+String(signe)+_sDecimales; |
} |
return _sRetour; |
} |
function debug(objet) { |
var msg = ''; |
if (objet != null) { |
$.each(objet, function (cle, valeur) { |
msg += cle+":"+valeur + "\n"; |
}); |
} else { |
msg = "La variable vaut null."; |
} |
console.log(msg); |
} |
/trunk/widget/modules/carto/squelettes/css/carto.css |
---|
118,9 → 118,10 |
/*+-----------------------------------------------------------------------------------------------------------------+*/ |
/* Message de chargement */ |
#chargement { |
display:none; |
margin:25px; |
text-align:center; |
} |
#chargement-copie img{ |
#chargement img{ |
display:block; |
margin:auto; |
} |
251,28 → 252,43 |
} |
/*+-----------------------------------------------------------------------------------------------------------------+*/ |
/* Pop-up observations */ |
.info-bulle-contenu { |
margin:0; |
padding:0; |
} |
#observations { |
margin:23px 0 0 0; |
padding:5px; |
border:1px solid black; |
border-radius:0 0 10px 10px;-moz-border-radius:0 0 10px 10px;-webkit-border-radius:0 0 10px 10px; |
border-top:none !important; |
overflow:none; |
margin:-1px 0 0 0; |
border: 1px solid #AAA; |
border-radius:0 0 4px 4px; |
} |
#observations ol { |
padding-left:30px; |
} |
.champ_nom_latin { |
display:none; |
} |
#obs-msg-info { |
#obs-pieds-page { |
font-size:10px; |
color:#CCC; |
clear:both; |
} |
.ui-tabs { |
padding:0; |
} |
.ui-widget-content { |
border:0; |
} |
.ui-widget-header { |
background:none; |
border:0; |
border-bottom:1px solid #AAA; |
border-radius:0; |
} |
.ui-tabs-selected a { |
border-bottom:1px solid white; |
} |
.ui-tabs-selected a:focus { |
outline:0; |
} |
.ui-tabs .ui-tabs-panel { |
padding:0.2em; |
} |
#obs h2 { |
margin:0; |
text-align:center; |
} |
#observations a { |
color:#333; |
border-bottom:1px dotted gainsboro; |
282,77 → 298,80 |
border-bottom:1px dotted #56B80E; |
} |
/*+-----------------------------------------------------------------------------------------------------------------+*/ |
/* Onglets */ |
.onglets { |
position:absolute; |
top:0; |
float:left; |
height:22px; |
padding:0; |
margin:0; |
border-bottom:1px solid black; |
width:100%; |
/* Pop-up observations : liste */ |
.champ-nom-sci { |
display:none; |
} |
.onglets ul { |
.cel-img-principale img{ |
float:right; |
height:75px; |
padding:1px; |
border:1px solid white; |
} |
#observations .cel-img:hover img{ |
border: 1px dotted #56B80E; |
} |
.cel-img-secondaire, .cel-infos{ |
display: none; |
} |
ol#obs-liste-lignes { |
padding:5px; |
margin:0; |
padding:0; |
list-style:none; |
} |
.onglets li { |
.obs-conteneur{ |
counter-reset: item; |
} |
.obs-conteneur .nom-sci:before { |
content: counter(item) ". "; |
counter-increment: item; |
display:block; |
float:left; |
text-transform:uppercase; |
text-align:center; |
} |
.onglets .onglet { |
.obs-conteneur li { |
display:block; |
padding:5px 15px 4px 15px; |
margin:0; |
font-size:12px; |
line-height:12px; |
border:1px solid black; |
border-radius:10px 10px 0 0;-moz-border-radius:10px 10px 0 0;-webkit-border-radius:10px 10px 0 0; |
text-decoration:none; |
} |
.onglets .actif .onglet { |
border-bottom:1px solid white; |
color:black; |
background-color:white; |
font-weight:bold; |
/*+-----------------------------------------------------------------------------------------------------------------+*/ |
/* Diaporama */ |
.cel-legende{ |
text-align:left; |
} |
.onglets .inactif .onglet { |
border-bottom:1px solid #000000; |
color:white; |
background-color:gray;/*rgba(29,30,32,0.8);*/ |
.cel-legende-vei{ |
float:right; |
} |
.onglets .inactif .onglet:hover { |
.cel-legende p{ |
color:black; |
background-color:Gainsboro; |
font-size:12px; |
margin:5px 0; |
} |
/*+-----------------------------------------------------------------------------------------------------------------+*/ |
/* Pop-up : liste */ |
.cel-img-principale img{ |
float:right; |
height:75px; |
padding:1px; |
border:1px solid white; |
.cel-legende a, .cel-legende a:active, .cel-legende a:visited { |
border-bottom:1px dotted gainsboro; |
color:#333; |
text-decoration:none; |
background-image:none; |
} |
#observations .cel-img:hover img{ |
border:1px dotted #56B80E; |
.cel-legende a:hover { |
color:#56B80E; |
border-bottom:1px dotted #56B80E; |
} |
.cel-img-secondaire{ |
display:none; |
} |
/*+-----------------------------------------------------------------------------------------------------------------+*/ |
/* Plugin Jquery Pagination */ |
.navigation { |
padding:5px; |
float:right; |
} |
.pagination { |
font-size: 80%; |
} |
.pagination a { |
text-decoration: none; |
border: solid 1px #AAE; |
color: #15B; |
border: solid 1px #666; |
color: #666; |
background:gainsboro; |
} |
.pagination a:hover { |
color: white; |
background: #56B80E; |
} |
.pagination a, .pagination span { |
display: block; |
float: left; |
363,12 → 382,12 |
text-align:center; |
} |
.pagination .current { |
background: #26B; |
color: #fff; |
border: solid 1px #AAE; |
background: #4A4B4C; |
color: white; |
border: solid 1px gainsboro; |
} |
.pagination .current.prev, .pagination .current.next{ |
color:#999; |
border-color:#999; |
background:#fff; |
background: gainsboro; |
} |