1 line
8.5 KiB
JavaScript
Executable File
1 line
8.5 KiB
JavaScript
Executable File
// ------------------------------------------------------
|
|
// Contextuel logo themes css
|
|
// ------------------------------------------------------
|
|
var xMousePosition = 0;
|
|
var yMousePosition = 0;
|
|
|
|
// document.onmousemove = function(e){
|
|
// xMousePosition = e.clientX + window.pageXOffset;
|
|
// yMousePosition = e.clientY + window.pageYOffset;
|
|
// }
|
|
|
|
|
|
function contextLogo(element){
|
|
var debugLocal=0;
|
|
if (debugLocal==1) alert('contextLogo' );
|
|
|
|
// -----------------------------------------------------
|
|
// creer le menu
|
|
// -----------------------------------------------------
|
|
var d = document.createElement('div');
|
|
d.setAttribute('class', 'mContextLogo');
|
|
d.setAttribute('id', 'menuContextuel');
|
|
|
|
// -----------------------------------------------------
|
|
// Supprimer le menu contextuel on click body ou lui même
|
|
// -----------------------------------------------------
|
|
/*if(element.parentNode) d.onclick = function(e) { element.parentNode.removeChild(d); }*/
|
|
document.body.onclick = function(e) { try{ element.parentNode.removeChild(d); } finally{} }
|
|
|
|
// -----------------------------------------------------
|
|
// Gérer la position
|
|
// -----------------------------------------------------
|
|
if (debugLocal==2) d.innerHTML = ('<span style="color:black;"> X = ' + xMousePosition+ ' Y = ' + yMousePosition + '</span>');
|
|
// d.style.left = xMousePosition;
|
|
// d.style.top = yMousePosition;
|
|
d.style.left = 50;
|
|
d.style.top = 80;
|
|
|
|
// -----------------------------------------------------
|
|
// Theme sombre
|
|
// -----------------------------------------------------
|
|
var p1 = document.createElement('p1');
|
|
d.appendChild(p1);
|
|
p1.onclick=function() { themeSombre() };
|
|
p1.setAttribute('class', 'mContextItem');
|
|
p1.innerHTML = "Thème sombre<br>";
|
|
|
|
// -----------------------------------------------------
|
|
// Theme clair
|
|
// -----------------------------------------------------
|
|
var p2 = document.createElement('p2');
|
|
d.appendChild(p2);
|
|
p2.onclick=function() { themeClair() };
|
|
p2.setAttribute('class', 'mContextItem');
|
|
p2.innerHTML = "Thème clair<br>";
|
|
|
|
if (debugLocal==1) alert('contextLogo fin' );
|
|
element.parentNode.appendChild(d);
|
|
return false;
|
|
}
|
|
|
|
function themeSombre(){
|
|
debugLocal=0;
|
|
if(debugLocal==1) alert("themeAdm");
|
|
action ='./frmAdmin.php?adminThemeCSS=1&majTheme=1';
|
|
top.location.href = action;
|
|
}
|
|
|
|
// ------------------------------------------------------
|
|
// Themes de couleur admin css
|
|
// ------------------------------------------------------
|
|
|
|
function themeClair(){
|
|
debugLocal=0;
|
|
if(debugLocal==1) alert("themeAdm");
|
|
action ='./frmAdmin.php?adminThemeCSS=2&majTheme=1';
|
|
top.location.href = action;
|
|
}
|
|
var bcle=0;
|
|
var heure;
|
|
var min ;
|
|
var sec ;
|
|
let timer;
|
|
|
|
function clock() {
|
|
// Stoppe un ancien timer pour éviter la récursion infinie
|
|
clearTimeout(timer);
|
|
|
|
if (bcle == 0) {
|
|
heure = document.getElementById('heure').value;
|
|
min = document.getElementById('minute').value;
|
|
sec = document.getElementById('seconde').value;
|
|
} else {
|
|
sec++;
|
|
if (sec == 60) {
|
|
sec = 0;
|
|
min++;
|
|
if (min == 60) {
|
|
min = 0;
|
|
heure++;
|
|
}
|
|
}
|
|
}
|
|
|
|
let txt = "";
|
|
if (heure < 10) txt += "0";
|
|
txt += heure + ":";
|
|
|
|
if (min < 10) txt += "0";
|
|
txt += min + ":";
|
|
|
|
if (sec < 10) txt += "0";
|
|
txt += sec;
|
|
|
|
// Nouveau timer propre
|
|
timer = setTimeout(clock, 1000);
|
|
|
|
bcle++;
|
|
document.clock.date.value = txt;
|
|
}
|
|
|
|
// Premier démarrage
|
|
timer = setTimeout(clock, 1000);
|
|
|
|
var MonTableau = [];
|
|
var nbItem=15;
|
|
|
|
// ------------------------------------------------------
|
|
// Cache all
|
|
// ---------------------------------------------------
|
|
function cacheAllMenuGauche(){
|
|
// alert('cacheAllMenuGauche');
|
|
for (i=1 ; i<=nbItem ; i++){ item='menuDiv'+i;
|
|
if (document.getElementById(item)) {document.getElementById(item).style.display ='none';}
|
|
}
|
|
}
|
|
|
|
// ------------------------------------------------------
|
|
// Aff all
|
|
// ---------------------------------------------------
|
|
function affAllMenuGauche(){
|
|
// alert('affAllMenuGauche');
|
|
for (i=1 ; i<=nbItem ; i++){ item='menuDiv'+i;
|
|
if (document.getElementById(item)) {document.getElementById(item).style.display ='block';}
|
|
}
|
|
}
|
|
|
|
// ------------------------------------------------------
|
|
// Affiche ou masque l'ensemble : clic sur logo
|
|
// ---------------------------------------------------
|
|
function menuGaucheToggle(){
|
|
var test;
|
|
if (document.getElementById('menuDiv1')) {test=document.getElementById('menuDiv1').style.display;}
|
|
// alert('menuGaucheToggle : ' + test);
|
|
if(test=='block') {
|
|
cacheAllMenuGauche();
|
|
localStorage.setItem('menuGaucheState', 'open'); // Sauvegarde l'état ouvert dans le localStorage
|
|
}
|
|
else {
|
|
affAllMenuGauche();
|
|
localStorage.setItem('menuGaucheState', 'close'); // Sauvegarde l'état ouvert dans le localStorage
|
|
}
|
|
|
|
}
|
|
|
|
// restore ou masque l'ensemble
|
|
function storageMenuGauche() {
|
|
// Si l'état du menu est stocké dans le localStorage, l'applique
|
|
if (localStorage.getItem('menuGaucheState') === 'open') {
|
|
// menuG.style.display = 'block';
|
|
// alert('storageMenuGauche = open');
|
|
affAllMenuGauche();
|
|
} else {
|
|
// menuG.style.display = 'none';
|
|
// alert('storageMenuGauche = close');
|
|
cacheAllMenuGauche();
|
|
}
|
|
}
|
|
|
|
// ------------------------------------------------------
|
|
// aff cache menu sur clic
|
|
// ---------------------------------------------------
|
|
function affCacheMenuGauche(deb, fin){
|
|
var debugLocal=0;
|
|
var itemID;
|
|
var menuID;
|
|
|
|
|
|
if (debugLocal>0){
|
|
alert('je passe dans affCache ==> début : '+ deb + ' fin : '+ fin);
|
|
}
|
|
|
|
//persistance
|
|
itemID=('menuDiv'+deb);
|
|
menuID=document.getElementById(itemID);
|
|
|
|
var currentDisplay = window.getComputedStyle(menuID).display;
|
|
if (currentDisplay === 'block' || menuID.style.display === 'block') {
|
|
localStorage.setItem('menuGAffCache-' + deb + '-' + fin, 'close');
|
|
} else {
|
|
localStorage.setItem('menuGAffCache-' + deb + '-' + fin, 'open');
|
|
}
|
|
|
|
// if (menuID.style.display === 'block') localStorage.setItem('menuGAffCache-'+deb+'-'+fin, 'open'); // Sauvegarde l'état ouvert dans le localStorage
|
|
// if (menuID.style.display != 'block') localStorage.setItem('menuGAffCache-'+deb+'-'+fin, 'close'); // Sauvegarde l'état ouvert dans le localStorage
|
|
|
|
if (debugLocal>0) { alert(menuID.id + '.style initial : ' + currentDisplay ); }
|
|
|
|
for (var i=deb ; i<=fin ; i++){
|
|
itemID=('menuDiv'+i);
|
|
if (document.getElementById(itemID)) {
|
|
menuID=document.getElementById(itemID);
|
|
currentDisplay = window.getComputedStyle(menuID).display;
|
|
|
|
if (debugLocal==2) { alert(menuID.id + '.style initial : ' + menuID.style.display ); }
|
|
|
|
if (currentDisplay == 'block'){
|
|
menuID.style.display ='none';
|
|
}
|
|
else{
|
|
// if (debugLocal==1){alert('menuID b : ' + menuID );}
|
|
menuID.style.display='block';
|
|
}
|
|
|
|
if (debugLocal==2) { alert(menuID.id + 'menuID.style.display final : ' + menuID.style.display);}
|
|
}
|
|
else {
|
|
if (debugLocal==2) { alert('menuID by id non accédé : ' + itemID);}
|
|
}
|
|
} //for
|
|
}
|
|
|
|
// ------------------------------------------------------
|
|
// reaffiche ou cache les sections de menus apres un post, appelé par storageMenuGAffCache
|
|
// ---------------------------------------------------
|
|
function affMenuGauche(deb, fin, value){
|
|
var debugLocal=0;
|
|
var itemID;
|
|
var menuID;
|
|
var aff;
|
|
if (debugLocal==1) { alert('affMenuGauche : deb' + deb + ' fin ' + fin +' value ' + value);}
|
|
if (value=="close") aff='none'; else aff='block';
|
|
|
|
for (var i=deb ; i<=fin ; i++){
|
|
itemID=('menuDiv'+i);
|
|
if (document.getElementById(itemID)) {
|
|
document.getElementById(itemID).style.display=aff;
|
|
}
|
|
else {
|
|
if (debugLocal==2) { alert('menuID by id non accédé : ' + itemID);}
|
|
}
|
|
} //for
|
|
}
|
|
|
|
// persistance de chaque section de menu
|
|
function storageMenuGAffCache() {
|
|
// event.preventDefault(); // Empêche l'envoi du formulaire ou le rechargement de la page
|
|
// Créer un tableau pour stocker les résultats
|
|
let menuSections = [];
|
|
|
|
// alert('storageMenuGAffCache');
|
|
// Parcours de toutes les clés dans le localStorage
|
|
for (let i = 0; i < localStorage.length; i++) {
|
|
// Récupérer la clé
|
|
let key = localStorage.key(i);
|
|
|
|
// Vérifier si la clé commence par "MenuGAffCache-"
|
|
if (key.startsWith('menuGAffCache-')) {
|
|
// alert('debut : '+ key);
|
|
// Extraire "deb" et "fin" à partir de la clé
|
|
let parts = key.replace('menuGAffCache-', '').split('-');
|
|
if (parts.length === 2) {
|
|
let deb = parseInt(parts[0], 10); // Récupérer deb
|
|
let fin = parseInt(parts[1], 10); // Récupérer fin
|
|
// alert('debut : '+ deb);
|
|
// Récupérer la valeur associée à cette clé
|
|
let value = localStorage.getItem(key);
|
|
|
|
// Ajouter un objet avec deb, fin et la valeur dans le tableau
|
|
// menuSections.push({ deb: deb, fin: fin, value: value });
|
|
affMenuGauche(deb, fin, value);
|
|
}
|
|
}
|
|
}
|
|
} |