flash sur liste salle du header

This commit is contained in:
jbousquie 2016-09-27 15:49:40 +02:00
parent 8b17f0b953
commit 6f5853090c

View File

@ -16,7 +16,7 @@ function ListeSalles() {
$liste = "<div id=\"liste_salles\">\n"; $liste = "<div id=\"liste_salles\">\n";
foreach ($salles as $sal) { foreach ($salles as $sal) {
if (!in_array($sal, $salles_invisibles)) { if (!in_array($sal, $salles_invisibles)) {
$liste = $liste."<a href=\"#$sal\" class=\"lien_salle\">$sal</a> <span id=\"l-$sal\" class=\"jours\">&nbsp;&nbsp;&nbsp;&nbsp;</span>"; $liste = $liste."<a href=\"#$sal\" id=\"h-$sal\" class=\"lien_salle\">$sal</a> <span id=\"l-$sal\" class=\"jours\">&nbsp;&nbsp;&nbsp;&nbsp;</span>";
} }
} }
$liste = $liste; $liste = $liste;
@ -59,14 +59,14 @@ function ListeSalles() {
echo($texte); echo($texte);
?> ?>
<script> <script>
// fonction d'affichage d'erreur dans la console // fonction d'affichage d'erreur dans la console
var erreurXHR = function(url) { var erreurXHR = function(url) {
console.log("erreur chargement" + url + " : " + xhr.statusText); console.log("erreur chargement" + url + " : " + xhr.statusText);
}; };
// Met à jour les indicateurs de jours des salles du menu header à partir des valeurs de la liste des salles/connexions // Met à jour les indicateurs de jours des salles du menu header à partir des valeurs de la liste des salles/connexions
function jourListeSalle(div) { var jourListeSalle = function(div) {
var salles = div.getElementsByClassName('jours'); var salles = div.getElementsByClassName('jours');
var liste = {}; var liste = {};
for (var i = 0; i < salles.length; i++) { for (var i = 0; i < salles.length; i++) {
@ -78,20 +78,27 @@ function ListeSalles() {
} }
// flash : clignotement des lignes correspondant au dataset "rejected" du <div> blacklist // flash : clignotement des lignes correspondant au dataset "rejected" du <div> blacklist
function flash() { var flash = function() {
var div_blacklist = document.getElementById("blacklist"); // récupération du div blacklist var div_blacklist = document.getElementById("blacklist"); // récupération du div blacklist
var ips = JSON.parse(div_blacklist.dataset.rejected); // récupération du dataset de ce div var ips = JSON.parse(div_blacklist.dataset.rejected); // récupération du dataset de ce div
var rgbaString = "rgba(255, 140, 0, x)"; var rgbaString = "rgba(255, 140, 0, x)";
for (var i = 0; i < ips.length; i++) { for (var i = 0; i < ips.length; i++) {
// recuperation des <tr> ip et des elements salles du header
var ip = ips[i]["ip"].replace(/\./g, '-'); // remplacement des '.' par des '-' var ip = ips[i]["ip"].replace(/\./g, '-'); // remplacement des '.' par des '-'
var tr_ip = document.getElementById(ip); var tr_ip = document.getElementById(ip);
var salle = 'h-' + ips[i]["salle"];
var el_salle = document.getElementById(salle);
// styles
var s = tr_ip.style; var s = tr_ip.style;
var ss = el_salle.style;
s.backgroundColor = rgbaString.replace("x", "0"); s.backgroundColor = rgbaString.replace("x", "0");
ss.backgroundColor = rgbaString.replace("x", "0");
var alpha = 0; var alpha = 0;
var bright = false; var bright = false;
var finished = false; var finished = false;
(function fade() { (function fade() {
s.backgroundColor = rgbaString.replace("x", String(alpha)); s.backgroundColor = rgbaString.replace("x", String(alpha));
ss.backgroundColor = rgbaString.replace("x", String(alpha));
if (!bright) { if (!bright) {
alpha += 0.05; alpha += 0.05;
if (alpha > 1) { if (alpha > 1) {
@ -134,16 +141,19 @@ function ListeSalles() {
xhr.send(null); // initie la requête xhr xhr.send(null); // initie la requête xhr
}; };
// init
var url = 'reload_salles.php'; var url = 'reload_salles.php';
var div = document.getElementById('loaddiv'); var init = function() {
if (div) { var div = document.getElementById('loaddiv');
window.setInterval(function() { if (div) {
window.setInterval(function() {
reload(url, div);
}, <?php echo($delaySec); ?>);
reload(url, div); reload(url, div);
}, <?php echo($delaySec); ?>); jourListeSalle(div);
reload(url, div); }
jourListeSalle(div); };
} window.onload = init;
</script> </script>
</body> </body>
</html> </html>