views:

1754

answers:

3

A Combobox in the following constellation (extremely pruned code) has problems resizing in IE6. A little debugging revealed that it doesn't receive an event when trying to shrink the west region via splitter.

Ext.onReady(function(){
    var grid = new Ext.Viewport({
     layout: 'border'
     ,items: [{
       region: 'west'
       ,width: 200
       ,layout: 'fit'
       ,split: true
       ,items: [{
        layout: 'accordion'
        ,items: [{
         layout: 'Anchor'
         ,items: [{
          xtype: 'combo'
          ,anchor: '100%'
          ,typeAhead:true
          ,triggerAction: 'all'
          ,selectOnFocus: true
          ,mode: 'local'
          ,emptyText: 'bitte wählen'
          ,displayField: 'displayText'
          ,store: new Ext.data.ArrayStore({
           fields: ['displayText'],
           data: [['item1'], ['item2']]
          })
         }]
        }]
       }]
      },{
       region: 'center'
       ,html: 'content'    
      }
     ]
     ,renderTo: Ext.getBody()
    });
});
A: 

It only happens within an accordian layout. Investigate that further.

Ext.onReady(function() {
    var grid = new Ext.Viewport({
        layout: 'border'
        ,items: [{
            region: 'west'
            ,width: 200
            ,split: true
            --,layout: 'fit'    << not necessary. You're overnesting.
            ,layout: 'anchor'
            ,items: [{
                xtype: 'combo'
                ,anchor: '100%'
                ,typeAhead:true
                ,triggerAction: 'all'
                ,selectOnFocus: true
                ,mode: 'local'
                ,emptyText: 'bitte wählen'
                ,displayField: 'displayText'
                ,store: new Ext.data.ArrayStore({
                    fields: ['displayText'],
                    data: [['item1'], ['item2']]
                })
            }]
        },{
            region: 'center'
            ,html: 'content'                                
        }]
    })
});

The above works fine for me in IE6

Joshua
well, the "overnesting, as well as the accordion are needed. The code above is extremely pruned. The additional layout fit Panel around the accordion Panel is necessary for an additional bottom toolbar. Almost every element in the above code is there for a reason.
Sven Hecht
A: 

I hope this helps you.

Extract from AnchorLayout doc:

AnchorLayout does not have any direct config options (other than inherited ones). However, the container using the AnchorLayout can supply an anchoring-specific config property of anchorSize. By default, AnchorLayout will calculate anchor measurements based on the size of the container itself. However, if anchorSize is specifed, the layout will use it as a virtual container for the purposes of calculating anchor measurements based on it instead, allowing the container to be sized independently of the anchoring logic if necessary.

The items added to an AnchorLayout can also supply an anchoring-specific config property of anchor which is a string containing two values: the horizontal anchor value and the vertical anchor value (for example, '100% 50%'). This value is what tells the layout how the item should be anchored to the container. The following types of anchor values are supported:

Percentage: Any value between 1 and 100, expressed as a percentage. The first anchor is the percentage width that the item should take up within the container, and the second is the percentage height. Example: '100% 50%' would render an item the complete width of the container and 1/2 its height. If only one anchor value is supplied it is assumed to be the width value and the height will default to auto.

Offsets: Any positive or negative integer value. The first anchor is the offset from the right edge of the container, and the second is the offset from the bottom edge. Example: '-50 -100' would render an item the complete width of the container minus 50 pixels and the complete height minus 100 pixels. If only one anchor value is supplied it is assumed to be the right offset value and the bottom offset will default to 0.

Sides: Valid values are 'right' (or 'r') and 'bottom' (or 'b'). Either the container must have a fixed size or an anchorSize config value defined at render time in order for these to have any effect.

Thevs
A: 

I had a similar problem. Try putting the combobox in a container. So instead of putting it directly in the panel with the anchor layout, put the combo in a container and add this container to the panel with the anchor layout! It should work!

Radu Brehar