PUSHING A NEW VIEW AFTER AN ITEM WAS TAPPED IN SENCHA TOUCH 2

Pravesh Singh

Total Post:412

Points:2888
Posted by  Pravesh Singh
 2095  View(s)
Ratings:
Rate this:
Hi,

I have a simple list populated from JSON. When tapping one of the items i want a new view to appear. The List is inside an Ext.navigation.View.

My controller

Ext.define('Trainz.controller.StationListController', {
extend: 'Ext.app.Controller',
config: {
    models: [
        'Station'
    ],
    stores: [
        'Stations'
    ],
    views: [
        'Main'
    ],

    control: {
        "list": {
            itemtap: 'onListItemTap'
        }
    }
},

onListItemTap: function(dataview, index, target, record, e, eOpts) {
    console.log(record);
}

});
And here is the (now empty) view i want to push

Ext.define('Trainz.view.StationDetailView', {
extend: 'Ext.Panel',

config: {
}

});

Guessing i have to put something in the onListItemTap function but for the life of me I cant figure out what. Tried over four different code snippets from Google and just got errors back. Whats the proper way?

I'm using Sencha Architect if that makes any difference.

Here is the complete initial view for reference:

Ext.define('Trainz.view.Main', {
extend: 'Ext.tab.Panel',

config: {
    tabBar: {
        docked: 'bottom'
    },
    items: [
        {
            xtype: 'navigationview',
            title: 'Stations',
            iconCls: 'maps',
            items: [
                {
                    xtype: 'list',
                    title: 'Stations',
                    itemTpl: [
                        '<div>{Namn}</div><div style="float:right; margin-right: 1.5em;"></div>'
                    ],
                    store: 'Stations',
                    grouped: true,
                    indexBar: true
                }
            ]
        }
    ]
}
});

Thanks in advance. 
  1. AVADHESH PATEL

    Post:604

    Points:4228
    Re: Pushing a new view after an item was tapped in Sencha Touch 2

    Hi Pravesh!

    You need to retrieve your navigationview and then do navigationView.push(yourNewView); 

    or

    dataview.up('navigationview').push(yourNewView)

    I hope it resolve your problem.

Answer

NEWSLETTER

Enter your email address here always to be updated. We promise not to spam!