Success! Looks like we've fixed this one. According to our records the fix was applied for TOUCH-4307 in a recent build.
  1. #1
    Sencha User
    Join Date
    Jan 2013
    Posts
    8
    Vote Rating
    0
    hosokaws is on a distinguished road

      0  

    Default Ext.tab.Panel with docked tabs dosen't work

    Ext.tab.Panel with docked tabs dosen't work


    REQUIRED INFORMATION


    Ext version tested:
    • Touch 2.1.1
    Browser versions tested against:
    • Chrome 26.0.1
    Description:
    • Ext.tab.Panel with docked tabs dosen't work.
    Steps to reproduce the problem:
    • Create Ext.tab.Panel with items that have tab property which contains docked.
    The result that was expected:
    • Pressing a tab should switch views.
    The result that occurs instead:
    • Pressing a tab, sometimes a tab wasn't working, sometimes tab bar had two pressed tabs.
    • Console showed a warning as "[WARN][Ext.tab.Bar#setActiveTab] Trying to set a non-existent activeTab".
    Test Case:

    Code:
         Ext.create('Ext.tab.Panel', {
                fullscreen: true,
                tabBarPosition: 'bottom',
            
                defaults: {
                    styleHtmlContent: true
                },
            
                items: [
                    {
                        tab: {
                            title: 'Home',
                            iconCls: 'home',
                            docked: 'left'
                        },
                        html: 'Home Screen'
                    },
                    {
                        tab: {
                            title: 'Compose',
                            iconCls: 'compose',
                        },
                        html: 'Compose Screen'
                    },
                    {
                        tab: {
                            title: 'Contact',
                            iconCls: 'user',
                            docked: 'right'
                        },
                        html: 'Contact Screen'
                    }
                ]
            });


    HELPFUL INFORMATION


    Screenshot or Video:
    • none
    See this URL for live test case: http://


    Debugging already done:
    • In Ext.tab.Bar it try to find a tab by number from inner items. Inner items means that items in the container except docked items. So it failed to find correct a tab.
    Possible fix:
    • In Ext.tab.Bar::parseActiveTab, use getItems().items instead of getInnerItems().
    Code:
    @@ -129,7 +129,9 @@ Ext.define('Ext.tab.Bar', {
         parseActiveTab: function(tab) {
             //we need to call getItems to initialize the items, otherwise they will not exist yet.
             if (typeof tab == 'number') {
    -            return this.getInnerItems()[tab];
    +            //To fix a problem about docked tab button 
    +            //return this.getInnerItems()[tab];
    +            return this.getItems().items[tab];
             }
             else if (typeof tab == 'string') {
                 tab = Ext.getCmp(tab);
    Additional CSS used:
    • only default ext-all.css
    • custom css (include details)
    Operating System:
    • Mac OS X

  2. #2
    Sencha - Senior Forum Manager mitchellsimoens's Avatar
    Join Date
    Mar 2007
    Location
    Gainesville, FL
    Posts
    37,347
    Vote Rating
    846
    mitchellsimoens has a reputation beyond repute mitchellsimoens has a reputation beyond repute mitchellsimoens has a reputation beyond repute mitchellsimoens has a reputation beyond repute mitchellsimoens has a reputation beyond repute mitchellsimoens has a reputation beyond repute mitchellsimoens has a reputation beyond repute mitchellsimoens has a reputation beyond repute mitchellsimoens has a reputation beyond repute mitchellsimoens has a reputation beyond repute mitchellsimoens has a reputation beyond repute

      0  

    Default


    I'm not a fan of this but will open a ticket for this and the team will discuss.

Thread Participants: 1