PDA

View Full Version : hideMode: 'offsets' causing problems in IE



forumuser1080
2 Jul 2011, 1:01 PM
I hate IE!

I have a card layout that has 4 panels in it. Each panel has a Ext.ux.StatusBar, and contains a FormPanel.



layout: 'card',
activeItem: 0,
layoutConfig: {
deferredRender: false,
layoutOnCardChange: true
},
defaults: {
hideMode: 'offsets'
}
items: [{
xtype: 'panel'
title: 'Panel #1',
bbar: new Ext.ux.StatusBar({.....}),
items: [{
xtype: 'form',
items[{ // a bunch of form fields }]
}]
}]
Things work great in Firefox (as usual). But in IE a lot of the form fields in the form do not get rendered even close to correctly. Labels are missing, etc.

Without the hideMode: 'offsets' on each one of the hidden cards I run into rendering problems on both firefox and ie, as an example I have a ux.spinnerfield that does not render correctly.

Is there any way that I can keep the hideMode: 'offsets' (or another solution) and get IE to work?

I am using deferredRender because I am setting values on the forms. I never really set the values on the hidden forms, i only set values when the form is show. However I could not find a good way to wait until the form is shown before setting the values.

I tried:



// this won't work because even though I set the active item first
// the panel is not quit done rendering/layingout by the time I call setValues
panel.getLayout().setActiveItem(panel.getId());
panel.getForm().setValues({...});



// Tried to setup a listener to make sure the form was all done rendering
// or laying out but some of the comps in the form still are not laid out when I
// call setValues.
panel.on('afterrender', function(panel) {
panel.setValues({...});
});

panel.getLayout().setActiveItem(panel.getId());
Any help would be greatly appreciated.

Thanks

skirtle
5 Jul 2011, 12:34 PM
You don't appear to have any layout specified on the panel. I suspect you want 'fit'. My guess would be that you wouldn't need hideMode: 'offsets' if you had a layout specified.