refactor toogle qui prend maintenant 4 parametres
This commit is contained in:
parent
edd844a8e4
commit
c341437843
@ -49,7 +49,8 @@ function InfoWinlog() {
|
|||||||
$liste_salles = ListeSalles();
|
$liste_salles = ListeSalles();
|
||||||
$infobulle = InfoWinlog();
|
$infobulle = InfoWinlog();
|
||||||
echo("<div id=\"menu_salles\">\n");
|
echo("<div id=\"menu_salles\">\n");
|
||||||
echo("<p title=\"$infobulle\"><b>Connexions Windows en cours par salle</b></p>\n");
|
echo("<span title=\"$infobulle\"><b>Connexions Windows en cours par salle</b></span>");
|
||||||
|
echo("<span class=\"right toggler_general\"><span id=\"\">[+]</span><span id=\"\">[-]</span></span><br/>\n");
|
||||||
echo($liste_salles);
|
echo($liste_salles);
|
||||||
echo("<br/><a href=\"recup_salles.php\" class=\"right\"><i>rechargement</i></a>\n</div>\n");
|
echo("<br/><a href=\"recup_salles.php\" class=\"right\"><i>rechargement</i></a>\n</div>\n");
|
||||||
echo('</div>'."\n");
|
echo('</div>'."\n");
|
||||||
@ -70,18 +71,55 @@ function InfoWinlog() {
|
|||||||
<script>
|
<script>
|
||||||
|
|
||||||
// fonction de permutation enroulé/déroulé de la liste de connexions d'une salle
|
// fonction de permutation enroulé/déroulé de la liste de connexions d'une salle
|
||||||
var toggle = function(el, enrouleurs) {
|
// el : element html toggler
|
||||||
if (el.className != "toggler") { return; }
|
// enrouleurs : tableau de stockage des états des togglers
|
||||||
|
// bascule : true => on demande la permutation de l'état enroulé/déroulé
|
||||||
|
// force : null ou boolean. Si boolean, c'est la valeur a affecter de force (true = deroule, false = enroule)
|
||||||
|
var toggle = function(el, enrouleurs, bascule, force) {
|
||||||
|
if (!el.classList.contains("toggler")) { return; }
|
||||||
|
var htmlDeroule = "[-] ";
|
||||||
|
var htmlEnroule = "[+] ";
|
||||||
|
var classDeroule = "deroule";
|
||||||
|
var classEnroule = "enroule";
|
||||||
var listeId = (el.id).replace('b-', 'c-');
|
var listeId = (el.id).replace('b-', 'c-');
|
||||||
var liste = document.getElementById(listeId);
|
var liste = document.getElementById(listeId);
|
||||||
if (enrouleurs[el.id]) {
|
// si la valeur forcée "force" n'est pas transmise, on permute ou on garde les valeurs existantes deroule/enroule
|
||||||
liste.className = "enroule";
|
// selon la valeur de bascule :bascule == true => on permute, sinon on rétablit les valeurs stockées
|
||||||
el.innerHTML = "[+] ";
|
if (force == null || force == undefined) {
|
||||||
enrouleurs[el.id] = false;
|
if (enrouleurs[el.id]) { // si initialement déroulé
|
||||||
} else {
|
if (bascule) {
|
||||||
liste.className = "deroule";
|
liste.className = classEnroule;
|
||||||
el.innerHTML = "[-] ";
|
el.innerHTML = htmlEnroule;
|
||||||
enrouleurs[el.id] = true;
|
enrouleurs[el.id] = false
|
||||||
|
} else {
|
||||||
|
liste.className = classDeroule;
|
||||||
|
el.innerHTML = htmlDeroule;
|
||||||
|
enrouleurs[el.id] = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else // si initialement enroulé
|
||||||
|
{
|
||||||
|
if (bascule) {
|
||||||
|
liste.className = classDeroule;
|
||||||
|
el.innerHTML = htmlDeroule;
|
||||||
|
enrouleurs[el.id] = true;
|
||||||
|
} else {
|
||||||
|
liste.className = classEnroule;
|
||||||
|
el.innerHTML = htmlEnroule;
|
||||||
|
enrouleurs[el.id] = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// sinon on affecte la valeur forcée
|
||||||
|
else {
|
||||||
|
enrouleurs[el.id] = force;
|
||||||
|
if (force) {
|
||||||
|
liste.className = classDeroule;
|
||||||
|
el.innerHTML = htmlDeroule;
|
||||||
|
} else {
|
||||||
|
liste.className = classEnroule;
|
||||||
|
el.innerHTML = htmlEnroule;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -89,15 +127,7 @@ function InfoWinlog() {
|
|||||||
var enroule = function(enrouleurs) {
|
var enroule = function(enrouleurs) {
|
||||||
for (var e in enrouleurs) {
|
for (var e in enrouleurs) {
|
||||||
var el = document.getElementById(e);
|
var el = document.getElementById(e);
|
||||||
var listeId = (el.id).replace('b-', 'c-');
|
toggle(el, enrouleurs, false);
|
||||||
var liste = document.getElementById(listeId);
|
|
||||||
if (enrouleurs[e]) {
|
|
||||||
liste.className = "deroule";
|
|
||||||
el.innerHTML = "[-] ";
|
|
||||||
} else {
|
|
||||||
liste.className = "enroule";
|
|
||||||
el.innerHTML = "[+] ";
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -208,10 +238,10 @@ function InfoWinlog() {
|
|||||||
var elems = document.getElementsByClassName("toggler");
|
var elems = document.getElementsByClassName("toggler");
|
||||||
// initialisation des enrouleurs (true = déroulé, par défaut)
|
// initialisation des enrouleurs (true = déroulé, par défaut)
|
||||||
for (var i = 0; i < elems.length; i++) {
|
for (var i = 0; i < elems.length; i++) {
|
||||||
enrouleurs[elems[i].id] = true;
|
enrouleurs[elems[i].id] = <?php echo(json_encode($deroule)); ?>;
|
||||||
}
|
}
|
||||||
|
|
||||||
div.addEventListener("click", function(e) { toggle(e.target, enrouleurs); }, false);
|
div.addEventListener("click", function(e) { toggle(e.target, enrouleurs, true); }, false);
|
||||||
|
|
||||||
window.setInterval(function() {
|
window.setInterval(function() {
|
||||||
reload(url, div, enrouleurs);
|
reload(url, div, enrouleurs);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user