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 |
});
|