Bonjour à tous,
Je viens quérir votre aide pour un problème d'affichage d'un bouton dans une barre d'outils seulement dans un certain cas de figure. Mon souci est que quelle que soit la situation mon bouton ne s'affiche pas. J'ai essayé diverses techniques, mais toujours sans succès :
Avec la propriété hidden :
Via une classe CSS :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 var maToolbar = new Ext.toolbar.Toolbar({ ... hidden: !condition, xtype: "button" });
mais je me retrouve systématiquement avec la classe CSS "masque".
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 var maToolbar = new Ext.toolbar.Toolbar({ ... cls: condition ? "affiche" : "masque", xtype: "button" });
En utilisant les méthodes show() / hide() :
En utilisant la méthode setVisible() :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 var maToolbar = new Ext.toolbar.Toolbar({ ... itemId: "monBouton", xtype: "button" }); ... if (condition) maToolbar.down("#monBouton").show(); else maToolbar.down("#monBouton").hide();
Rien n'y fait, mon bouton reste toujours invisible. La valeur de condition est pourtant correcte car :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 var maToolbar = new Ext.toolbar.Toolbar({ ... itemId: "monBouton", xtype: "button" }); ... maToolbar.down("#monBouton").setVisible(condition);
- En debug JS, elle a bien tantôt la valeur true, tantôt la valeur false selon le cas dans lequel je me positionne,
- Avec des console.log, je confirme que la valeur de condition est correcte,
- J'utilise déjà condition pour conditionner le surlignement d'un autre élément de ma page et ça fonctionne très bien.
Le problème ne vient pas non plus des méthodes que j'utilise pour accéder à mon bouton ni non plus des méthodes que j'utilise pour l'afficher ou le masquer puisque si je mets en dur quelque chose du genre maToolbar.down("#monBouton").setVisible(true);, là le bouton s'affiche. Je cible donc a priori bien la bonne instance.
Commençant à être à court de piste pour trouver l'origine de mon problème, je viens demander un peu par ici si vous auriez des idées,
À vot' bon cœur…
Partager