src/cm/media/js/lib/yui/yui3-3.15.0/build/widget-stack/widget-stack.js
author gibus
Mon, 10 Mar 2014 15:19:48 +0100
changeset 602 e16a97fb364a
permissions -rw-r--r--
Use YUI 3.15
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
602
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
     1
YUI.add('widget-stack', function (Y, NAME) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
     2
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
     3
/**
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
     4
 * Provides stackable (z-index) support for Widgets through an extension.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
     5
 *
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
     6
 * @module widget-stack
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
     7
 */
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
     8
    var L = Y.Lang,
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
     9
        UA = Y.UA,
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    10
        Node = Y.Node,
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    11
        Widget = Y.Widget,
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    12
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    13
        ZINDEX = "zIndex",
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    14
        SHIM = "shim",
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    15
        VISIBLE = "visible",
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    16
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    17
        BOUNDING_BOX = "boundingBox",
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    18
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    19
        RENDER_UI = "renderUI",
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    20
        BIND_UI = "bindUI",
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    21
        SYNC_UI = "syncUI",
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    22
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    23
        OFFSET_WIDTH = "offsetWidth",
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    24
        OFFSET_HEIGHT = "offsetHeight",
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    25
        PARENT_NODE = "parentNode",
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    26
        FIRST_CHILD = "firstChild",
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    27
        OWNER_DOCUMENT = "ownerDocument",
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    28
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    29
        WIDTH = "width",
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    30
        HEIGHT = "height",
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    31
        PX = "px",
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    32
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    33
        // HANDLE KEYS
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    34
        SHIM_DEFERRED = "shimdeferred",
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    35
        SHIM_RESIZE = "shimresize",
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    36
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    37
        // Events
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    38
        VisibleChange = "visibleChange",
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    39
        WidthChange = "widthChange",
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    40
        HeightChange = "heightChange",
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    41
        ShimChange = "shimChange",
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    42
        ZIndexChange = "zIndexChange",
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    43
        ContentUpdate = "contentUpdate",
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    44
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    45
        // CSS
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    46
        STACKED = "stacked";
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    47
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    48
    /**
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    49
     * Widget extension, which can be used to add stackable (z-index) support to the
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    50
     * base Widget class along with a shimming solution, through the
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    51
     * <a href="Base.html#method_build">Base.build</a> method.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    52
     *
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    53
     * @class WidgetStack
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    54
     * @param {Object} User configuration object
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    55
     */
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    56
    function Stack(config) {}
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    57
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    58
    // Static Properties
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    59
    /**
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    60
     * Static property used to define the default attribute
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    61
     * configuration introduced by WidgetStack.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    62
     *
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    63
     * @property ATTRS
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    64
     * @type Object
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    65
     * @static
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    66
     */
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    67
    Stack.ATTRS = {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    68
        /**
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    69
         * @attribute shim
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    70
         * @type boolean
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    71
         * @default false, for all browsers other than IE6, for which a shim is enabled by default.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    72
         *
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    73
         * @description Boolean flag to indicate whether or not a shim should be added to the Widgets
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    74
         * boundingBox, to protect it from select box bleedthrough.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    75
         */
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    76
        shim: {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    77
            value: (UA.ie == 6)
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    78
        },
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    79
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    80
        /**
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    81
         * @attribute zIndex
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    82
         * @type number
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    83
         * @default 0
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    84
         * @description The z-index to apply to the Widgets boundingBox. Non-numerical values for
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    85
         * zIndex will be converted to 0
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    86
         */
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    87
        zIndex: {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    88
            value : 0,
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    89
            setter: '_setZIndex'
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    90
        }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    91
    };
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    92
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    93
    /**
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    94
     * The HTML parsing rules for the WidgetStack class.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    95
     *
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    96
     * @property HTML_PARSER
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    97
     * @static
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    98
     * @type Object
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    99
     */
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   100
    Stack.HTML_PARSER = {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   101
        zIndex: function (srcNode) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   102
            return this._parseZIndex(srcNode);
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   103
        }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   104
    };
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   105
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   106
    /**
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   107
     * Default class used to mark the shim element
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   108
     *
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   109
     * @property SHIM_CLASS_NAME
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   110
     * @type String
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   111
     * @static
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   112
     * @default "yui3-widget-shim"
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   113
     */
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   114
    Stack.SHIM_CLASS_NAME = Widget.getClassName(SHIM);
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   115
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   116
    /**
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   117
     * Default class used to mark the boundingBox of a stacked widget.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   118
     *
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   119
     * @property STACKED_CLASS_NAME
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   120
     * @type String
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   121
     * @static
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   122
     * @default "yui3-widget-stacked"
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   123
     */
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   124
    Stack.STACKED_CLASS_NAME = Widget.getClassName(STACKED);
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   125
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   126
    /**
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   127
     * Default markup template used to generate the shim element.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   128
     *
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   129
     * @property SHIM_TEMPLATE
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   130
     * @type String
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   131
     * @static
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   132
     */
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   133
    Stack.SHIM_TEMPLATE = '<iframe class="' + Stack.SHIM_CLASS_NAME + '" frameborder="0" title="Widget Stacking Shim" src="javascript:false" tabindex="-1" role="presentation"></iframe>';
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   134
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   135
    Stack.prototype = {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   136
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   137
        initializer : function() {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   138
            this._stackNode = this.get(BOUNDING_BOX);
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   139
            this._stackHandles = {};
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   140
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   141
            // WIDGET METHOD OVERLAP
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   142
            Y.after(this._renderUIStack, this, RENDER_UI);
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   143
            Y.after(this._syncUIStack, this, SYNC_UI);
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   144
            Y.after(this._bindUIStack, this, BIND_UI);
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   145
        },
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   146
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   147
        /**
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   148
         * Synchronizes the UI to match the Widgets stack state. This method in
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   149
         * invoked after syncUI is invoked for the Widget class using YUI's aop infrastructure.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   150
         *
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   151
         * @method _syncUIStack
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   152
         * @protected
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   153
         */
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   154
        _syncUIStack: function() {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   155
            this._uiSetShim(this.get(SHIM));
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   156
            this._uiSetZIndex(this.get(ZINDEX));
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   157
        },
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   158
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   159
        /**
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   160
         * Binds event listeners responsible for updating the UI state in response to
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   161
         * Widget stack related state changes.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   162
         * <p>
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   163
         * This method is invoked after bindUI is invoked for the Widget class
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   164
         * using YUI's aop infrastructure.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   165
         * </p>
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   166
         * @method _bindUIStack
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   167
         * @protected
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   168
         */
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   169
        _bindUIStack: function() {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   170
            this.after(ShimChange, this._afterShimChange);
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   171
            this.after(ZIndexChange, this._afterZIndexChange);
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   172
        },
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   173
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   174
        /**
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   175
         * Creates/Initializes the DOM to support stackability.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   176
         * <p>
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   177
         * This method in invoked after renderUI is invoked for the Widget class
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   178
         * using YUI's aop infrastructure.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   179
         * </p>
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   180
         * @method _renderUIStack
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   181
         * @protected
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   182
         */
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   183
        _renderUIStack: function() {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   184
            this._stackNode.addClass(Stack.STACKED_CLASS_NAME);
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   185
        },
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   186
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   187
        /**
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   188
        Parses a `zIndex` attribute value from this widget's `srcNode`.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   189
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   190
        @method _parseZIndex
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   191
        @param {Node} srcNode The node to parse a `zIndex` value from.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   192
        @return {Mixed} The parsed `zIndex` value.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   193
        @protected
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   194
        **/
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   195
        _parseZIndex: function (srcNode) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   196
            var zIndex;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   197
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   198
            // Prefers how WebKit handles `z-index` which better matches the
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   199
            // spec:
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   200
            //
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   201
            // * http://www.w3.org/TR/CSS2/visuren.html#z-index
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   202
            // * https://bugs.webkit.org/show_bug.cgi?id=15562
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   203
            //
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   204
            // When a node isn't rendered in the document, and/or when a
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   205
            // node is not positioned, then it doesn't have a context to derive
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   206
            // a valid `z-index` value from.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   207
            if (!srcNode.inDoc() || srcNode.getStyle('position') === 'static') {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   208
                zIndex = 'auto';
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   209
            } else {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   210
                // Uses `getComputedStyle()` because it has greater accuracy in
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   211
                // more browsers than `getStyle()` does for `z-index`.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   212
                zIndex = srcNode.getComputedStyle('zIndex');
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   213
            }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   214
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   215
            // This extension adds a stacking context to widgets, therefore a
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   216
            // `srcNode` witout a stacking context (i.e. "auto") will return
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   217
            // `null` from this DOM parser. This way the widget's default or
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   218
            // user provided value for `zIndex` will be used.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   219
            return zIndex === 'auto' ? null : zIndex;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   220
        },
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   221
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   222
        /**
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   223
         * Default setter for zIndex attribute changes. Normalizes zIndex values to
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   224
         * numbers, converting non-numerical values to 0.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   225
         *
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   226
         * @method _setZIndex
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   227
         * @protected
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   228
         * @param {String | Number} zIndex
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   229
         * @return {Number} Normalized zIndex
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   230
         */
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   231
        _setZIndex: function(zIndex) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   232
            if (L.isString(zIndex)) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   233
                zIndex = parseInt(zIndex, 10);
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   234
            }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   235
            if (!L.isNumber(zIndex)) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   236
                zIndex = 0;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   237
            }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   238
            return zIndex;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   239
        },
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   240
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   241
        /**
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   242
         * Default attribute change listener for the shim attribute, responsible
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   243
         * for updating the UI, in response to attribute changes.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   244
         *
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   245
         * @method _afterShimChange
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   246
         * @protected
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   247
         * @param {EventFacade} e The event facade for the attribute change
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   248
         */
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   249
        _afterShimChange : function(e) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   250
            this._uiSetShim(e.newVal);
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   251
        },
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   252
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   253
        /**
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   254
         * Default attribute change listener for the zIndex attribute, responsible
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   255
         * for updating the UI, in response to attribute changes.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   256
         *
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   257
         * @method _afterZIndexChange
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   258
         * @protected
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   259
         * @param {EventFacade} e The event facade for the attribute change
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   260
         */
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   261
        _afterZIndexChange : function(e) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   262
            this._uiSetZIndex(e.newVal);
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   263
        },
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   264
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   265
        /**
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   266
         * Updates the UI to reflect the zIndex value passed in.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   267
         *
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   268
         * @method _uiSetZIndex
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   269
         * @protected
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   270
         * @param {number} zIndex The zindex to be reflected in the UI
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   271
         */
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   272
        _uiSetZIndex: function (zIndex) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   273
            this._stackNode.setStyle(ZINDEX, zIndex);
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   274
        },
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   275
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   276
        /**
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   277
         * Updates the UI to enable/disable the shim. If the widget is not currently visible,
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   278
         * creation of the shim is deferred until it is made visible, for performance reasons.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   279
         *
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   280
         * @method _uiSetShim
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   281
         * @protected
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   282
         * @param {boolean} enable If true, creates/renders the shim, if false, removes it.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   283
         */
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   284
        _uiSetShim: function (enable) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   285
            if (enable) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   286
                // Lazy creation
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   287
                if (this.get(VISIBLE)) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   288
                    this._renderShim();
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   289
                } else {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   290
                    this._renderShimDeferred();
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   291
                }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   292
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   293
                // Eagerly attach resize handlers
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   294
                //
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   295
                // Required because of Event stack behavior, commit ref: cd8dddc
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   296
                // Should be revisted after Ticket #2531067 is resolved.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   297
                if (UA.ie == 6) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   298
                    this._addShimResizeHandlers();
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   299
                }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   300
            } else {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   301
                this._destroyShim();
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   302
            }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   303
        },
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   304
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   305
        /**
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   306
         * Sets up change handlers for the visible attribute, to defer shim creation/rendering
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   307
         * until the Widget is made visible.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   308
         *
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   309
         * @method _renderShimDeferred
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   310
         * @private
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   311
         */
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   312
        _renderShimDeferred : function() {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   313
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   314
            this._stackHandles[SHIM_DEFERRED] = this._stackHandles[SHIM_DEFERRED] || [];
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   315
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   316
            var handles = this._stackHandles[SHIM_DEFERRED],
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   317
                createBeforeVisible = function(e) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   318
                    if (e.newVal) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   319
                        this._renderShim();
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   320
                    }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   321
                };
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   322
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   323
            handles.push(this.on(VisibleChange, createBeforeVisible));
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   324
            // Depending how how Ticket #2531067 is resolved, a reversal of
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   325
            // commit ref: cd8dddc could lead to a more elagent solution, with
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   326
            // the addition of this line here:
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   327
            //
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   328
            // handles.push(this.after(VisibleChange, this.sizeShim));
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   329
        },
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   330
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   331
        /**
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   332
         * Sets up event listeners to resize the shim when the size of the Widget changes.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   333
         * <p>
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   334
         * NOTE: This method is only used for IE6 currently, since IE6 doesn't support a way to
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   335
         * resize the shim purely through CSS, when the Widget does not have an explicit width/height
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   336
         * set.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   337
         * </p>
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   338
         * @method _addShimResizeHandlers
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   339
         * @private
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   340
         */
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   341
        _addShimResizeHandlers : function() {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   342
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   343
            this._stackHandles[SHIM_RESIZE] = this._stackHandles[SHIM_RESIZE] || [];
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   344
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   345
            var sizeShim = this.sizeShim,
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   346
                handles = this._stackHandles[SHIM_RESIZE];
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   347
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   348
            handles.push(this.after(VisibleChange, sizeShim));
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   349
            handles.push(this.after(WidthChange, sizeShim));
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   350
            handles.push(this.after(HeightChange, sizeShim));
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   351
            handles.push(this.after(ContentUpdate, sizeShim));
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   352
        },
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   353
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   354
        /**
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   355
         * Detaches any handles stored for the provided key
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   356
         *
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   357
         * @method _detachStackHandles
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   358
         * @param String handleKey The key defining the group of handles which should be detached
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   359
         * @private
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   360
         */
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   361
        _detachStackHandles : function(handleKey) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   362
            var handles = this._stackHandles[handleKey],
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   363
                handle;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   364
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   365
            if (handles && handles.length > 0) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   366
                while((handle = handles.pop())) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   367
                    handle.detach();
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   368
                }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   369
            }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   370
        },
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   371
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   372
        /**
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   373
         * Creates the shim element and adds it to the DOM
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   374
         *
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   375
         * @method _renderShim
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   376
         * @private
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   377
         */
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   378
        _renderShim : function() {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   379
            var shimEl = this._shimNode,
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   380
                stackEl = this._stackNode;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   381
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   382
            if (!shimEl) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   383
                shimEl = this._shimNode = this._getShimTemplate();
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   384
                stackEl.insertBefore(shimEl, stackEl.get(FIRST_CHILD));
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   385
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   386
                this._detachStackHandles(SHIM_DEFERRED);
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   387
                this.sizeShim();
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   388
            }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   389
        },
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   390
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   391
        /**
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   392
         * Removes the shim from the DOM, and detaches any related event
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   393
         * listeners.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   394
         *
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   395
         * @method _destroyShim
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   396
         * @private
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   397
         */
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   398
        _destroyShim : function() {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   399
            if (this._shimNode) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   400
                this._shimNode.get(PARENT_NODE).removeChild(this._shimNode);
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   401
                this._shimNode = null;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   402
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   403
                this._detachStackHandles(SHIM_DEFERRED);
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   404
                this._detachStackHandles(SHIM_RESIZE);
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   405
            }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   406
        },
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   407
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   408
        /**
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   409
         * For IE6, synchronizes the size and position of iframe shim to that of
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   410
         * Widget bounding box which it is protecting. For all other browsers,
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   411
         * this method does not do anything.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   412
         *
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   413
         * @method sizeShim
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   414
         */
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   415
        sizeShim: function () {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   416
            var shim = this._shimNode,
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   417
                node = this._stackNode;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   418
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   419
            if (shim && UA.ie === 6 && this.get(VISIBLE)) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   420
                shim.setStyle(WIDTH, node.get(OFFSET_WIDTH) + PX);
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   421
                shim.setStyle(HEIGHT, node.get(OFFSET_HEIGHT) + PX);
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   422
            }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   423
        },
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   424
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   425
        /**
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   426
         * Creates a cloned shim node, using the SHIM_TEMPLATE html template, for use on a new instance.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   427
         *
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   428
         * @method _getShimTemplate
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   429
         * @private
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   430
         * @return {Node} node A new shim Node instance.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   431
         */
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   432
        _getShimTemplate : function() {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   433
            return Node.create(Stack.SHIM_TEMPLATE, this._stackNode.get(OWNER_DOCUMENT));
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   434
        }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   435
    };
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   436
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   437
    Y.WidgetStack = Stack;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   438
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   439
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   440
}, '@VERSION@', {"requires": ["base-build", "widget"], "skinnable": true});