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 |
|
|
|
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 (modeUtilisateur) {
|
|
|
25 |
urlPortion += '&mode=utilisateur';
|
|
|
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="nombres"]').trigger('click');
|
|
|
62 |
});
|