try_api 0.0.10 → 0.0.11

Sign up to get free protection for your applications and to get access to all the features.
Files changed (154) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/try_api/application.js.coffee +0 -3
  3. data/app/assets/javascripts/try_api/bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.eot +0 -0
  4. data/app/assets/javascripts/try_api/bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.ttf +0 -0
  5. data/app/assets/javascripts/try_api/bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.woff +0 -0
  6. data/app/assets/javascripts/try_api/bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.woff2 +0 -0
  7. data/app/assets/javascripts/try_api/bower_components/bootstrap/fonts/glyphicons-halflings-regular.eot +0 -0
  8. data/app/assets/javascripts/try_api/bower_components/bootstrap/fonts/glyphicons-halflings-regular.ttf +0 -0
  9. data/app/assets/javascripts/try_api/bower_components/bootstrap/fonts/glyphicons-halflings-regular.woff +0 -0
  10. data/app/assets/javascripts/try_api/bower_components/bootstrap/fonts/glyphicons-halflings-regular.woff2 +0 -0
  11. data/app/assets/javascripts/try_api/bower_components/bootstrap/grunt/change-version.js +0 -0
  12. data/app/assets/javascripts/try_api/param.directive.js.coffee +9 -4
  13. data/app/models/try_api/menu_item.rb +0 -2
  14. data/app/models/try_api/method.rb +2 -2
  15. data/app/views/layouts/try_api/application.html.erb +4 -0
  16. data/app/views/try_api/pages/index.html +15 -10
  17. data/lib/try_api/version.rb +1 -1
  18. metadata +2 -138
  19. data/app/assets/javascripts/try_api/bower_components/jquery/AUTHORS.txt +0 -295
  20. data/app/assets/javascripts/try_api/bower_components/jquery/LICENSE.txt +0 -36
  21. data/app/assets/javascripts/try_api/bower_components/jquery/README.md +0 -65
  22. data/app/assets/javascripts/try_api/bower_components/jquery/bower.json +0 -14
  23. data/app/assets/javascripts/try_api/bower_components/jquery/dist/core.js +0 -481
  24. data/app/assets/javascripts/try_api/bower_components/jquery/dist/jquery.js +0 -10074
  25. data/app/assets/javascripts/try_api/bower_components/jquery/dist/jquery.min.js +0 -4
  26. data/app/assets/javascripts/try_api/bower_components/jquery/dist/jquery.slim.js +0 -7966
  27. data/app/assets/javascripts/try_api/bower_components/jquery/dist/jquery.slim.min.js +0 -4
  28. data/app/assets/javascripts/try_api/bower_components/jquery/external/sizzle/LICENSE.txt +0 -36
  29. data/app/assets/javascripts/try_api/bower_components/jquery/external/sizzle/dist/sizzle.js +0 -2217
  30. data/app/assets/javascripts/try_api/bower_components/jquery/external/sizzle/dist/sizzle.min.js +0 -3
  31. data/app/assets/javascripts/try_api/bower_components/jquery/external/sizzle/dist/sizzle.min.map +0 -1
  32. data/app/assets/javascripts/try_api/bower_components/jquery/src/ajax/jsonp.js +0 -102
  33. data/app/assets/javascripts/try_api/bower_components/jquery/src/ajax/load.js +0 -75
  34. data/app/assets/javascripts/try_api/bower_components/jquery/src/ajax/parseXML.js +0 -30
  35. data/app/assets/javascripts/try_api/bower_components/jquery/src/ajax/script.js +0 -77
  36. data/app/assets/javascripts/try_api/bower_components/jquery/src/ajax/var/location.js +0 -5
  37. data/app/assets/javascripts/try_api/bower_components/jquery/src/ajax/var/nonce.js +0 -7
  38. data/app/assets/javascripts/try_api/bower_components/jquery/src/ajax/var/rquery.js +0 -5
  39. data/app/assets/javascripts/try_api/bower_components/jquery/src/ajax/xhr.js +0 -169
  40. data/app/assets/javascripts/try_api/bower_components/jquery/src/ajax.js +0 -855
  41. data/app/assets/javascripts/try_api/bower_components/jquery/src/attributes/attr.js +0 -137
  42. data/app/assets/javascripts/try_api/bower_components/jquery/src/attributes/classes.js +0 -179
  43. data/app/assets/javascripts/try_api/bower_components/jquery/src/attributes/prop.js +0 -128
  44. data/app/assets/javascripts/try_api/bower_components/jquery/src/attributes/support.js +0 -33
  45. data/app/assets/javascripts/try_api/bower_components/jquery/src/attributes/val.js +0 -184
  46. data/app/assets/javascripts/try_api/bower_components/jquery/src/attributes.js +0 -13
  47. data/app/assets/javascripts/try_api/bower_components/jquery/src/callbacks.js +0 -234
  48. data/app/assets/javascripts/try_api/bower_components/jquery/src/core/DOMEval.js +0 -16
  49. data/app/assets/javascripts/try_api/bower_components/jquery/src/core/access.js +0 -67
  50. data/app/assets/javascripts/try_api/bower_components/jquery/src/core/init.js +0 -127
  51. data/app/assets/javascripts/try_api/bower_components/jquery/src/core/parseHTML.js +0 -65
  52. data/app/assets/javascripts/try_api/bower_components/jquery/src/core/ready-no-deferred.js +0 -111
  53. data/app/assets/javascripts/try_api/bower_components/jquery/src/core/ready.js +0 -95
  54. data/app/assets/javascripts/try_api/bower_components/jquery/src/core/readyException.js +0 -13
  55. data/app/assets/javascripts/try_api/bower_components/jquery/src/core/support.js +0 -20
  56. data/app/assets/javascripts/try_api/bower_components/jquery/src/core/var/rsingleTag.js +0 -6
  57. data/app/assets/javascripts/try_api/bower_components/jquery/src/core.js +0 -481
  58. data/app/assets/javascripts/try_api/bower_components/jquery/src/css/addGetHookIf.js +0 -26
  59. data/app/assets/javascripts/try_api/bower_components/jquery/src/css/adjustCSS.js +0 -71
  60. data/app/assets/javascripts/try_api/bower_components/jquery/src/css/curCSS.js +0 -59
  61. data/app/assets/javascripts/try_api/bower_components/jquery/src/css/hiddenVisibleSelectors.js +0 -15
  62. data/app/assets/javascripts/try_api/bower_components/jquery/src/css/showHide.js +0 -105
  63. data/app/assets/javascripts/try_api/bower_components/jquery/src/css/support.js +0 -89
  64. data/app/assets/javascripts/try_api/bower_components/jquery/src/css/var/cssExpand.js +0 -5
  65. data/app/assets/javascripts/try_api/bower_components/jquery/src/css/var/getStyles.js +0 -17
  66. data/app/assets/javascripts/try_api/bower_components/jquery/src/css/var/isHiddenWithinTree.js +0 -34
  67. data/app/assets/javascripts/try_api/bower_components/jquery/src/css/var/rmargin.js +0 -5
  68. data/app/assets/javascripts/try_api/bower_components/jquery/src/css/var/rnumnonpx.js +0 -7
  69. data/app/assets/javascripts/try_api/bower_components/jquery/src/css/var/swap.js +0 -26
  70. data/app/assets/javascripts/try_api/bower_components/jquery/src/css.js +0 -424
  71. data/app/assets/javascripts/try_api/bower_components/jquery/src/data/Data.js +0 -161
  72. data/app/assets/javascripts/try_api/bower_components/jquery/src/data/var/acceptData.js +0 -19
  73. data/app/assets/javascripts/try_api/bower_components/jquery/src/data/var/dataPriv.js +0 -7
  74. data/app/assets/javascripts/try_api/bower_components/jquery/src/data/var/dataUser.js +0 -7
  75. data/app/assets/javascripts/try_api/bower_components/jquery/src/data.js +0 -161
  76. data/app/assets/javascripts/try_api/bower_components/jquery/src/deferred/exceptionHook.js +0 -21
  77. data/app/assets/javascripts/try_api/bower_components/jquery/src/deferred.js +0 -389
  78. data/app/assets/javascripts/try_api/bower_components/jquery/src/deprecated.js +0 -30
  79. data/app/assets/javascripts/try_api/bower_components/jquery/src/dimensions.js +0 -56
  80. data/app/assets/javascripts/try_api/bower_components/jquery/src/effects/Tween.js +0 -123
  81. data/app/assets/javascripts/try_api/bower_components/jquery/src/effects/animatedSelector.js +0 -15
  82. data/app/assets/javascripts/try_api/bower_components/jquery/src/effects.js +0 -688
  83. data/app/assets/javascripts/try_api/bower_components/jquery/src/event/ajax.js +0 -22
  84. data/app/assets/javascripts/try_api/bower_components/jquery/src/event/alias.js +0 -29
  85. data/app/assets/javascripts/try_api/bower_components/jquery/src/event/focusin.js +0 -55
  86. data/app/assets/javascripts/try_api/bower_components/jquery/src/event/support.js +0 -11
  87. data/app/assets/javascripts/try_api/bower_components/jquery/src/event/trigger.js +0 -185
  88. data/app/assets/javascripts/try_api/bower_components/jquery/src/event.js +0 -726
  89. data/app/assets/javascripts/try_api/bower_components/jquery/src/exports/amd.js +0 -26
  90. data/app/assets/javascripts/try_api/bower_components/jquery/src/exports/global.js +0 -34
  91. data/app/assets/javascripts/try_api/bower_components/jquery/src/jquery.js +0 -40
  92. data/app/assets/javascripts/try_api/bower_components/jquery/src/manipulation/_evalUrl.js +0 -23
  93. data/app/assets/javascripts/try_api/bower_components/jquery/src/manipulation/buildFragment.js +0 -104
  94. data/app/assets/javascripts/try_api/bower_components/jquery/src/manipulation/getAll.js +0 -23
  95. data/app/assets/javascripts/try_api/bower_components/jquery/src/manipulation/setGlobalEval.js +0 -22
  96. data/app/assets/javascripts/try_api/bower_components/jquery/src/manipulation/support.js +0 -35
  97. data/app/assets/javascripts/try_api/bower_components/jquery/src/manipulation/var/rcheckableType.js +0 -5
  98. data/app/assets/javascripts/try_api/bower_components/jquery/src/manipulation/var/rscriptType.js +0 -5
  99. data/app/assets/javascripts/try_api/bower_components/jquery/src/manipulation/var/rtagName.js +0 -5
  100. data/app/assets/javascripts/try_api/bower_components/jquery/src/manipulation/wrapMap.js +0 -29
  101. data/app/assets/javascripts/try_api/bower_components/jquery/src/manipulation.js +0 -486
  102. data/app/assets/javascripts/try_api/bower_components/jquery/src/offset.js +0 -232
  103. data/app/assets/javascripts/try_api/bower_components/jquery/src/queue/delay.js +0 -24
  104. data/app/assets/javascripts/try_api/bower_components/jquery/src/queue.js +0 -145
  105. data/app/assets/javascripts/try_api/bower_components/jquery/src/selector-native.js +0 -237
  106. data/app/assets/javascripts/try_api/bower_components/jquery/src/selector-sizzle.js +0 -19
  107. data/app/assets/javascripts/try_api/bower_components/jquery/src/selector.js +0 -3
  108. data/app/assets/javascripts/try_api/bower_components/jquery/src/serialize.js +0 -126
  109. data/app/assets/javascripts/try_api/bower_components/jquery/src/traversing/findFilter.js +0 -99
  110. data/app/assets/javascripts/try_api/bower_components/jquery/src/traversing/var/dir.js +0 -22
  111. data/app/assets/javascripts/try_api/bower_components/jquery/src/traversing/var/rneedsContext.js +0 -8
  112. data/app/assets/javascripts/try_api/bower_components/jquery/src/traversing/var/siblings.js +0 -17
  113. data/app/assets/javascripts/try_api/bower_components/jquery/src/traversing.js +0 -178
  114. data/app/assets/javascripts/try_api/bower_components/jquery/src/var/ObjectFunctionString.js +0 -7
  115. data/app/assets/javascripts/try_api/bower_components/jquery/src/var/arr.js +0 -5
  116. data/app/assets/javascripts/try_api/bower_components/jquery/src/var/class2type.js +0 -6
  117. data/app/assets/javascripts/try_api/bower_components/jquery/src/var/concat.js +0 -7
  118. data/app/assets/javascripts/try_api/bower_components/jquery/src/var/document.js +0 -5
  119. data/app/assets/javascripts/try_api/bower_components/jquery/src/var/documentElement.js +0 -7
  120. data/app/assets/javascripts/try_api/bower_components/jquery/src/var/fnToString.js +0 -7
  121. data/app/assets/javascripts/try_api/bower_components/jquery/src/var/getProto.js +0 -5
  122. data/app/assets/javascripts/try_api/bower_components/jquery/src/var/hasOwn.js +0 -7
  123. data/app/assets/javascripts/try_api/bower_components/jquery/src/var/indexOf.js +0 -7
  124. data/app/assets/javascripts/try_api/bower_components/jquery/src/var/pnum.js +0 -5
  125. data/app/assets/javascripts/try_api/bower_components/jquery/src/var/push.js +0 -7
  126. data/app/assets/javascripts/try_api/bower_components/jquery/src/var/rcssNum.js +0 -9
  127. data/app/assets/javascripts/try_api/bower_components/jquery/src/var/rnotwhite.js +0 -5
  128. data/app/assets/javascripts/try_api/bower_components/jquery/src/var/slice.js +0 -7
  129. data/app/assets/javascripts/try_api/bower_components/jquery/src/var/support.js +0 -6
  130. data/app/assets/javascripts/try_api/bower_components/jquery/src/var/toString.js +0 -7
  131. data/app/assets/javascripts/try_api/bower_components/jquery/src/wrap.js +0 -77
  132. data/app/assets/javascripts/try_api/bower_components/jquery-slimscroll/README.md +0 -8
  133. data/app/assets/javascripts/try_api/bower_components/jquery-slimscroll/bower.json +0 -46
  134. data/app/assets/javascripts/try_api/bower_components/jquery-slimscroll/examples/allow-page-scroll.html +0 -94
  135. data/app/assets/javascripts/try_api/bower_components/jquery-slimscroll/examples/chaining.html +0 -80
  136. data/app/assets/javascripts/try_api/bower_components/jquery-slimscroll/examples/disable-fade-out.html +0 -94
  137. data/app/assets/javascripts/try_api/bower_components/jquery-slimscroll/examples/dynamic-content.html +0 -81
  138. data/app/assets/javascripts/try_api/bower_components/jquery-slimscroll/examples/height-width.html +0 -125
  139. data/app/assets/javascripts/try_api/bower_components/jquery-slimscroll/examples/index.html +0 -9
  140. data/app/assets/javascripts/try_api/bower_components/jquery-slimscroll/examples/libs/prettify/prettify.css +0 -52
  141. data/app/assets/javascripts/try_api/bower_components/jquery-slimscroll/examples/libs/prettify/prettify.js +0 -1477
  142. data/app/assets/javascripts/try_api/bower_components/jquery-slimscroll/examples/mouse-wheel.html +0 -99
  143. data/app/assets/javascripts/try_api/bower_components/jquery-slimscroll/examples/multiple-elements.html +0 -120
  144. data/app/assets/javascripts/try_api/bower_components/jquery-slimscroll/examples/navigation.html +0 -30
  145. data/app/assets/javascripts/try_api/bower_components/jquery-slimscroll/examples/nested.html +0 -82
  146. data/app/assets/javascripts/try_api/bower_components/jquery-slimscroll/examples/programmatic-scrolling.html +0 -138
  147. data/app/assets/javascripts/try_api/bower_components/jquery-slimscroll/examples/rail.html +0 -190
  148. data/app/assets/javascripts/try_api/bower_components/jquery-slimscroll/examples/scroll-events.html +0 -88
  149. data/app/assets/javascripts/try_api/bower_components/jquery-slimscroll/examples/scrollbar.html +0 -189
  150. data/app/assets/javascripts/try_api/bower_components/jquery-slimscroll/examples/start-position.html +0 -100
  151. data/app/assets/javascripts/try_api/bower_components/jquery-slimscroll/examples/style.css +0 -13
  152. data/app/assets/javascripts/try_api/bower_components/jquery-slimscroll/jquery.slimscroll.js +0 -474
  153. data/app/assets/javascripts/try_api/bower_components/jquery-slimscroll/jquery.slimscroll.min.js +0 -16
  154. data/app/assets/javascripts/try_api/bower_components/jquery-slimscroll/package.json +0 -32
@@ -1,726 +0,0 @@
1
- define( [
2
- "./core",
3
- "./var/document",
4
- "./var/documentElement",
5
- "./var/rnotwhite",
6
- "./var/slice",
7
- "./data/var/dataPriv",
8
-
9
- "./core/init",
10
- "./selector"
11
- ], function( jQuery, document, documentElement, rnotwhite, slice, dataPriv ) {
12
-
13
- "use strict";
14
-
15
- var
16
- rkeyEvent = /^key/,
17
- rmouseEvent = /^(?:mouse|pointer|contextmenu|drag|drop)|click/,
18
- rtypenamespace = /^([^.]*)(?:\.(.+)|)/;
19
-
20
- function returnTrue() {
21
- return true;
22
- }
23
-
24
- function returnFalse() {
25
- return false;
26
- }
27
-
28
- // Support: IE <=9 only
29
- // See #13393 for more info
30
- function safeActiveElement() {
31
- try {
32
- return document.activeElement;
33
- } catch ( err ) { }
34
- }
35
-
36
- function on( elem, types, selector, data, fn, one ) {
37
- var origFn, type;
38
-
39
- // Types can be a map of types/handlers
40
- if ( typeof types === "object" ) {
41
-
42
- // ( types-Object, selector, data )
43
- if ( typeof selector !== "string" ) {
44
-
45
- // ( types-Object, data )
46
- data = data || selector;
47
- selector = undefined;
48
- }
49
- for ( type in types ) {
50
- on( elem, type, selector, data, types[ type ], one );
51
- }
52
- return elem;
53
- }
54
-
55
- if ( data == null && fn == null ) {
56
-
57
- // ( types, fn )
58
- fn = selector;
59
- data = selector = undefined;
60
- } else if ( fn == null ) {
61
- if ( typeof selector === "string" ) {
62
-
63
- // ( types, selector, fn )
64
- fn = data;
65
- data = undefined;
66
- } else {
67
-
68
- // ( types, data, fn )
69
- fn = data;
70
- data = selector;
71
- selector = undefined;
72
- }
73
- }
74
- if ( fn === false ) {
75
- fn = returnFalse;
76
- } else if ( !fn ) {
77
- return elem;
78
- }
79
-
80
- if ( one === 1 ) {
81
- origFn = fn;
82
- fn = function( event ) {
83
-
84
- // Can use an empty set, since event contains the info
85
- jQuery().off( event );
86
- return origFn.apply( this, arguments );
87
- };
88
-
89
- // Use same guid so caller can remove using origFn
90
- fn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ );
91
- }
92
- return elem.each( function() {
93
- jQuery.event.add( this, types, fn, data, selector );
94
- } );
95
- }
96
-
97
- /*
98
- * Helper functions for managing events -- not part of the public interface.
99
- * Props to Dean Edwards' addEvent library for many of the ideas.
100
- */
101
- jQuery.event = {
102
-
103
- global: {},
104
-
105
- add: function( elem, types, handler, data, selector ) {
106
-
107
- var handleObjIn, eventHandle, tmp,
108
- events, t, handleObj,
109
- special, handlers, type, namespaces, origType,
110
- elemData = dataPriv.get( elem );
111
-
112
- // Don't attach events to noData or text/comment nodes (but allow plain objects)
113
- if ( !elemData ) {
114
- return;
115
- }
116
-
117
- // Caller can pass in an object of custom data in lieu of the handler
118
- if ( handler.handler ) {
119
- handleObjIn = handler;
120
- handler = handleObjIn.handler;
121
- selector = handleObjIn.selector;
122
- }
123
-
124
- // Ensure that invalid selectors throw exceptions at attach time
125
- // Evaluate against documentElement in case elem is a non-element node (e.g., document)
126
- if ( selector ) {
127
- jQuery.find.matchesSelector( documentElement, selector );
128
- }
129
-
130
- // Make sure that the handler has a unique ID, used to find/remove it later
131
- if ( !handler.guid ) {
132
- handler.guid = jQuery.guid++;
133
- }
134
-
135
- // Init the element's event structure and main handler, if this is the first
136
- if ( !( events = elemData.events ) ) {
137
- events = elemData.events = {};
138
- }
139
- if ( !( eventHandle = elemData.handle ) ) {
140
- eventHandle = elemData.handle = function( e ) {
141
-
142
- // Discard the second event of a jQuery.event.trigger() and
143
- // when an event is called after a page has unloaded
144
- return typeof jQuery !== "undefined" && jQuery.event.triggered !== e.type ?
145
- jQuery.event.dispatch.apply( elem, arguments ) : undefined;
146
- };
147
- }
148
-
149
- // Handle multiple events separated by a space
150
- types = ( types || "" ).match( rnotwhite ) || [ "" ];
151
- t = types.length;
152
- while ( t-- ) {
153
- tmp = rtypenamespace.exec( types[ t ] ) || [];
154
- type = origType = tmp[ 1 ];
155
- namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort();
156
-
157
- // There *must* be a type, no attaching namespace-only handlers
158
- if ( !type ) {
159
- continue;
160
- }
161
-
162
- // If event changes its type, use the special event handlers for the changed type
163
- special = jQuery.event.special[ type ] || {};
164
-
165
- // If selector defined, determine special event api type, otherwise given type
166
- type = ( selector ? special.delegateType : special.bindType ) || type;
167
-
168
- // Update special based on newly reset type
169
- special = jQuery.event.special[ type ] || {};
170
-
171
- // handleObj is passed to all event handlers
172
- handleObj = jQuery.extend( {
173
- type: type,
174
- origType: origType,
175
- data: data,
176
- handler: handler,
177
- guid: handler.guid,
178
- selector: selector,
179
- needsContext: selector && jQuery.expr.match.needsContext.test( selector ),
180
- namespace: namespaces.join( "." )
181
- }, handleObjIn );
182
-
183
- // Init the event handler queue if we're the first
184
- if ( !( handlers = events[ type ] ) ) {
185
- handlers = events[ type ] = [];
186
- handlers.delegateCount = 0;
187
-
188
- // Only use addEventListener if the special events handler returns false
189
- if ( !special.setup ||
190
- special.setup.call( elem, data, namespaces, eventHandle ) === false ) {
191
-
192
- if ( elem.addEventListener ) {
193
- elem.addEventListener( type, eventHandle );
194
- }
195
- }
196
- }
197
-
198
- if ( special.add ) {
199
- special.add.call( elem, handleObj );
200
-
201
- if ( !handleObj.handler.guid ) {
202
- handleObj.handler.guid = handler.guid;
203
- }
204
- }
205
-
206
- // Add to the element's handler list, delegates in front
207
- if ( selector ) {
208
- handlers.splice( handlers.delegateCount++, 0, handleObj );
209
- } else {
210
- handlers.push( handleObj );
211
- }
212
-
213
- // Keep track of which events have ever been used, for event optimization
214
- jQuery.event.global[ type ] = true;
215
- }
216
-
217
- },
218
-
219
- // Detach an event or set of events from an element
220
- remove: function( elem, types, handler, selector, mappedTypes ) {
221
-
222
- var j, origCount, tmp,
223
- events, t, handleObj,
224
- special, handlers, type, namespaces, origType,
225
- elemData = dataPriv.hasData( elem ) && dataPriv.get( elem );
226
-
227
- if ( !elemData || !( events = elemData.events ) ) {
228
- return;
229
- }
230
-
231
- // Once for each type.namespace in types; type may be omitted
232
- types = ( types || "" ).match( rnotwhite ) || [ "" ];
233
- t = types.length;
234
- while ( t-- ) {
235
- tmp = rtypenamespace.exec( types[ t ] ) || [];
236
- type = origType = tmp[ 1 ];
237
- namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort();
238
-
239
- // Unbind all events (on this namespace, if provided) for the element
240
- if ( !type ) {
241
- for ( type in events ) {
242
- jQuery.event.remove( elem, type + types[ t ], handler, selector, true );
243
- }
244
- continue;
245
- }
246
-
247
- special = jQuery.event.special[ type ] || {};
248
- type = ( selector ? special.delegateType : special.bindType ) || type;
249
- handlers = events[ type ] || [];
250
- tmp = tmp[ 2 ] &&
251
- new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" );
252
-
253
- // Remove matching events
254
- origCount = j = handlers.length;
255
- while ( j-- ) {
256
- handleObj = handlers[ j ];
257
-
258
- if ( ( mappedTypes || origType === handleObj.origType ) &&
259
- ( !handler || handler.guid === handleObj.guid ) &&
260
- ( !tmp || tmp.test( handleObj.namespace ) ) &&
261
- ( !selector || selector === handleObj.selector ||
262
- selector === "**" && handleObj.selector ) ) {
263
- handlers.splice( j, 1 );
264
-
265
- if ( handleObj.selector ) {
266
- handlers.delegateCount--;
267
- }
268
- if ( special.remove ) {
269
- special.remove.call( elem, handleObj );
270
- }
271
- }
272
- }
273
-
274
- // Remove generic event handler if we removed something and no more handlers exist
275
- // (avoids potential for endless recursion during removal of special event handlers)
276
- if ( origCount && !handlers.length ) {
277
- if ( !special.teardown ||
278
- special.teardown.call( elem, namespaces, elemData.handle ) === false ) {
279
-
280
- jQuery.removeEvent( elem, type, elemData.handle );
281
- }
282
-
283
- delete events[ type ];
284
- }
285
- }
286
-
287
- // Remove data and the expando if it's no longer used
288
- if ( jQuery.isEmptyObject( events ) ) {
289
- dataPriv.remove( elem, "handle events" );
290
- }
291
- },
292
-
293
- dispatch: function( nativeEvent ) {
294
-
295
- // Make a writable jQuery.Event from the native event object
296
- var event = jQuery.event.fix( nativeEvent );
297
-
298
- var i, j, ret, matched, handleObj, handlerQueue,
299
- args = new Array( arguments.length ),
300
- handlers = ( dataPriv.get( this, "events" ) || {} )[ event.type ] || [],
301
- special = jQuery.event.special[ event.type ] || {};
302
-
303
- // Use the fix-ed jQuery.Event rather than the (read-only) native event
304
- args[ 0 ] = event;
305
-
306
- for ( i = 1; i < arguments.length; i++ ) {
307
- args[ i ] = arguments[ i ];
308
- }
309
-
310
- event.delegateTarget = this;
311
-
312
- // Call the preDispatch hook for the mapped type, and let it bail if desired
313
- if ( special.preDispatch && special.preDispatch.call( this, event ) === false ) {
314
- return;
315
- }
316
-
317
- // Determine handlers
318
- handlerQueue = jQuery.event.handlers.call( this, event, handlers );
319
-
320
- // Run delegates first; they may want to stop propagation beneath us
321
- i = 0;
322
- while ( ( matched = handlerQueue[ i++ ] ) && !event.isPropagationStopped() ) {
323
- event.currentTarget = matched.elem;
324
-
325
- j = 0;
326
- while ( ( handleObj = matched.handlers[ j++ ] ) &&
327
- !event.isImmediatePropagationStopped() ) {
328
-
329
- // Triggered event must either 1) have no namespace, or 2) have namespace(s)
330
- // a subset or equal to those in the bound event (both can have no namespace).
331
- if ( !event.rnamespace || event.rnamespace.test( handleObj.namespace ) ) {
332
-
333
- event.handleObj = handleObj;
334
- event.data = handleObj.data;
335
-
336
- ret = ( ( jQuery.event.special[ handleObj.origType ] || {} ).handle ||
337
- handleObj.handler ).apply( matched.elem, args );
338
-
339
- if ( ret !== undefined ) {
340
- if ( ( event.result = ret ) === false ) {
341
- event.preventDefault();
342
- event.stopPropagation();
343
- }
344
- }
345
- }
346
- }
347
- }
348
-
349
- // Call the postDispatch hook for the mapped type
350
- if ( special.postDispatch ) {
351
- special.postDispatch.call( this, event );
352
- }
353
-
354
- return event.result;
355
- },
356
-
357
- handlers: function( event, handlers ) {
358
- var i, matches, sel, handleObj,
359
- handlerQueue = [],
360
- delegateCount = handlers.delegateCount,
361
- cur = event.target;
362
-
363
- // Support: IE <=9
364
- // Find delegate handlers
365
- // Black-hole SVG <use> instance trees (#13180)
366
- //
367
- // Support: Firefox <=42
368
- // Avoid non-left-click in FF but don't block IE radio events (#3861, gh-2343)
369
- if ( delegateCount && cur.nodeType &&
370
- ( event.type !== "click" || isNaN( event.button ) || event.button < 1 ) ) {
371
-
372
- for ( ; cur !== this; cur = cur.parentNode || this ) {
373
-
374
- // Don't check non-elements (#13208)
375
- // Don't process clicks on disabled elements (#6911, #8165, #11382, #11764)
376
- if ( cur.nodeType === 1 && ( cur.disabled !== true || event.type !== "click" ) ) {
377
- matches = [];
378
- for ( i = 0; i < delegateCount; i++ ) {
379
- handleObj = handlers[ i ];
380
-
381
- // Don't conflict with Object.prototype properties (#13203)
382
- sel = handleObj.selector + " ";
383
-
384
- if ( matches[ sel ] === undefined ) {
385
- matches[ sel ] = handleObj.needsContext ?
386
- jQuery( sel, this ).index( cur ) > -1 :
387
- jQuery.find( sel, this, null, [ cur ] ).length;
388
- }
389
- if ( matches[ sel ] ) {
390
- matches.push( handleObj );
391
- }
392
- }
393
- if ( matches.length ) {
394
- handlerQueue.push( { elem: cur, handlers: matches } );
395
- }
396
- }
397
- }
398
- }
399
-
400
- // Add the remaining (directly-bound) handlers
401
- if ( delegateCount < handlers.length ) {
402
- handlerQueue.push( { elem: this, handlers: handlers.slice( delegateCount ) } );
403
- }
404
-
405
- return handlerQueue;
406
- },
407
-
408
- addProp: function( name, hook ) {
409
- Object.defineProperty( jQuery.Event.prototype, name, {
410
- enumerable: true,
411
- configurable: true,
412
-
413
- get: jQuery.isFunction( hook ) ?
414
- function() {
415
- if ( this.originalEvent ) {
416
- return hook( this.originalEvent );
417
- }
418
- } :
419
- function() {
420
- if ( this.originalEvent ) {
421
- return this.originalEvent[ name ];
422
- }
423
- },
424
-
425
- set: function( value ) {
426
- Object.defineProperty( this, name, {
427
- enumerable: true,
428
- configurable: true,
429
- writable: true,
430
- value: value
431
- } );
432
- }
433
- } );
434
- },
435
-
436
- fix: function( originalEvent ) {
437
- return originalEvent[ jQuery.expando ] ?
438
- originalEvent :
439
- new jQuery.Event( originalEvent );
440
- },
441
-
442
- special: {
443
- load: {
444
-
445
- // Prevent triggered image.load events from bubbling to window.load
446
- noBubble: true
447
- },
448
- focus: {
449
-
450
- // Fire native event if possible so blur/focus sequence is correct
451
- trigger: function() {
452
- if ( this !== safeActiveElement() && this.focus ) {
453
- this.focus();
454
- return false;
455
- }
456
- },
457
- delegateType: "focusin"
458
- },
459
- blur: {
460
- trigger: function() {
461
- if ( this === safeActiveElement() && this.blur ) {
462
- this.blur();
463
- return false;
464
- }
465
- },
466
- delegateType: "focusout"
467
- },
468
- click: {
469
-
470
- // For checkbox, fire native event so checked state will be right
471
- trigger: function() {
472
- if ( this.type === "checkbox" && this.click && jQuery.nodeName( this, "input" ) ) {
473
- this.click();
474
- return false;
475
- }
476
- },
477
-
478
- // For cross-browser consistency, don't fire native .click() on links
479
- _default: function( event ) {
480
- return jQuery.nodeName( event.target, "a" );
481
- }
482
- },
483
-
484
- beforeunload: {
485
- postDispatch: function( event ) {
486
-
487
- // Support: Firefox 20+
488
- // Firefox doesn't alert if the returnValue field is not set.
489
- if ( event.result !== undefined && event.originalEvent ) {
490
- event.originalEvent.returnValue = event.result;
491
- }
492
- }
493
- }
494
- }
495
- };
496
-
497
- jQuery.removeEvent = function( elem, type, handle ) {
498
-
499
- // This "if" is needed for plain objects
500
- if ( elem.removeEventListener ) {
501
- elem.removeEventListener( type, handle );
502
- }
503
- };
504
-
505
- jQuery.Event = function( src, props ) {
506
-
507
- // Allow instantiation without the 'new' keyword
508
- if ( !( this instanceof jQuery.Event ) ) {
509
- return new jQuery.Event( src, props );
510
- }
511
-
512
- // Event object
513
- if ( src && src.type ) {
514
- this.originalEvent = src;
515
- this.type = src.type;
516
-
517
- // Events bubbling up the document may have been marked as prevented
518
- // by a handler lower down the tree; reflect the correct value.
519
- this.isDefaultPrevented = src.defaultPrevented ||
520
- src.defaultPrevented === undefined &&
521
-
522
- // Support: Android <=2.3 only
523
- src.returnValue === false ?
524
- returnTrue :
525
- returnFalse;
526
-
527
- // Create target properties
528
- // Support: Safari <=6 - 7 only
529
- // Target should not be a text node (#504, #13143)
530
- this.target = ( src.target && src.target.nodeType === 3 ) ?
531
- src.target.parentNode :
532
- src.target;
533
-
534
- this.currentTarget = src.currentTarget;
535
- this.relatedTarget = src.relatedTarget;
536
-
537
- // Event type
538
- } else {
539
- this.type = src;
540
- }
541
-
542
- // Put explicitly provided properties onto the event object
543
- if ( props ) {
544
- jQuery.extend( this, props );
545
- }
546
-
547
- // Create a timestamp if incoming event doesn't have one
548
- this.timeStamp = src && src.timeStamp || jQuery.now();
549
-
550
- // Mark it as fixed
551
- this[ jQuery.expando ] = true;
552
- };
553
-
554
- // jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding
555
- // https://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html
556
- jQuery.Event.prototype = {
557
- constructor: jQuery.Event,
558
- isDefaultPrevented: returnFalse,
559
- isPropagationStopped: returnFalse,
560
- isImmediatePropagationStopped: returnFalse,
561
- isSimulated: false,
562
-
563
- preventDefault: function() {
564
- var e = this.originalEvent;
565
-
566
- this.isDefaultPrevented = returnTrue;
567
-
568
- if ( e && !this.isSimulated ) {
569
- e.preventDefault();
570
- }
571
- },
572
- stopPropagation: function() {
573
- var e = this.originalEvent;
574
-
575
- this.isPropagationStopped = returnTrue;
576
-
577
- if ( e && !this.isSimulated ) {
578
- e.stopPropagation();
579
- }
580
- },
581
- stopImmediatePropagation: function() {
582
- var e = this.originalEvent;
583
-
584
- this.isImmediatePropagationStopped = returnTrue;
585
-
586
- if ( e && !this.isSimulated ) {
587
- e.stopImmediatePropagation();
588
- }
589
-
590
- this.stopPropagation();
591
- }
592
- };
593
-
594
- // Includes all common event props including KeyEvent and MouseEvent specific props
595
- jQuery.each( {
596
- altKey: true,
597
- bubbles: true,
598
- cancelable: true,
599
- changedTouches: true,
600
- ctrlKey: true,
601
- detail: true,
602
- eventPhase: true,
603
- metaKey: true,
604
- pageX: true,
605
- pageY: true,
606
- shiftKey: true,
607
- view: true,
608
- "char": true,
609
- charCode: true,
610
- key: true,
611
- keyCode: true,
612
- button: true,
613
- buttons: true,
614
- clientX: true,
615
- clientY: true,
616
- offsetX: true,
617
- offsetY: true,
618
- pointerId: true,
619
- pointerType: true,
620
- screenX: true,
621
- screenY: true,
622
- targetTouches: true,
623
- toElement: true,
624
- touches: true,
625
-
626
- which: function( event ) {
627
- var button = event.button;
628
-
629
- // Add which for key events
630
- if ( event.which == null && rkeyEvent.test( event.type ) ) {
631
- return event.charCode != null ? event.charCode : event.keyCode;
632
- }
633
-
634
- // Add which for click: 1 === left; 2 === middle; 3 === right
635
- if ( !event.which && button !== undefined && rmouseEvent.test( event.type ) ) {
636
- return ( button & 1 ? 1 : ( button & 2 ? 3 : ( button & 4 ? 2 : 0 ) ) );
637
- }
638
-
639
- return event.which;
640
- }
641
- }, jQuery.event.addProp );
642
-
643
- // Create mouseenter/leave events using mouseover/out and event-time checks
644
- // so that event delegation works in jQuery.
645
- // Do the same for pointerenter/pointerleave and pointerover/pointerout
646
- //
647
- // Support: Safari 7 only
648
- // Safari sends mouseenter too often; see:
649
- // https://bugs.chromium.org/p/chromium/issues/detail?id=470258
650
- // for the description of the bug (it existed in older Chrome versions as well).
651
- jQuery.each( {
652
- mouseenter: "mouseover",
653
- mouseleave: "mouseout",
654
- pointerenter: "pointerover",
655
- pointerleave: "pointerout"
656
- }, function( orig, fix ) {
657
- jQuery.event.special[ orig ] = {
658
- delegateType: fix,
659
- bindType: fix,
660
-
661
- handle: function( event ) {
662
- var ret,
663
- target = this,
664
- related = event.relatedTarget,
665
- handleObj = event.handleObj;
666
-
667
- // For mouseenter/leave call the handler if related is outside the target.
668
- // NB: No relatedTarget if the mouse left/entered the browser window
669
- if ( !related || ( related !== target && !jQuery.contains( target, related ) ) ) {
670
- event.type = handleObj.origType;
671
- ret = handleObj.handler.apply( this, arguments );
672
- event.type = fix;
673
- }
674
- return ret;
675
- }
676
- };
677
- } );
678
-
679
- jQuery.fn.extend( {
680
-
681
- on: function( types, selector, data, fn ) {
682
- return on( this, types, selector, data, fn );
683
- },
684
- one: function( types, selector, data, fn ) {
685
- return on( this, types, selector, data, fn, 1 );
686
- },
687
- off: function( types, selector, fn ) {
688
- var handleObj, type;
689
- if ( types && types.preventDefault && types.handleObj ) {
690
-
691
- // ( event ) dispatched jQuery.Event
692
- handleObj = types.handleObj;
693
- jQuery( types.delegateTarget ).off(
694
- handleObj.namespace ?
695
- handleObj.origType + "." + handleObj.namespace :
696
- handleObj.origType,
697
- handleObj.selector,
698
- handleObj.handler
699
- );
700
- return this;
701
- }
702
- if ( typeof types === "object" ) {
703
-
704
- // ( types-object [, selector] )
705
- for ( type in types ) {
706
- this.off( type, selector, types[ type ] );
707
- }
708
- return this;
709
- }
710
- if ( selector === false || typeof selector === "function" ) {
711
-
712
- // ( types [, fn] )
713
- fn = selector;
714
- selector = undefined;
715
- }
716
- if ( fn === false ) {
717
- fn = returnFalse;
718
- }
719
- return this.each( function() {
720
- jQuery.event.remove( this, types, fn, selector );
721
- } );
722
- }
723
- } );
724
-
725
- return jQuery;
726
- } );