Subversion Repositories eFlore/Applications.del

Rev

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

Rev Author Line No. Line
1788 mathias 1
$(document).ready(function() {
2
	// config depuis PHP
3
	var urlWidget = $('#colonne-menu').data('url-widget'),
4
		annee = $('select#annee').val();
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
 
17
		// rendu du contenu
18
		//alert('déjà chargé? : ' + $(idEmplacement).data('charge') + ' (' + ($(idEmplacement).data('charge') === true) + ')');
19
		if ($(idEmplacement).data('charge')) {
20
			postChargement(idEmplacement, portion);
21
		} else {
22
			// rendu de la portion par le widget
23
			urlPortion = urlWidget + '?page=' + portion;
24
			if (annee) {
25
				urlPortion += '&annee=' + annee;
26
			}
27
			rendu = $.ajax({
28
				url: urlPortion,
29
				type: 'get',
30
				success: function(data) {
31
					$(idEmplacement).html(data);
32
					postChargement(idEmplacement, portion);
33
					$(idEmplacement).data('charge', 'true');
34
				},
35
				error: function() {
36
					$(idEmplacement).html('Erreur: impossible de charger les statistiques');
37
					postChargement(idEmplacement, portion);
38
				}
39
			});
40
		}
41
 
42
		// interface
43
		$(this).parent().parent().find('li.active').removeClass('active');
44
		$(this).parent().addClass('active');
45
 
46
		return false;
47
	});
48
 
49
	function postChargement(idEmplacement, portion) {
50
		$('#zone-chargement').hide();
51
		// affichage de la portion demandée et masquage des autres
52
		masquerZonesResultat();
53
		$(idEmplacement).show();
54
	}
55
 
56
	function masquerZonesResultat() {
57
		$('div.resultat').hide();
58
	}
59
 
60
	// chargement par défaut
61
	$('#colonne-menu a[data-portion="observations"]').trigger('click');
62
});