Attention, il fait d’abord ajouter le htmlDisplay content (qui contient le code de création de la frame) et ensuite seulement ajouter le htmlDisplay du code du menu.
En effet le menu cherche à charger le design du premier bouton dans le contenu donc il doit déjà être existant.
Sinon en lançant le debugger du navigateur est-ce que tu vois des erreurs javascript ? Tu as bien supprimé le traducteur automatique du navigateur sinon ?
Oui je vais refaire une passe sur la doc de chaque menu, j’avais ajouté cet ordre mais je n’ai pas dû le préciser pour tous.
EDIT : tu as dû avoir ce message dans les logs du navigateur : ERREUR : Frame de contenu non créée.
A voir pour le remonter en alerte pour s’en rendre compte immédiatement
dernier petit point je n’arrive pas à avoir le fond transparent dans les contenus pour voir l’image du design principal
j’ai joué sur les cases transparentes et niveau mais j’obtiens cela
Ah… j’ai répondu avant de voir ton dernier post
ça fait quelques temps que je n’ai pas rejoué avec mes menus,
mais de mémoire, le problème du fond non transparent est dû à une limitation/contrainte au niveau de Jeedom.
Je referai quelques tests pour me remettre dedans (il doit y avoir quelques discussions qui trainent sur le sujet sur les autres menus)
Pour le message de la frame de contenu non créée, il est actuellement seulement visible dans les logs du navigateur en mode debugger donc tu ne le verras pas en utilisation normale.
Pour l’erreur 500, difficile de définir le problème comme ça : il faut ouvrir le debugger (F12) et regarder ce qui provoque cette erreur (url appelée).
Mais de ce que je comprends de ta configuration, attention :
les ids des designs définis dans perso.json pour chaque bouton doivnet être des designs « indépendants » : ils ne contiennent que des widgets Jeedom et rien du code des menus.
l’id du design principal qui contient les htmlDisplay ne doit pas se retrouver dans perso.json sinon il bouclera sur lui-même.
Au final, tu auras par exemple :
design principal d’id 50 qui contient les 2 htmlDisplay (code du github)
designs d’ids 51, 52, .., 57, 58 qui contient des widgets Jeedom
Bonjour,
J’utilise maintenance ce menu qui me convient bien et que j’ai réussi à modifier pour le moment pour répondre à mon besoin.
Néanmoins j’aimerai faire une autre modification et là je bute.
Voilà je n’ai pas envie de mettre de widget de mon alarme sur mon design mais je souhaita que le label du logo (Noodom) par défaut change de couleur en fonction du statut de l’alarme.
J’ai donc créé une classe « alarmStatutOn » dans le fichier cas.
Ensuite j’ai tenté d’ajouter cela dans le contenu du html display.
//Mise à jour du logo en fonction du statut de l'alarme
var IDStatutAlarme = 3709;//ID de la commande
jeedom.cmd.update['IDStatutAlarme'] = function(_options){
jeedom.cmd.execute({ // Récupération de la valeur
id: IDStatutAlarme,
success: function(valeur_courante) {
if(valeur_courante =='ON'){
$('.logo').addClass('alarmStatusOn');
}
}
})
}
jeedom.cmd.update['IDStatutAlarme']();
Donc je récupère bien le statut de l’alarme mais la classe ne semble pas s’ajouter.
Je ne sais pas trop comment faire.
Peut être est il préférable de passer par un scénario???
Bonne idée pour le changement dynamique du css du titre du menu !
Tu n’es pas très loin de la solution en fait. Voilà les points à corriger (tu dois pouvoir t’y retrouver avec le code existant que j’ai volontairement ajouté ci-dessous pour voir où ajouter les modifications) :
Pour l’exemple, j’ai ajouté la déclaration css suivante dans perso.css :
.alarmStatusOn {
color: red !important;
}
au niveau du code du menu
Je suis reparti de ta méthode d’update sur modification de la valeur de l’alarme en corrigeant l’utilisation de IDStatutAlarme (il ne faut pas la mettre entre quotes pour récupérer sa valeur).
Il faut aussi supprimer la classe (removeClass) lorsque l’alarme revient à sa valeur initiale (OFF j’imagine) sinon le titre restera toujours en rouge une fois l’alarme déclenchée.
// menu redirection
function gotoPlan(id) {
...
}
//Mise à jour du logo en fonction du statut de l'alarme
jeedom.cmd.update[IDStatutAlarme] = function(_options){
jeedom.cmd.execute({ // Récupération de la valeur
id: IDStatutAlarme,
success: function(valeur_courante) {
console.log("get alarm value : " + valeur_courante);
if(valeur_courante == 'ON'){
$('.logo').addClass('alarmStatusOn');
}
else {
$('.logo').removeClass('alarmStatusOn');
}
}
})
}
//# sourceURL=menuCreation.js
Par contre, il faut appeler la fonction après avoir chargé le menu sinon le titre ne sera pas modifié au chargement du manu (car pas encore présent). Il faut donc placer l’appel ici (à la fin de la construction du menu et donc de la méthode $.getJSON) :
Alors effectivement je n’étais pas loin mais c’est comme cela qu’on apprend.
J’ai bien modifié le cas comme toi.
Pour le remote, je l’avais en tête effectivement mais il me manquait les quote et je n’avais effectivement pas mis au bon emplacement la fonction.
Du coup je trouve le résultat sobre mais sympa.
Merci à toi.
PS : et j’ai même modifié en mettant la couleur dans le json
Salut
Allez j’ai encore une petite demandé. J’ai essayé par moi même mais je ne connais pas le javascript suffisamment bien.
Je souhaite ajouté un cadenas à gauche du logo quand l’alarme est ON et le faire disparaitre quand l’alarme est OFF.
Donc si je mets manuellement cela :
let listButtons = '<li class="logo"><i class="fa fa-lock"></i>';
Cela donne bien le résultat que je souhaite quand l’alarme est ON. Maintenant c’est quand le rendre dynamique.
Une petite piste? Avec une variable ou une propriété spéciale?
Tout d’abord, merci pour ce travail…Je cherchais un menu adapté à mon design et je l’ai trouvé grâce à noodom…Merci
Je pense que j’ai loupé quelque chose car je n’arrive pas à afficher le menu NooNeumorphism. J’ai bien suivi les indications mais je me retrouve avec ça sur la page design du menu :