Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- createNav(langue = null) {
- //affichage du menu en fonction de la langue
- console.log(menu);
- let i = 0;
- let j = 1;
- let menuHTMl = "";
- if (typeof langue != "string") {
- langue = langue.target.selectedOptions[0].value; //récupère la langue du select si on ne lui en donne pas en paramètre
- }
- let nav_translate = "";
- while (i < menu.length) {
- //cherche la langue dans le tableau
- nav_translate += `<option value="${menu[i][0]}" >${menu[i][0]} </option> `; //toutes les langues du menu
- if (menu[i][0] == langue) {
- while (j < menu[i].length) {
- //parcours tout les lien de ce menu
- let tempo = `<a class="link_nav" v-on:click="${menu[i][j][3]}">`;
- if (menu[i][j][1] != "") {
- //si l'icon n'est pas vide
- tempo += `<i class="${menu[i][j][1]} icon_nav_left"></i>`;
- }
- tempo += `<span class="menulibell">${menu[i][j][0]}</span></a>`;
- if (menu[i][j][2] == 0) {
- //niveau 0
- if (j != 1) {
- menuHTMl += `</li><hr class=separator_nav>`;
- }
- menuHTMl += `<li class=elem_left_nav id="${menu[i][j][0]}">`;
- }
- if (j + 1 < menu[i].length) {
- //si taille ok
- if (menu[i][j + 1][2] > menu[i][j][2]) {
- //taille suivant plus grand
- menuHTMl += tempo;
- menuHTMl += `<a class="accordion" ><i class="fas fa-caret-down"></i></a>`;
- menuHTMl += `<span class="panel nav_left_lsi">`;
- } else if (menu[i][j + 1][2] == menu[i][j][2]) {
- //taille suivant égale
- menuHTMl += tempo + "<br>";
- } else {
- //taille suivant plus petite
- let newlvl = menu[i][j][2];
- while (menu[i][j - 1][2] > newlvl) {
- //on boucle pour trouver le nombre de span a fermer
- menuHTMl += "</span>";
- newlvl++;
- }
- menuHTMl += "<br>" + tempo;
- }
- } else {
- menuHTMl += `<a class="link_nav" v-on:click="${menu[i][j][3]}" id=btn-test>`;
- if (menu[i][j][1] != "") {
- //si l'icon n'est pas vide
- menuHTMl += `<i class="${menu[i][j][1]} icon_nav_left"></i>`;
- }
- menuHTMl += `<span class="menulibell">${menu[i][j][0]}</span></a>`;
- }
- j++;
- }
- }
- i++;
- }
- console.log(menuHTMl);
- this.nav_lsi = menuHTMl; //affichage menu
- this.nav_langue = nav_translate; //affichage langue
- //document.body.innerHTML +="<div></div>";
- this.$nextTick(function() {
- let ThisTempo = this;
- document.getElementById("btn-test").onclick = function() {
- ThisTempo.appelAPI(
- baseUrl + "xwiki/spaces",
- ThisTempo.loadMenu,
- ThisTempo
- );
- };
- var accordion = document.getElementsByClassName("accordion");
- for (var i = 0; i < accordion.length; i++) {
- accordion[i].onclick = function() {
- ThisTempo.affiche_accordion(this);
- };
- }
- });
- }
Add Comment
Please, Sign In to add comment