weekly release 2.4dev
[moodle.git] / lib / yuilib / 3.7.1 / build / event-outside / event-outside-coverage.js
blob916202b47f1d10871177ac898ed6ab8a73e77767
1 /*
2 YUI 3.7.1 (build 5627)
3 Copyright 2012 Yahoo! Inc. All rights reserved.
4 Licensed under the BSD License.
5 http://yuilibrary.com/license/
6 */
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++;
13         }
14         coverage.lines[line]++;
15     };
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++;
21         }
22         coverage.functions[funcId]++;
23     };
25 _yuitest_coverage["build/event-outside/event-outside.js"] = {
26     lines: {},
27     functions: {},
28     coveredLines: 0,
29     calledLines: 0,
30     coveredFunctions: 0,
31     calledFunctions: 0,
32     path: "build/event-outside/event-outside.js",
33     code: []
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) {
43 /**
44  * Outside events are synthetic DOM events that fire when a corresponding native
45  * or synthetic DOM event occurs outside a bound element.
46  *
47  * The following outside events are pre-defined by this module:
48  * <ul>
49  *   <li>blur</li>
50  *   <li>change</li>
51  *   <li>click</li>
52  *   <li>dblclick</li>
53  *   <li>focus</li>
54  *   <li>keydown</li>
55  *   <li>keypress</li>
56  *   <li>keyup</li>
57  *   <li>mousedown</li>
58  *   <li>mousemove</li>
59  *   <li>mouseout</li>
60  *   <li>mouseover</li>
61  *   <li>mouseup</li>
62  *   <li>select</li>
63  *   <li>submit</li>
64  * </ul>
65  *
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>.
72  *
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
76  *
77  * @module event
78  * @submodule event-outside
79  * @author brettstimmerman
80  * @since 3.4.0
81  */
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);
86 var nativeEvents = [
87         'blur', 'change', 'click', 'dblclick', 'focus', 'keydown', 'keypress',
88         'keyup', 'mousedown', 'mousemove', 'mouseout', 'mouseover', 'mouseup',
89         'select', 'submit'
90     ];
92 /**
93  * Defines a new outside event to correspond with the given DOM event.
94  *
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>.
99  *
100  * @method defineOutside
101  * @param {String} event DOM event
102  * @param {String} name (optional) custom outside event name
103  * @static
104  * @for Event
105  */
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);
113 var config = {
114     
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);
125 notifier.fire(e);
126                 }
127             }, this);
128         },
129         
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);
133 sub.handle.detach();
134         },
135         
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);
144 notifier.fire(e);
145                 }
146             }, filter, this);
147         },
148         
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);
155 return p === node;
156                 });
157         }
158     };
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"]});