Yahoo! UI Library

Container  2.6.0

Yahoo! UI Library > container > YAHOO.widget.Panel

Class YAHOO.widget.Panel - extends YAHOO.widget.Overlay

Known Subclasses:
YAHOO.widget.Dialog
Panel is an implementation of Overlay that behaves like an OS window, with a draggable header and an optional close icon at the top right.

Constructor

YAHOO.widget.Panel ( el , userConfig )
Parameters:
el <String> The element ID representing the Panel OR
el <HTMLElement> The element representing the Panel
userConfig <Object> The configuration object literal containing the configuration that should be set for this Panel. See configuration documentation for more details.

Properties

DEFAULT_CONFIG - private final Object

Constant representing the Panel's configuration properties

EVENT_TYPES - private final Object

Constant representing the name of the Panel's events

YAHOO.widget.Panel.CSS_PANEL - static final String

Constant representing the default CSS class used for a Panel

YAHOO.widget.Panel.CSS_PANEL_CONTAINER - static final String

Constant representing the default CSS class used for a Panel's wrapping container

YAHOO.widget.Panel.FOCUSABLE - static Array

Constant representing the default set of focusable elements on the pagewhich Modal Panels will prevent access to, when the modal mask is displayed

Methods

_addFocusHandlers

protected void _addFocusHandlers ( p_sType , p_aArgs )
"showMask" event handler that adds a "focus" event handler to all focusable elements in the document to enforce a Panel instance's modality from being compromised.
Parameters:
p_sType <String> Custom event type
p_aArgs <Array> Custom event arguments
Returns: void

_autoFillOnHeightChange

protected void _autoFillOnHeightChange ( type , args , el )
The default custom event handler executed when the Panel's height is changed, if the autofillheight property has been set.
Parameters:
type <String> The event type
args <Array> The array of arguments passed to event subscribers
el <HTMLElement> The header, body or footer element which is to be resized to fill out the containers height
Returns: void

_createHiddenFocusElement

private void _createHiddenFocusElement ( )
Creates a hidden focusable element, used to focus on, to enforce modality for browsers in which focus cannot be applied to the container box.
Returns: void

_doClose

protected void _doClose ( e )
Event handler for the close icon
Parameters:
e <DOMEvent>
Returns: void

_onElementFocus

private void _onElementFocus ( e )
"focus" event handler for a focuable element. Used to automatically blur the element when it receives focus to ensure that a Panel instance's modality is not compromised.
Parameters:
e <Event> The DOM event object
Returns: void

_removeFocusHandlers

protected void _removeFocusHandlers ( p_sType , p_aArgs )
"hideMask" event handler that removes all "focus" event handlers added by the "addFocusEventHandlers" method.
Parameters:
p_sType <String> Event type
p_aArgs <Array> Event Arguments
Returns: void

buildMask

void buildMask ( )
Builds the mask that is laid over the document when the Panel is configured to be modal.
Returns: void

buildWrapper

void buildWrapper ( )
Builds the wrapping container around the Panel that is used for positioning the shadow and matte underlays. The container element is assigned to a local instance variable called container, and the element is reinserted inside of it.
Returns: void

configClose

void configClose ( type , args , obj )
The default event handler fired when the "close" property is changed. The method controls the appending or hiding of the close icon at the top right of the Panel.
Parameters:
type <String> The CustomEvent type (usually the property name)
args <Object[]> The CustomEvent arguments. For configuration handlers, args[0] will equal the newly applied value for the property.
obj <Object> The scope object. For configuration handlers, this will usually equal the owner.
Returns: void

configDraggable

void configDraggable ( type , args , obj )
The default event handler fired when the "draggable" property is changed.
Parameters:
type <String> The CustomEvent type (usually the property name)
args <Object[]> The CustomEvent arguments. For configuration handlers, args[0] will equal the newly applied value for the property.
obj <Object> The scope object. For configuration handlers, this will usually equal the owner.
Returns: void

configHeight

void configHeight ( type , args , obj )
The default event handler fired when the "height" property is changed.
Parameters:
type <String> The CustomEvent type (usually the property name)
args <Object[]> The CustomEvent arguments. For configuration handlers, args[0] will equal the newly applied value for the property.
obj <Object> The scope object. For configuration handlers, this will usually equal the owner.
Returns: void

configKeyListeners

void configKeyListeners ( type , args , obj )
The default event handler fired when the "keylisteners" property is changed.
Parameters:
type <String> The CustomEvent type (usually the property name)
args <Object[]> The CustomEvent arguments. For configuration handlers, args[0] will equal the newly applied value for the property.
obj <Object> The scope object. For configuration handlers, this will usually equal the owner.
Returns: void

configModal

void configModal ( type , args , obj )
The default event handler fired when the "modal" property is changed. This handler subscribes or unsubscribes to the show and hide events to handle the display or hide of the modality mask.
Parameters:
type <String> The CustomEvent type (usually the property name)
args <Object[]> The CustomEvent arguments. For configuration handlers, args[0] will equal the newly applied value for the property.
obj <Object> The scope object. For configuration handlers, this will usually equal the owner.
Returns: void

configStrings

void configStrings ( )
The default handler for the "strings" property
Returns: void

configUnderlay

void configUnderlay ( type , args , obj )
The default event handler fired when the "underlay" property is changed.
Parameters:
type <String> The CustomEvent type (usually the property name)
args <Object[]> The CustomEvent arguments. For configuration handlers, args[0] will equal the newly applied value for the property.
obj <Object> The scope object. For configuration handlers, this will usually equal the owner.
Returns: void

configWidth

void configWidth ( type , args , obj )
The default event handler fired when the "width" property is changed.
Parameters:
type <String> The CustomEvent type (usually the property name)
args <Object[]> The CustomEvent arguments. For configuration handlers, args[0] will equal the newly applied value for the property.
obj <Object> The scope object. For configuration handlers, this will usually equal the owner.
Returns: void

configzIndex

void configzIndex ( type , args , obj )
The default event handler fired when the "zIndex" property is changed.
Parameters:
type <String> The CustomEvent type (usually the property name)
args <Object[]> The CustomEvent arguments. For configuration handlers, args[0] will equal the newly applied value for the property.
obj <Object> The scope object. For configuration handlers, this will usually equal the owner.
Returns: void

destroy

void destroy ( )
Removes the Panel element from the DOM and sets all child elements to null.
Returns: void

focusFirst

void focusFirst ( )
Sets focus to the first element in the Panel.
Returns: void

focusLast

void focusLast ( )
Sets focus to the last element in the Panel.
Returns: void

getFocusableElements

void getFocusableElements ( root )
Returns an array of the currently focusable items which reside within Panel. The set of focusable elements the method looks for are defined in the Panel.FOCUSABLE static property
Parameters:
root <HTMLElement> element to start from.
Returns: void

hideMask

void hideMask ( )
Hides the modality mask.
Returns: void

init

void init ( el , userConfig )
The Overlay initialization method, which is executed for Overlay and all of its subclasses. This method is automatically called by the constructor, and sets up all DOM references for pre-existing markup, and creates required markup if it is not already present.
Parameters:
el <String> The element ID representing the Overlay OR
el <HTMLElement> The element representing the Overlay
userConfig <Object> The configuration object literal containing the configuration that should be set for this Overlay. See configuration documentation for more details.
Returns: void

initDefaultConfig

void initDefaultConfig ( )
Initializes the class's configurable properties which can be changed using the Panel's Config object (cfg).
Returns: void

initEvents

void initEvents ( )
Initializes the custom events for Module which are fired automatically at appropriate times by the Module class.
Returns: void

registerDragDrop

void registerDragDrop ( )
Registers the Panel's header for drag & drop capability.
Returns: void

removeMask

void removeMask ( )
Removes the modality mask.
Returns: void

render

boolean render ( appendToNode )
Renders the Panel by inserting the elements that are not already in the main Panel into their correct places. Optionally appends the Panel to the specified node prior to the render's execution. NOTE: For Panels without existing markup, the appendToNode argument is REQUIRED. If this argument is ommitted and the current element is not present in the document, the function will return false, indicating that the render was a failure.
Parameters:
appendToNode <String> The element id to which the Module should be appended to prior to rendering OR
appendToNode <HTMLElement> The element to which the Module should be appended to prior to rendering
Returns: boolean
Success or failure of the render

setFirstLastFocusable

void setFirstLastFocusable ( )
Sets the firstElement and lastElement instance properties to the first and last focusable elements in the Panel.
Returns: void

setTabLoop

void setTabLoop ( firstElement , lastElement )
Sets up a tab, shift-tab loop between the first and last elements provided. NOTE: Sets up the preventBackTab and preventTabOut KeyListener instance properties, which are reset everytime this method is invoked.
Parameters:
firstElement <HTMLElement>
lastElement <HTMLElement>
Returns: void

showMask

void showMask ( )
Shows the modality mask.
Returns: void

sizeMask

void sizeMask ( )
Sets the size of the modality mask to cover the entire scrollable area of the document
Returns: void

sizeUnderlay

void sizeUnderlay ( )
Adjusts the size of the shadow based on the size of the element.
Returns: void

stackMask

void stackMask ( )
Sets the zindex of the mask, if it exists, based on the zindex of the Panel element. The zindex of the mask is set to be one less than the Panel element's zindex.

NOTE: This method will not bump up the zindex of the Panel to ensure that the mask has a non-negative zindex. If you require the mask zindex to be 0 or higher, the zindex of the Panel should be set to a value higher than 0, before this method is called.

Returns: void

toString

String toString ( )
Returns a String representation of the object.
Returns: String
The string representation of the Panel.

Events

dragEvent

dragEvent ( )
CustomEvent when the Panel is dragged

hideMaskEvent

hideMaskEvent ( )
CustomEvent fired after the modality mask is hidden

showMaskEvent

showMaskEvent ( )
CustomEvent fired after the modality mask is shown

Configuration Attributes

close - Boolean

True if the Panel should display a "close" button
Default Value: true

draggable - Boolean

Boolean specifying if the Panel should be draggable. The default value is "true" if the Drag and Drop utility is included, otherwise it is "false." PLEASE NOTE: There is a known issue in IE 6 (Strict Mode and Quirks Mode) and IE 7 (Quirks Mode) where Panels that either don't have a value set for their "width" configuration property, or their "width" configuration property is set to "auto" will only be draggable by placing the mouse on the text of the Panel's header element. To fix this bug, draggable Panels missing a value for their "width" configuration property, or whose "width" configuration property is set to "auto" will have it set to the value of their root HTML element's offsetWidth before they are made visible. The calculated width is then removed when the Panel is hidden. This fix is only applied to draggable Panels in IE 6 (Strict Mode and Quirks Mode) and IE 7 (Quirks Mode). For more information on this issue see: SourceForge bugs #1726972 and #1589210.
Default Value: true

dragOnly - Boolean

Boolean specifying if the draggable Panel should be drag only, not interacting with drop targets on the page.

When set to true, draggable Panels will not check to see if they are over drop targets, or fire the DragDrop events required to support drop target interaction (onDragEnter, onDragOver, onDragOut, onDragDrop etc.). If the Panel is not designed to be dropped on any target elements on the page, then this flag can be set to true to improve performance.

When set to false, all drop target related events will be fired.

The property is set to false by default to maintain backwards compatibility but should be set to true if drop target interaction is not required for the Panel, to improve performance.

Default Value: false

keylisteners - YAHOO.util.KeyListener[]

A KeyListener (or array of KeyListeners) that will be enabled when the Panel is shown, and disabled when the Panel is hidden.
Default Value: null

modal - Boolean

True if the Panel should be displayed in a modal fashion, automatically creating a transparent mask over the document that will not be removed until the Panel is dismissed.
Default Value: false

strings - Object

UI Strings used by the Panel
Default Value: An object literal with the properties shown below:
close
String : The string to use for the close icon. Defaults to "Close".

underlay - String

Sets the type of underlay to display for the Panel. Valid values are "shadow," "matte," and "none". PLEASE NOTE: The creation of the underlay element is deferred until the Panel is initially made visible. For Gecko-based browsers on Mac OS X the underlay elment is always created as it is used as a shim to prevent Aqua scrollbars below a Panel instance from poking through it (See SourceForge bug #836476).
Default Value: shadow

Configuration attributes inherited from YAHOO.widget.Module:


Copyright © 2008 Yahoo! Inc. All rights reserved.