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

      0  

    Default TabPanel with no items breaks on creation - PR2

    TabPanel with no items breaks on creation - PR2


    In the application we're developing, there is a TabPanel that has no items in the view, so the items can be added dynamically by the controller.

    Here's the view code:
    Code:
    Ext.define('BFM.view.Portal', {
        extend: 'Ext.TabPanel',
        xtype: 'portal',
    
    
        config: {
            fullscreen: true,
            scrollable: false,
            tabBar : {
                itemId: 'navigation',
                docked : 'bottom',
                layout : { pack : 'center' },
                scrollable: {
                    direction: 'horizontal'
                }
            }
        }
    })
    It was working well with PR1, however when upgrading to PR2, when I call
    Code:
    this.getPortalView().create();
    from the controller, it returns the error:

    Uncaught TypeError: Object #<Object> has no method 'getAnimation'

    The same doesn't happen when I add one single item in the view's config section.

  2. #2
    Sencha - Senior Forum Manager mitchellsimoens's Avatar
    Join Date
    Mar 2007
    Location
    Gainesville, FL
    Posts
    37,327
    Vote Rating
    850
    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


    Thank you for the report.
    Mitchell Simoens @SenchaMitch
    Sencha Inc, Senior Forum Manager
    ________________
    Check out my GitHub, lots of nice things for Ext JS 4 and Sencha Touch 2
    https://github.com/mitchellsimoens

    Think my support is good? Get more personalized support via a support subscription. https://www.sencha.com/store/

    Need more help with your app? Hire Sencha Services services@sencha.com

    Want to learn Sencha Touch 2? Check out Sencha Touch in Action that is in print!

    When posting code, please use BBCode's CODE tags.

  3. #3
    Sencha User Jamie Avins's Avatar
    Join Date
    Mar 2007
    Location
    Redwood City, California
    Posts
    3,661
    Vote Rating
    20
    Jamie Avins is a jewel in the rough Jamie Avins is a jewel in the rough Jamie Avins is a jewel in the rough

      0  

    Default


    This override should fix the error and the tabs should animate in the proper direction as well:

    Code:
        Ext.override(Ext.tab.Panel, {
            doSetActiveItem: function(newActiveItem, oldActiveItem) {
                if (newActiveItem) {
                    var items = this.getInnerItems(),
                        oldIndex = items.indexOf(oldActiveItem),
                        newIndex = items.indexOf(newActiveItem),
                        reverse = oldIndex > newIndex;
        
                    this.getLayout().getAnimation().setReverse(reverse);
        
                    this.callParent(arguments);
        
                    if (newIndex != -1) {
                        this.getTabBar().setActiveTab(newIndex);
                    }
                }
            }
        });
    This will be part of the next release.

    Sencha Inc

    Jamie Avins

    @jamieavins

  4. #4
    Sencha User
    Join Date
    Sep 2011
    Posts
    9
    Vote Rating
    0
    vitorgomes is on a distinguished road

      0  

    Default Almost there

    Almost there


    Hi James,
    Thanks so much for the override.
    It solved the 'getAnimation' error, but animations are not consistent.


    - Chrome and Safari (desktop and iPhone simulator): Animations goes from right to left only.
    - iOS 5 Simulator with phonegap: works correctly.
    - Android with phonegap: the app doesn't even launch with PR2, but that should be another issue.


    Cheers
    Vitor

  5. #5
    Sencha User Jamie Avins's Avatar
    Join Date
    Mar 2007
    Location
    Redwood City, California
    Posts
    3,661
    Vote Rating
    20
    Jamie Avins is a jewel in the rough Jamie Avins is a jewel in the rough Jamie Avins is a jewel in the rough

      0  

    Default


    Indeed there is much work to do on Animations and this will be done before a final release. We do feel that those problems have a lower priority to other issues such as missing functionality or critical bugs such as this one.

    Sencha Inc

    Jamie Avins

    @jamieavins