Subversion Repositories eFlore/Applications.cel

Rev

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

Rev 1494 Rev 1513
Line 605... Line 605...
605
var infoBulleOuverte = false;
605
var infoBulleOuverte = false;
606
function initialiserInfoBulle() {
606
function initialiserInfoBulle() {
607
	google.maps.event.addListener(infoBulle, 'domready', initialiserContenuInfoBulle);
607
	google.maps.event.addListener(infoBulle, 'domready', initialiserContenuInfoBulle);
608
	google.maps.event.addListener(infoBulle, 'closeclick', surFermetureInfoBulle);
608
	google.maps.event.addListener(infoBulle, 'closeclick', surFermetureInfoBulle);
609
	google.maps.event.addListener(infoBulle, 'content_changed', definirLargeurInfoBulle);
609
	google.maps.event.addListener(infoBulle, 'content_changed', definirLargeurInfoBulle);
-
 
610
	attribuerListenerLienSaisie();
-
 
611
}
-
 
612
 
-
 
613
function attribuerListenerLienSaisie() {
-
 
614
	$('.lien-widget-saisie').live('click', function(event) {
-
 
615
		event.preventDefault();
-
 
616
		window.open($(this).attr('href'), '_blank');
-
 
617
		return false;
-
 
618
	});
610
}
619
}
Line 611... Line 620...
611
 
620
 
612
function surFermetureInfoBulle() {
621
function surFermetureInfoBulle() {
613
	infoBulleOuverte = false;
622
	infoBulleOuverte = false;
Line 626... Line 635...
626
function afficherInfoBulle() {
635
function afficherInfoBulle() {
627
	var obsHtml = $("#tpl-obs").html();
636
	var obsHtml = $("#tpl-obs").html();
628
	var largeur = definirLargeurInfoBulle();
637
	var largeur = definirLargeurInfoBulle();
629
	var taillePolice = definirTaillePoliceInfoBulle();
638
	var taillePolice = definirTaillePoliceInfoBulle();
630
	obsHtml = obsHtml.replace(/\{largeur\}/, largeur);
639
	obsHtml = obsHtml.replace(/\{largeur\}/, largeur);
-
 
640
	obsHtml = mettreAJourUrlSaisie(obsHtml);
631
	infoBulle.setContent(obsHtml);
641
	infoBulle.setContent(obsHtml);
632
	$('#observations').css('font-size',taillePolice+'em');
642
	$('#observations').css('font-size',taillePolice+'em');
633
	chargerObs(0, 0);
643
	chargerObs(0, 0);
634
	infoBulleOuverte = true;
644
	infoBulleOuverte = true;
635
}
645
}
Line -... Line 646...
-
 
646
 
-
 
647
//TODO utiliser cette fonction lors des remplacements de 
-
 
648
//paramètres url sur changement de filtre
-
 
649
function parserFiltre(filtre) {
-
 
650
	var nvpair = {};
-
 
651
	var qs = filtre.replace('?', '');
-
 
652
	var pairs = qs.split('&');
-
 
653
	$.each(pairs, function(i, v){
-
 
654
		var pair = v.split('=');
-
 
655
		nvpair[pair[0]] = pair[1];
-
 
656
	});
-
 
657
	return nvpair;
-
 
658
}
-
 
659
 
-
 
660
function mettreAJourUrlSaisie(obsHtml) {
-
 
661
	var filtreTableau = parserFiltre(filtreCommun);
-
 
662
	var filtresGardes = new Array();
-
 
663
	filtre = '';
-
 
664
	for(i in filtreTableau) {
-
 
665
		if(filtreTableau[i] != undefined && filtreTableau[i] != '' && decodeURIComponent(filtreTableau[i]) != '*') {
-
 
666
			console.log(i+"  "+filtreTableau[i]);
-
 
667
			filtresGardes.push(i+'='+filtreTableau[i]);
-
 
668
		}
-
 
669
	}
-
 
670
	if(filtresGardes.length > 0) {
-
 
671
		filtre = '?'+filtresGardes.join('&');
-
 
672
		obsHtml = obsHtml.replace(/\{parametres-lien-saisie\}/, filtre);
-
 
673
	}
-
 
674
	return obsHtml;
-
 
675
}
636
 
676
 
637
function definirLargeurInfoBulle() {
677
function definirLargeurInfoBulle() {
638
	var largeurViewPort = $(window).width();
678
	var largeurViewPort = $(window).width();
639
	var largeurInfoBulle = null;
679
	var largeurInfoBulle = null;
640
	if (largeurViewPort < 400) {
680
	if (largeurViewPort < 400) {
Line 1071... Line 1111...
1071
	}
1111
	}
1072
	return false;
1112
	return false;
1073
}
1113
}
1074
/*+--------------------------------------------------------------------------------------------------------+*/
1114
/*+--------------------------------------------------------------------------------------------------------+*/
1075
// PANNEAU LATÉRAL
1115
// PANNEAU LATÉRAL
1076
 
-
 
-
 
1116
var nbTaxons = 0;
1077
function initialiserAffichagePanneauLateral() {	
1117
function initialiserAffichagePanneauLateral() {	
1078
	if (nt == '*') {
1118
	if (nt == '*') {
1079
		$('#pl-ouverture').bind('click', afficherPanneauLateral);
1119
		$('#pl-ouverture').bind('click', afficherPanneauLateral);
1080
		$('#pl-fermeture').bind('click', cacherPanneauLateral);
1120
		$('#pl-fermeture').bind('click', cacherPanneauLateral);
1081
	} else {
1121
	} else {
1082
		$('#panneau-lateral').width(0);
1122
		$('#panneau-lateral').width(0);
1083
		$('#carte').width('100%');
1123
		$('#carte').width('100%');
1084
	}
1124
	}
-
 
1125
	attribuerListenersFiltreUtilisateur();
1085
	chargerTaxons(0, 0);
1126
	chargerTaxons(0, 0);
1086
}
1127
}
Line -... Line 1128...
-
 
1128
 
-
 
1129
function attribuerListenersFiltreUtilisateur() {
-
 
1130
	
-
 
1131
	$('#valider-filtre-utilisateur').click(function() {
-
 
1132
		var utilisateur = $('#filtre-utilisateur').val();
-
 
1133
		filtrerParUtilisateur(utilisateur);
-
 
1134
		$('#raz-filtre-utilisateur').show();
-
 
1135
	});
-
 
1136
	
-
 
1137
	$('#filtre-utilisateur').keypress(function(e) {
-
 
1138
	    if(e.which == 13) {
-
 
1139
	    	var utilisateur = $('#filtre-utilisateur').val();
-
 
1140
			filtrerParUtilisateur(utilisateur);
-
 
1141
			$('#raz-filtre-utilisateur').show();
-
 
1142
	    }
-
 
1143
	});
-
 
1144
	
-
 
1145
	$('#raz-filtre-utilisateur').click(function() {
-
 
1146
		$('#filtre-utilisateur').val('');
-
 
1147
		filtrerParUtilisateur('*');
-
 
1148
		$('#raz-filtre-utilisateur').hide();
-
 
1149
	});
-
 
1150
}
-
 
1151
 
-
 
1152
function filtrerParUtilisateur(utilisateurFiltre) {
-
 
1153
	if(utilisateurFiltre == '') {	
-
 
1154
		utilisateurFiltre = '*';
-
 
1155
	}
-
 
1156
	var pattern = /utilisateur=[^&]*/i;
-
 
1157
	var utilisateurCourant = pattern.exec(stationsUrl);
-
 
1158
	stationsUrl = stationsUrl.replace(utilisateurCourant, "utilisateur="+utilisateurFiltre);
-
 
1159
	taxonsUrl = taxonsUrl.replace(utilisateurCourant, "utilisateur="+utilisateurFiltre);
-
 
1160
	observationsUrl = observationsUrl.replace(utilisateurCourant, "utilisateur="+utilisateurFiltre);
-
 
1161
	filtreCommun = filtreCommun.replace(utilisateurCourant, "utilisateur="+utilisateurFiltre);
-
 
1162
	$("#taxons").html('');
-
 
1163
	chargerTaxons(0,0);
-
 
1164
	programmerRafraichissementCarte();
-
 
1165
}
1087
 
1166
 
1088
function chargerTaxons(depart, total) {
1167
function chargerTaxons(depart, total) {
-
 
1168
	if (depart == 0 || depart < total) {
-
 
1169
		if(depart == 0) {
-
 
1170
			nbTaxons = 0;
-
 
1171
			taxonsCarte = new Array();
-
 
1172
		}
1089
	if (depart == 0 || depart < total) {
1173
		
1090
		var limite = 7000;
1174
		var limite = 2000;
1091
		//console.log("Chargement des taxons de "+depart+" à "+(depart+limite));
1175
		//console.log("Chargement des taxons de "+depart+" à "+(depart+limite));
1092
		var urlTax = taxonsUrl+'&start={start}&limit='+limite;
1176
		var urlTax = taxonsUrl+'&start={start}&limit='+limite;
-
 
1177
		urlTax = urlTax.replace(/\{start\}/g, depart);
1093
		urlTax = urlTax.replace(/\{start\}/g, depart);
1178
		//console.log(urlTax);
-
 
1179
		$.getJSON(urlTax, function(infos) {
-
 
1180
			nbTaxons += infos.taxons.length;
-
 
1181
			$(".plantes-nbre").text(nbTaxons);
1094
		$.getJSON(urlTax, function(infos) {
1182
			$("#tpl-taxons-liste").tmpl({'taxons':infos.taxons}).appendTo("#taxons");
1095
			taxonsCarte = taxonsCarte.concat(infos.taxons);
1183
			taxonsCarte = taxonsCarte.concat(infos.taxons);
1096
			//console.log("Nbre taxons :"+taxonsCarte.length);
1184
			//console.log("Nbre taxons :"+taxonsCarte.length);
1097
			chargerTaxons(depart+limite, infos.total);
1185
			chargerTaxons(depart+limite, infos.total);
1098
		});
1186
		});
Line 1103... Line 1191...
1103
		afficherTitreCarteEtStats();
1191
		afficherTitreCarteEtStats();
1104
	}
1192
	}
1105
}
1193
}
Line 1106... Line 1194...
1106
 
1194
 
1107
function afficherTaxons() {
-
 
1108
	$(".plantes-nbre").text(taxonsCarte.length);
-
 
1109
	$("#tpl-taxons-liste").tmpl({'taxons':taxonsCarte}).appendTo("#pl-corps");
1195
function afficherTaxons() {
1110
	$('.taxon').live('click', filtrerParTaxon);
1196
	$('.taxon').live('click', filtrerParTaxon);
1111
	$('.raz-filtre-taxons').live('click', viderFiltreTaxon);
1197
	$('.raz-filtre-taxons').live('click', viderFiltreTaxon);
Line 1112... Line 1198...
1112
}
1198
}