Version 3.17.2
Show:

WidgetStack Class

Widget extension, which can be used to add stackable (z-index) support to the base Widget class along with a shimming solution, through the Base.build method.

Methods

_addShimResizeHandlers

() private

Sets up event listeners to resize the shim when the size of the Widget changes.

NOTE: This method is only used for IE6 currently, since IE6 doesn't support a way to resize the shim purely through CSS, when the Widget does not have an explicit width/height set.

_afterShimChange

(
  • e
)
protected

Default attribute change listener for the shim attribute, responsible for updating the UI, in response to attribute changes.

Parameters:

  • e EventFacade

    The event facade for the attribute change

_afterZIndexChange

(
  • e
)
protected

Default attribute change listener for the zIndex attribute, responsible for updating the UI, in response to attribute changes.

Parameters:

  • e EventFacade

    The event facade for the attribute change

_bindUIStack

() protected

Binds event listeners responsible for updating the UI state in response to Widget stack related state changes.

This method is invoked after bindUI is invoked for the Widget class using YUI's aop infrastructure.

_destroyShim

() private

Removes the shim from the DOM, and detaches any related event listeners.

_detachStackHandles

(
  • String
)
private

Detaches any handles stored for the provided key

Parameters:

  • String Object

    handleKey The key defining the group of handles which should be detached

_getShimTemplate

() Node private

Creates a cloned shim node, using the SHIM_TEMPLATE html template, for use on a new instance.

Returns:

Node:

node A new shim Node instance.

_parseZIndex

(
  • srcNode
)
Mixed protected

Parses a zIndex attribute value from this widget's srcNode.

Parameters:

  • srcNode Node

    The node to parse a zIndex value from.

Returns:

Mixed:

The parsed zIndex value.

_renderShim

() private

Creates the shim element and adds it to the DOM

_renderShimDeferred

() private

Sets up change handlers for the visible attribute, to defer shim creation/rendering until the Widget is made visible.

_renderUIStack

() protected

Creates/Initializes the DOM to support stackability.

This method in invoked after renderUI is invoked for the Widget class using YUI's aop infrastructure.

_setZIndex

(
  • zIndex
)
Number protected

Default setter for zIndex attribute changes. Normalizes zIndex values to numbers, converting non-numerical values to 0.

Parameters:

Returns:

Number:

Normalized zIndex

_syncUIStack

() protected

Synchronizes the UI to match the Widgets stack state. This method in invoked after syncUI is invoked for the Widget class using YUI's aop infrastructure.

_uiSetShim

(
  • enable
)
protected

Updates the UI to enable/disable the shim. If the widget is not currently visible, creation of the shim is deferred until it is made visible, for performance reasons.

Parameters:

  • enable Boolean

    If true, creates/renders the shim, if false, removes it.

_uiSetZIndex

(
  • zIndex
)
protected

Updates the UI to reflect the zIndex value passed in.

Parameters:

  • zIndex Number

    The zindex to be reflected in the UI

sizeShim

()

For IE6, synchronizes the size and position of iframe shim to that of Widget bounding box which it is protecting. For all other browsers, this method does not do anything.

Properties

ATTRS

Object static

Static property used to define the default attribute configuration introduced by WidgetStack.

HTML_PARSER

Object static

The HTML parsing rules for the WidgetStack class.

SHIM_CLASS_NAME

String static

Default class used to mark the shim element

Default: "yui3-widget-shim"

SHIM_TEMPLATE

String static

Default markup template used to generate the shim element.

STACKED_CLASS_NAME

String static

Default class used to mark the boundingBox of a stacked widget.

Default: "yui3-widget-stacked"

Attributes

shim

Boolean

Boolean flag to indicate whether or not a shim should be added to the Widgets boundingBox, to protect it from select box bleedthrough.

Default: false, for all browsers other than IE6, for which a shim is enabled by default.

Fires event shimChange

Fires when the value for the configuration attribute shim is changed. You can listen for the event using the on method if you wish to be notified before the attribute's value has changed, or using the after method if you wish to be notified after the attribute's value has changed.

Parameters:

  • e EventFacade
    An Event Facade object with the following attribute-specific properties added:
    • prevVal Any
      The value of the attribute, prior to it being set.
    • newVal Any
      The value the attribute is to be set to.
    • attrName String
      The name of the attribute being set.
    • subAttrName String
      If setting a property within the attribute's value, the name of the sub-attribute property being set.

zIndex

Number

The z-index to apply to the Widgets boundingBox. Non-numerical values for zIndex will be converted to 0

Default: 0

Fires event zIndexChange

Fires when the value for the configuration attribute zIndex is changed. You can listen for the event using the on method if you wish to be notified before the attribute's value has changed, or using the after method if you wish to be notified after the attribute's value has changed.

Parameters:

  • e EventFacade
    An Event Facade object with the following attribute-specific properties added:
    • prevVal Any
      The value of the attribute, prior to it being set.
    • newVal Any
      The value the attribute is to be set to.
    • attrName String
      The name of the attribute being set.
    • subAttrName String
      If setting a property within the attribute's value, the name of the sub-attribute property being set.