Tom23
17 Dec 2009, 8:49 AM
Ext version tested:
Ext 3.1.0
Adapter used:
ext
css used:
only default ext-all.css
Browser versions tested against:
IE8
FF3
Safari 4
Operating System:
WinXP Pro
Steps to reproduce the problem:
Create a collapsed panel that contains another panel with buttons
Render the outer panel.
Expand the outer panel.
The inner panel's buttons are not rendered.
Test Case:
Ext.onReady(function () {
var config = {
items: [{
xtype: 'panel',
buttons: [{ text: 'inner Button' }],
items: [{
xtype: 'slider',
width: 300,
value: 150,
minValue: 0,
maxValue: 300
}]
}],
buttons: [{
text: 'outer Button'
}]
};
Ext.apply(config, { title: 'Default' });
var vispanel = new Ext.Panel(config);
Ext.apply(config, { title: 'Hidden', hidden: true });
var hiddenpanel = new Ext.Panel(config);
Ext.apply(config, { title: 'Collapsed', hidden: false, collapsed: true });
var collapsedpanel = new Ext.Panel(config);
vispanel.render(Ext.getBody());
hiddenpanel.render(Ext.getBody()); // nice !
collapsedpanel.render(Ext.getBody());
hiddenpanel.show();
collapsedpanel.expand();
//collapsedpanel.on('expand', collapsedpanel.doLayout); // doesn't solve the actual problem
});
I'm pretty sure this has something to do with Ext.Container.doLayout() and Ext.Container.afterRender(). Quite frankly, I don't understand what's happening there :(
Ext 3.1.0
Adapter used:
ext
css used:
only default ext-all.css
Browser versions tested against:
IE8
FF3
Safari 4
Operating System:
WinXP Pro
Steps to reproduce the problem:
Create a collapsed panel that contains another panel with buttons
Render the outer panel.
Expand the outer panel.
The inner panel's buttons are not rendered.
Test Case:
Ext.onReady(function () {
var config = {
items: [{
xtype: 'panel',
buttons: [{ text: 'inner Button' }],
items: [{
xtype: 'slider',
width: 300,
value: 150,
minValue: 0,
maxValue: 300
}]
}],
buttons: [{
text: 'outer Button'
}]
};
Ext.apply(config, { title: 'Default' });
var vispanel = new Ext.Panel(config);
Ext.apply(config, { title: 'Hidden', hidden: true });
var hiddenpanel = new Ext.Panel(config);
Ext.apply(config, { title: 'Collapsed', hidden: false, collapsed: true });
var collapsedpanel = new Ext.Panel(config);
vispanel.render(Ext.getBody());
hiddenpanel.render(Ext.getBody()); // nice !
collapsedpanel.render(Ext.getBody());
hiddenpanel.show();
collapsedpanel.expand();
//collapsedpanel.on('expand', collapsedpanel.doLayout); // doesn't solve the actual problem
});
I'm pretty sure this has something to do with Ext.Container.doLayout() and Ext.Container.afterRender(). Quite frankly, I don't understand what's happening there :(