This is my application architecture.
var loginView = Ext.create('Ext.Panel',{
id: 'LoginView',
.....
});
var homeView = Ext.create('Ext.TabPanel',{
id: 'HomeView',
items: [
{
xtype: 'list',
title: 'Home',
store: Ext.create('TweetStore'),
disableSelection: true,
....
},
{
title: 'Reply',
....
},
{
title: 'DM',
....
}
]
});
var mainView = Ext.create('Ext.Panel',{
id: 'MainView',
layout: 'card',
items: [ loginView, mainView ]
});
Ext.define('TweetStore', {
extend: 'Ext.data.Store',
config: {
fields: ...
pageSize: 25,
autoLoad: true,
proxy: {
type: 'ajax',
url: '/home',
pageParam: 'page',
limitParam: 'count',
reader: {
type: 'json'
}
}
}
});
There are two panels in MainView. LoginView is a login page where user input his username and password. When the authorization succeed, the second panel HomeView shows.
My questions:
- I want the data in
TweetStoreto be loaded after the authorization, that is, when theHomeViewshows, the data begins to load. But theshowevent is triggered even the
panel is still hidden. What event should I catch. - When the application starts, I want to send a ajax request to check whether the user is login, if true, the
LoginViewhide and theHomeViewshows. In which event should I check this?
Q. 1) You should listen for
painted()event.Q. 2) Send the ajax request for user authentication on
initialize()event.