2012-11-18 3 views
1

J'ai vu beaucoup d'exemples avec la fonction find mais maintenant quand j'utilise la version la plus récente (je pense 4.1.1a) il est dit que la fonction de recherche est obsolète.Nouvelle façon de créer (vérifier l'existence) onglets dans ExtJS 4

J'ai ceci:

init: function(){ 
    this.control({ 
    'mainMenuTree': { 
     itemdblclick: this.itemdblclicked 
    } 
    }); 
    this.callParent(); 
}, 

itemdblclicked: function itemdblclicked(me, record, item, index, e, eOpts){ 
    var itemClicked = record.getData().text; 
    var tabPanel = Ext.getCmp('centerPanel'); 
    //var tabBar = tabPanel.getTabBar(); 
    tabPanel.add({ 
    xtype: 'tab', 
    title: itemClicked, 
    id: itemClicked 
    }); 
    //tabPanel.items.find(function(i){console.log(i)}); 
    //console.log(tabPanel.items); 
} 

, je dois donc d'obtenir un tableau d'onglets pour vérifier l'existence de l'onglet. Je n'ai pas besoin de la logique, j'ai juste besoin du nom des fonctions ou des propriétés pour obtenir un tableau d'éléments (id de chaque onglet).

Merci. :)

Répondre

2

Je l'ai fait moi-même. :) Merci quand même. :)

itemdblclicked: function itemdblclicked(me, record, item, index, e, eOpts){ 
     var itemClicked = record.getData().text; 
     var tabPanel = Ext.getCmp('centerPanel'); 
     //var tabBar = tabPanel.getTabBar(); 


     var items = tabPanel.items.items; 

     var exist = false; 
     for(var i = 0; i < items.length; i++){ 
      if(items[i].id === itemClicked){ 
       tabPanel.setActiveTab(i); 
       exist = true; 
      } 
     } 
     if(!exist){ 
      tabPanel.add({ 
       xtype: 'panel', 
       title: itemClicked, 
       id: itemClicked, 
       closable: true 
      }); 
     } 
    }