Bonjour,
en forcant le rand à la création du dropdown cela doit normalement
permettre de regénérer le même ID à la regénération et donc de résoudre
le problème.
L'utilisation du paramètre toupdate passé à la création du dropdown
permet également la regénération des codes de mise à jour au
rechargement du dropdown.
Cordialement,
Julien Dombre
Le 30/06/2011 16:03, Alexandre Delaunay a écrit :
Bonjour à tous.
je rencontre une petite difficulté en essayant de construire 2
dropdowns liées entre elles.
Pour exemple :
Je construit une première dropdown A et une seconde B.
J'aimerais que lors d'un changement sur A, B ne m'affiche que les
données en rapport avec la valeur de A sélectionnée
j'ai donc ajouté un paramètre condition à B pour afficher les bonnes
valeurs et utilisé la fonction commonDropdownUpdateItem pour mettre à
jour automatiquement B lors d'un changement sur A.
Jusque la, pas de problèmes.
Le bug intervient lorsque je clique sur l'icone (+) de A et que j'ajoute
une donnée à celle ci. Lors du submit sur la popup, la fonction
refreshDropdownPopupInMainWindow est appelée et met a jour la première
dropdown (A) dans la page principale.
A ce moment la liaison effectuée plus haut (par
commonDropdownUpdateItem) n'existe plus, cette fonction attache un
évènement au dom (via un Ext.get(id).on("change"...) et non à l'élément
html. Ce dernier étant remplacé, l'évènement n'est plus valide et la
mise à jour de la seconde dropdown n'est plus effectuée (sauf
rechargement de la page).
Alors soit j'ai loupé un appel ou une fonction quelque part (auquel cas,
je veux bien un éclaircissement), soit pour les liaisons de dropdown, il
faudrait passer par un évènement "live change" comme décrit dans cette
page : http://www.jslog.com/live-event-in-extjs
Mais seulement dans le case de liaison de dropdown, le "live" étant
beaucoup plus consommateur de ressource que le "bind" classique.
Bien cordialement.
_______________________________________________
Glpi-dev mailing list
Glpi-dev@gna.org
https://mail.gna.org/listinfo/glpi-dev