src/cm/media/js/lib/yui/yui_3.10.3/build/event-contextmenu/event-contextmenu.js
author Yves-Marie Haussonne <ymh.work+github@gmail.com>
Fri, 09 May 2014 18:35:26 +0200
changeset 656 a84519031134
parent 525 89ef5ed3c48b
permissions -rw-r--r--
add link to "privacy policy" in the header test
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
525
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     1
/*
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     2
YUI 3.10.3 (build 2fb5187)
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     3
Copyright 2013 Yahoo! Inc. All rights reserved.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     4
Licensed under the BSD License.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     5
http://yuilibrary.com/license/
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     6
*/
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     7
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     8
YUI.add('event-contextmenu', function (Y, NAME) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     9
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    10
/**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    11
 * Provides extended keyboard support for the "contextmenu" event such that:
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    12
 * <ul>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    13
 * <li>The browser's default context menu is suppressed regardless of how the event is triggered.</li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    14
 * <li>On Windows the "contextmenu" event is fired consistently regardless of whether the user
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    15
 * pressed the Menu key or Shift + F10.</li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    16
 * <li>When the "contextmenu" event is fired via the keyboard, the pageX, pageY, clientX and clientY
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    17
 * properties reference the center of the event target. This makes it easy for "contextmenu" event listeners
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    18
 * to position an overlay in response to the event by not having to worry about special handling of the x
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    19
 * and y coordinates based on the device that fired the event.</li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    20
 * <li>For Webkit and Gecko on the Mac it enables the use of the Shift + Control + Option + M keyboard
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    21
 * shortcut to fire the "contextmenu" event, which (by default) is only available when VoiceOver
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    22
 * (the screen reader on the Mac) is enabled.</li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    23
 * <li>For Opera on the Mac it ensures the "contextmenu" event is fired when the user presses
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    24
 * Shift + Command + M (Opera's context menu keyboard shortcut).</li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    25
 * </ul>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    26
 * @module event-contextmenu
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    27
 * @requires event
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    28
 */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    29
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    30
var Event = Y.Event,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    31
    DOM = Y.DOM,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    32
    UA = Y.UA,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    33
    OS = Y.UA.os,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    34
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    35
    ie = UA.ie,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    36
    gecko = UA.gecko,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    37
    webkit = UA.webkit,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    38
    opera = UA.opera,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    39
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    40
    isWin = (OS === "windows"),
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    41
    isMac = (OS === "macintosh"),
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    42
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    43
    eventData = {},
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    44
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    45
    conf = {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    46
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    47
        on: function (node, subscription, notifier, filter) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    48
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    49
            var handles = [];
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    50
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    51
            handles.push(Event._attach(["contextmenu", function (e) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    52
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    53
                // Any developer listening for the "contextmenu" event is likely
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    54
                // going to call preventDefault() to prevent the display of
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    55
                // the browser's context menu. So, you know, save them a step.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    56
                e.preventDefault();
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    57
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    58
                var id = Y.stamp(node),
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    59
                    data = eventData[id];
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    60
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    61
                if (data) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    62
                    e.clientX = data.clientX;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    63
                    e.clientY = data.clientY;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    64
                    e.pageX = data.pageX;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    65
                    e.pageY = data.pageY;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    66
                    delete eventData[id];
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    67
                }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    68
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    69
                notifier.fire(e);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    70
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    71
            }, node]));
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    72
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    73
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    74
            handles.push(node[filter ? "delegate" : "on"]("keydown", function (e) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    75
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    76
                var target = this.getDOMNode(),
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    77
                    shiftKey = e.shiftKey,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    78
                    keyCode = e.keyCode,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    79
                    shiftF10 = (shiftKey && keyCode == 121),
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    80
                    menuKey = (isWin && keyCode == 93),
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    81
                    ctrlKey = e.ctrlKey,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    82
                    mKey = (keyCode === 77),
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    83
                    macWebkitAndGeckoShortcut = (isMac && (webkit || gecko) && ctrlKey && shiftKey && e.altKey && mKey),
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    84
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    85
                    // Note: The context menu keyboard shortcut for Opera on the Mac is Shift + Cmd (metaKey) + M,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    86
                    // but e.metaKey is false for Opera, and Opera sets e.ctrlKey to true instead.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    87
                    macOperaShortcut = (isMac && opera && ctrlKey && shiftKey && mKey),
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    88
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    89
                    clientX = 0,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    90
                    clientY = 0,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    91
                    scrollX,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    92
                    scrollY,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    93
                    pageX,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    94
                    pageY,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    95
                    xy,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    96
                    x,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    97
                    y;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    98
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    99
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   100
                if ((isWin && (shiftF10 || menuKey)) ||
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   101
                        (macWebkitAndGeckoShortcut || macOperaShortcut)) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   102
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   103
                    // Need to call preventDefault() here b/c:
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   104
                    // 1) To prevent IE's menubar from gaining focus when the
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   105
                    // user presses Shift + F10
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   106
                    // 2) In Firefox and Opera for Win, Shift + F10 will display a
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   107
                    // context menu, but won't fire the "contextmenu" event. So, need
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   108
                    // to call preventDefault() to prevent the display of the
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   109
                    // browser's context menu
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   110
                    // 3) For Opera on the Mac the context menu keyboard shortcut
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   111
                    // (Shift + Cmd + M) will display a context menu, but like Firefox
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   112
                    // and Opera on windows, Opera doesn't fire a "contextmenu" event,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   113
                    // so preventDefault() is just used to supress Opera's
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   114
                    // default context menu.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   115
                    if (((ie || (isWin && (gecko || opera))) && shiftF10) || macOperaShortcut) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   116
                        e.preventDefault();
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   117
                    }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   118
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   119
                    xy = DOM.getXY(target);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   120
                    x = xy[0];
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   121
                    y = xy[1];
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   122
                    scrollX = DOM.docScrollX();
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   123
                    scrollY = DOM.docScrollY();
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   124
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   125
                    // Protect against instances where xy and might not be returned,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   126
                    // for example if the target is the document.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   127
                    if (!Y.Lang.isUndefined(x)) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   128
                        clientX = (x + (target.offsetWidth/2)) - scrollX;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   129
                        clientY = (y + (target.offsetHeight/2)) - scrollY;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   130
                    }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   131
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   132
                    pageX = clientX + scrollX;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   133
                    pageY = clientY + scrollY;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   134
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   135
                    // When the "contextmenu" event is fired from the keyboard
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   136
                    // clientX, clientY, pageX or pageY aren't set to useful
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   137
                    // values. So, we follow Safari's model here of setting
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   138
                    // the x & x coords to the center of the event target.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   139
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   140
                    if (menuKey || (isWin && webkit && shiftF10)) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   141
                        eventData[Y.stamp(node)] = {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   142
                            clientX: clientX,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   143
                            clientY: clientY,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   144
                            pageX: pageX,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   145
                            pageY: pageY
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   146
                        };
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   147
                    }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   148
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   149
                    // Don't need to call notifier.fire(e) when the Menu key
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   150
                    // is pressed as it fires the "contextmenu" event by default.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   151
                    //
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   152
                    // In IE the call to preventDefault() for Shift + F10
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   153
                    // prevents the "contextmenu" event from firing, so we need
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   154
                    // to call notifier.fire(e)
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   155
                    //
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   156
                    // Need to also call notifier.fire(e) for Gecko and Opera since
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   157
                    // neither Shift + F10 or Shift + Cmd + M fire the "contextmenu" event.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   158
                    //
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   159
                    // Lastly, also need to call notifier.fire(e) for all Mac browsers
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   160
                    // since neither Shift + Ctrl + Option + M (Webkit and Gecko) or
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   161
                    // Shift + Command + M (Opera) fire the "contextmenu" event.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   162
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   163
                    if (((ie || (isWin && (gecko || opera))) && shiftF10) || isMac) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   164
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   165
                        e.clientX = clientX;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   166
                        e.clientY = clientY;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   167
                        e.pageX = pageX;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   168
                        e.pageY = pageY;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   169
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   170
                        notifier.fire(e);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   171
                    }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   172
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   173
                }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   174
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   175
            }, filter));
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   176
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   177
            subscription._handles = handles;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   178
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   179
        },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   180
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   181
        detach: function (node, subscription, notifier) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   182
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   183
            Y.each(subscription._handles, function (handle) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   184
                handle.detach();
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   185
            });
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   186
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   187
        }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   188
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   189
    };
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   190
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   191
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   192
conf.delegate = conf.on;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   193
conf.detachDelegate = conf.detach;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   194
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   195
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   196
Event.define("contextmenu", conf, true);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   197
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   198
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   199
}, '3.10.3', {"requires": ["event-synthetic", "dom-screen"]});