src/cm/media/js/lib/yui/yui3-3.15.0/build/widget-autohide/widget-autohide.js
author Yves-Marie Haussonne <ymh.work+github@gmail.com>
Fri, 09 May 2014 18:35:26 +0200
changeset 656 a84519031134
parent 602 e16a97fb364a
permissions -rw-r--r--
add link to "privacy policy" in the header test
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
602
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
     1
YUI.add('widget-autohide', 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
 * A widget-level extension that provides ability to hide widget when
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
     5
 * certain events occur.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
     6
 *
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
     7
 * @module widget-autohide
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
     8
 * @author eferraiuolo, tilomitra
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
     9
 * @since 3.4.0
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    10
 */
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    11
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    12
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    13
var WIDGET_AUTOHIDE    = 'widgetAutohide',
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    14
    AUTOHIDE            = 'autohide',
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    15
    CLICK_OUTSIDE     = 'clickoutside',
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    16
    FOCUS_OUTSIDE     = 'focusoutside',
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    17
    DOCUMENT            = 'document',
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    18
    KEY                 = 'key',
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    19
    PRESS_ESCAPE         = 'esc',
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
    RENDERED            = "rendered",
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    23
    BOUNDING_BOX        = "boundingBox",
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    24
    VISIBLE             = "visible",
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    25
    CHANGE              = 'Change',
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    26
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    27
    getCN               = Y.ClassNameManager.getClassName;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    28
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    29
/**
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    30
 * The WidgetAutohide class provides the hideOn attribute which can
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    31
 * be used to hide the widget when certain events occur.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    32
 *
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    33
 * @class WidgetAutohide
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    34
 * @param {Object} config User configuration object
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    35
 */
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    36
function WidgetAutohide(config) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    37
    Y.after(this._bindUIAutohide, this, BIND_UI);
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    38
    Y.after(this._syncUIAutohide, this, SYNC_UI);
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    39
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    40
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    41
    if (this.get(RENDERED)) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    42
        this._bindUIAutohide();
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    43
        this._syncUIAutohide();
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    44
    }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    45
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    46
}
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
* Static property used to define the default attribute
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    50
* configuration introduced by WidgetAutohide.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    51
*
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    52
* @property ATTRS
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    53
* @static
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    54
* @type Object
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    55
*/
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    56
WidgetAutohide.ATTRS = {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    57
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    58
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    59
    /**
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    60
     * @attribute hideOn
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    61
     * @type array
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    62
     *
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    63
     * @description An array of objects corresponding to the nodes, events, and keycodes to hide the widget on.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    64
     * The implementer can supply an array of objects, with each object having the following properties:
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    65
     * <p>eventName: (string, required): The eventName to listen to.</p>
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    66
     * <p>node: (Y.Node, optional): The Y.Node that will fire the event (defaults to the boundingBox of the widget)</p>
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    67
     * <p>keyCode: (string, optional): If listening for key events, specify the keyCode</p>
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    68
     * <p>By default, this attribute consists of one object which will cause the widget to hide if the
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    69
     * escape key is pressed.</p>
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    70
     */
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    71
    hideOn: {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    72
        validator: Y.Lang.isArray,
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    73
        valueFn  : function() {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    74
            return [
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    75
                {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    76
                    node: Y.one(DOCUMENT),
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    77
                    eventName: KEY,
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    78
                    keyCode: PRESS_ESCAPE
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
        }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    82
    }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    83
};
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    84
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    85
WidgetAutohide.prototype = {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    86
    // *** Instance Members *** //
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    87
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    88
        _uiHandlesAutohide : null,
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    89
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    90
        // *** Lifecycle Methods *** //
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    91
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    92
        destructor : function () {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    93
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    94
            this._detachUIHandlesAutohide();
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    95
        },
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    96
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    97
        /**
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    98
         * Binds event listeners to the widget.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    99
         * <p>
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   100
         * This method in invoked after bindUI is invoked for the Widget class
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   101
         * using YUI's aop infrastructure.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   102
         * </p>
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   103
         * @method _bindUIAutohide
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   104
         * @protected
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   105
         */
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   106
        _bindUIAutohide : function () {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   107
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   108
            this.after(VISIBLE+CHANGE, this._afterHostVisibleChangeAutohide);
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   109
            this.after("hideOnChange", this._afterHideOnChange);
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   110
        },
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   111
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   112
        /**
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   113
         * Syncs up the widget based on its current state. In particular, removes event listeners if
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   114
         * widget is not visible, and attaches them otherwise.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   115
         * <p>
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   116
         * This method in invoked after syncUI is invoked for the Widget class
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   117
         * using YUI's aop infrastructure.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   118
         * </p>
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   119
         * @method _syncUIAutohide
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   120
         * @protected
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   121
         */
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   122
        _syncUIAutohide : function () {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   123
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   124
            this._uiSetHostVisibleAutohide(this.get(VISIBLE));
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
        // *** Private Methods *** //
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   128
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   129
        /**
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   130
         * Removes event listeners if widget is not visible, and attaches them otherwise.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   131
         *
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   132
         * @method _uiSetHostVisibleAutohide
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   133
         * @protected
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   134
         */
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   135
        _uiSetHostVisibleAutohide : function (visible) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   136
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   137
            if (visible) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   138
                //this._attachUIHandlesAutohide();
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   139
                Y.later(1, this, '_attachUIHandlesAutohide');
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   140
            } else {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   141
                this._detachUIHandlesAutohide();
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   142
            }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   143
        },
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   144
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   145
        /**
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   146
         * Iterates through all objects in the hideOn attribute and creates event listeners.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   147
         *
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   148
         * @method _attachUIHandlesAutohide
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   149
         * @protected
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   150
         */
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   151
        _attachUIHandlesAutohide : function () {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   152
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   153
            if (this._uiHandlesAutohide) { return; }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   154
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   155
            var bb = this.get(BOUNDING_BOX),
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   156
                hide = Y.bind(this.hide,this),
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   157
                uiHandles = [],
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   158
                self = this,
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   159
                hideOn = this.get('hideOn'),
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   160
                i = 0,
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   161
                o = {node: undefined, ev: undefined, keyCode: undefined};
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   162
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   163
                //push all events on which the widget should be hidden
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   164
                for (; i < hideOn.length; i++) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   165
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   166
                    o.node = hideOn[i].node;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   167
                    o.ev = hideOn[i].eventName;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   168
                    o.keyCode = hideOn[i].keyCode;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   169
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   170
                    //no keycode or node defined
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   171
                    if (!o.node && !o.keyCode && o.ev) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   172
                        uiHandles.push(bb.on(o.ev, hide));
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
                    //node defined, no keycode (not a keypress)
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   176
                    else if (o.node && !o.keyCode && o.ev) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   177
                        uiHandles.push(o.node.on(o.ev, hide));
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   178
                    }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   179
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   180
                    //node defined, keycode defined, event defined (its a key press)
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   181
                    else if (o.node && o.keyCode && o.ev) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   182
                        uiHandles.push(o.node.on(o.ev, hide, o.keyCode));
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   183
                    }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   184
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   185
                    else {
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
                }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   189
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   190
            this._uiHandlesAutohide = uiHandles;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   191
        },
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   192
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   193
        /**
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   194
         * Detaches all event listeners created by this extension
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   195
         *
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   196
         * @method _detachUIHandlesAutohide
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   197
         * @protected
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   198
         */
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   199
        _detachUIHandlesAutohide : function () {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   200
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   201
            Y.each(this._uiHandlesAutohide, function(h){
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   202
                h.detach();
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   203
            });
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   204
            this._uiHandlesAutohide = null;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   205
        },
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   206
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   207
        /**
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   208
         * Default function called when the visibility of the widget changes. Determines
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   209
         * whether to attach or detach event listeners based on the visibility of the widget.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   210
         *
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   211
         * @method _afterHostVisibleChangeAutohide
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   212
         * @protected
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   213
         */
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   214
        _afterHostVisibleChangeAutohide : function (e) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   215
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   216
            this._uiSetHostVisibleAutohide(e.newVal);
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   217
        },
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   218
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   219
        /**
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   220
         * Default function called when hideOn Attribute is changed. Remove existing listeners and create new listeners.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   221
         *
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   222
         * @method _afterHideOnChange
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   223
         * @protected
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   224
         */
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   225
        _afterHideOnChange : function(e) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   226
            this._detachUIHandlesAutohide();
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   227
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   228
            if (this.get(VISIBLE)) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   229
                this._attachUIHandlesAutohide();
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   230
            }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   231
        }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   232
};
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   233
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   234
Y.WidgetAutohide = WidgetAutohide;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   235
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   236
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   237
}, '@VERSION@', {"requires": ["base-build", "event-key", "event-outside", "widget"]});