src/cm/media/js/lib/yui/yui3-3.15.0/build/event-hover/event-hover-debug.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('event-hover', 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
 * Adds support for a "hover" event.  The event provides a convenience wrapper
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
     5
 * for subscribing separately to mouseenter and mouseleave.  The signature for
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
     6
 * subscribing to the event is</p>
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
     7
 *
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
     8
 * <pre><code>node.on("hover", overFn, outFn);
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
     9
 * node.delegate("hover", overFn, outFn, ".filterSelector");
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    10
 * Y.on("hover", overFn, outFn, ".targetSelector");
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    11
 * Y.delegate("hover", overFn, outFn, "#container", ".filterSelector");
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    12
 * </code></pre>
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    13
 *
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    14
 * <p>Additionally, for compatibility with a more typical subscription
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    15
 * signature, the following are also supported:</p>
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    16
 *
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    17
 * <pre><code>Y.on("hover", overFn, ".targetSelector", outFn);
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    18
 * Y.delegate("hover", overFn, "#container", outFn, ".filterSelector");
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    19
 * </code></pre>
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    20
 *
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    21
 * @module event
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    22
 * @submodule event-hover
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    23
 */
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    24
var isFunction = Y.Lang.isFunction,
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    25
    noop = function () {},
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    26
    conf = {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    27
        processArgs: function (args) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    28
            // Y.delegate('hover', over, out, '#container', '.filter')
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    29
            // comes in as ['hover', over, out, '#container', '.filter'], but
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    30
            // node.delegate('hover', over, out, '.filter')
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    31
            // comes in as ['hover', over, containerEl, out, '.filter']
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    32
            var i = isFunction(args[2]) ? 2 : 3;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    33
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    34
            return (isFunction(args[i])) ? args.splice(i,1)[0] : noop;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    35
        },
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    36
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    37
        on: function (node, sub, notifier, filter) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    38
            var args = (sub.args) ? sub.args.slice() : [];
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    39
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    40
            args.unshift(null);
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    41
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    42
            sub._detach = node[(filter) ? "delegate" : "on"]({
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    43
                mouseenter: function (e) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    44
                    e.phase = 'over';
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    45
                    notifier.fire(e);
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    46
                },
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    47
                mouseleave: function (e) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    48
                    var thisObj = sub.context || this;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    49
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    50
                    args[0] = e;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    51
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    52
                    e.type = 'hover';
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    53
                    e.phase = 'out';
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    54
                    sub._extra.apply(thisObj, args);
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    55
                }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    56
            }, filter);
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
        detach: function (node, sub, notifier) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    60
            sub._detach.detach();
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    61
        }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    62
    };
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    63
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    64
conf.delegate = conf.on;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    65
conf.detachDelegate = conf.detach;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    66
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    67
Y.Event.define("hover", conf);
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    68
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    69
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    70
}, '@VERSION@', {"requires": ["event-mouseenter"]});