PDA

View Full Version : [CLOSED] Using items config in panel header places items before title



mpost
3 Nov 2012, 9:16 AM
REQUIRED INFORMATIONExt version tested:

Ext 4.1.1
Ext 4.1.1 rev a
Browser versions tested against:

Safari 6.0.1
Chrome 22.0.1229.94
DOCTYPE tested against:

HTML5
Description:

Using a header config in a panel, I want to insert additional items into the header. However, items are always inserted before the title element.
Due to this other bug (http://www.sencha.com/forum/showthread.php?247931-Empty-panel-header-title-is-always-rendered&p=907271), it is not possible to omit the title config and create it as a member of the items collection.
Steps to reproduce the problem:

Create a panel.
Give it a header config.
In the header config, add a container to the items collection.
The result that was expected:

Items in the items config appear after the title.
The result that occurs instead:

Items appeared before the title.
Test Case:
Ext.create('Ext.Panel', {
title: 'Example',
width: 300,
height: 400,
renderTo: Ext.getBody(),
layout: 'border',
defaults: {
height: 100,
width: 300
},
items: [
{
xtype: 'panel',
region: 'center',
title: 'panel 1',
html: 'panel 1',
collapsible: true,
header: {
defaults: {
border: 1,
style: {
borderColor: 'red',
borderStyle: 'solid'
}
},
items: [
{
xtype: 'container',
html: '<p style="text-align:center">centered text</p>',
flex: 1}
]
}}
]
});?

HELPFUL INFORMATION
See this URL for live test case:
http://jsfiddle.net/k2puA/1/

Debugging already done:

none
Possible fix:

not provided
Additional CSS used:

only default ext-all.css
Operating System:

OS X 10.8.2
Windows 7 Pro SP1

mitchellsimoens
3 Nov 2012, 3:21 PM
I wouldn't really say this is a bug. You are requesting the behavior to change. I find it that I always want to insert items before the title personally.

mpost
3 Nov 2012, 7:19 PM
That would be a fair response if I could manually manage the title and make the header control do what I want. But due to the other issue (http://www.sencha.com/forum/showthread.php?247931-Empty-panel-header-title-is-always-rendered) I mentioned in the description, that's not possible due to the panel header always rendering an empty title with flex: 1.

I could see wanting to add items prior to the title (such as an icon or perhaps a button), but you're screwed if you want to add them both before and after due to the other issue.

mpost
4 Nov 2012, 12:24 PM
I guess another way to look at this bug is that there is no way to add items after the title when using the title config of Ext.panel.Header. So it's not necessarily that I'm requesting a behavior change -- I'm reporting that the header control is inflexible to the point that I consider a bug.

evant
4 Nov 2012, 9:03 PM
The answer is pretty much the same as here, so I'll just link to it for posterity: http://www.sencha.com/forum/showthread.php?247931-Empty-panel-header-title-is-always-rendered&p=907472&viewfull=1#post907472

Once you override initComponent, you can insert() and remove() items as you please.