FYI:
Code:
Ext.onReady(function(){
Ext.define('Panel1', {
extend: 'Ext.panel.Panel',
alias : 'widget.panel1'
});
Ext.define('Panel2', {
extend: 'Ext.panel.Panel',
alias : 'widget.panel2'
});
var viewport = Ext.create('Ext.container.Viewport', {
renderTo: Ext.getBody(),
layout: 'fit',
items: [{
xtype: 'panel',
title: 'Root panel',
dockedItems: [{
xtype: 'toolbar',
dock: 'top',
height: 80,
items: [{
xtype: 'button',
text: 'Replace panel',
handler: function(){
var panel = viewport.down('panel');
panel.remove(panel.child('panel1'));
panel.add({
xtype: 'panel2',
title: 'Panel 2',
html: 'This is panel 2'
});
this.handler = function(){
alert('Already replaced');
}
}
},{
xtype: 'image',
src: 'images/psbanner.png',
height: 60,
width: 500,
}]
}],
items: [{
xtype: 'panel1',
title: 'Panel 1',
layout: 'vbox',
html: 'This is panel 1'
}]
}]
});
});