3 Copyright 2012 Yahoo! Inc. All rights reserved.
4 Licensed under the BSD License.
5 http://yuilibrary.com/license/
7 if (typeof _yuitest_coverage == "undefined"){
8 _yuitest_coverage = {};
9 _yuitest_coverline = function(src, line){
10 var coverage = _yuitest_coverage[src];
11 if (!coverage.lines[line]){
12 coverage.calledLines++;
14 coverage.lines[line]++;
16 _yuitest_coverfunc = function(src, name, line){
17 var coverage = _yuitest_coverage[src],
18 funcId = name + ":" + line;
19 if (!coverage.functions[funcId]){
20 coverage.calledFunctions++;
22 coverage.functions[funcId]++;
25 _yuitest_coverage["build/event-outside/event-outside.js"] = {
32 path: "build/event-outside/event-outside.js",
35 _yuitest_coverage["build/event-outside/event-outside.js"].code=["YUI.add('event-outside', function (Y, NAME) {","","/**"," * Outside events are synthetic DOM events that fire when a corresponding native"," * or synthetic DOM event occurs outside a bound element."," *"," * The following outside events are pre-defined by this module:"," * <ul>"," * <li>blur</li>"," * <li>change</li>"," * <li>click</li>"," * <li>dblclick</li>"," * <li>focus</li>"," * <li>keydown</li>"," * <li>keypress</li>"," * <li>keyup</li>"," * <li>mousedown</li>"," * <li>mousemove</li>"," * <li>mouseout</li>"," * <li>mouseover</li>"," * <li>mouseup</li>"," * <li>select</li>"," * <li>submit</li>"," * </ul>"," *"," * Define new outside events with"," * <code>Y.Event.defineOutside(eventType);</code>."," * By default, the created synthetic event name will be the name of the event"," * with \"outside\" appended (e.g. \"click\" becomes \"clickoutside\"). If you want"," * a different name for the created Event, pass it as a second argument like so:"," * <code>Y.Event.defineOutside(eventType, \"yonderclick\")</code>."," *"," * This module was contributed by Brett Stimmerman, promoted from his"," * gallery-outside-events module at"," * http://yuilibrary.com/gallery/show/outside-events"," *"," * @module event"," * @submodule event-outside"," * @author brettstimmerman"," * @since 3.4.0"," */","","// Outside events are pre-defined for each of these native DOM events","var nativeEvents = ["," 'blur', 'change', 'click', 'dblclick', 'focus', 'keydown', 'keypress',"," 'keyup', 'mousedown', 'mousemove', 'mouseout', 'mouseover', 'mouseup',"," 'select', 'submit'"," ];","","/**"," * Defines a new outside event to correspond with the given DOM event."," *"," * By default, the created synthetic event name will be the name of the event"," * with \"outside\" appended (e.g. \"click\" becomes \"clickoutside\"). If you want"," * a different name for the created Event, pass it as a second argument like so:"," * <code>Y.Event.defineOutside(eventType, \"yonderclick\")</code>."," *"," * @method defineOutside"," * @param {String} event DOM event"," * @param {String} name (optional) custom outside event name"," * @static"," * @for Event"," */","Y.Event.defineOutside = function (event, name) {"," name = name || (event + 'outside');",""," var config = {"," "," on: function (node, sub, notifier) {"," sub.handle = Y.one('doc').on(event, function(e) {"," if (this.isOutside(node, e.target)) {"," e.currentTarget = node;"," notifier.fire(e);"," }"," }, this);"," },"," "," detach: function (node, sub, notifier) {"," sub.handle.detach();"," },"," "," delegate: function (node, sub, notifier, filter) {"," sub.handle = Y.one('doc').delegate(event, function (e) {"," if (this.isOutside(node, e.target)) {"," notifier.fire(e);"," }"," }, filter, this);"," },"," "," isOutside: function (node, target) {"," return target !== node && !target.ancestor(function (p) {"," return p === node;"," });"," }"," };"," config.detachDelegate = config.detach;",""," Y.Event.define(name, config);","};","","// Define outside events for some common native DOM events","Y.Array.each(nativeEvents, function (event) {"," Y.Event.defineOutside(event);","});","","","}, '3.7.1', {\"requires\": [\"event-synthetic\"]});"];
36 _yuitest_coverage["build/event-outside/event-outside.js"].lines = {"1":0,"44":0,"64":0,"65":0,"67":0,"70":0,"71":0,"72":0,"73":0,"79":0,"83":0,"84":0,"85":0,"91":0,"92":0,"96":0,"98":0,"102":0,"103":0};
37 _yuitest_coverage["build/event-outside/event-outside.js"].functions = {"(anonymous 2):70":0,"on:69":0,"detach:78":0,"(anonymous 3):83":0,"delegate:82":0,"(anonymous 4):91":0,"isOutside:90":0,"defineOutside:64":0,"(anonymous 5):102":0,"(anonymous 1):1":0};
38 _yuitest_coverage["build/event-outside/event-outside.js"].coveredLines = 19;
39 _yuitest_coverage["build/event-outside/event-outside.js"].coveredFunctions = 10;
40 _yuitest_coverline("build/event-outside/event-outside.js", 1);
41 YUI.add('event-outside', function (Y, NAME) {
44 * Outside events are synthetic DOM events that fire when a corresponding native
45 * or synthetic DOM event occurs outside a bound element.
47 * The following outside events are pre-defined by this module:
66 * Define new outside events with
67 * <code>Y.Event.defineOutside(eventType);</code>.
68 * By default, the created synthetic event name will be the name of the event
69 * with "outside" appended (e.g. "click" becomes "clickoutside"). If you want
70 * a different name for the created Event, pass it as a second argument like so:
71 * <code>Y.Event.defineOutside(eventType, "yonderclick")</code>.
73 * This module was contributed by Brett Stimmerman, promoted from his
74 * gallery-outside-events module at
75 * http://yuilibrary.com/gallery/show/outside-events
78 * @submodule event-outside
79 * @author brettstimmerman
83 // Outside events are pre-defined for each of these native DOM events
84 _yuitest_coverfunc("build/event-outside/event-outside.js", "(anonymous 1)", 1);
85 _yuitest_coverline("build/event-outside/event-outside.js", 44);
87 'blur', 'change', 'click', 'dblclick', 'focus', 'keydown', 'keypress',
88 'keyup', 'mousedown', 'mousemove', 'mouseout', 'mouseover', 'mouseup',
93 * Defines a new outside event to correspond with the given DOM event.
95 * By default, the created synthetic event name will be the name of the event
96 * with "outside" appended (e.g. "click" becomes "clickoutside"). If you want
97 * a different name for the created Event, pass it as a second argument like so:
98 * <code>Y.Event.defineOutside(eventType, "yonderclick")</code>.
100 * @method defineOutside
101 * @param {String} event DOM event
102 * @param {String} name (optional) custom outside event name
106 _yuitest_coverline("build/event-outside/event-outside.js", 64);
107 Y.Event.defineOutside = function (event, name) {
108 _yuitest_coverfunc("build/event-outside/event-outside.js", "defineOutside", 64);
109 _yuitest_coverline("build/event-outside/event-outside.js", 65);
110 name = name || (event + 'outside');
112 _yuitest_coverline("build/event-outside/event-outside.js", 67);
115 on: function (node, sub, notifier) {
116 _yuitest_coverfunc("build/event-outside/event-outside.js", "on", 69);
117 _yuitest_coverline("build/event-outside/event-outside.js", 70);
118 sub.handle = Y.one('doc').on(event, function(e) {
119 _yuitest_coverfunc("build/event-outside/event-outside.js", "(anonymous 2)", 70);
120 _yuitest_coverline("build/event-outside/event-outside.js", 71);
121 if (this.isOutside(node, e.target)) {
122 _yuitest_coverline("build/event-outside/event-outside.js", 72);
123 e.currentTarget = node;
124 _yuitest_coverline("build/event-outside/event-outside.js", 73);
130 detach: function (node, sub, notifier) {
131 _yuitest_coverfunc("build/event-outside/event-outside.js", "detach", 78);
132 _yuitest_coverline("build/event-outside/event-outside.js", 79);
136 delegate: function (node, sub, notifier, filter) {
137 _yuitest_coverfunc("build/event-outside/event-outside.js", "delegate", 82);
138 _yuitest_coverline("build/event-outside/event-outside.js", 83);
139 sub.handle = Y.one('doc').delegate(event, function (e) {
140 _yuitest_coverfunc("build/event-outside/event-outside.js", "(anonymous 3)", 83);
141 _yuitest_coverline("build/event-outside/event-outside.js", 84);
142 if (this.isOutside(node, e.target)) {
143 _yuitest_coverline("build/event-outside/event-outside.js", 85);
149 isOutside: function (node, target) {
150 _yuitest_coverfunc("build/event-outside/event-outside.js", "isOutside", 90);
151 _yuitest_coverline("build/event-outside/event-outside.js", 91);
152 return target !== node && !target.ancestor(function (p) {
153 _yuitest_coverfunc("build/event-outside/event-outside.js", "(anonymous 4)", 91);
154 _yuitest_coverline("build/event-outside/event-outside.js", 92);
159 _yuitest_coverline("build/event-outside/event-outside.js", 96);
160 config.detachDelegate = config.detach;
162 _yuitest_coverline("build/event-outside/event-outside.js", 98);
163 Y.Event.define(name, config);
166 // Define outside events for some common native DOM events
167 _yuitest_coverline("build/event-outside/event-outside.js", 102);
168 Y.Array.each(nativeEvents, function (event) {
169 _yuitest_coverfunc("build/event-outside/event-outside.js", "(anonymous 5)", 102);
170 _yuitest_coverline("build/event-outside/event-outside.js", 103);
171 Y.Event.defineOutside(event);
175 }, '3.7.1', {"requires": ["event-synthetic"]});