Subversion Repositories eFlore/Applications.del

Rev

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

$(document).ready(function() {
        // config depuis PHP
        var urlWidget = $('#colonne-menu').data('url-widget'),
                annee = $('select#annee').val();

        $('#zone-chargement').hide();

        // écouteurs de clics sur le menu
        $('#colonne-menu .nav-sidebar a').click(function() {
                var portion = $(this).data('portion'),
                        idEmplacement = '#emplacement-resultat-' + portion;

                // attente
                $('#zone-chargement').show();
                masquerZonesResultat();

                // rendu du contenu
                //alert('déjà chargé? : ' + $(idEmplacement).data('charge') + ' (' + ($(idEmplacement).data('charge') === true) + ')');
                if ($(idEmplacement).data('charge')) {
                        postChargement(idEmplacement, portion);
                } else {
                        // rendu de la portion par le widget
                        urlPortion = urlWidget + '?page=' + portion;
                        if (annee) {
                                urlPortion += '&annee=' + annee;
                        }
                        rendu = $.ajax({
                                url: urlPortion,
                                type: 'get',
                                success: function(data) {
                                        $(idEmplacement).html(data);
                                        postChargement(idEmplacement, portion);
                                        $(idEmplacement).data('charge', 'true');
                                },
                                error: function() {
                                        $(idEmplacement).html('Erreur: impossible de charger les statistiques');
                                        postChargement(idEmplacement, portion);
                                }
                        });
                }

                // interface
                $(this).parent().parent().find('li.active').removeClass('active');
                $(this).parent().addClass('active');

                return false;
        });

        function postChargement(idEmplacement, portion) {
                $('#zone-chargement').hide();
                // affichage de la portion demandée et masquage des autres
                masquerZonesResultat();
                $(idEmplacement).show();
        }

        function masquerZonesResultat() {
                $('div.resultat').hide();
        }

        // chargement par défaut
        $('#colonne-menu a[data-portion="observations"]').trigger('click');
});