fix reload / enrouleurs
This commit is contained in:
parent
5ba487dbdf
commit
3d3eed7f2c
@ -93,7 +93,7 @@ function InfoCouleurs() {
|
|||||||
// el : element html toggler
|
// el : element html toggler
|
||||||
// enrouleurs : tableau de stockage des états des togglers
|
// enrouleurs : tableau de stockage des états des togglers
|
||||||
// bascule : true => on demande la permutation de l'état enroulé/déroulé
|
// 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)
|
// force : null ou boolean. Si boolean, c'est la valeur à affecter de force (true = deroule, false = enroule)
|
||||||
var toggle = function(el, enrouleurs, bascule, force) {
|
var toggle = function(el, enrouleurs, bascule, force) {
|
||||||
var htmlDeroule = "[-] ";
|
var htmlDeroule = "[-] ";
|
||||||
var htmlEnroule = "[+] ";
|
var htmlEnroule = "[+] ";
|
||||||
@ -246,13 +246,21 @@ function InfoCouleurs() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// emission requête XHR et récupération du résultat dans div
|
// emission requête XHR et récupération du résultat dans div
|
||||||
var reload = function(url, div, enrouleurs) {
|
// si init = true alors initialise le tableau des enrouleurs
|
||||||
|
var reload = function(url, div, enrouleurs, init) {
|
||||||
var xhr = new XMLHttpRequest();
|
var xhr = new XMLHttpRequest();
|
||||||
xhr.open("GET", url);
|
xhr.open("GET", url);
|
||||||
xhr.onload = function(e) {
|
xhr.onload = function(e) {
|
||||||
if (xhr.readyState === 4) {
|
if (xhr.readyState === 4) {
|
||||||
if (xhr.status === 200) {
|
if (xhr.status === 200) {
|
||||||
div.innerHTML = xhr.responseText;
|
div.innerHTML = xhr.responseText;
|
||||||
|
if (init) {
|
||||||
|
var elems = div.querySelectorAll(".toggler");
|
||||||
|
// initialisation des enrouleurs (true = déroulé, par défaut)
|
||||||
|
for (var i = 0; i < elems.length; i++) {
|
||||||
|
enrouleurs[elems[i].id] = <?php echo(json_encode($deroule)); ?>;
|
||||||
|
}
|
||||||
|
}
|
||||||
flash();
|
flash();
|
||||||
enroule(enrouleurs);
|
enroule(enrouleurs);
|
||||||
jourListeSalle(div);
|
jourListeSalle(div);
|
||||||
@ -265,7 +273,6 @@ function InfoCouleurs() {
|
|||||||
xhr.onerror = function(e) {
|
xhr.onerror = function(e) {
|
||||||
erreurXHR(url, xhr);
|
erreurXHR(url, xhr);
|
||||||
};
|
};
|
||||||
|
|
||||||
xhr.send(null); // initie la requête xhr
|
xhr.send(null); // initie la requête xhr
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -277,20 +284,12 @@ function InfoCouleurs() {
|
|||||||
var div = document.getElementById('loaddiv');
|
var div = document.getElementById('loaddiv');
|
||||||
if (div) {
|
if (div) {
|
||||||
var enrouleurs = {}; // tableau associatif des enrouleurs pour garder l'état de chaque liste sur reload
|
var enrouleurs = {}; // tableau associatif des enrouleurs pour garder l'état de chaque liste sur reload
|
||||||
var elems = div.getElementsByClassName("toggler");
|
reload(url, div, enrouleurs, true);
|
||||||
// initialisation des enrouleurs (true = déroulé, par défaut)
|
|
||||||
for (var i = 0; i < elems.length; i++) {
|
|
||||||
enrouleurs[elems[i].id] = <?php echo(json_encode($deroule)); ?>;
|
|
||||||
}
|
|
||||||
|
|
||||||
document.addEventListener("click", function(e) { bascule(e.target, enrouleurs); }, false);
|
document.addEventListener("click", function(e) { bascule(e.target, enrouleurs); }, false);
|
||||||
|
|
||||||
window.setInterval(function() {
|
window.setInterval(function() {
|
||||||
reload(url, div, enrouleurs);
|
reload(url, div, enrouleurs);
|
||||||
}, <?php echo($delayMs); ?>);
|
}, <?php echo($delayMs); ?>);
|
||||||
reload(url, div, enrouleurs);
|
} }
|
||||||
enroule(enrouleurs, false); // remise à jour de l'état de tous les togglers de la page
|
|
||||||
}
|
|
||||||
};
|
};
|
||||||
window.onload = init;
|
window.onload = init;
|
||||||
</script>
|
</script>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user