Je suis actuellement en train d’implementer une nouvelle fonctionnalité dans mon plugin, qui créé de façon automatique un scénario.
Tout marche bien mais durant ma série de test, je me suis aperçu d’une chose.
Le lancement de la creation du scenario, comme sa modification ou sa suppression, se lance a partir d’un onglet de la configuration d’un équipement
Dans mon code, je set une configuration sur l’équipement pour stocker l’ID de scénario que j’ai créé. Je l’utilise ensuite dans mon code desktop/php/Diagral_eOne.php pour afficher si le scénario existe (et uniquement dans ce cas son nom) et j’ajuste mes boutons (Génération si il n’existe pas, modification si le scénario existe et j’ajoute un bouton supprimer si le scénario existe).
Cependant, je viens de me rendre compte que la page n’est pas rafraichi quand je rentre dans un équipement. Ca doit sûrement utilisé du Jquery
Sauf que dans mon cas, je regarde si $_GET[‹ id ›] est défini pour savoir que je suis dans un équipement et à ce moment là je requête la configuration qui stocke mon scenarioID.
Evidement, comme la page ne se rafraichi pas, quand je suis sur la page liste les équipements, ce bout de code ne s’applique pas :
Et donc quand je rentre dans l’équipement, mon test sur l’objet $existingScenario ne marche pas car quand la page a était chargé, $_GET[‹ id ›] n’existait pas et donc mon objet $existingScenario ne s’est pas loadé. Si je force un refresh dans la page de l’équipement, mon affichage devient bon car mon bout de code (cf screen au dessus) est bien valide.
Je n’arrive pas a trouver une solution pour sortir de ce problème.
Toutes aides ou idées sont les bienvenues.
Merci
Hello,
Pas sur d’avoir tout compris mais à mon avis ta solution sera de faire un appel Ajax vers une fonction de ton plug-in qui fait ce check on change de Id dans la page par exemple.
Le seul moyen pour moi sans rafraîchir la page est d’envoyer un évent en js et de mettre un llistener sur cet évent pour qu’il mette à jour.
C’est ce qu’on fait par exemple sur le core au changement de thème. Le switch de theme en voit un évent et les widgets qui doivent changer d’images light/dark par exemple écoutent cet event.
Oui ça marchera pour un équipement mais s’il faut en gérer plusieurs et avoir une info particulière à chaque « clic » sur un équipement dans la page de config le code Php ne sait pas envoyer d’event, il n’est pas au « courant »
Merci Mr.
Grace a vous j’ai fait ce que je souhaitais faire.
J’ai mis à jour mon gist publié dans le premier post si vous voulez regarder. Le code m’a l’air propre mais bon je suis pas un expert JS.
En tout cas ca marche bien.
Si vous avez des remarques sur le code n’hésitez pas.