J'essaie de rendre les onglets dans le panneau de navigation navigables en utilisant les touches fléchées.ExtJS 4 Flèche de navigation pour le panneau à onglets
Comme tabpanel n'a pas d'événements clés, je suppose était de créer un KeyMap ou un KeyNav et le fixer au panneau de cette façon: Cela fait partie de la définition tabpanel, il est dans un autre panneau:
activeTab : 0,
xtype : 'tabpanel',
id : 'tabPanel',
alias : 'widget.mainpanels',
listeners: {
afterrender: function(tb) {
this.bindDetailsPanelKeys(tb);
},
scope: this
}, [...]
et la fonction bindDetailsPanelKeys:
bindDetailsPanelKeys: function(tb) {
console.log(tb); //Checking tb is the correct object.
var tbMap = new Ext.util.KeyMap(tb, {
key: Ext.EventObject.RIGHT,
fn: function(e) {
console.log(e);
// Code to calculate next tab and switch it.
}
});
sortie console.log (tb) est comme prévu, il contient l'objet du panneau onglet.
Mais tout ce que je reçois après est: Uncaught TypeError: Cannot call method 'on' of null
de la ligne var tbMap = new Ext.util.KeyMap(tb, {
J'ai vérifié la propriété El tb et de c'est aussi correct et il a la méthode sur sur son proto ainsi.
Toute aide sera très appréciée.
EDIT: J'ai trouvé la solution. Je l'afficherai dans un instant.
Agustin.
Déjà essayé. L'erreur disparaît mais l'événement n'est jamais déclenché. De toute façon, je n'ai pas remarqué que KeyMap s'attendait à ça, alors je vais enquêter là-dessus. Je vous remercie. – Agus
Je suis désolé, je n'ai pas de réputation pour vous remercier, je le ferais autrement. – Agus
vous n'avez pas besoin de réputation pour augmenter les réponses – dbrin