alpha_full/_include/_js/menuContextuel.js.php
2026-04-06 22:58:51 +02:00

1558 lines
49 KiB
PHP
Executable File

<?php
header("Content-Type: application/javascript");
?>
// ---------------------------------------------------
// Si un élément est stocké, le surligner apres chargement new page
// ---------------------------------------------------
window.addEventListener('load', function () {
debugLocal=0;
const id=localStorage.getItem('selectedElementId');
if (!id) return;
const el=document.getElementById(id);
if (el) {
el.classList.add('element-selected');
if (debugLocal==1) alert('classe element-selected ajoutée');
}
});
// ---------------------------------------------------
// Si un élément est stocké, le retirer et enlever sa classe
// ---------------------------------------------------
function deselectElementAll () {
document.querySelectorAll('.element-selected')
.forEach(el => el.classList.remove('element-selected'));
alert('fin deselect');
}
// ---------------------------------------------------
// Si un élément est stocké, le retirer et enlever sa classe
// ---------------------------------------------------
function deselectElement (element) {
const storedId=localStorage.getItem('selectedElementId');
if (storedId) {
const prevEl=document.getElementById(storedId);
if (prevEl) {
prevEl.classList.remove('element-selected');
}
localStorage.removeItem('selectedElementId');
}
}
// ---------------------------------------------------
// Si clic sur menu contextuel, ajouter la class selected
// ---------------------------------------------------
function selectElement (element) {
if(element) {
element.classList.add('element-selected');
// Sauvegarde l'élément sélectionné
localStorage.setItem('selectedElementId', element.id);
}
}
// ---------------------------------------------------
// Gérer la position
// ---------------------------------------------------
function gererPos (d,e) {
var debugLocal=0;
var leftPosition=0;
var topPosition=0;
// const menuWidth=d.offsetWidth;
// const menuHeight=d.offsetHeight;
const windowWidth=window.innerWidth;
const windowHeight=window.innerHeight;
menuWidth=290;
menuHeight=60;
// leftPosition=event.clientX;
// topPosition=event.clientY;
if (e && e.clientX) { leftPosition=e.clientX; } else if (e && e.pageX) { leftPosition=e.pageX; }
// prise en compte scroll
// leftPosition=e.pageX;
// topPosition =e.pageY;
if (e && e.pageY) { topPosition=e.pageY; } else if (e && e.clientY) { topPosition=e.clientY; }
if (debugLocal == 1 ) alert ("X : " +leftPosition+ " Y : " +topPosition+ " menuWidth : " +menuWidth+ " windowWidth : " +windowWidth+ " menuHeight : " +menuHeight+ " windowHeight : " +windowHeight);
// --------------------------------------
// left position
// --------------------------------------
if (leftPosition !== null && leftPosition !== undefined) {
if (leftPosition + menuWidth > windowWidth) {
leftPosition=windowWidth - menuWidth ;
}
if (leftPosition < 10) leftPosition=menuWidth;
d.style.left= leftPosition+ "px";
}
// --------------------------------------
// top position
// --------------------------------------
if (topPosition !== null && topPosition !== undefined) {
// const left=e.pageX; // clientX + scrollX
// topPosition =e.pageY; // clientY + scrollY
// if (topPosition + menuHeight > windowHeight) {
// topPosition=windowHeight - 30;
// }
if (topPosition < 10) {topPosition=menuHeight };
d.style.top=(topPosition+20)+"px";
}
if (debugLocal == 1 ) alert ("X2 : " +leftPosition+ " Y2 : " +topPosition+ " menuWidth : " +menuWidth+ " windowWidth : " +windowWidth+ " menuHeight : " +menuHeight+ " windowHeight : " +windowHeight);
}
// ---------------------------------------------------
// Menus contextuels
// ---------------------------------------------------
document.addEventListener("contextmenu", function (event) {
event.preventDefault(); // empêche le menu contextuel du navigateur
});
function resetMenuContextuel() {
if (element.parentNode) {
d.onclick = function(e) {
element.parentNode.removeChild(d);
};
}
document.body.onclick = function(e) {
try {
document.body.removeChild(d);
} catch (err) {}
};
}
// ---------------------------------------------------
// Styles + contenu
// ---------------------------------------------------
function mContextuel ( element, nomCss, sectionTxtNom, numTxt, event ) {
// ---------------------------------------------------
// element : l'item ou le menu apparait
// nomCss : nom du style final
// sectionTxtNom : tableau de langueNav ou famille de style -> pour contenu
// numTxt : numero dans le tableau sectionTxtNom / N° de produit / categorie ou s.categorie.
// On déduit :
// ==> textesAffSection (integer) sera determiné aussi par sous_menu_mapping dans agencement en fonction du N° de sous-menu
// ==> voletCss sera determiné aussi par agencement en fonction du nom du style
// ==> les N° menus, previewObject, agencementOnglet...
// car on ne les a pas dans les fonctionsGene, et ici on veut une fonction le plus générique possible, donc on peut pas d'appels en dur spécifique
// ---------------------------------------------------
debugLocal=0;
if (debugLocal==1) alert('mContextuel : param reçus => element=' +element.id+ ' | nomCss=' +nomCss+ ' | sectionTxtNom=' +sectionTxtNom+ ' | numTxt=' +numTxt);
// ---------------------------------------------------
// Ne pas ouvrir plusieurs à la fois si parents
// ---------------------------------------------------
if (event) {
event.stopPropagation(); // ← Arrête la propagation vers les parents
event.preventDefault(); // ← Optionnel : bloque le menu natif
}
// ---------------------------------------------------
// Ne supporte pas les #
// ---------------------------------------------------
if (nomCss.substr(0,1 )=="#") {nomCss=nomCss.substr(1, nomCss.length); }
if (debugLocal==2) alert("nomCss sans #=" + nomCss);
// ---------------------------------------------------
// Créer le menu
// ---------------------------------------------------
var d=document.createElement('div');
d.setAttribute('class', 'mContextMenu');
d.setAttribute('id', 'menuContextuel');
element.style.border="2px dashed purple";
element.style.zIndex=102;
if(element.parentNode) element.parentNode.style.zIndex=101;
// ---------------------------------------------------
// 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
// ---------------------------------------------------
gererPos(d, event);
// ---------------------------------------------------
// Gérer les parametres d'appel complémentaires par defaut
// ---------------------------------------------------
numeroMenuPrpal=0;
numeroSousMenu=1;
previewObject=0;
isEspace=0;
agencementOnglet=2;
action='';
textesAffSection=1;
theNumCss=0;
theVoletCss='';
idLanguenav='';
// ---------------------------------------------------
// Créer le sous menu contenu
// ---------------------------------------------------
var p10=document.createElement('p');
d.appendChild(p10);
p10.setAttribute('class', 'mContextItem');
//libellé par defaut
p10.innerHTML="Modifier le texte";
// ---------------------------------------------------
// Déduire les param manquants
// ---------------------------------------------------
// On utilise sectionTxtNom pour definir les parametres d'appels, puis on utilisera le nom de style après si besoin de sous styles
switch (sectionTxtNom) {
//titre en img, titre en txt, logo
case 'Eléments entête':
case 'titre':
theVoletCss="Eléments d'entête";
textesAffSection=6;
numeroMenuPrpal=0;
break;
case 'menu':
//accueil
if(numTxt==0 ) {
numeroSousMenu=1;
numeroMenuPrpal=0;
// idLanguenav=79;
}
//catalogue
else if(numTxt==1 || numTxt==2 || numTxt==3 || numTxt==4 || numTxt==5 || numTxt==28 || numTxt==30 || numTxt==35 ) {
// if(numTxt==2) numeroSousMenu=10;
// else if(numTxt==3) numeroSousMenu=11;
// else
if(numTxt!=1) numeroSousMenu=numTxt;
else { numeroSousMenu=0;}
numeroMenuPrpal=1;
idLanguenav=1;
}
//client
else if(numTxt==6 || numTxt==7 || numTxt==8 || numTxt==9 || numTxt==10 || numTxt==11 ) {
if(numTxt!=6) numeroSousMenu=numTxt;
else { numeroSousMenu=0;}
numeroMenuPrpal=6;
idLanguenav=298;
}
//panier
else if(numTxt==12 || numTxt==13 || numTxt==14 || numTxt==15 ) {
if(numTxt!=12) numeroSousMenu=numTxt; //mdepaie
else numeroSousMenu=0; //panier
numeroMenuPrpal=12; //espace panier
idLanguenav=79;
}
//infos
else if(numTxt==16 || numTxt==17 || numTxt==18 || numTxt==19 ) {
numeroSousMenu=numTxt;//ksm
numeroMenuPrpal=16;
idLanguenav=85;
}
else {
numeroMenuPrpal=0;
numeroSousMenu=101;
}
if(numTxt==0 || numTxt==1 || numTxt==6 || numTxt==12 || numTxt==16) { isEspace =1; agencementOnglet=1; }
else { isEspace =0; agencementOnglet=2 }
//il faut mettre le volet que si menu deroulant pas dans les pages
if(nomCss!='titresInfos' && nomCss!='panierTitre' && nomCss !='titresCli' && nomCss !='titresCat' && nomCss !='connTitre' ) theVoletCss="Menu déroulant";
textesAffSection=5; //menu
break;
case 'Catalogue':
case 'catalogue':
case 'catalog':
theVoletCss="Catalogue"; // pour produits / gondoles, sinon sera chargé en menu familles
textesAffSection=1;
numeroMenuPrpal=1;
numeroSousMenu=1;
break;
case 'client':
theVoletCss="Clients";
textesAffSection=3;
numeroMenuPrpal=6;
numeroSousMenu=7;//par defaut connection
break;
case 'nav':
theVoletCss="Connexion";
textesAffSection=2;
numeroMenuPrpal=6;
numeroSousMenu=7;
break;
case 'panier':
theVoletCss="Panier";
textesAffSection=4;
numeroSousMenu=13;
numeroMenuPrpal=12;
case 'cde':
theVoletCss="Commandes";
textesAffSection=4;
numeroSousMenu=13;
numeroMenuPrpal=12;
break;
case 'contact':
theVoletCss="Informations";
if(numTxt > 0 && numTxt < 17) { numeroSousMenu=17; }//ksn en dessous de 61 ( au dessus = infos de banque)
if(numTxt==61) { numeroSousMenu=18; }//contact-->utilise des chams client (mauvaise pratique...), titre=celui de menu. 61 seul champ de contact utilisé
if(numTxt==0) { numeroSousMenu=19; }//cdv-->sont dans pages pas dans languenav, titre=celui de menu. 0 ne cooresponds pas c'est un flag pour aller sur pages
numeroMenuPrpal=16;
p10.innerHTML="Modifier le texte";
break;
case 'bouton':
textesAffSection=10;
break;
// case 'transverse':
// numeroMenuPrpal=40;
// break;
}
// debugLocal=0;
if (debugLocal==2) alert('Fin switch sectionTxtNom');
// ici on utilise nomCss pour les param qui sont unitaires
switch (nomCss) {
case 'body':
case 'bodyImg':
theNumCss=0;
p10.innerHTML="Modifier le corps de page";
break;
// Entête - logo -> modale
case 'logo':
theVoletCss="Eléments d'entête";
theNumCss=0;
numeroSousMenu=102;
p10.innerHTML="Modifier le logo";
// d.style.left='60px';
// d.style.top='34px';
break;
// Entête titre Img -> en modale
case 'eCol2':
theVoletCss="Structure d'entête";
nomCss='eCol2';
theNumCss=1;
textesAffSection=6;
numeroSousMenu=103;
p10.innerHTML="Modifier le titre";
break;
// Entête titre en Txt
case 'imgTitre':
theVoletCss="Eléments d'entête";
theNumCss=10;
textesAffSection=6;
numeroSousMenu=103;
p10.innerHTML="Modifier le titre";
break;
// Entête conteneur musique -< modale
case 'player':
theVoletCss="Eléments d'entête";
theNumCss=4;
numeroMenuPrpal=0; //site
numeroSousMenu=106; // musique
p10.innerHTML="Modifier la musique";
break;
// Entête - langue -> modale / le txt est menu
case 'drapeaux':
theVoletCss="Eléments d'entête";
numeroSousMenu=107;
p10.innerHTML="Modifier les langues";
d.style.width= '250px';
break;
// Entête - bannière -> modale
case 'bandeauImg':
theVoletCss="Eléments d'entête";
theNumCss=9;
numeroSousMenu=104;
p10.innerHTML="Modifier l'image bannière";
break;
// --------------------------------------------------
// Menu déroulant
// --------------------------------------------------
case 'menuDeroulantItem':
theNumCss=1;
p10.innerHTML="Modifier le menu";
break;
case 'textePpauxMenuDeroulant':
theNumCss=2;
agencementOnglet=1;
if(numTxt==0 || numTxt==1 || numTxt==6 || numTxt==12 || numTxt==16) { p10.innerHTML="Modifier l'espace"; }
else p10.innerHTML="Modifier le menu";
break;
case 'iconesPpauxMenuDeroulant':
theNumCss=3;
p10.innerHTML="Modifier l'icône";
break;
case 'sousMenuTexte':
theNumCss=10;
p10.innerHTML="Modifier le sous menu";
break;
// --------------------------------------------------
// Catalogue
// --------------------------------------------------
case 'rechBarre-container':
theVoletCss="Barre rechercher";
theNumCss=0;
numeroSousMenu=5;
// p10.innerHTML="Modifier la barre de recherche";
break;
case 'rechItem':
case 'rechInput':
case 'rechBtn':
theVoletCss="Barre rechercher";
theNumCss=2;
numeroSousMenu=5;
// p10.innerHTML="Modifier la zone de recherche";
break;
case 'affRes':
theNumCss=19;
break;
// Barre des promos : txt:menus, style:boutons
// itemBarrePromo n'est jamais appelé car il est conteneur dans fonction gene : voir after pour ajoputer MC dans ce cas mais risque usne agaz
case 'itemBarrePromo':
theVoletCss="Barre des promos";
theNumCss=1;
numeroMenuPrpal=1;
numeroSousMenu=2;
break;
case 'iconeBarrePromo':
theVoletCss="Barre des promos";
theNumCss=3;
textesAffSection=5;
numeroMenuPrpal=1;
numeroSousMenu=2;
p10.innerHTML="Modifier l'icône";
break;
case 'txtBarrePromo':
theVoletCss="Barre des promos";
theNumCss=2;
textesAffSection=5;
numeroMenuPrpal=1;
numeroSousMenu=2;
p10.innerHTML="Modifier le bouton";
break;
// Catégories
case 'familles-libelle':
theVoletCss="Menu familles";
theNumCss=3;
p10.innerHTML="Modifier la catégorie";
break;
case 'familles-img':
theVoletCss="Menu familles";
theNumCss=4;
p10.innerHTML="Modifier la catégorie";
break;
case 'categoriesItems':
theVoletCss="Menu catégories";
theNumCss=3;
p10.innerHTML="Modifier la sous-catégorie";
break;
case 'categoriesImages':
theVoletCss="Menu catégories";
theNumCss=4;
p10.innerHTML="Modifier la sous-catégorie";
break;
// Produits
case 'titresPrd':
theNumCss=4;
p10.innerHTML="Modifier le produit";
break;
case 'catalogueImgPrd':
theNumCss=5;
p10.innerHTML="Modifier le produit";
break;
case 'descProduits':
theNumCss=6;
p10.innerHTML="Modifier le produit";
break;
case 'prix':
theNumCss=12;
break;
case 'libCatalogueCell':
theNumCss=8;
p10.innerHTML="Modifier le produit";
break;
case 'libCatalogueCell':
theNumCss=9;
p10.innerHTML="Modifier le produit";
break;
case 'champsCatalogueCell':
theNumCss=10;
p10.innerHTML="Modifier le produit";
break;
case 'champsCatalogue':
theNumCss=11;
p10.innerHTML="Modifier le produit";
break;
// --------------------------------------------------
// Nav
// --------------------------------------------------
// les champs clients mails et pwd sont issus de client, et le css de connexion ( une mauvaise économie de l'époque...)
case 'connTitre':
theVoletCss="Connexion";
theNumCss=1;
break;
case 'messageConnect':
theNumCss=2;
break;
case 'libConnCell':
theNumCss=5;
break;
case 'libConn':
theNumCss=6; //email
break;
case 'champsConnCell':
theNumCss=7; //pwd
break;
case 'champsConn': theNumCss=8; //pwd
break;
// --------------------------------------------------
// Clients
// --------------------------------------------------
case 'titresCli':
theVoletCss="Clients";
theNumCss=1;
break;
case 'libClientsCell':
theNumCss=2;
numeroSousMenu=11;//inscription
break;
case 'libClients':
theNumCss=3;
numeroSousMenu=11;//inscription
break;
case 'champsCliCell':
theNumCss=4;
numeroSousMenu=11;//inscription
break;
case 'champsCli':
theNumCss=5;
numeroSousMenu=11;//inscription
break;
case 'msgCli':
theNumCss=6;
numeroSousMenu=11;//inscription
break;
case 'listeDeroulanteCli':
theNumCss=7;
if(numTxt==89 || numTxt==90) numeroSousMenu=9;//modifier mon compte
else { numeroSousMenu=11; }//inscription
if(numTxt==89) p10.innerHTML="Modifier les modes de livraison";
if(numTxt==90) p10.innerHTML="Modifier les moyens de paiement";
numeroMenuPrpal=6; //client
break;
case 'cliLignes':
theNumCss=8;
numeroSousMenu=11;//inscription
break;
case 'detailsOnglets':
theNumCss=9;
numeroSousMenu=11;//inscription
break;
case 'detailsOnglets li':
theNumCss=10;
numeroSousMenu=11;//inscription
break;
case 'detailsOnglets li':
theNumCss=10;
numeroSousMenu=11;//inscription
break;
// --------------------------------------------------
// Panier
// --------------------------------------------------
case 'panierTitre':
theVoletCss='Panier';
theNumCss=0;
numeroMenuPrpal=12;
if(numTxt==1) {numeroSousMenu=131;} //modif adresse fact le txt est sur client
if(numTxt==2) {numeroSousMenu=132;} //modif adresse LIV le txt est sur client
if(numTxt==13) {numeroSousMenu=13;} //panier
if(numTxt==14) {numeroSousMenu=134; } //modePaie panier
if(numTxt==15) {numeroSousMenu=133; } //modeLiv panier
if(numTxt==30) {numeroSousMenu=135; } //recap
// if(numTxt==82) {numeroSousMenu=13; } //panier affcde a tester...affcde est dans chaque etape
break;
case 'tablePanier':
theVoletCss='Panier';
theNumCss=1;
if(numTxt==0) {numeroSousMenu=13;}
break;
case 'libPanier':
theVoletCss='Panier';
theNumCss=5;
break;
case 'champsPanierCell':
theVoletCss='Panier';
theNumCss=6;
p10.innerHTML="Modifier le produit";
break;
case 'champsPanier':
theVoletCss='Panier';
theNumCss=7;
if(sectionTxtNom=='cde' && numTxt==4) { //mode paie- cheq- infos
numeroSousMenu=13;
p10.innerHTML="Modifier les options du produit";
}
else if(sectionTxtNom=='contact') { //mode paie- cheq- infos
numeroSousMenu=134;
p10.innerHTML="Modifier les informations commerçant";
}
else p10.innerHTML="Modifier le produit";
break;
case 'itemPanier': //utilisé dans commandes donc forcer le volet ici
if(numTxt==38 || numTxt==19) numeroSousMenu=133;//mode liv
else if(numTxt==68) numeroSousMenu=134;//mode paie
else if(numTxt==21 || numTxt==23 || numTxt==32 || numTxt==33 || numTxt==31 ) numeroSousMenu=135;//recap
else numeroSousMenu=13;
theVoletCss='Panier';
theNumCss=9;
p10.innerHTML="Modifier le produit";
break;
case 'msgPanier': //utilisé dans commandes donc forcer le volet ici
if(numTxt==38 || numTxt==19) numeroSousMenu=133;//mode liv
else if(numTxt==68) numeroSousMenu=134;//mode paie
else if(numTxt==7 || numTxt==13 || numTxt==30 ) numeroSousMenu=135; // recap si pas connecté : boutons connexion et ouvrir compte
else numeroSousMenu=13;
theVoletCss='Panier';
theNumCss=12;
break;
case 'panierConteneurItem':
theVoletCss='Panier';
theNumCss=14;
textesAffSection=4;
numeroMenuPrpal=12; //Panier espace
if(sectionTxtNom=='liv') {
numeroSousMenu=133;
p10.innerHTML="Modifier les modes de livraison";
}
else {
numeroSousMenu=134;
p10.innerHTML="Modifier les moyens de paiement";
}
break;
case 'blocItemPanier':
theVoletCss='Panier';
theNumCss=15;
break;
// --------------------------------------------------
// Etapes
// --------------------------------------------------
case 'champEtapesTodo':
theVoletCss="Étapes";
theNumCss=3;
textesAffSection=4;
numeroSousMenu=13;//panier
numeroMenuPrpal=12;//espace commandes
break;
case 'champEtapesDone':
theVoletCss="Étapes";
theNumCss=3;
textesAffSection=4;
numeroSousMenu=13;//panier
numeroMenuPrpal=12;//espace commandes
break;
// --------------------------------------------------
// Informations : on a des styles et des champs transverses...c'est un peu le bazar ici...
// --------------------------------------------------
case 'titresInfos': // la section est menu et pas contact
theVoletCss="Informations"
theNumCss=0;
numeroSousMenu=numTxt;//ksm
numeroMenuPrpal=16;
break;
case 'tableInfos':
theNumCss=1;
break;
case 'msgInfos'://ira dans le contenu
theNumCss=2;
agencementOnglet=4;
previewObject=1;
if (numTxt ==75) {p10.innerHTML="Modifier le contenu"; numeroMenuPrpal=12; numeroSousMenu=14; agencementOnglet=4; previewObject=1; }
if (numTxt ==77) {p10.innerHTML="Modifier le contenu"; numeroMenuPrpal=12; numeroSousMenu=15; agencementOnglet=4; previewObject=1; }
p10.innerHTML="Modifier la page information";
break;
case 'libInfosCell':
theNumCss=3;
if (numTxt > 0 && numTxt < 17) p10.innerHTML="Modifier les informations commerçant";
break;
case 'libInfos':
theNumCss=4;
if (numTxt > 0 && numTxt < 17) p10.innerHTML="Modifier les informations commerçant";
break;
case 'champsInfosCell':
if (numTxt > 0 && numTxt < 17) p10.innerHTML="Modifier les informations commerçant";
if (numTxt ==75) {p10.innerHTML="Modifier le contenu"; numeroMenuPrpal=12; numeroSousMenu=14; agencementOnglet=4; previewObject=1; }
if (numTxt ==77) {p10.innerHTML="Modifier le contenu"; numeroMenuPrpal=12; numeroSousMenu=15; agencementOnglet=4; previewObject=1; }
theNumCss=5;
break;
case 'champsInfos':
theNumCss=6;
if (numTxt > 0 && numTxt < 17) p10.innerHTML="Modifier les informations commerçant";
break;
case 'lignesInfos':
theNumCss=7;
if (numTxt > 0 && numTxt < 17) p10.innerHTML="Modifier les informations commerçant";
break;
// --------------------------------------------------
// transverse
// --------------------------------------------------
case 'tablePages': // normalement devrait que sur mConStyle, mais pour les pages infos, ce sont des contenus dynamiques, donc on n'aura pas la fonction géné pour mContetxtuel, donc on le mets ici pour pourvoir aller sut contenu/txt
theVoletCss="Transverses site";
theNumCss=1;
if (sectionTxtNom == 'contact') {
if (numTxt > 0 && numTxt < 17) { numeroSousMenu=17; }//ksn en dessous de 61 ( au dessus = infos de banque)
if(numTxt==61) { numeroSousMenu=18; }//contact-->utilise des chams client (mauvaise pratique...), titre=celui de menu. 61 seul champ de contact utilisé
if(numTxt==0) { numeroSousMenu=19; }//cdv-->sont dans pages pas dans languenav, titre=celui de menu. 0 ne cooresponds pas c'est un flag pour aller sur pages
numeroMenuPrpal=16;
p10.innerHTML="Modifier la page information";
}
else {
numeroSousMenu=1; numeroMenuPrpal=1;
}
break;
case 'pageNavigation':
theVoletCss="Transverses site";
theNumCss=3;
break;
case 'a':
theVoletCss="Transverses site";
theNumCss=4;
break;
case 'a':
theVoletCss="Transverses site";
theNumCss=4;
break;
// icones
case 'icones':
if (sectionTxtNom == 'contact') {
if (numTxt > 0 && numTxt < 17) { numeroSousMenu=17; }//ksn en dessous de 61 ( au dessus = infos de banque)
if (numTxt==61) { numeroSousMenu=18; }//contact-->utilise des chams client (mauvaise pratique...), titre=celui de menu. 61 seul champ de contact utilisé
if (numTxt==0) { numeroSousMenu=19; }//cdv-->sont dans pages pas dans languenav, titre=celui de menu. 0 ne cooresponds pas c'est un flag pour aller sur pages
numeroMenuPrpal=16;
}
else if (sectionTxtNom == 'cde') {
numeroSousMenu=13;
numeroMenuPrpal=12;
}
else if (sectionTxtNom == 'menu') {
if (numTxt==13) { numeroSousMenu=13; } //Panier//titre//icone
numeroMenuPrpal=12; agencementOnglet=1; previewObject=0;
}
else {
numeroMenuPrpal=0;
numeroSousMenu=1;
}
theVoletCss="Transverses site";
theNumCss=8;
break;
// boutons
case 'boutons:hover':
case 'boutons':
case 'bouton':
theVoletCss="Transverses site";
theNumCss=9;
textesAffSection=10;
if(numTxt==17) { // bouton autres achats ?
numeroSousMenu=13;
numeroMenuPrpal=12;
}
else {
numeroSousMenu=108;
numeroMenuPrpal=0;
}
p10.innerHTML="Modifier le bouton";
break;
case 'message':
theVoletCss="Transverses site";
theNumCss=11;
break;
case 'msgOk':
theVoletCss="Transverses site";
theNumCss=12;
break;
case 'msgKo':
theVoletCss="Transverses site";
theNumCss=13;
break;
case 'input:focus':
theVoletCss="Transverses site";
theNumCss=14;
break;
// Mesage commercial
case 'messCom':
theVoletCss="Transverses site";
theNumCss=16;
if (sectionTxtNom == 'contact') {
if (numTxt > 0 && numTxt < 17) { numeroSousMenu=17; }//ksn en dessous de 61 ( au dessus = infos de banque)
if (numTxt==61) { numeroSousMenu=18; }//contact-->utilise des chams client (mauvaise pratique...), titre=celui de menu. 61 seul champ de contact utilisé
if (numTxt==0) { numeroSousMenu=19; }//cdv-->sont dans pages pas dans languenav, titre=celui de menu. 0 ne cooresponds pas c'est un flag pour aller sur pages
numeroMenuPrpal=16;
}
else {
numeroSousMenu=0;
numeroMenuPrpal=0;
}
p10.innerHTML="Modifier l'annonce";
break;
case 'onlyInResponsive':
theVoletCss="Transverses site";
theNumCss=17;
numeroMenuPrpal=40;
break;
case 'mdpIco':
theVoletCss="Transverses site";
theNumCss=18;
break;
case 'propuls':
theNumCss=19;
numeroMenuPrpal=40;
break;
// --------------------------------------------------
// Publicité pas de contenu on definit txt sur accueil par defaut
// --------------------------------------------------
case 'pub-table':
theVoletCss="Publicité";
theNumCss=1;
textesAffSection=7;
numeroMenuPrpal=20; // pub espace
numeroSousMenu='2' + String(numTxt) ; // pub 1 - 2 - 3
isEspace=0;
previewObject=1;
agencementOnglet=4;
p10.innerHTML="Modifier la publicité";
numTxt=0;
break;
// PDP-> transverse
case 'pdpBarre':
case 'pdpItem':
case 'pdpIcone':
case 'pdpTxt':
case 'whatsapp-barre':
numeroMenuPrpal=0;
numeroSousMenu=109;
break;
}
if (debugLocal==2) alert('Fin switch styles - numeroSousMenu=' + numeroSousMenu);
// dans certains cas on a des styles partagés ce qui fausse la navigation, avec affPAgeSite on peut savoir
let affPageSite='';
if(document.getElementById('affPageSite')) {
// alert('affPageSite mContextuel= '+document.getElementById('affPageSite').value);
affPageSite=document.getElementById('affPageSite').value;
switch (affPageSite) {
case '11': numeroSousMenu=131; numeroMenuPrpal=12; break;//saisie adresse fact panier
case '12': numeroSousMenu=132; numeroMenuPrpal=12; break;//saisie adresse liv panier
case '13': numeroSousMenu=133; numeroMenuPrpal=12; break;//saisie mode liv panier
case '14': numeroSousMenu=134; numeroMenuPrpal=12; break;//saisie mode paie panier
case '17': numeroSousMenu=134; numeroMenuPrpal=12; break;//saisie mode paie panier - rib
case '18': numeroSousMenu=134; numeroMenuPrpal=12; break;//saisie mode paie panier - cheque
}
// if (document.getElementById('affPageSite2')) document.getElementById('affPageSite2').value=affPageSite;
}
// ---------------------------------------------------
// Déduire le lien final
// ---------------------------------------------------
trouve=false;
switch (p10.innerHTML) {
case "Modifier le titre":
action="./admin/frmModale.php?affAdmin=2&affModale=2-6";
trouve=true;
break;
case "Modifier le logo":
action="./admin/frmModale.php?affAdmin=2&affModale=2-5";
trouve=true;
break;
case "Modifier la musique":
action="./admin/frmModale.php?affAdmin=2&affModale=2-9";
trouve=true;
break;
case "Modifier les langues":
action="./admin/frmAdmin.php?affAdmin=6&optAff=6";
trouve=true;
break;
case "Modifier l'image bannière":
action="./admin/frmModale.php?affAdmin=2&affModale=2-7";
trouve=true;
break;
case "Modifier l'annonce":
action="./admin/frmModale.php?affAdmin=2&affModale=2-10";
trouve=true;
break;
case "Modifier la catégorie":
case "Modifier la sous-catégorie":
action="./admin/frmAdmin.php?affAdmin=8&ongletCatalog=2&idFam="+numTxt;
trouve=true;
break;
case "Modifier le produit":
action="./admin/frmAdmin.php?affAdmin=8&affOngArt=4&ongletCatalog=4&idPrdRech="+numTxt+"&codeOpe=idPrd";
trouve=true;
break;
case "Modifier les options du produit":
action="./admin/frmAdmin.php?affAdmin=8&ongletCatalog=5&affLV=8";
trouve=true;
break;
case "Modifier les informations commerçant":
action="./admin/frmAdmin.php?affAdmin=6&optAff=5&typeOfCommercant=1";
trouve=true;
break;
case "Modifier les modes de livraison":
action="./admin/frmAdmin.php?affAdmin=6&optAff=2";
trouve=true;
break;
case "Modifier les moyens de paiement":
action="./admin/frmAdmin.php?affAdmin=6&optAff=1";
trouve=true;
break;
}
// cas ou on redirige vers les pages modales ou liens spécifiques
if(trouve==true) {
p10.onclick=function (e) {
e.stopPropagation();
e.preventDefault();
top.location.href=action;
deselectElement(element);
selectElement(element);
}
}
// par defaut appeler editContenu
else {
p10.onclick=function (e) {
e.stopPropagation();
e.preventDefault();
editContenu ( theVoletCss, nomCss, theNumCss, sectionTxtNom, textesAffSection, numTxt, numeroMenuPrpal, numeroSousMenu, agencementOnglet, previewObject, isEspace, affPageSite )
deselectElement(element);
selectElement(element);
} ;
}
debugLocal=0;
if (debugLocal==3) alert('mContextuel param fin => theVoletCss= ' +theVoletCss+ ' | nomCss=' +nomCss+ ' | theNumCss= ' +theNumCss+ ' | sectionTxtNom=' +sectionTxtNom+ ' | textesAffSection=' +textesAffSection+ ' | numTxt= ' +numTxt+ ' | numeroMenuPrpal= ' +numeroMenuPrpal+ ' | numeroSousMenu= ' +numeroSousMenu+ ' | agencementOnglet= ' +agencementOnglet+ ' | previewObject= ' +previewObject+ ' | isEspace= ' +isEspace+ ' | affPageSite= ' +affPageSite);
// debugLocal=0;
if (debugLocal==1) alert('contenu action => action= ' +action);
// ---------------------------------------------------------------------------------------------------------------------------------------------------------
// Créer le sous menu Style (element, style, numeroMenuPrpal, sectionTxtNom)
// ---------------------------------------------------------------------------------------------------------------------------------------------------------
var p11=document.createElement('p');
d.appendChild(p11);
p11.setAttribute('class', 'mContextItem');
p11.innerHTML="Modifier le style";
// ---------------------------------------------------
// Déduire le libellé du sous menu style selon nomCss
// ---------------------------------------------------
switch (nomCss) {
// Menus famille
case 'menuIndep-container':
p11.innerHTML="Modifier le style du menu indépendant";
break;
case 'rechBarre-container':
p11.innerHTML="Modifier la barre de recherche";
break;
case 'rechItem':
case 'rechInput':
case 'rechBtn':
p11.innerHTML="Modifier la zone de recherche";
break;
case 'txtBarrePromo':
p11.innerHTML="Modifier la barre des promos";
break;
case 'champsInfosCell':
//annuler le preview du menu precedent le cas echeant
previewObject=0;
break;
}
// ---------------------------------------------------
// Appeler la fonction
// ---------------------------------------------------
p11.onclick=function(e) {
e.stopPropagation();
e.preventDefault();
editStyle ( theVoletCss, nomCss, theNumCss, sectionTxtNom, textesAffSection, numTxt, numeroMenuPrpal, numeroSousMenu, agencementOnglet, previewObject, isEspace, affPageSite )
deselectElement(element);
selectElement(element);
};
debugLocal=0;
if (debugLocal==1) alert('contenu action => action= ' +action);
// ---------------------------------------------------
// Fin function
// ---------------------------------------------------
element.parentNode.appendChild(d);
return false;
}
// ---------------------------------------------------------------------------------------------------------------------------------------------------------
// Fonction editContenu
// ---------------------------------------------------------------------------------------------------------------------------------------------------------
function editContenu ( theVoletCss, nomCss, theNumCss, sectionTxtNom, textesAffSection, numTxt, numeroMenuPrpal, numeroSousMenu, agencementOnglet, previewObject, isEspace , affPageSite ) {
debugLocal=0;
// gerer le chemin selon qu'on est dans le backoffice, ou une page objet
if (location.pathname.indexOf('/admin/') !== -1) {
actionPrefixe='frmAdmin.php?';
if(debugLocal==1) alert('actionPrefixe=' + actionPrefixe);
} else {
actionPrefixe='./admin/frmAdmin.php?';
if(debugLocal==1) alert('actionPrefixe=' + actionPrefixe);
}
action=actionPrefixe +'affAdmin=2&theVoletCss=' +theVoletCss+ '&nomCss=' +nomCss+ '&theNumCss=' +theNumCss+ '&sectionTxtNom=' +sectionTxtNom+ '&textesAffSection=' +textesAffSection+ '&numTxt=' +numTxt+ '&numeroMenuPrpal=' +numeroMenuPrpal+ '&numeroSousMenu=' +numeroSousMenu+ '&agencementOnglet=' +agencementOnglet+ '&previewObject=' +previewObject+ '&isEspace=' +isEspace+ '&affPageSite=' +affPageSite;
if(debugLocal==1) alert('fonction editContenu => action=' +action );
top.location.href=action;
}
// ---------------------------------------------------------------------------------------------------------------------------------------------------------
// Fonction editStyle
// ---------------------------------------------------------------------------------------------------------------------------------------------------------
function editStyle ( theVoletCss, nomCss, theNumCss, sectionTxtNom, textesAffSection, numTxt, numeroMenuPrpal, numeroSousMenu, agencementOnglet, previewObject, isEspace, affPageSite ) {
// on envoi aussi les param de txt au cas ou apres on clic sur l'onglet txt
debugLocal=0;
// gerer le chemin selon qu'on est dans le backoffice, ou une page objet
if (location.pathname.indexOf('/admin/') !== -1) {
actionPrefixe='frmAdmin.php?';
if(debugLocal==1)alert('actionPrefixe=' + actionPrefixe);
} else {
actionPrefixe='./admin/frmAdmin.php?';
if(debugLocal==1) alert('actionPrefixe=' + actionPrefixe);
}
action=actionPrefixe +'affAdmin=2&theVoletCss=' +theVoletCss+ '&nomCss=' +nomCss+ '&theNumCss=' +theNumCss+ '&sectionTxtNom=' +sectionTxtNom+ '&textesAffSection=' +textesAffSection+ '&numTxt=' +numTxt+ '&numeroMenuPrpal=' +numeroMenuPrpal+ '&numeroSousMenu=' +numeroSousMenu+ '&agencementOnglet=3'+ '&previewObject=' +previewObject+ '&isEspace=' +isEspace+ '&affPageSite=' +affPageSite;
if (debugLocal==1) alert('fonction editStyle => action=' +action);
top.location.href=action;
}
// ---------------------------------------------------------------------------------------------------------------------------------------------------------
// Styles seul : mais on envoi les param txt pour être sûr compatibilité du clic apres sur onglet txt
// ---------------------------------------------------------------------------------------------------------------------------------------------------------
function mConStyle ( element, theVoletCss, nomCss, theNumCss, sectionTxtNom, textesAffSection, numTxt, event ) {
numeroMenuPrpal='';
numeroSousMenu='';
previewObject=0;
isEspace=0;
debugLocal=0;
if (debugLocal==1) alert('mConStyle param entree => element=' + element.id + ' | theVoletCss=' + theVoletCss + ' | nomCss=' + nomCss + ' | theNumCss=' + theNumCss + ' | sectionTxtNom=' + sectionTxtNom + ' | textesAffSection=' + textesAffSection + ' | numTxt=' + numTxt );
// ---------------------------------------------------
// Ne supporte pas les #
// ---------------------------------------------------
if (nomCss.substr(0,1 )=="#") {nomCss=nomCss.substr(1, nomCss.length); }
if (debugLocal==1) alert("nomCss=" + nomCss);
if (event) {
event.stopPropagation(); // ← Arrête la propagation vers les parents
event.preventDefault(); // ← Optionnel : bloque le menu natif
}
// ---------------------------------------------------
// Créer le menu
// ---------------------------------------------------
var d=document.createElement('div');
d.setAttribute('class', 'mContextMenu');
d.setAttribute('id', 'menuContextuel');
element.style.border="2px dashed purple";
element.style.zIndex=101;
if(element.parentNode) element.parentNode.style.zIndex=101;
// ---------------------------------------------------
// 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{} }
// ---------------------------------------------------
// Créer le sous menu style
// ---------------------------------------------------
var p11=document.createElement('p');
d.appendChild(p11);
p11.setAttribute('class', 'mContextItem');
p11.innerHTML="Modifier le style";
// ---------------------------------------------------
// Gérer la position
// ---------------------------------------------------
gererPos(d,event);
// ---------------------------------------------------
// Corriger theVoletCss pour les cas d'apostrophe
// ---------------------------------------------------
switch (theVoletCss) {
case 'Structure entête':
theVoletCss="Structure d'entête";
break;
case 'Eléments entête':
theVoletCss="Eléments d'entête";
break;
}
if (debugLocal==1) alert('fin 1');
// ---------------------------------------------------
// Compléter les params selon les cas : numeroMenuPrpal, numeroSousMenu
// ---------------------------------------------------
switch (nomCss) {
case 'body':
case 'bodyImg':
numeroMenuPrpal=0;
numeroSousMenu=100;//Accueil
p11.innerHTML="Modifier le style du corps de page";
break;
case 'site-container':
numeroMenuPrpal=0; //site
numeroSousMenu=100; //Accueil
p11.innerHTML="Modifier le style du conteneur global";
d.style.left='0px';
d.style.top='5px';
d.style.position='absolute';
break;
// j'ai un doute car il est unique donc sera toujours sur accueil// voir si possible affPageSite dans preview ?
case 'page-container':
// if(sectionTxtNom == 'contact') {
// numeroSousMenu=numTxt;//ksm-contact-cdv
// numeroMenuPrpal=16;//infos
// }
// if(sectionTxtNom == 'cde') {
// numeroSousMenu=135;//
// numeroMenuPrpal=12;//panier
// }
// else {
numeroMenuPrpal=0; //site
numeroSousMenu=100; //Accueil
// }
p11.innerHTML="Modifier le conteneur page";
break;
// Entête titre Img -
case 'header-containerImg':
numeroMenuPrpal=0; //site
numeroSousMenu=103; //titre
p11.innerHTML="Modifier le conteneur du titre";
break;
// Entête logo - Ici il faut aller sur accueil car sinon la page logo prends le dessus sur le voletCss ( c'est cohérent car ici c'est conteneur, pas logo)
case 'eCol1':
numeroMenuPrpal=0; //site
numeroSousMenu=100; //accueil
p11.innerHTML="Modifier le conteneur logo";
break;
// Entête titre
case 'eCol2':
numeroMenuPrpal=0; //site
numeroSousMenu=103; //titre
p11.innerHTML="Modifier la cellule";
theNumCss=1;
break;
// Entête conteneur musique
case 'eCol4':
numeroMenuPrpal=0; //site
numeroSousMenu=106; // musique
p11.innerHTML="Modifier le conteneur player";
break;
// Entête - conteneur langue
case 'eCol5':
numeroMenuPrpal=0; //site
numeroSousMenu=100; // accueil
p11.innerHTML="Modifier le conteneur langue";
break;
case 'bandeau-container':
numeroMenuPrpal=0; //site
numeroSousMenu=104;
p11.innerHTML="Modifier le conteneur bannière";
break;
// Menus deroulant
case 'menuD-container':
numeroMenuPrpal=0;
numeroSousMenu=1;
p11.innerHTML="Modifier le conteneur menu déroulant";
d.style.width='400px';
break;
// Menus deroulant
case 'menuDeroulantBarre':
numeroMenuPrpal=0;
numeroSousMenu=1;
p11.innerHTML="Modifier la barre du menu déroulant";
d.style.width='400px';
break;
//--------------------------------------------
// Catalogue
//--------------------------------------------
// Menu independant
case 'menuIndep-container':
numeroMenuPrpal=1;
numeroSousMenu=1;
p11.innerHTML="Modifier le conteneur menu indépendant";
d.style.width='400px';
break;
// Famille conteneur
case 'familles-container':
numeroMenuPrpal=1;
numeroSousMenu=1;
p11.innerHTML="Modifier le conteneur global des catégories";
d.style.width='400px';
break;
// Famille boite
case 'familles-boite':
numeroMenuPrpal=1;
numeroSousMenu=1;
p11.innerHTML="Modifier la barre de chaque catégorie";
d.style.width='400px';
break;
// Sous cat boite
case 'categories-boite':
numeroMenuPrpal=1;
numeroSousMenu=1;
p11.innerHTML="Modifier la barre de chaque sous-catégorie";
d.style.width='400px';
break;
case 'promos-container':
// va dans menus pour txt
numeroMenuPrpal=1;
numeroSousMenu=1;
p11.innerHTML="Modifier le conteneur barre des promos";
d.style.width='400px';
break;
case 'zoneAcheter':
// va dans menus pour txt
numeroMenuPrpal=1;
numeroSousMenu=1;
p11.innerHTML="Modifier la zone acheter";
break;
//--------------------------------------------
// transverse
//--------------------------------------------
case 'tablePages':
theVoletCss="Transverses site";
theNumCss=1;
if (sectionTxtNom == 'contact') {
if (numTxt > 0 && numTxt < 17) { numeroSousMenu=17; }//ksn en dessous de 61 ( au dessus = infos de banque)
if(numTxt==61) { numeroSousMenu=18; }//contact-->utilise des chams client (mauvaise pratique...), titre=celui de menu. 61 seul champ de contact utilisé
if(numTxt==0) { numeroSousMenu=19; }//cdv-->sont dans pages pas dans languenav, titre=celui de menu. 0 ne cooresponds pas c'est un flag pour aller sur pages
numeroMenuPrpal=16;
}
else if (sectionTxtNom == 'menus') { // ici menus est un mot clé, car ce sont des pages avec contenus et pas txt
numeroSousMenu=numTxt; //14 et 15 menu liv et paie
}
else if (sectionTxtNom == 'client') {
numeroSousMenu=9;
numeroMenuPrpal=6;
}
else if (sectionTxtNom == 'cde') {
numeroMenuPrpal=12;
if (numTxt==46) { numeroSousMenu=134; }//rib
else if (numTxt==47) { numeroSousMenu=18; }//cheque
else if (numTxt==0) { numeroSousMenu=135; }//recap
else { numeroSousMenu=13; }
}
else {
numeroSousMenu=1;
numeroMenuPrpal=1;
}
p11.innerHTML="Modifier le conteneur tableau";
break;
case 'ongletBarre li':
theVoletCss='Onglets';
numeroSousMenu=9;
numeroMenuPrpal=6;
numcss=1;
break;
case 'ongActv':
theVoletCss='Onglets';
numeroSousMenu=9;
numeroMenuPrpal=6;
numcss=5;
break;
//--------------------------------------------
// informations
//--------------------------------------------
case 'tableInfos':
case 'msgInfos':
case 'libInfosCell':
case 'champsInfosCell':
case 'champsInfos':
theVoletCss="Informations";
if (numTxt > 0 && numTxt < 17) { numeroMenuPrpal=16;numeroSousMenu=17; }//ksn en dessous de 61 ( au dessus = infos de banque)
if (numTxt==61) { numeroMenuPrpal=16; numeroSousMenu=18; }//contact-->utilise des champs client (mauvaise pratique...), titre=celui de menu. 61 seul champ de contact utilisé
if (numTxt==0) { numeroMenuPrpal=16; numeroSousMenu=19; }//cdv-->sont dans pages pas dans languenav, titre=celui de menu. 0 ne cooresponds pas c'est un flag pour aller sur pages
if (numTxt==68|| numTxt==75) { numeroMenuPrpal=6; numeroSousMenu=14; }//menu mode paie
if (numTxt==73 || numTxt==77) { numeroMenuPrpal=6; numeroSousMenu=15; }//menu mode liv
break;
//--------------------------------------------
// Panier
//--------------------------------------------
case 'syntheseLignes':
numeroMenuPrpal=12; //Panier espace
numeroSousMenu=13;
break;
// Panier
case 'recapContainer':
if(numTxt==78 ) {numeroSousMenu=135;} //recap
else {numeroSousMenu=13;}
numeroMenuPrpal=12; //Panier espace
break;
case 'etapesContainer':
numeroMenuPrpal=12; //Panier espace
numeroSousMenu=13;
break;
// Panier
case 'tablePanier':
numeroMenuPrpal=12; //Panier espace
if(numTxt==0) {numeroSousMenu=13;}
if(numTxt==15) {numeroSousMenu=131;} //adr fact
if(numTxt==3) {numeroSousMenu=132;} //adr liv
if(numTxt==38) {numeroSousMenu=133;} //mode liv
if(numTxt==46 || numTxt==47 || numTxt==68) {numeroSousMenu=134} //rib- cheq - mode paie -
if(numTxt==30) {numeroSousMenu=135} //recap
numeroSousMenu=13;
break;
// Panier
case 'blocItemPanier':
numeroMenuPrpal=12; //Panier espace
if(numTxt==106 ) numeroSousMenu=133;//mode liv
else if(numTxt==68) numeroSousMenu=134;//mode paie
else if(numTxt==1 || numTxt==90 || numTxt==89) numeroSousMenu=135;//recap
else numeroSousMenu=13;
break;
// Panier
case 'panierConteneurItem':
numeroMenuPrpal=12; //Panier espace
numeroSousMenu=13;
break;
// Panier
case 'listeDeroulantePanier':
numeroMenuPrpal=12; //Panier espace
numeroSousMenu=13;
break;
case 'champsPanierCell':
numeroMenuPrpal=12; //Panier espace
numeroSousMenu=13;
break;
case 'champsPanier':
numeroMenuPrpal=12; //Panier espace
if(sectionTxtNom=='contact' ) numeroSousMenu=134;//mode paie- cheq- infos
else numeroSousMenu=13;
break;
//--------------------------------------------
// client :
// on peut etre dans panier pour le adresses
// on peut venir ici par le champs, ils ont pas le voletCSS
//--------------------------------------------
case 'syntheseLignes':
theVoletCss="Clients";
numeroSousMenu=13;
numeroMenuPrpal=6; //client espace
break;
// Dans les champs on ne connait pas le numCSS
case 'champsCliCell':
theVoletCss="Clients";
theNumCss = 4;
if(textesAffSection==0){
numeroSousMenu=9;
numeroMenuPrpal=6; //client espace
}
else {
numeroSousMenu=13;
numeroMenuPrpal=12; //panier espace
}
break;
//--------------------------------------------
// nav
//--------------------------------------------
case 'champsConnCell':
case 'champsConn':
case 'connLignes':
numeroSousMenu=7; // connexion
numeroMenuPrpal=6; //client espace
break;
//--------------------------------------------
// Pub
//--------------------------------------------
case 'pub-container':
numeroMenuPrpal=20; //pub espace
numeroSousMenu=21; //pub1
theNumCss=8;
isEspace=1;
p11.innerHTML="Modifier le conteneur publicité";
break;
//--------------------------------------------
// Pied de page
//--------------------------------------------
case 'pdp-container':
p11.innerHTML="Modifier le conteneur pied de page";
numeroSousMenu=109;
break;
}
// dans certains cas on a des styles partagés ce qui fausse la navigation, avec affPAgeSite on peut savoir
let affPageSite='';
if(document.getElementById('affPageSite')) {
// alert('affPageSite mConStyle = '+document.getElementById('affPageSite').value);
affPageSite=document.getElementById('affPageSite').value;
switch (affPageSite) {
case '11': numeroSousMenu=131; numeroMenuPrpal=12; break;//saisie adresse fact panier
case '12': numeroSousMenu=132; numeroMenuPrpal=12; break;//saisie adresse liv panier
case '13': numeroSousMenu=133; numeroMenuPrpal=12; break;//saisie mode liv panier
case '14': numeroSousMenu=134; numeroMenuPrpal=12; break;//saisie mode paie panier
case '17': numeroSousMenu=134; numeroMenuPrpal=12; break;//saisie mode paie panier - rib
case '18': numeroSousMenu=134; numeroMenuPrpal=12; break;//saisie mode paie panier - cheque
}
// if (document.getElementById('affPageSite2')) document.getElementById('affPageSite2').value=affPageSite;
}
debugLocal=0;
if (debugLocal==1) alert('mConStyle param fin => theVoletCss= ' +theVoletCss+ ' | nomCss= ' +nomCss+ ' | theNumCss= ' +theNumCss+ ' | sectionTxtNom= ' +sectionTxtNom+ ' | textesAffSection= ' +textesAffSection+ ' | numTxt= ' +numTxt+ ' | numeroMenuPrpal= ' +numeroMenuPrpal+ ' | numeroSousMenu= ' +numeroSousMenu+ ' | previewObject= ' +previewObject+ ' | isEspace= ' +isEspace+ ' | affPageSite= ' +affPageSite);
p11.onclick=function(e) {
e.stopPropagation();
e.preventDefault();
editStyle( theVoletCss, nomCss, theNumCss, sectionTxtNom, textesAffSection, numTxt, numeroMenuPrpal, numeroSousMenu, previewObject, isEspace, affPageSite ) ;
deselectElement(element);
selectElement(element);
};
// ---------------------------------------------------
// Créer le menu
// ---------------------------------------------------
element.parentNode.appendChild(d);
return false;
}