Subversion Repositories eFlore/Applications.cel

Rev

Rev 2848 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
2202 mathias 1
$(document).ready(function() {
2
	// config depuis PHP
3
	var urlWidget = $('#colonne-menu').data('url-widget'),
4
		modeUtilisateur = ($('#mode-stats').data('mode-courant') == 'utilisateur');
5
 
6
	$('#zone-chargement').hide();
7
 
8
	// écouteurs de clics sur le menu
9
	$('#colonne-menu .nav-sidebar a').click(function() {
10
		var portion = $(this).data('portion'),
11
			idEmplacement = '#emplacement-resultat-' + portion;
12
 
13
		// attente
14
		$('#zone-chargement').show();
15
		masquerZonesResultat();
16
 
2848 mathias 17
		// stats
18
		if (prod) {
19
			ga('send', 'pageview', 'statistiques/' + portion);
20
		}
21
 
2202 mathias 22
		// rendu du contenu
23
		//alert('déjà chargé? : ' + $(idEmplacement).data('charge') + ' (' + ($(idEmplacement).data('charge') === true) + ')');
24
		if ($(idEmplacement).data('charge')) {
25
			postChargement(idEmplacement, portion);
26
		} else {
27
			// rendu de la portion par le widget
28
			urlPortion = urlWidget + '?page=' + portion;
29
			if (modeUtilisateur) {
30
				urlPortion += '&mode=utilisateur';
31
			}
32
			rendu = $.ajax({
33
				url: urlPortion,
34
				type: 'get',
35
				success: function(data) {
36
					$(idEmplacement).html(data);
37
					postChargement(idEmplacement, portion);
38
					$(idEmplacement).data('charge', 'true');
39
				},
40
				error: function() {
41
					$(idEmplacement).html('Erreur: impossible de charger les statistiques');
42
					postChargement(idEmplacement, portion);
43
				}
44
			});
45
		}
46
 
47
		// interface
48
		$(this).parent().parent().find('li.active').removeClass('active');
49
		$(this).parent().addClass('active');
50
 
51
		return false;
52
	});
53
 
54
	function postChargement(idEmplacement, portion) {
55
		$('#zone-chargement').hide();
56
		// affichage de la portion demandée et masquage des autres
57
		masquerZonesResultat();
58
		$(idEmplacement).show();
59
	}
60
 
61
	function masquerZonesResultat() {
62
		$('div.resultat').hide();
63
	}
64
 
65
	// chargement par défaut
66
	$('#colonne-menu a[data-portion="nombres"]').trigger('click');
67
});