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

      0  

    Default Component ID is forgotten after component destroy and re-create

    Component ID is forgotten after component destroy and re-create


    *** Forgot to write - its on PR3 ***

    Hi:

    I have this:

    Code:
    Ext.define('MyApp.view.Viewport', {
        extend : 'Ext.Container',
        xtype  : 'myapp-viewport',
    
    
        config : {
            fullscreen : true,
            layout     : 'card'
        }
    });
    
    
    Ext.application({
        name: 'MyApp',
    
    
        controllers: ['MainScreen'],
        models: [],
        initialize: function() {
            console.log('init');
            this.callParent();
        },
    
    
        launch: function() {        
            Ext.create('MyApp.view.Viewport');
        }
    });
    Code:
    Ext.define('MyApp.view.Profile', {
        extend: 'Ext.Panel',
        alias: 'widget.Profile',
       
        config: {
        title: 'Me',
        iconCls: 'user',
            scrollable: true,
        items: [
                {
            id: 'test123',
            html:'just text'  
                },
            { 
            xtype: 'button',
                    id: 'firstButton',
            text: 'Say Hello again' 
            }
        ]
        },
        initialize: function() {
        console.log('initialize Profile view');
        this.callParent();
        }
    });
    Code:
    Ext.define('MyApp.controller.MainScreen', {
        extend: 'Ext.app.Controller',
        views: ['Profile'],
    
        init: function() {
            console.log('Init home controller');
        },
    
        onLaunch: function() {
            console.log('Quests: On Launch controller');
            var panel = Ext.create('MyApp.view.Profile');
            Ext.Viewport.add([panel]);
            Ext.Viewport.setActiveItem(panel);
    
    
            Ext.Viewport.removeAll(true)
            
                panel = Ext.create('MyApp.view.Profile');
            Ext.Viewport.add([panel]);
            Ext.Viewport.setActiveItem(panel);
    
    
        }
    });
    It seems that after removing and destroying all the panels in the Viewport, the IDs are forgotten and on recreation Sencha assigns default IDs such as "ext-button-1" and "ext-element-123".

  2. #2
    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


    Thank you for the report.

    Sencha Inc

    Jamie Avins

    @jamieavins

  3. #3
    Sencha User
    Join Date
    Jan 2012
    Posts
    13
    Vote Rating
    0
    koenoe is on a distinguished road

      0  

    Default Any news on this?

    Any news on this?


    Is there someone with a solution? Or do we have to wait for a next release?

    Cheers

  4. #4
    Sencha User
    Join Date
    Jun 2010
    Posts
    18
    Vote Rating
    0
    alexwebb2 is on a distinguished road

      0  

    Default


    Not sure about a fix, but you could always use name or action instead of id and access the items that way.

  5. #5
    Sencha User
    Join Date
    Jan 2012
    Posts
    13
    Vote Rating
    0
    koenoe is on a distinguished road

      0  

    Default


    The bug is still there in PR4

  6. #6
    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


    Looks like this was addressed shortly after the PR4 release. I will verify.

    Sencha Inc

    Jamie Avins

    @jamieavins