I was looking at your Fiddle but there are several things wrong.
- CSS looks like an incomplete Neptune stylesheet
- By doing this:
items: resultsPanel
in your region panels, you are creating a new panel inside that panel
- You are setting incorrect configuration on elements, my advice is to look at the ExtJS documentation for this, it lists all the valid configuration options
- You might want to look at the MVC architecture tutorial
Now for the layout, I don't know what you want exactly, but this might be close:
http://jsfiddle.net/laurenzonneveld/kVUEU/4/
var navigate = function (panel, direction) {
var layout = panel.getLayout();
layout[direction]();
Ext.getCmp('move-prev').setDisabled(!layout.getPrev());
Ext.getCmp('move-next').setDisabled(!layout.getNext());
};
Ext.define('App.view.RequestPanel', {
extend: 'Ext.panel.Panel',
alias: 'widget.requestpanel',
title: 'Request Panel',
items: [{
html: 'Sample Result'
}],
bbar: [{
xtype: 'button',
text: 'Search'
}, {
xtype: 'button',
text: 'Reset'
}]
});
Ext.define('App.view.ResultPanel', {
extend: 'Ext.panel.Panel',
alias: 'widget.resultpanel',
title: 'Result Panel',
layout: 'card',
items: [{
xtype: 'panel', // Standard panel, but this could be another super complex panel
html: 'Sample Result 1'
}, {
// Defaults to xtype: 'panel', if no xtype is specified
html: 'Sample Result 2'
}, {
// Defaults to xtype: 'panel', if no xtype is specified
html: 'Sample Result 3'
}, {
// Defaults to xtype: 'panel', if no xtype is specified
html: 'Sample Result 4'
}],
bbar: [{
xtype: 'button',
text: 'Previous',
handler: function (btn) {
navigate(btn.up('panel'), 'prev');
}
}, {
xtype: 'button',
text: 'Next',
handler: function (btn) {
navigate(btn.up('panel'), 'next');
}
}]
});
Ext.create('Ext.container.Viewport', {
layout: 'border',
items: [{
region: 'north',
html: '<h1 class="x-panel-header">Sencha</h1>',
border: false
}, {
xtype: 'requestpanel', // Your super complex panel
region: 'center', // Context specific properties for the panel
layout: 'fit', // Context specific properties for the panel
flex: 1 // Context specific properties for the panel
}, {
region: 'south', // Your super complex panel
xtype: 'resultpanel', // Context specific properties for the panel
flex: 1, // Context specific properties for the panel
collapsible: true, // Context specific properties for the panel
split: true
}]
});
Edit: Updated Fiddle and code example to use Ext.define