This class represents a common layout manager used in desktop applications. For screenshots and more details,
please see:
Cross Browser Layouts - Part 1
Cross Browser Layouts - Part 2
Example:
var layout = new YAHOO.ext.BorderLayout(document.body, {
north: {
initialSize: 25,
titlebar: false
},
west: {
split:true,
initialSize: 200,
minSize: 175,
maxSize: 400,
titlebar: true,
collapsible: true
},
east: {
split:true,
initialSize: 202,
minSize: 175,
maxSize: 400,
titlebar: true,
collapsible: true
},
south: {
split:true,
initialSize: 100,
minSize: 100,
maxSize: 200,
titlebar: true,
collapsible: true
},
center: {
titlebar: true,
autoScroll:true,
resizeTabs: true,
minTabWidth: 50,
preferredTabWidth: 150
}
});
// shorthand
var CP = YAHOO.ext.ContentPanel;
layout.beginUpdate();
layout.add('north', new CP('north', 'North'));
layout.add('south', new CP('south', {title: 'South', closable: true}));
layout.add('west', new CP('west', {title: 'West'}));
layout.add('east', new CP('autoTabs', {title: 'Auto Tabs', closable: true}));
layout.add('center', new CP('center1', {title: 'Close Me', closable: true}));
layout.add('center', new CP('center2', {title: 'Center Panel', closable: false}));
layout.getRegion('center').showPanel('center1');
layout.endUpdate();
|
BorderLayout(String/HTMLElement/Element container , Object config ) |
BorderLayout |
Create a new BorderLayout |
|
add(String target , YAHOO.ext.ContentPanel panel ) : YAHOO.ext.ContentPanel |
BorderLayout |
Adds a ContentPanel (or subclass) to this layout. |
|
addListener(String eventName , Function handler , [Object scope ], [boolean override ]) : void |
Observable |
Appends an event handler to this component |
|
addRegion(String target , Object config ) : BorderLayoutRegion |
BorderLayout |
Creates and adds a new region if it doesn't already exist. |
|
beginUpdate() : void |
LayoutManager |
Suspend the LayoutManager from doing auto-layouts while
making multiple add or remove calls |
|
bufferedListener(String eventName , Function handler , [Object scope ], [Number millis ]) : Function |
Observable |
Appends an event handler to this component that is buffered. If the event is triggered more than once
in the specifie... |
|
delayedListener(String eventName , Function handler , [Object scope ], [Number delay ]) : Function |
Observable |
Appends an event handler to this component that is delayed the specified number of milliseconds. This
is useful for e... |
|
endUpdate(Boolean noLayout ) : void |
LayoutManager |
Restore auto-layouts and optionally disable the manager from performing a layout |
|
findPanel(String panelId ) : YAHOO.ext.ContentPanel |
BorderLayout |
Searches all regions for a panel with the specified id |
|
fireEvent(String eventName , Object... args ) : Boolean |
Observable |
Fires the specified event with the passed parameters (minus the event name). |
|
getEl() : YAHOO.ext.Element |
LayoutManager |
Returns the element this layout is bound to. |
|
getRegion(String target ) : YAHOO.ext.LayoutRegion |
LayoutManager |
Returns the specified region. |
|
getViewSize() : Object |
LayoutManager |
Returns the size of the current view, This method normalizes document.body and element embedded layouts and
performs ... |
|
isUpdating() : Boolean |
LayoutManager |
Returns true if this layout is currently being updated |
|
layout() : void |
BorderLayout |
Performs a layout update. |
|
on(String eventName , Function handler , [Object scope ], [boolean override ]) : void |
Observable |
Appends an event handler to this element (shorthand for addListener) |
|
purgeListeners() : void |
Observable |
Removes all listeners for this object |
|
remove(String target , Number/String/YAHOO.ext.ContentPanel panel ) : YAHOO.ext.ContentPanel |
BorderLayout |
Adds a ContentPanel (or subclass) to this layout. |
|
removeListener(String eventName , Function handler , [Object scope ]) : void |
Observable |
Removes a listener |
|
restoreState([YAHOO.ext.state.Provider provider ]) : void |
BorderLayout |
Restores this layouts state using YAHOO.ext.state.Manager or the state provided by the passed provider. |
|
showPanel(String/ContentPanel panelId ) : YAHOO.ext.ContentPanel |
BorderLayout |
Searches all regions for a panel with the specified id and activates (shows) it. |
add
public function add(String target
, YAHOO.ext.ContentPanel panel
)
Adds a ContentPanel (or subclass) to this layout.
Parameters:
Returns:
YAHOO.ext.ContentPanel
The added panel
This method is defined by BorderLayout.
addListener
public function addListener(String eventName
, Function handler
, [Object scope
], [boolean override
])
Appends an event handler to this component
Parameters:
eventName
: StringThe type of event to listen for
handler
: FunctionThe method the event invokes
scope
: Object(optional) The scope (this object) for the handler
override
: boolean(optional) If true, scope becomes the scope
Returns:
addRegion
public function addRegion(String target
, Object config
)
Creates and adds a new region if it doesn't already exist.
Parameters:
target
: StringThe target region key (north, south, east, west or center).
config
: ObjectThe regions config object
Returns:
BorderLayoutRegion
The new region
This method is defined by BorderLayout.
beginUpdate
public function beginUpdate()
Suspend the LayoutManager from doing auto-layouts while
making multiple add or remove calls
bufferedListener
public function bufferedListener(String eventName
, Function handler
, [Object scope
], [Number millis
])
Appends an event handler to this component that is buffered. If the event is triggered more than once
in the specified time-frame, only the last one actually fires.
Parameters:
eventName
: StringThe type of event to listen for
handler
: FunctionThe method the event invokes
scope
: Object(optional) The scope (this object) for the handler
millis
: Number(optional) The number of milliseconds to buffer (defaults to 250)
Returns:
delayedListener
public function delayedListener(String eventName
, Function handler
, [Object scope
], [Number delay
])
Appends an event handler to this component that is delayed the specified number of milliseconds. This
is useful for events that modify the DOM and need to wait for the browser to catch up.
Parameters:
eventName
: StringThe type of event to listen for
handler
: FunctionThe method the event invokes
scope
: Object(optional) The scope (this object) for the handler
delay
: Number(optional) The number of milliseconds to delay (defaults to 1 millisecond)
Returns:
endUpdate
public function endUpdate(Boolean noLayout
)
Restore auto-layouts and optionally disable the manager from performing a layout
findPanel
public function findPanel(String panelId
)
Searches all regions for a panel with the specified id
This method is defined by BorderLayout.
fireEvent
public function fireEvent(String eventName
, Object... args
)
Fires the specified event with the passed parameters (minus the event name).
getEl
public function getEl()
Returns the element this layout is bound to.
getRegion
public function getRegion(String target
)
Returns the specified region.
Parameters:
target
: StringThe region key
Returns:
getViewSize
public function getViewSize()
Returns the size of the current view, This method normalizes document.body and element embedded layouts and
performs box-model adjustments.
isUpdating
public function isUpdating()
Returns true if this layout is currently being updated
layout
public function layout()
Performs a layout update.
This method is defined by BorderLayout.
on
public function on(String eventName
, Function handler
, [Object scope
], [boolean override
])
Appends an event handler to this element (shorthand for addListener)
Parameters:
eventName
: StringThe type of event to listen for
handler
: FunctionThe method the event invokes
scope
: Object(optional) The scope (this object) for the handler
override
: boolean(optional) If true, scope becomes the scope
Returns:
purgeListeners
public function purgeListeners()
Removes all listeners for this object
remove
public function remove(String target
, Number/String/YAHOO.ext.ContentPanel panel
)
Adds a ContentPanel (or subclass) to this layout.
Parameters:
target
: StringThe target region key (north, south, east, west or center).
panel
: Number/String/YAHOO.ext.ContentPanelThe index, id or panel to remove
Returns:
YAHOO.ext.ContentPanel
The removed panel
This method is defined by BorderLayout.
removeListener
public function removeListener(String eventName
, Function handler
, [Object scope
])
restoreState
public function restoreState([YAHOO.ext.state.Provider provider
])
Restores this layouts state using YAHOO.ext.state.Manager or the state provided by the passed provider.
This method is defined by BorderLayout.
showPanel
public function showPanel(String/ContentPanel panelId
)
Searches all regions for a panel with the specified id and activates (shows) it.
Parameters:
Returns:
YAHOO.ext.ContentPanel
The shown panel or null
This method is defined by BorderLayout.