For up to date documentation and features, visit http://docs.sencha.com/ext-js/4-0

## Sencha Documentation

# Ext.layout.container.Accordion

####

    HierarchyExt.layout.LayoutExt.layout.container.AbstractContainerExt.layout.container.ContainerExt.layout.container.BoxExt.layout.container.VBoxExt.layout.container.Accordion

This is a layout that manages multiple Panels in an expandable accordion style such that only one Panel can be expanded at any given time. Each Panel has built-in support for expanding and collapsing.

Note: Only Ext.Panels and all subclasses of Ext.panel.Panel may be used in an accordion layout Container.

Example usage:

    Ext.create('Ext.panel.Panel', {
        title: 'Accordion Layout',
        width: 300,
        height: 300,
        layout:'accordion',
        defaults: {
            // applied to each contained panel
            bodyStyle: 'padding:15px'
        },
        layoutConfig: {
            // layout-specific configs go here
            titleCollapse: false,
            animate: true,
            activeOnTop: true
        },
        items: [{
            title: 'Panel 1',
            html: 'Panel content!'
        },{
            title: 'Panel 2',
            html: 'Panel content!'
        },{
            title: 'Panel 3',
            html: 'Panel content!'
        }],
        renderTo: Ext.getBody()
    });

Defined By

### Config Options

#### CSS Class configs

Ext.layout.container.AbstractContainer
view source
itemCls : String
An optional extra CSS class that will be added to the container. This can be useful for adding customized styles to t...

An optional extra CSS class that will be added to the container. This can be useful for adding customized styles to the container or any of its children using standard CSS rules. See Ext.Component.ctCls also.

#### Other Configs

Ext.layout.container.Accordion
view source
activeOnTop : Boolean
Not implemented in PR4. Only valid when {@link #multi" is false. True to swap the position of each panel as it is...

Not implemented in PR4.

Only valid when {@link #multi" is `false`.

True to swap the position of each panel as it is expanded so that it becomes the first item in the container, false to keep the panels in the rendered order. This is NOT compatible with "animate:true" (defaults to false).

Ext.layout.container.VBox
view source
align : String
Controls how the child items of the container are aligned. Acceptable configuration values for this property are: l...

Controls how the child items of the container are aligned. Acceptable configuration values for this property are:

- `left` : Default
  child items are aligned horizontally at the left side of the container
- `center` :
  child items are aligned horizontally at the mid-width of the container
- `stretch` :
  child items are stretched horizontally to fill the width of the container
- `stretchmax` :
  child items are stretched horizontally to the size of the largest item.

Ext.layout.container.Accordion
view source
animate : Boolean
True to slide the contained panels open and closed during expand/collapse using animation, false to open and close di...

True to slide the contained panels open and closed during expand/collapse using animation, false to open and close directly with no animation (defaults to `true`). Note: The layout performs animated collapsing and expanding, not the child Panels.

Ext.layout.container.Accordion
view source
autoWidth : Boolean
This config is ignored in ExtJS 4.x. Child Panels have their width actively managed to fit within the accordion's w...

This config is ignored in ExtJS 4.x.

Child Panels have their width actively managed to fit within the accordion's width.

Ext.layout.container.AbstractContainer
view source
bindToOwnerCtComponent : Boolean

Flag to notify the ownerCt Component on afterLayout of a change

Flag to notify the ownerCt Component on afterLayout of a change

Ext.layout.container.AbstractContainer
view source
bindToOwnerCtContainer : Boolean

Flag to notify the ownerCt Container on afterLayout of a change

Flag to notify the ownerCt Container on afterLayout of a change

Ext.layout.container.Box
view source
clearInnerCtOnLayout : Boolean

Ext.layout.container.Accordion
view source
collapseFirst : Boolean
True to make sure the collapse/expand toggle button always renders first (to the left of) any other tools in the cont...

True to make sure the collapse/expand toggle button always renders first (to the left of) any other tools in the contained Panels' title bars, false to render it last (defaults to false).

Ext.layout.container.Box
view source
defaultMargins : Object
If the individual contained items do not have a margins property specified or margin specified via CSS, the default m...

If the individual contained items do not have a `margins` property specified or margin specified via CSS, the default margins from this property will be applied to each item.

This property may be specified as an object containing margins

to apply in the format:

    {
        top: (top margin),
        right: (right margin),
        bottom: (bottom margin),
        left: (left margin)
    }

This property may also be specified as a string containing space-separated, numeric margin values. The order of the sides associated with each value matches the way CSS processes margin values:

- If there is only one value, it applies to all sides.
- If there are two values, the top and bottom borders are set to the first value and the right and left are set to the second.
- If there are three values, the top is set to the first value, the left and right are set to the second, and the bottom is set to the third.
- If there are four values, they apply to the top, right, bottom, and left, respectively.

Defaults to:

    {top:0, right:0, bottom:0, left:0}

Ext.layout.container.Accordion
view source
fill : Boolean
True to adjust the active item's height to fill the available space in the container, false to use the item's current...

True to adjust the active item's height to fill the available space in the container, false to use the item's current height, or auto height if not explicitly set (defaults to true).

Ext.layout.container.Box
view source
flex : Number
This configuration option is to be applied to child items of the container managed by this layout. Each child item wi...

This configuration option is to be applied to child `items` of the container managed by this layout. Each child item with a `flex` property will be flexed horizontally according to each item's relative `flex` value compared to the sum of all items with a `flex` value specified. Any child items that have either a `flex = 0` or `flex = undefined` will not be 'flexed' (the initial size will not be changed).

Ext.layout.container.Accordion
view source
hideCollapseTool : Boolean
True to hide the contained Panels' collapse/expand toggle buttons, false to display them (defaults to false). When se...

True to hide the contained Panels' collapse/expand toggle buttons, false to display them (defaults to false). When set to true, titleCollapse is automatically set to `true`.

Ext.layout.container.AbstractContainer
view source
itemCls : String
An optional extra CSS class that will be added to the container. This can be useful for adding customized styles to t...

An optional extra CSS class that will be added to the container. This can be useful for adding customized styles to the container or any of its children using standard CSS rules. See Ext.Component.ctCls also.

Ext.layout.container.Accordion
view source
multi : Boolean

Defaults to `false`. Set to `true` to enable multiple accordion items to be open at once.

Defaults to `false`. Set to `true` to enable multiple accordion items to be open at once.

Ext.layout.container.Box
view source
pack : String
Controls how the child items of the container are packed together. Acceptable configuration values for this property ...

Controls how the child items of the container are packed together. Acceptable configuration values for this property are:

- `start` : Default
  child items are packed together at left side of container
- `center` :
  child items are packed together at mid-width of container
- `end` :
  child items are packed together at right side of container

Ext.layout.container.Box
view source
padding : String
Sets the padding to be applied to all child items managed by this layout. This property must be specified as a stri...

Sets the padding to be applied to all child items managed by this layout.

This property must be specified as a string containing space-separated, numeric padding values. The order of the sides associated with each value matches the way CSS processes padding values:

- If there is only one value, it applies to all sides.
- If there are two values, the top and bottom borders are set to the first value and the right and left are set to the second.
- If there are three values, the top is set to the first value, the left and right are set to the second, and the bottom is set to the third.
- If there are four values, they apply to the top, right, bottom, and left, respectively.

Defaults to: `"0"`

Ext.layout.container.Accordion
view source
titleCollapse : Boolean
Not implemented in PR2. True to allow expand/collapse of each contained panel by clicking anywhere on the title bar...

Not implemented in PR2.

True to allow expand/collapse of each contained panel by clicking anywhere on the title bar, false to allow expand/collapse only when the toggle tool button is clicked (defaults to true). When set to false, hideCollapseTool should be false also.

Defined By

### Methods

Ext.layout.container.AbstractContainer
view source
getLayoutItems : Array
Returns an array of child components either for a render phase (Performed in the beforeLayout method of the layout's ...

Returns an array of child components either for a render phase (Performed in the beforeLayout method of the layout's base class), or the layout phase (onLayout).

### Returns

- Array

  of child components

Ext.layout.container.AbstractContainer
view source
getRenderTarget : Ext.core.Element
Returns the element into which rendering must take place. Defaults to the owner Container's Ext.AbstractComponent.tar...

Returns the element into which rendering must take place. Defaults to the owner Container's Ext.AbstractComponent.targetEl.

May be overridden in layout managers which implement an inner element.

### Returns

- Ext.core.Element

Ext.layout.container.AbstractContainer
view source
getTarget : Ext.core.Element

Returns the owner component's resize element.

Returns the owner component's resize element.

### Returns

- Ext.core.Element

Ext.layout.container.Box
view source
updateChildBoxes( Array boxes) : void

Resizes and repositions each child component

Resizes and repositions each child component

### Parameters

- boxes : Array

  The box measurements

### Returns

- void