try_api 0.0.10 → 0.0.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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
- } );