arandlett
14 Dec 2011, 9:42 AM
I have looked at multiple examples and have tried to follow each but can't get the list to show up in my Media View. The data in the store loads fine from external file. However the list never renders on screen.
- app.js
Ext.Loader.setConfig({
enabled:true,
paths:{
MonkTouch: 'app'
}
});
Ext.application({
name: 'MonkTouch',
autoCreateViewport : true,
controllers: [
'Media',
'Articles'
],
launch : function(){
Ext.create('MonkTouch.view.Viewport');
}
});
- Viewport.js
Ext.define('MonkTouch.view.Viewport',{
extend: 'Ext.TabPanel',
config: {
fullscreen:true,
activeItem:0,
tabBarPosition:'bottom',
tabBar:{
layout:{
pack:'center',
align:'center'
},
scrollable:{
direction:'horizontal',
indecators:false
}
},
items:[
{
title : 'Media',
iconCls : 'action',
xtype : 'medialist'
},
{
title : 'Articles',
iconCls : 'organize',
xtype : 'articlelist'
}
]
}
});
- media.js //controller
Ext.define("MonkTouch.controller.Media",{
extend: 'Ext.app.Controller',
config:{
fullscreen: true,
layout:{
type:'card',
align:'stretch'
}
},
views : ['Media'],
models : ['Media'],
stores : ['Media'],
init : function(){
this.control({
'Media' : {
itemtap : this.onItemTap,
destroy : this.onViewDestroy
}
});
},
onItemTap : function(list, index){
console.log(list);
console.log(index);
},
onViewDestroy : function(){}
});
-media.js //view
Ext.define('MonkTouch.view.Media',{
extend : 'Ext.Panel',
xtype : 'medialist',
defaults: {
styleHtmlContent: true
},
models : ['Media'],
stores : ['Media'],
config: {
items:[
{
xtype : 'list',
title : 'Media List',
store : 'Media',
itemTpl : '{title}'
},
{
xtype : 'titlebar',
title : 'Media',
docked : 'top',
align : 'center'
}]
}
});
- media.js //store
Ext.define('MonkTouch.store.Media',{
extend: 'Ext.data.Store',
model: 'MonkTouch.model.Media',
autoLoad: true,
root:{},
proxy:{
type:'ajax',
url:'/lib/mk-modules/media.php',
reader:{
type:'json',
root:'items'
}
}
});
- app.js
Ext.Loader.setConfig({
enabled:true,
paths:{
MonkTouch: 'app'
}
});
Ext.application({
name: 'MonkTouch',
autoCreateViewport : true,
controllers: [
'Media',
'Articles'
],
launch : function(){
Ext.create('MonkTouch.view.Viewport');
}
});
- Viewport.js
Ext.define('MonkTouch.view.Viewport',{
extend: 'Ext.TabPanel',
config: {
fullscreen:true,
activeItem:0,
tabBarPosition:'bottom',
tabBar:{
layout:{
pack:'center',
align:'center'
},
scrollable:{
direction:'horizontal',
indecators:false
}
},
items:[
{
title : 'Media',
iconCls : 'action',
xtype : 'medialist'
},
{
title : 'Articles',
iconCls : 'organize',
xtype : 'articlelist'
}
]
}
});
- media.js //controller
Ext.define("MonkTouch.controller.Media",{
extend: 'Ext.app.Controller',
config:{
fullscreen: true,
layout:{
type:'card',
align:'stretch'
}
},
views : ['Media'],
models : ['Media'],
stores : ['Media'],
init : function(){
this.control({
'Media' : {
itemtap : this.onItemTap,
destroy : this.onViewDestroy
}
});
},
onItemTap : function(list, index){
console.log(list);
console.log(index);
},
onViewDestroy : function(){}
});
-media.js //view
Ext.define('MonkTouch.view.Media',{
extend : 'Ext.Panel',
xtype : 'medialist',
defaults: {
styleHtmlContent: true
},
models : ['Media'],
stores : ['Media'],
config: {
items:[
{
xtype : 'list',
title : 'Media List',
store : 'Media',
itemTpl : '{title}'
},
{
xtype : 'titlebar',
title : 'Media',
docked : 'top',
align : 'center'
}]
}
});
- media.js //store
Ext.define('MonkTouch.store.Media',{
extend: 'Ext.data.Store',
model: 'MonkTouch.model.Media',
autoLoad: true,
root:{},
proxy:{
type:'ajax',
url:'/lib/mk-modules/media.php',
reader:{
type:'json',
root:'items'
}
}
});