Subversion Repositories Applications.reseau

Rev

Rev 21 | Rev 23 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
21 mathias 1
/**
2
 * Charge la barre de navigation depuis le widget:reseau:navigation dans un <div id="tb-navigation"> , s'il existe
3
 * dans la page appelante.
4
 *
5
 * Nécessite jQuery
6
 *
7
 * Utilisation :
8
 *	- prévoir un <div id="tb-navigation"> dans la page, qui accueillera la barre de navigation.
9
 *	- si ce <div> contient déjà quelque chose, son contenu sera reporté dans la zone <li id="contenu-source">
10
 *	  de la barre de navigation (si elle existe)
11
 *  - si ce <div> contient un attribut "data-courant" et si la valeur de cet attribut correspond à l'id d'un des éléments
12
 *    de navigation, alors cet élément aura la classe "active" (pour localiser la page courante dans les menus)
13
 *  - si ce <div> contient un attribut "data-squelette", alors le widget de navigation sera appelé avec le paramètre
14
 *    "?squelette=contenu-de-data-squelette"; se reporter à la documentation du widget:reseau:navigation
15
 */
16
 
17
$(document).ready(function() {
18
	var div = $('#tb-navigation');
19
	if (div) {
20
		var squelette = div.data('squelette'),
21
			courant = div.data('courant'),
22
			contenu = div.html();
23
		alert('Contenu actuel: ' + contenu);
24
		alert('Courant: [' + courant + '], squelette: [' + squelette + ']');
25
 
26
		// chargement de la barre
22 mathias 27
		var url = 'http://www.tela-botanica.org/widget:reseau:navigation';
28
		if (squelette) {
29
			url += '?squelette=' + squelette;
21 mathias 30
		}
22 mathias 31
		htmlBarre = $.ajax({
32
			url: urlPortion,
33
			type: 'get',
34
			success: function(data) {
35
				div.html(data);
36
				// activation de l'entrée de menu
37
				if (courant) {
38
					var menuCourant = div.find('#' + courant);
39
					if (menuCourant) {
40
						menuCourant.addClass('active');
41
					}
42
				}
43
				// remplacement de la zone contenu-source
44
				var zoneSource = div.find('li#contenu-source');
45
				if (zoneSource) {
46
					zoneSource.html(contenu);
47
				}
48
			},
49
			error: function() {
50
				div.html('Erreur: impossible de charger la barre de navigation');
51
			}
52
		});
21 mathias 53
	} else {
54
		alert('pas de div #tb-navigation');
55
	}
56
});