stripchart 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (504) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +21 -0
  3. data/README.md +21 -0
  4. data/exe/stripchart +5 -0
  5. data/lib/stripchart/app.rb +71 -0
  6. data/lib/stripchart/public/app.css +37 -0
  7. data/lib/stripchart/public/app.js +167 -0
  8. data/lib/stripchart/public/components/d3/LICENSE +26 -0
  9. data/lib/stripchart/public/components/d3/Makefile +45 -0
  10. data/lib/stripchart/public/components/d3/README.md +7 -0
  11. data/lib/stripchart/public/components/d3/bower.json +25 -0
  12. data/lib/stripchart/public/components/d3/component.json +30 -0
  13. data/lib/stripchart/public/components/d3/d3.js +8798 -0
  14. data/lib/stripchart/public/components/d3/d3.min.js +5 -0
  15. data/lib/stripchart/public/components/d3/index-browserify.js +3 -0
  16. data/lib/stripchart/public/components/d3/index.js +15 -0
  17. data/lib/stripchart/public/components/d3/lib/colorbrewer/LICENSE +38 -0
  18. data/lib/stripchart/public/components/d3/lib/colorbrewer/colorbrewer.css +1690 -0
  19. data/lib/stripchart/public/components/d3/lib/colorbrewer/colorbrewer.js +302 -0
  20. data/lib/stripchart/public/components/d3/lib/geographiclib/LICENSE +23 -0
  21. data/lib/stripchart/public/components/d3/lib/jit/LICENSE +27 -0
  22. data/lib/stripchart/public/components/d3/lib/penner/LICENSE +31 -0
  23. data/lib/stripchart/public/components/d3/lib/polymaps/LICENSE +28 -0
  24. data/lib/stripchart/public/components/d3/lib/protovis/LICENSE +27 -0
  25. data/lib/stripchart/public/components/d3/lib/science/LICENSE +26 -0
  26. data/lib/stripchart/public/components/d3/lib/science/science.js +225 -0
  27. data/lib/stripchart/public/components/d3/lib/science/science.lin.js +27 -0
  28. data/lib/stripchart/public/components/d3/lib/science/science.lin.min.js +1 -0
  29. data/lib/stripchart/public/components/d3/lib/science/science.min.js +1 -0
  30. data/lib/stripchart/public/components/d3/lib/science/science.stats.js +720 -0
  31. data/lib/stripchart/public/components/d3/lib/science/science.stats.min.js +1 -0
  32. data/lib/stripchart/public/components/d3/package.json +53 -0
  33. data/lib/stripchart/public/components/d3/src/arrays/ascending.js +3 -0
  34. data/lib/stripchart/public/components/d3/src/arrays/bisect.js +28 -0
  35. data/lib/stripchart/public/components/d3/src/arrays/descending.js +3 -0
  36. data/lib/stripchart/public/components/d3/src/arrays/entries.js +5 -0
  37. data/lib/stripchart/public/components/d3/src/arrays/extent.js +21 -0
  38. data/lib/stripchart/public/components/d3/src/arrays/index.js +22 -0
  39. data/lib/stripchart/public/components/d3/src/arrays/keys.js +5 -0
  40. data/lib/stripchart/public/components/d3/src/arrays/map.js +50 -0
  41. data/lib/stripchart/public/components/d3/src/arrays/max.js +14 -0
  42. data/lib/stripchart/public/components/d3/src/arrays/mean.js +15 -0
  43. data/lib/stripchart/public/components/d3/src/arrays/median.js +9 -0
  44. data/lib/stripchart/public/components/d3/src/arrays/merge.js +3 -0
  45. data/lib/stripchart/public/components/d3/src/arrays/min.js +14 -0
  46. data/lib/stripchart/public/components/d3/src/arrays/nest.js +97 -0
  47. data/lib/stripchart/public/components/d3/src/arrays/permute.js +7 -0
  48. data/lib/stripchart/public/components/d3/src/arrays/quantile.js +8 -0
  49. data/lib/stripchart/public/components/d3/src/arrays/range.js +24 -0
  50. data/lib/stripchart/public/components/d3/src/arrays/set.js +38 -0
  51. data/lib/stripchart/public/components/d3/src/arrays/shuffle.js +8 -0
  52. data/lib/stripchart/public/components/d3/src/arrays/sum.js +14 -0
  53. data/lib/stripchart/public/components/d3/src/arrays/transpose.js +5 -0
  54. data/lib/stripchart/public/components/d3/src/arrays/values.js +5 -0
  55. data/lib/stripchart/public/components/d3/src/arrays/zip.js +15 -0
  56. data/lib/stripchart/public/components/d3/src/behavior/behavior.js +1 -0
  57. data/lib/stripchart/public/components/d3/src/behavior/drag.js +79 -0
  58. data/lib/stripchart/public/components/d3/src/behavior/index.js +3 -0
  59. data/lib/stripchart/public/components/d3/src/behavior/zoom.js +209 -0
  60. data/lib/stripchart/public/components/d3/src/color/color.js +5 -0
  61. data/lib/stripchart/public/components/d3/src/color/hcl.js +42 -0
  62. data/lib/stripchart/public/components/d3/src/color/hsl.js +64 -0
  63. data/lib/stripchart/public/components/d3/src/color/index.js +6 -0
  64. data/lib/stripchart/public/components/d3/src/color/lab.js +68 -0
  65. data/lib/stripchart/public/components/d3/src/color/rgb.js +307 -0
  66. data/lib/stripchart/public/components/d3/src/color/xyz.js +7 -0
  67. data/lib/stripchart/public/components/d3/src/compat/date.js +3 -0
  68. data/lib/stripchart/public/components/d3/src/compat/index.js +2 -0
  69. data/lib/stripchart/public/components/d3/src/compat/style.js +20 -0
  70. data/lib/stripchart/public/components/d3/src/core/array.js +19 -0
  71. data/lib/stripchart/public/components/d3/src/core/class.js +12 -0
  72. data/lib/stripchart/public/components/d3/src/core/document.js +3 -0
  73. data/lib/stripchart/public/components/d3/src/core/functor.js +5 -0
  74. data/lib/stripchart/public/components/d3/src/core/identity.js +3 -0
  75. data/lib/stripchart/public/components/d3/src/core/index.js +3 -0
  76. data/lib/stripchart/public/components/d3/src/core/noop.js +1 -0
  77. data/lib/stripchart/public/components/d3/src/core/ns.js +22 -0
  78. data/lib/stripchart/public/components/d3/src/core/rebind.js +16 -0
  79. data/lib/stripchart/public/components/d3/src/core/source.js +3 -0
  80. data/lib/stripchart/public/components/d3/src/core/subclass.js +11 -0
  81. data/lib/stripchart/public/components/d3/src/core/target.js +3 -0
  82. data/lib/stripchart/public/components/d3/src/core/true.js +3 -0
  83. data/lib/stripchart/public/components/d3/src/core/vendor.js +12 -0
  84. data/lib/stripchart/public/components/d3/src/d3.js +23 -0
  85. data/lib/stripchart/public/components/d3/src/dsv/csv.js +3 -0
  86. data/lib/stripchart/public/components/d3/src/dsv/dsv.js +136 -0
  87. data/lib/stripchart/public/components/d3/src/dsv/index.js +3 -0
  88. data/lib/stripchart/public/components/d3/src/dsv/tsv.js +3 -0
  89. data/lib/stripchart/public/components/d3/src/end.js +2 -0
  90. data/lib/stripchart/public/components/d3/src/event/dispatch.js +69 -0
  91. data/lib/stripchart/public/components/d3/src/event/drag.js +27 -0
  92. data/lib/stripchart/public/components/d3/src/event/event.js +50 -0
  93. data/lib/stripchart/public/components/d3/src/event/index.js +5 -0
  94. data/lib/stripchart/public/components/d3/src/event/mouse.js +39 -0
  95. data/lib/stripchart/public/components/d3/src/event/timer.js +82 -0
  96. data/lib/stripchart/public/components/d3/src/event/touches.js +12 -0
  97. data/lib/stripchart/public/components/d3/src/format/collapse.js +3 -0
  98. data/lib/stripchart/public/components/d3/src/format/format-locale.js +4 -0
  99. data/lib/stripchart/public/components/d3/src/format/format-localized.js +5 -0
  100. data/lib/stripchart/public/components/d3/src/format/format.js +144 -0
  101. data/lib/stripchart/public/components/d3/src/format/formatPrefix.js +22 -0
  102. data/lib/stripchart/public/components/d3/src/format/index.js +4 -0
  103. data/lib/stripchart/public/components/d3/src/format/requote.js +5 -0
  104. data/lib/stripchart/public/components/d3/src/format/round.js +5 -0
  105. data/lib/stripchart/public/components/d3/src/geo/albers-usa.js +129 -0
  106. data/lib/stripchart/public/components/d3/src/geo/albers.js +11 -0
  107. data/lib/stripchart/public/components/d3/src/geo/area.js +67 -0
  108. data/lib/stripchart/public/components/d3/src/geo/azimuthal-equal-area.js +12 -0
  109. data/lib/stripchart/public/components/d3/src/geo/azimuthal-equidistant.js +13 -0
  110. data/lib/stripchart/public/components/d3/src/geo/azimuthal.js +25 -0
  111. data/lib/stripchart/public/components/d3/src/geo/bounds.js +169 -0
  112. data/lib/stripchart/public/components/d3/src/geo/cartesian.js +47 -0
  113. data/lib/stripchart/public/components/d3/src/geo/centroid.js +149 -0
  114. data/lib/stripchart/public/components/d3/src/geo/circle.js +81 -0
  115. data/lib/stripchart/public/components/d3/src/geo/clip-antimeridian.js +101 -0
  116. data/lib/stripchart/public/components/d3/src/geo/clip-circle.js +182 -0
  117. data/lib/stripchart/public/components/d3/src/geo/clip-polygon.js +94 -0
  118. data/lib/stripchart/public/components/d3/src/geo/clip-view.js +212 -0
  119. data/lib/stripchart/public/components/d3/src/geo/clip.js +135 -0
  120. data/lib/stripchart/public/components/d3/src/geo/compose.js +12 -0
  121. data/lib/stripchart/public/components/d3/src/geo/conic-conformal.js +36 -0
  122. data/lib/stripchart/public/components/d3/src/geo/conic-equal-area.js +33 -0
  123. data/lib/stripchart/public/components/d3/src/geo/conic-equidistant.js +35 -0
  124. data/lib/stripchart/public/components/d3/src/geo/conic.js +16 -0
  125. data/lib/stripchart/public/components/d3/src/geo/distance.js +13 -0
  126. data/lib/stripchart/public/components/d3/src/geo/equirectangular.js +10 -0
  127. data/lib/stripchart/public/components/d3/src/geo/geo.js +1 -0
  128. data/lib/stripchart/public/components/d3/src/geo/gnomonic.js +12 -0
  129. data/lib/stripchart/public/components/d3/src/geo/graticule.js +102 -0
  130. data/lib/stripchart/public/components/d3/src/geo/greatArc.js +42 -0
  131. data/lib/stripchart/public/components/d3/src/geo/index.js +32 -0
  132. data/lib/stripchart/public/components/d3/src/geo/interpolate.js +38 -0
  133. data/lib/stripchart/public/components/d3/src/geo/length.js +43 -0
  134. data/lib/stripchart/public/components/d3/src/geo/mercator.js +48 -0
  135. data/lib/stripchart/public/components/d3/src/geo/orthographic.js +12 -0
  136. data/lib/stripchart/public/components/d3/src/geo/path-area.js +40 -0
  137. data/lib/stripchart/public/components/d3/src/geo/path-bounds.js +21 -0
  138. data/lib/stripchart/public/components/d3/src/geo/path-buffer.js +59 -0
  139. data/lib/stripchart/public/components/d3/src/geo/path-centroid.js +78 -0
  140. data/lib/stripchart/public/components/d3/src/geo/path-context.js +49 -0
  141. data/lib/stripchart/public/components/d3/src/geo/path.js +97 -0
  142. data/lib/stripchart/public/components/d3/src/geo/point-in-polygon.js +71 -0
  143. data/lib/stripchart/public/components/d3/src/geo/projection.js +132 -0
  144. data/lib/stripchart/public/components/d3/src/geo/resample.js +98 -0
  145. data/lib/stripchart/public/components/d3/src/geo/rotation.js +72 -0
  146. data/lib/stripchart/public/components/d3/src/geo/spherical.js +12 -0
  147. data/lib/stripchart/public/components/d3/src/geo/stereographic.js +12 -0
  148. data/lib/stripchart/public/components/d3/src/geo/stream.js +71 -0
  149. data/lib/stripchart/public/components/d3/src/geo/transverse-mercator.js +23 -0
  150. data/lib/stripchart/public/components/d3/src/geom/delaunay.js +31 -0
  151. data/lib/stripchart/public/components/d3/src/geom/geom.js +1 -0
  152. data/lib/stripchart/public/components/d3/src/geom/hull.js +120 -0
  153. data/lib/stripchart/public/components/d3/src/geom/index.js +6 -0
  154. data/lib/stripchart/public/components/d3/src/geom/polygon.js +105 -0
  155. data/lib/stripchart/public/components/d3/src/geom/quadtree.js +190 -0
  156. data/lib/stripchart/public/components/d3/src/geom/voronoi.js +545 -0
  157. data/lib/stripchart/public/components/d3/src/interpolate/array.js +19 -0
  158. data/lib/stripchart/public/components/d3/src/interpolate/ease.js +110 -0
  159. data/lib/stripchart/public/components/d3/src/interpolate/hcl.js +23 -0
  160. data/lib/stripchart/public/components/d3/src/interpolate/hsl.js +23 -0
  161. data/lib/stripchart/public/components/d3/src/interpolate/index.js +13 -0
  162. data/lib/stripchart/public/components/d3/src/interpolate/interpolate.js +25 -0
  163. data/lib/stripchart/public/components/d3/src/interpolate/lab.js +20 -0
  164. data/lib/stripchart/public/components/d3/src/interpolate/number.js +6 -0
  165. data/lib/stripchart/public/components/d3/src/interpolate/object.js +25 -0
  166. data/lib/stripchart/public/components/d3/src/interpolate/rgb.js +20 -0
  167. data/lib/stripchart/public/components/d3/src/interpolate/round.js +6 -0
  168. data/lib/stripchart/public/components/d3/src/interpolate/string.js +88 -0
  169. data/lib/stripchart/public/components/d3/src/interpolate/transform.js +56 -0
  170. data/lib/stripchart/public/components/d3/src/interpolate/uninterpolate.js +9 -0
  171. data/lib/stripchart/public/components/d3/src/layout/bundle.js +59 -0
  172. data/lib/stripchart/public/components/d3/src/layout/chord.js +157 -0
  173. data/lib/stripchart/public/components/d3/src/layout/cluster.js +92 -0
  174. data/lib/stripchart/public/components/d3/src/layout/force.js +359 -0
  175. data/lib/stripchart/public/components/d3/src/layout/hierarchy.js +116 -0
  176. data/lib/stripchart/public/components/d3/src/layout/histogram.js +110 -0
  177. data/lib/stripchart/public/components/d3/src/layout/index.js +13 -0
  178. data/lib/stripchart/public/components/d3/src/layout/layout.js +1 -0
  179. data/lib/stripchart/public/components/d3/src/layout/pack.js +212 -0
  180. data/lib/stripchart/public/components/d3/src/layout/partition.js +51 -0
  181. data/lib/stripchart/public/components/d3/src/layout/pie.js +99 -0
  182. data/lib/stripchart/public/components/d3/src/layout/stack.js +245 -0
  183. data/lib/stripchart/public/components/d3/src/layout/tree.js +251 -0
  184. data/lib/stripchart/public/components/d3/src/layout/treemap.js +230 -0
  185. data/lib/stripchart/public/components/d3/src/math/adder.js +34 -0
  186. data/lib/stripchart/public/components/d3/src/math/index.js +2 -0
  187. data/lib/stripchart/public/components/d3/src/math/number.js +3 -0
  188. data/lib/stripchart/public/components/d3/src/math/random.js +28 -0
  189. data/lib/stripchart/public/components/d3/src/math/transform.js +64 -0
  190. data/lib/stripchart/public/components/d3/src/math/trigonometry.js +29 -0
  191. data/lib/stripchart/public/components/d3/src/scale/bilinear.js +7 -0
  192. data/lib/stripchart/public/components/d3/src/scale/category.js +57 -0
  193. data/lib/stripchart/public/components/d3/src/scale/identity.js +33 -0
  194. data/lib/stripchart/public/components/d3/src/scale/index.js +11 -0
  195. data/lib/stripchart/public/components/d3/src/scale/linear.js +128 -0
  196. data/lib/stripchart/public/components/d3/src/scale/log.js +92 -0
  197. data/lib/stripchart/public/components/d3/src/scale/nice.js +28 -0
  198. data/lib/stripchart/public/components/d3/src/scale/ordinal.js +92 -0
  199. data/lib/stripchart/public/components/d3/src/scale/polylinear.js +24 -0
  200. data/lib/stripchart/public/components/d3/src/scale/pow.js +58 -0
  201. data/lib/stripchart/public/components/d3/src/scale/quantile.js +54 -0
  202. data/lib/stripchart/public/components/d3/src/scale/quantize.js +44 -0
  203. data/lib/stripchart/public/components/d3/src/scale/scale.js +10 -0
  204. data/lib/stripchart/public/components/d3/src/scale/sqrt.js +6 -0
  205. data/lib/stripchart/public/components/d3/src/scale/threshold.js +36 -0
  206. data/lib/stripchart/public/components/d3/src/selection/append.js +16 -0
  207. data/lib/stripchart/public/components/d3/src/selection/attr.js +62 -0
  208. data/lib/stripchart/public/components/d3/src/selection/call.js +8 -0
  209. data/lib/stripchart/public/components/d3/src/selection/classed.js +72 -0
  210. data/lib/stripchart/public/components/d3/src/selection/data.js +118 -0
  211. data/lib/stripchart/public/components/d3/src/selection/datum.js +7 -0
  212. data/lib/stripchart/public/components/d3/src/selection/each.js +16 -0
  213. data/lib/stripchart/public/components/d3/src/selection/empty.js +5 -0
  214. data/lib/stripchart/public/components/d3/src/selection/enter-insert.js +20 -0
  215. data/lib/stripchart/public/components/d3/src/selection/enter-select.js +27 -0
  216. data/lib/stripchart/public/components/d3/src/selection/enter.js +21 -0
  217. data/lib/stripchart/public/components/d3/src/selection/filter.js +28 -0
  218. data/lib/stripchart/public/components/d3/src/selection/html.js +10 -0
  219. data/lib/stripchart/public/components/d3/src/selection/index.js +1 -0
  220. data/lib/stripchart/public/components/d3/src/selection/insert.js +9 -0
  221. data/lib/stripchart/public/components/d3/src/selection/node.js +11 -0
  222. data/lib/stripchart/public/components/d3/src/selection/on.js +104 -0
  223. data/lib/stripchart/public/components/d3/src/selection/order.js +13 -0
  224. data/lib/stripchart/public/components/d3/src/selection/property.js +43 -0
  225. data/lib/stripchart/public/components/d3/src/selection/remove.js +11 -0
  226. data/lib/stripchart/public/components/d3/src/selection/select.js +32 -0
  227. data/lib/stripchart/public/components/d3/src/selection/selectAll.js +27 -0
  228. data/lib/stripchart/public/components/d3/src/selection/selection.js +67 -0
  229. data/lib/stripchart/public/components/d3/src/selection/size.js +7 -0
  230. data/lib/stripchart/public/components/d3/src/selection/sort.js +15 -0
  231. data/lib/stripchart/public/components/d3/src/selection/style.js +56 -0
  232. data/lib/stripchart/public/components/d3/src/selection/text.js +10 -0
  233. data/lib/stripchart/public/components/d3/src/selection/transition.js +19 -0
  234. data/lib/stripchart/public/components/d3/src/start.js +2 -0
  235. data/lib/stripchart/public/components/d3/src/svg/arc.js +99 -0
  236. data/lib/stripchart/public/components/d3/src/svg/area-radial.js +14 -0
  237. data/lib/stripchart/public/components/d3/src/svg/area.js +120 -0
  238. data/lib/stripchart/public/components/d3/src/svg/axis.js +222 -0
  239. data/lib/stripchart/public/components/d3/src/svg/brush.js +379 -0
  240. data/lib/stripchart/public/components/d3/src/svg/chord.js +90 -0
  241. data/lib/stripchart/public/components/d3/src/svg/diagonal-radial.js +26 -0
  242. data/lib/stripchart/public/components/d3/src/svg/diagonal.js +43 -0
  243. data/lib/stripchart/public/components/d3/src/svg/index.js +12 -0
  244. data/lib/stripchart/public/components/d3/src/svg/line-radial.js +26 -0
  245. data/lib/stripchart/public/components/d3/src/svg/line.js +439 -0
  246. data/lib/stripchart/public/components/d3/src/svg/svg.js +1 -0
  247. data/lib/stripchart/public/components/d3/src/svg/symbol.js +105 -0
  248. data/lib/stripchart/public/components/d3/src/time/day.js +21 -0
  249. data/lib/stripchart/public/components/d3/src/time/format-iso.js +20 -0
  250. data/lib/stripchart/public/components/d3/src/time/format-locale.js +10 -0
  251. data/lib/stripchart/public/components/d3/src/time/format-localized.js +11 -0
  252. data/lib/stripchart/public/components/d3/src/time/format-utc.js +31 -0
  253. data/lib/stripchart/public/components/d3/src/time/format.js +303 -0
  254. data/lib/stripchart/public/components/d3/src/time/hour.js +14 -0
  255. data/lib/stripchart/public/components/d3/src/time/index.js +15 -0
  256. data/lib/stripchart/public/components/d3/src/time/interval.js +71 -0
  257. data/lib/stripchart/public/components/d3/src/time/minute.js +13 -0
  258. data/lib/stripchart/public/components/d3/src/time/month.js +16 -0
  259. data/lib/stripchart/public/components/d3/src/time/scale-utc.js +43 -0
  260. data/lib/stripchart/public/components/d3/src/time/scale.js +150 -0
  261. data/lib/stripchart/public/components/d3/src/time/second.js +13 -0
  262. data/lib/stripchart/public/components/d3/src/time/time.js +35 -0
  263. data/lib/stripchart/public/components/d3/src/time/week.js +32 -0
  264. data/lib/stripchart/public/components/d3/src/time/year.js +16 -0
  265. data/lib/stripchart/public/components/d3/src/transition/attr.js +58 -0
  266. data/lib/stripchart/public/components/d3/src/transition/delay.js +9 -0
  267. data/lib/stripchart/public/components/d3/src/transition/duration.js +9 -0
  268. data/lib/stripchart/public/components/d3/src/transition/each.js +23 -0
  269. data/lib/stripchart/public/components/d3/src/transition/ease.js +10 -0
  270. data/lib/stripchart/public/components/d3/src/transition/filter.js +22 -0
  271. data/lib/stripchart/public/components/d3/src/transition/index.js +1 -0
  272. data/lib/stripchart/public/components/d3/src/transition/remove.js +8 -0
  273. data/lib/stripchart/public/components/d3/src/transition/select.js +27 -0
  274. data/lib/stripchart/public/components/d3/src/transition/selectAll.js +30 -0
  275. data/lib/stripchart/public/components/d3/src/transition/style.js +53 -0
  276. data/lib/stripchart/public/components/d3/src/transition/subtransition.js +25 -0
  277. data/lib/stripchart/public/components/d3/src/transition/text.js +11 -0
  278. data/lib/stripchart/public/components/d3/src/transition/transition.js +118 -0
  279. data/lib/stripchart/public/components/d3/src/transition/tween.js +17 -0
  280. data/lib/stripchart/public/components/d3/src/xhr/html.js +12 -0
  281. data/lib/stripchart/public/components/d3/src/xhr/index.js +5 -0
  282. data/lib/stripchart/public/components/d3/src/xhr/json.js +9 -0
  283. data/lib/stripchart/public/components/d3/src/xhr/text.js +5 -0
  284. data/lib/stripchart/public/components/d3/src/xhr/xhr.js +118 -0
  285. data/lib/stripchart/public/components/d3/src/xhr/xml.js +5 -0
  286. data/lib/stripchart/public/components/d3/test/XMLHttpRequest.js +55 -0
  287. data/lib/stripchart/public/components/d3/test/arrays/ascending-test.js +45 -0
  288. data/lib/stripchart/public/components/d3/test/arrays/bisect-test.js +257 -0
  289. data/lib/stripchart/public/components/d3/test/arrays/descending-test.js +45 -0
  290. data/lib/stripchart/public/components/d3/test/arrays/entries-test.js +39 -0
  291. data/lib/stripchart/public/components/d3/test/arrays/extent-test.js +50 -0
  292. data/lib/stripchart/public/components/d3/test/arrays/keys-test.js +27 -0
  293. data/lib/stripchart/public/components/d3/test/arrays/map-test.js +214 -0
  294. data/lib/stripchart/public/components/d3/test/arrays/max-test.js +51 -0
  295. data/lib/stripchart/public/components/d3/test/arrays/mean-test.js +39 -0
  296. data/lib/stripchart/public/components/d3/test/arrays/median-test.js +39 -0
  297. data/lib/stripchart/public/components/d3/test/arrays/merge-test.js +26 -0
  298. data/lib/stripchart/public/components/d3/test/arrays/min-test.js +51 -0
  299. data/lib/stripchart/public/components/d3/test/arrays/nest-test.js +256 -0
  300. data/lib/stripchart/public/components/d3/test/arrays/permute-test.js +49 -0
  301. data/lib/stripchart/public/components/d3/test/arrays/quantile-test.js +56 -0
  302. data/lib/stripchart/public/components/d3/test/arrays/range-test.js +99 -0
  303. data/lib/stripchart/public/components/d3/test/arrays/set-test.js +136 -0
  304. data/lib/stripchart/public/components/d3/test/arrays/sum-test.js +43 -0
  305. data/lib/stripchart/public/components/d3/test/arrays/transpose-test.js +28 -0
  306. data/lib/stripchart/public/components/d3/test/arrays/values-test.js +31 -0
  307. data/lib/stripchart/public/components/d3/test/arrays/zip-test.js +28 -0
  308. data/lib/stripchart/public/components/d3/test/assert.js +153 -0
  309. data/lib/stripchart/public/components/d3/test/color/hcl-test.js +112 -0
  310. data/lib/stripchart/public/components/d3/test/color/hsl-test.js +118 -0
  311. data/lib/stripchart/public/components/d3/test/color/lab-test.js +81 -0
  312. data/lib/stripchart/public/components/d3/test/color/rgb-test.js +91 -0
  313. data/lib/stripchart/public/components/d3/test/core/functor-test.js +25 -0
  314. data/lib/stripchart/public/components/d3/test/core/ns-test.js +57 -0
  315. data/lib/stripchart/public/components/d3/test/core/rebind-test.js +50 -0
  316. data/lib/stripchart/public/components/d3/test/core/version-test.js +16 -0
  317. data/lib/stripchart/public/components/d3/test/data/sample.csv +2 -0
  318. data/lib/stripchart/public/components/d3/test/data/sample.html +5 -0
  319. data/lib/stripchart/public/components/d3/test/data/sample.json +1 -0
  320. data/lib/stripchart/public/components/d3/test/data/sample.tsv +2 -0
  321. data/lib/stripchart/public/components/d3/test/data/sample.txt +1 -0
  322. data/lib/stripchart/public/components/d3/test/data/sample.xml +4 -0
  323. data/lib/stripchart/public/components/d3/test/data/us-counties.json +3186 -0
  324. data/lib/stripchart/public/components/d3/test/dsv/csv-test.js +214 -0
  325. data/lib/stripchart/public/components/d3/test/dsv/tsv-test.js +185 -0
  326. data/lib/stripchart/public/components/d3/test/event/dispatch-test.js +163 -0
  327. data/lib/stripchart/public/components/d3/test/event/mouse-test.html +22 -0
  328. data/lib/stripchart/public/components/d3/test/event/timer-test.js +74 -0
  329. data/lib/stripchart/public/components/d3/test/event/touch-test.html +61 -0
  330. data/lib/stripchart/public/components/d3/test/format/format-test.js +360 -0
  331. data/lib/stripchart/public/components/d3/test/format/formatPrefix-test.js +112 -0
  332. data/lib/stripchart/public/components/d3/test/format/requote-test.js +49 -0
  333. data/lib/stripchart/public/components/d3/test/format/round-test.js +66 -0
  334. data/lib/stripchart/public/components/d3/test/geo/albers-test.js +40 -0
  335. data/lib/stripchart/public/components/d3/test/geo/albers-usa-test.js +33 -0
  336. data/lib/stripchart/public/components/d3/test/geo/area-benchmark.js +12 -0
  337. data/lib/stripchart/public/components/d3/test/geo/area-test.js +185 -0
  338. data/lib/stripchart/public/components/d3/test/geo/azimuthal-equal-area-test.js +38 -0
  339. data/lib/stripchart/public/components/d3/test/geo/azimuthal-equidistant-test.js +38 -0
  340. data/lib/stripchart/public/components/d3/test/geo/benchmark.js +83 -0
  341. data/lib/stripchart/public/components/d3/test/geo/bounds-test.js +265 -0
  342. data/lib/stripchart/public/components/d3/test/geo/centroid-test.js +187 -0
  343. data/lib/stripchart/public/components/d3/test/geo/circle-test.js +29 -0
  344. data/lib/stripchart/public/components/d3/test/geo/clip-view-mock.js +4 -0
  345. data/lib/stripchart/public/components/d3/test/geo/clip-view-test.js +44 -0
  346. data/lib/stripchart/public/components/d3/test/geo/conic-conformal-test.js +38 -0
  347. data/lib/stripchart/public/components/d3/test/geo/conic-equal-area-test.js +38 -0
  348. data/lib/stripchart/public/components/d3/test/geo/conic-equidistant-test.js +38 -0
  349. data/lib/stripchart/public/components/d3/test/geo/distance-test.js +20 -0
  350. data/lib/stripchart/public/components/d3/test/geo/equirectangular-test.js +38 -0
  351. data/lib/stripchart/public/components/d3/test/geo/gnomonic-test.js +38 -0
  352. data/lib/stripchart/public/components/d3/test/geo/graticule-test.js +188 -0
  353. data/lib/stripchart/public/components/d3/test/geo/greatArc-test.js +35 -0
  354. data/lib/stripchart/public/components/d3/test/geo/interpolate-test.js +22 -0
  355. data/lib/stripchart/public/components/d3/test/geo/length-test.js +44 -0
  356. data/lib/stripchart/public/components/d3/test/geo/mercator-test.js +38 -0
  357. data/lib/stripchart/public/components/d3/test/geo/orthographic-test.js +34 -0
  358. data/lib/stripchart/public/components/d3/test/geo/path-test.js +832 -0
  359. data/lib/stripchart/public/components/d3/test/geo/point-in-polygon-mock.js +18 -0
  360. data/lib/stripchart/public/components/d3/test/geo/point-in-polygon-test.js +352 -0
  361. data/lib/stripchart/public/components/d3/test/geo/projection-test-suite.js +29 -0
  362. data/lib/stripchart/public/components/d3/test/geo/projection-test.js +58 -0
  363. data/lib/stripchart/public/components/d3/test/geo/rotation-test.js +35 -0
  364. data/lib/stripchart/public/components/d3/test/geo/stereographic-test.js +38 -0
  365. data/lib/stripchart/public/components/d3/test/geo/stream-test.js +264 -0
  366. data/lib/stripchart/public/components/d3/test/geo/transverse-mercator-test.js +38 -0
  367. data/lib/stripchart/public/components/d3/test/geom/hull-test.js +68 -0
  368. data/lib/stripchart/public/components/d3/test/geom/polygon-test.js +151 -0
  369. data/lib/stripchart/public/components/d3/test/geom/quadtree-test.js +139 -0
  370. data/lib/stripchart/public/components/d3/test/geom/voronoi-test.js +230 -0
  371. data/lib/stripchart/public/components/d3/test/interpolate/array-test.js +24 -0
  372. data/lib/stripchart/public/components/d3/test/interpolate/ease-test.js +135 -0
  373. data/lib/stripchart/public/components/d3/test/interpolate/hcl-test.js +47 -0
  374. data/lib/stripchart/public/components/d3/test/interpolate/hsl-test.js +47 -0
  375. data/lib/stripchart/public/components/d3/test/interpolate/interpolate-test.js +157 -0
  376. data/lib/stripchart/public/components/d3/test/interpolate/interpolate-transform-test.js +60 -0
  377. data/lib/stripchart/public/components/d3/test/interpolate/lab-test.js +31 -0
  378. data/lib/stripchart/public/components/d3/test/interpolate/number-test.js +20 -0
  379. data/lib/stripchart/public/components/d3/test/interpolate/object-test.js +35 -0
  380. data/lib/stripchart/public/components/d3/test/interpolate/rgb-test.js +31 -0
  381. data/lib/stripchart/public/components/d3/test/interpolate/round-test.js +17 -0
  382. data/lib/stripchart/public/components/d3/test/interpolate/string-test.js +43 -0
  383. data/lib/stripchart/public/components/d3/test/layout/chord-test.js +164 -0
  384. data/lib/stripchart/public/components/d3/test/layout/cluster-test.js +44 -0
  385. data/lib/stripchart/public/components/d3/test/layout/force-test.js +119 -0
  386. data/lib/stripchart/public/components/d3/test/layout/hierarchy-test.js +27 -0
  387. data/lib/stripchart/public/components/d3/test/layout/histogram-test.js +92 -0
  388. data/lib/stripchart/public/components/d3/test/layout/pack-test.js +129 -0
  389. data/lib/stripchart/public/components/d3/test/layout/partition-test.js +45 -0
  390. data/lib/stripchart/public/components/d3/test/layout/pie-test.js +24 -0
  391. data/lib/stripchart/public/components/d3/test/layout/tree-test.js +45 -0
  392. data/lib/stripchart/public/components/d3/test/layout/treemap-test.js +181 -0
  393. data/lib/stripchart/public/components/d3/test/load.js +58 -0
  394. data/lib/stripchart/public/components/d3/test/math/random-test.js +37 -0
  395. data/lib/stripchart/public/components/d3/test/math/transform-null-matrix-test.html +26 -0
  396. data/lib/stripchart/public/components/d3/test/math/transform-null-test.html +26 -0
  397. data/lib/stripchart/public/components/d3/test/math/transform-rotate-origin-test.html +40 -0
  398. data/lib/stripchart/public/components/d3/test/math/transform-rotate-test.html +138 -0
  399. data/lib/stripchart/public/components/d3/test/math/transform-test.html +88 -0
  400. data/lib/stripchart/public/components/d3/test/scale/category-test.js +76 -0
  401. data/lib/stripchart/public/components/d3/test/scale/identity-test.js +163 -0
  402. data/lib/stripchart/public/components/d3/test/scale/linear-test.js +281 -0
  403. data/lib/stripchart/public/components/d3/test/scale/log-test.js +378 -0
  404. data/lib/stripchart/public/components/d3/test/scale/ordinal-test.js +272 -0
  405. data/lib/stripchart/public/components/d3/test/scale/pow-test.js +267 -0
  406. data/lib/stripchart/public/components/d3/test/scale/quantile-test.js +91 -0
  407. data/lib/stripchart/public/components/d3/test/scale/quantize-test.js +92 -0
  408. data/lib/stripchart/public/components/d3/test/scale/sqrt-test.js +260 -0
  409. data/lib/stripchart/public/components/d3/test/scale/threshold-test.js +64 -0
  410. data/lib/stripchart/public/components/d3/test/selection/append-test.js +153 -0
  411. data/lib/stripchart/public/components/d3/test/selection/attr-test.js +182 -0
  412. data/lib/stripchart/public/components/d3/test/selection/call-test.js +75 -0
  413. data/lib/stripchart/public/components/d3/test/selection/classed-test.js +269 -0
  414. data/lib/stripchart/public/components/d3/test/selection/data-test.js +270 -0
  415. data/lib/stripchart/public/components/d3/test/selection/datum-test.js +87 -0
  416. data/lib/stripchart/public/components/d3/test/selection/each-test.js +87 -0
  417. data/lib/stripchart/public/components/d3/test/selection/empty-test.js +53 -0
  418. data/lib/stripchart/public/components/d3/test/selection/enter-test.js +24 -0
  419. data/lib/stripchart/public/components/d3/test/selection/filter-test.js +72 -0
  420. data/lib/stripchart/public/components/d3/test/selection/html-test.js +134 -0
  421. data/lib/stripchart/public/components/d3/test/selection/insert-test.js +169 -0
  422. data/lib/stripchart/public/components/d3/test/selection/node-test.js +55 -0
  423. data/lib/stripchart/public/components/d3/test/selection/on-test.js +135 -0
  424. data/lib/stripchart/public/components/d3/test/selection/order-test.js +32 -0
  425. data/lib/stripchart/public/components/d3/test/selection/property-test.js +118 -0
  426. data/lib/stripchart/public/components/d3/test/selection/remove-test.js +38 -0
  427. data/lib/stripchart/public/components/d3/test/selection/select-test.js +69 -0
  428. data/lib/stripchart/public/components/d3/test/selection/selectAll-test.js +52 -0
  429. data/lib/stripchart/public/components/d3/test/selection/selection-select-test.js +128 -0
  430. data/lib/stripchart/public/components/d3/test/selection/selection-selectAll-test.js +131 -0
  431. data/lib/stripchart/public/components/d3/test/selection/selection-test.js +38 -0
  432. data/lib/stripchart/public/components/d3/test/selection/size-test.js +52 -0
  433. data/lib/stripchart/public/components/d3/test/selection/sort-test.js +81 -0
  434. data/lib/stripchart/public/components/d3/test/selection/style-test.js +129 -0
  435. data/lib/stripchart/public/components/d3/test/selection/text-test.js +115 -0
  436. data/lib/stripchart/public/components/d3/test/svg/arc-test.js +143 -0
  437. data/lib/stripchart/public/components/d3/test/svg/area-radial-test.js +199 -0
  438. data/lib/stripchart/public/components/d3/test/svg/area-test.js +192 -0
  439. data/lib/stripchart/public/components/d3/test/svg/axis-test.js +447 -0
  440. data/lib/stripchart/public/components/d3/test/svg/brush-test.js +96 -0
  441. data/lib/stripchart/public/components/d3/test/svg/diagonal-test.js +62 -0
  442. data/lib/stripchart/public/components/d3/test/svg/line-radial-test.js +120 -0
  443. data/lib/stripchart/public/components/d3/test/svg/line-test.js +207 -0
  444. data/lib/stripchart/public/components/d3/test/svg/symbol-test.js +91 -0
  445. data/lib/stripchart/public/components/d3/test/time/day-test.js +178 -0
  446. data/lib/stripchart/public/components/d3/test/time/dayOfYear-test.js +16 -0
  447. data/lib/stripchart/public/components/d3/test/time/days-test.js +95 -0
  448. data/lib/stripchart/public/components/d3/test/time/format-iso-test.js +33 -0
  449. data/lib/stripchart/public/components/d3/test/time/format-test.js +300 -0
  450. data/lib/stripchart/public/components/d3/test/time/format-utc-test.js +219 -0
  451. data/lib/stripchart/public/components/d3/test/time/hour-test.js +215 -0
  452. data/lib/stripchart/public/components/d3/test/time/hours-test.js +109 -0
  453. data/lib/stripchart/public/components/d3/test/time/minute-test.js +127 -0
  454. data/lib/stripchart/public/components/d3/test/time/minutes-test.js +91 -0
  455. data/lib/stripchart/public/components/d3/test/time/month-test.js +150 -0
  456. data/lib/stripchart/public/components/d3/test/time/months-test.js +95 -0
  457. data/lib/stripchart/public/components/d3/test/time/scale-test.js +585 -0
  458. data/lib/stripchart/public/components/d3/test/time/second-test.js +143 -0
  459. data/lib/stripchart/public/components/d3/test/time/seconds-test.js +91 -0
  460. data/lib/stripchart/public/components/d3/test/time/time.js +30 -0
  461. data/lib/stripchart/public/components/d3/test/time/week-test.js +162 -0
  462. data/lib/stripchart/public/components/d3/test/time/weeks-test.js +95 -0
  463. data/lib/stripchart/public/components/d3/test/time/year-test.js +137 -0
  464. data/lib/stripchart/public/components/d3/test/time/years-test.js +74 -0
  465. data/lib/stripchart/public/components/d3/test/transition/transition-test-attr.js +56 -0
  466. data/lib/stripchart/public/components/d3/test/transition/transition-test-attrTween.js +59 -0
  467. data/lib/stripchart/public/components/d3/test/transition/transition-test-call.js +30 -0
  468. data/lib/stripchart/public/components/d3/test/transition/transition-test-delay.js +56 -0
  469. data/lib/stripchart/public/components/d3/test/transition/transition-test-duration.js +60 -0
  470. data/lib/stripchart/public/components/d3/test/transition/transition-test-each.js +163 -0
  471. data/lib/stripchart/public/components/d3/test/transition/transition-test-filter.js +84 -0
  472. data/lib/stripchart/public/components/d3/test/transition/transition-test-id.js +22 -0
  473. data/lib/stripchart/public/components/d3/test/transition/transition-test-node.js +39 -0
  474. data/lib/stripchart/public/components/d3/test/transition/transition-test-remove.js +45 -0
  475. data/lib/stripchart/public/components/d3/test/transition/transition-test-select.js +60 -0
  476. data/lib/stripchart/public/components/d3/test/transition/transition-test-selectAll.js +56 -0
  477. data/lib/stripchart/public/components/d3/test/transition/transition-test-size.js +37 -0
  478. data/lib/stripchart/public/components/d3/test/transition/transition-test-style.js +51 -0
  479. data/lib/stripchart/public/components/d3/test/transition/transition-test-styleTween.js +65 -0
  480. data/lib/stripchart/public/components/d3/test/transition/transition-test-text.js +27 -0
  481. data/lib/stripchart/public/components/d3/test/transition/transition-test-time.js +38 -0
  482. data/lib/stripchart/public/components/d3/test/transition/transition-test-transition.js +59 -0
  483. data/lib/stripchart/public/components/d3/test/transition/transition-test-tween.js +62 -0
  484. data/lib/stripchart/public/components/d3/test/transition/transition-test.js +89 -0
  485. data/lib/stripchart/public/components/d3/test/xhr/html-test.js +37 -0
  486. data/lib/stripchart/public/components/d3/test/xhr/json-test.js +51 -0
  487. data/lib/stripchart/public/components/d3/test/xhr/text-test.js +46 -0
  488. data/lib/stripchart/public/components/d3/test/xhr/xhr-test.js +54 -0
  489. data/lib/stripchart/public/components/d3/test/xhr/xml-test.js +46 -0
  490. data/lib/stripchart/public/components/jquery/README.md +11 -0
  491. data/lib/stripchart/public/components/jquery/bower.json +11 -0
  492. data/lib/stripchart/public/components/jquery/component.json +23 -0
  493. data/lib/stripchart/public/components/jquery/composer.json +35 -0
  494. data/lib/stripchart/public/components/jquery/jquery-migrate.js +511 -0
  495. data/lib/stripchart/public/components/jquery/jquery-migrate.min.js +3 -0
  496. data/lib/stripchart/public/components/jquery/jquery.js +8829 -0
  497. data/lib/stripchart/public/components/jquery/jquery.min.js +6 -0
  498. data/lib/stripchart/public/components/jquery/jquery.min.map +1 -0
  499. data/lib/stripchart/public/components/jquery/package.json +7 -0
  500. data/lib/stripchart/version.rb +3 -0
  501. data/lib/stripchart/views/index.erb +19 -0
  502. data/lib/stripchart/web.rb +22 -0
  503. data/lib/stripchart/websocket.rb +22 -0
  504. metadata +602 -0
@@ -0,0 +1,51 @@
1
+ var vows = require("vows"),
2
+ load = require("../load"),
3
+ assert = require("../assert");
4
+
5
+ var suite = vows.describe("d3.json");
6
+
7
+ suite.addBatch({
8
+ "json": {
9
+ topic: load("xhr/json").expression("d3.json").document(),
10
+
11
+ "on a sample file": {
12
+ topic: function(json) {
13
+ json("test/data/sample.json", this.callback);
14
+ },
15
+ "invokes the callback with the loaded JSON": function(json) {
16
+ assert.deepEqual(json, [{"Hello":42,"World":"\"fish\""}]);
17
+ },
18
+ "overrides the mime type to application/json": function(json) {
19
+ assert.equal(XMLHttpRequest._last._info.mimeType, "application/json");
20
+ }
21
+ },
22
+
23
+ "on a file that does not exist": {
24
+ topic: function(json) {
25
+ var callback = this.callback;
26
+ json("//does/not/exist.json", function(error, json) {
27
+ callback(null, {error: error, value: json});
28
+ });
29
+ },
30
+ "invokes the callback with undefined when an error occurs": function(result) {
31
+ assert.equal(result.error.status, 404);
32
+ assert.isUndefined(result.value);
33
+ }
34
+ },
35
+
36
+ "on a file with invalid JSON": {
37
+ topic: function(json) {
38
+ var callback = this.callback;
39
+ json("test/data/sample.tsv", function(error, json) {
40
+ callback(null, {error: error, value: json});
41
+ });
42
+ },
43
+ "invokes the callback with undefined when an error occurs": function(result) {
44
+ assert.equal(result.error.constructor.name, "SyntaxError");
45
+ assert.isUndefined(result.value);
46
+ }
47
+ }
48
+ }
49
+ });
50
+
51
+ suite.export(module);
@@ -0,0 +1,46 @@
1
+ var vows = require("vows"),
2
+ load = require("../load"),
3
+ assert = require("../assert");
4
+
5
+ var suite = vows.describe("d3.text");
6
+
7
+ suite.addBatch({
8
+ "text": {
9
+ topic: load("xhr/text").expression("d3.text").document(),
10
+
11
+ "on a sample file": {
12
+ topic: function(text) {
13
+ text("test/data/sample.txt", this.callback);
14
+ },
15
+ "invokes the callback with the loaded text": function(text) {
16
+ assert.equal(text, "Hello, world!\n");
17
+ },
18
+ "does not override the mime type by default": function(text) {
19
+ assert.isUndefined(XMLHttpRequest._last._info.mimeType);
20
+ }
21
+ },
22
+
23
+ "with a custom mime type": {
24
+ topic: function(text) {
25
+ text("test/data/sample.txt", "text/plain+sample", this.callback);
26
+ },
27
+ "observes the optional mime type": function(text) {
28
+ assert.equal(XMLHttpRequest._last._info.mimeType, "text/plain+sample");
29
+ }
30
+ },
31
+
32
+ "on a file that does not exist": {
33
+ topic: function(text) {
34
+ var callback = this.callback;
35
+ text("//does/not/exist.txt", function(error, text) {
36
+ callback(null, text);
37
+ });
38
+ },
39
+ "invokes the callback with undefined when an error occurs": function(text) {
40
+ assert.isUndefined(text);
41
+ }
42
+ }
43
+ }
44
+ });
45
+
46
+ suite.export(module);
@@ -0,0 +1,54 @@
1
+ var vows = require("vows"),
2
+ load = require("../load"),
3
+ assert = require("../assert");
4
+
5
+ var suite = vows.describe("d3.xhr");
6
+
7
+ suite.addBatch({
8
+ "xhr": {
9
+ topic: load("xhr/xhr").expression("d3.xhr").document(),
10
+
11
+ "on a sample text file": {
12
+ topic: function(xhr) {
13
+ xhr("test/data/sample.txt", this.callback);
14
+ },
15
+ "makes an asynchronous HTTP request": function(req) {
16
+ assert.equal(req._info.url, "test/data/sample.txt");
17
+ assert.isTrue(req._info.async);
18
+ },
19
+ "invokes the callback with the request object": function(req) {
20
+ assert.equal(req.responseText, "Hello, world!\n");
21
+ },
22
+ "does not override the mime type by default": function(req) {
23
+ assert.isUndefined(req._info.mimeType);
24
+ },
25
+ "waits until the request is done": function(req) {
26
+ assert.equal(req.readyState, 4);
27
+ assert.equal(req.status, 200);
28
+ }
29
+ },
30
+
31
+ "when a custom mime type is specified": {
32
+ topic: function(xhr) {
33
+ xhr("test/data/sample.txt", "text/plain", this.callback);
34
+ },
35
+ "observes the optional mime type": function(req) {
36
+ assert.equal(req._info.mimeType, "text/plain");
37
+ }
38
+ },
39
+
40
+ "on a file that does not exist": {
41
+ topic: function(xhr) {
42
+ var callback = this.callback;
43
+ xhr("//does/not/exist.txt", function(error, req) {
44
+ callback(null, req);
45
+ });
46
+ },
47
+ "invokes the callback with undefined when an error occurs": function(req) {
48
+ assert.isUndefined(req);
49
+ }
50
+ }
51
+ }
52
+ });
53
+
54
+ suite.export(module);
@@ -0,0 +1,46 @@
1
+ var vows = require("vows"),
2
+ load = require("../load"),
3
+ assert = require("../assert");
4
+
5
+ var suite = vows.describe("d3.xml");
6
+
7
+ suite.addBatch({
8
+ "xml": {
9
+ topic: load("xhr/xml").expression("d3.xml").document(),
10
+
11
+ "on a sample file": {
12
+ topic: function(xml) {
13
+ xml("test/data/sample.xml", this.callback);
14
+ },
15
+ "invokes the callback with the loaded xml": function(xml) {
16
+ assert.deepEqual(xml, {_xml: "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n<hello>\n <world name=\"Earth\"/>\n</hello>\n"});
17
+ },
18
+ "does not override the mime type by default": function(xml) {
19
+ assert.isUndefined(XMLHttpRequest._last._info.mimeType);
20
+ }
21
+ },
22
+
23
+ "with a custom mime type": {
24
+ topic: function(xml) {
25
+ xml("test/data/sample.txt", "application/xml+sample", this.callback);
26
+ },
27
+ "observes the optional mime type": function(xml) {
28
+ assert.equal(XMLHttpRequest._last._info.mimeType, "application/xml+sample");
29
+ }
30
+ },
31
+
32
+ "on a file that does not exist": {
33
+ topic: function(xml) {
34
+ var callback = this.callback;
35
+ xml("//does/not/exist.xml", function(error, xml) {
36
+ callback(null, xml);
37
+ });
38
+ },
39
+ "invokes the callback with undefined when an error occurs": function(xml) {
40
+ assert.isUndefined(xml);
41
+ }
42
+ }
43
+ }
44
+ });
45
+
46
+ suite.export(module);
@@ -0,0 +1,11 @@
1
+ jQuery Component
2
+ ================
3
+
4
+ Shim repository for the [jQuery](http://jquery.com).
5
+
6
+ Package Managers
7
+ ----------------
8
+
9
+ * [Bower](http://bower.io/): `jquery`
10
+ * [Component](https://github.com/component/component): `components/jquery`
11
+ * [Composer](http://packagist.org/packages/components/jquery): `components/jquery`
@@ -0,0 +1,11 @@
1
+ {
2
+ "name": "jquery",
3
+ "version": "2.0.3",
4
+ "description": "jQuery component",
5
+ "keywords": [
6
+ "jquery",
7
+ "component"
8
+ ],
9
+ "main": "jquery.js",
10
+ "license": "MIT"
11
+ }
@@ -0,0 +1,23 @@
1
+ {
2
+ "name": "jquery",
3
+ "repo": "components/jquery",
4
+ "version": "2.0.3",
5
+ "description": "jQuery component",
6
+ "keywords": [
7
+ "jquery",
8
+ "component"
9
+ ],
10
+ "main": "jquery.js",
11
+ "scripts": [
12
+ "jquery.js"
13
+ ],
14
+ "license": "MIT",
15
+ "gitHead": "452a56b52b8f4a032256cdb8b6838f25f0bdb3d2",
16
+ "readme": "jQuery Component\n================\n\nShim repository for the [jQuery](http://jquery.com).\n\nPackage Managers\n----------------\n\n* [Bower](http://bower.io/): `jquery`\n* [Component](https://github.com/component/component): `components/jquery`\n* [Composer](http://packagist.org/packages/components/jquery): `components/jquery`\n",
17
+ "readmeFilename": "README.md",
18
+ "_id": "jquery@2.0.3",
19
+ "repository": {
20
+ "type": "git",
21
+ "url": "git://github.com/components/jquery.git"
22
+ }
23
+ }
@@ -0,0 +1,35 @@
1
+ {
2
+ "name": "components/jquery",
3
+ "description": "jQuery JavaScript Library",
4
+ "type": "component",
5
+ "homepage": "http://jquery.com",
6
+ "license": "MIT",
7
+ "support": {
8
+ "irc": "irc://irc.freenode.org/jquery",
9
+ "issues": "http://bugs.jquery.com",
10
+ "forum": "http://forum.jquery.com",
11
+ "wiki": "http://docs.jquery.com/",
12
+ "source": "https://github.com/jquery/jquery"
13
+ },
14
+ "authors": [
15
+ {
16
+ "name": "John Resig",
17
+ "email": "jeresig@gmail.com"
18
+ }
19
+ ],
20
+ "require": {
21
+ "robloach/component-installer": "*"
22
+ },
23
+ "extra": {
24
+ "component": {
25
+ "scripts": [
26
+ "jquery.js"
27
+ ],
28
+ "files": [
29
+ "jquery.min.js",
30
+ "jquery-migrate.js",
31
+ "jquery-migrate.min.js"
32
+ ]
33
+ }
34
+ }
35
+ }
@@ -0,0 +1,511 @@
1
+ /*!
2
+ * jQuery Migrate - v1.1.1 - 2013-02-16
3
+ * https://github.com/jquery/jquery-migrate
4
+ * Copyright 2005, 2013 jQuery Foundation, Inc. and other contributors; Licensed MIT
5
+ */
6
+ (function( jQuery, window, undefined ) {
7
+ // See http://bugs.jquery.com/ticket/13335
8
+ // "use strict";
9
+
10
+
11
+ var warnedAbout = {};
12
+
13
+ // List of warnings already given; public read only
14
+ jQuery.migrateWarnings = [];
15
+
16
+ // Set to true to prevent console output; migrateWarnings still maintained
17
+ // jQuery.migrateMute = false;
18
+
19
+ // Show a message on the console so devs know we're active
20
+ if ( !jQuery.migrateMute && window.console && console.log ) {
21
+ console.log("JQMIGRATE: Logging is active");
22
+ }
23
+
24
+ // Set to false to disable traces that appear with warnings
25
+ if ( jQuery.migrateTrace === undefined ) {
26
+ jQuery.migrateTrace = true;
27
+ }
28
+
29
+ // Forget any warnings we've already given; public
30
+ jQuery.migrateReset = function() {
31
+ warnedAbout = {};
32
+ jQuery.migrateWarnings.length = 0;
33
+ };
34
+
35
+ function migrateWarn( msg) {
36
+ if ( !warnedAbout[ msg ] ) {
37
+ warnedAbout[ msg ] = true;
38
+ jQuery.migrateWarnings.push( msg );
39
+ if ( window.console && console.warn && !jQuery.migrateMute ) {
40
+ console.warn( "JQMIGRATE: " + msg );
41
+ if ( jQuery.migrateTrace && console.trace ) {
42
+ console.trace();
43
+ }
44
+ }
45
+ }
46
+ }
47
+
48
+ function migrateWarnProp( obj, prop, value, msg ) {
49
+ if ( Object.defineProperty ) {
50
+ // On ES5 browsers (non-oldIE), warn if the code tries to get prop;
51
+ // allow property to be overwritten in case some other plugin wants it
52
+ try {
53
+ Object.defineProperty( obj, prop, {
54
+ configurable: true,
55
+ enumerable: true,
56
+ get: function() {
57
+ migrateWarn( msg );
58
+ return value;
59
+ },
60
+ set: function( newValue ) {
61
+ migrateWarn( msg );
62
+ value = newValue;
63
+ }
64
+ });
65
+ return;
66
+ } catch( err ) {
67
+ // IE8 is a dope about Object.defineProperty, can't warn there
68
+ }
69
+ }
70
+
71
+ // Non-ES5 (or broken) browser; just set the property
72
+ jQuery._definePropertyBroken = true;
73
+ obj[ prop ] = value;
74
+ }
75
+
76
+ if ( document.compatMode === "BackCompat" ) {
77
+ // jQuery has never supported or tested Quirks Mode
78
+ migrateWarn( "jQuery is not compatible with Quirks Mode" );
79
+ }
80
+
81
+
82
+ var attrFn = jQuery( "<input/>", { size: 1 } ).attr("size") && jQuery.attrFn,
83
+ oldAttr = jQuery.attr,
84
+ valueAttrGet = jQuery.attrHooks.value && jQuery.attrHooks.value.get ||
85
+ function() { return null; },
86
+ valueAttrSet = jQuery.attrHooks.value && jQuery.attrHooks.value.set ||
87
+ function() { return undefined; },
88
+ rnoType = /^(?:input|button)$/i,
89
+ rnoAttrNodeType = /^[238]$/,
90
+ rboolean = /^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,
91
+ ruseDefault = /^(?:checked|selected)$/i;
92
+
93
+ // jQuery.attrFn
94
+ migrateWarnProp( jQuery, "attrFn", attrFn || {}, "jQuery.attrFn is deprecated" );
95
+
96
+ jQuery.attr = function( elem, name, value, pass ) {
97
+ var lowerName = name.toLowerCase(),
98
+ nType = elem && elem.nodeType;
99
+
100
+ if ( pass ) {
101
+ // Since pass is used internally, we only warn for new jQuery
102
+ // versions where there isn't a pass arg in the formal params
103
+ if ( oldAttr.length < 4 ) {
104
+ migrateWarn("jQuery.fn.attr( props, pass ) is deprecated");
105
+ }
106
+ if ( elem && !rnoAttrNodeType.test( nType ) &&
107
+ (attrFn ? name in attrFn : jQuery.isFunction(jQuery.fn[name])) ) {
108
+ return jQuery( elem )[ name ]( value );
109
+ }
110
+ }
111
+
112
+ // Warn if user tries to set `type`, since it breaks on IE 6/7/8; by checking
113
+ // for disconnected elements we don't warn on $( "<button>", { type: "button" } ).
114
+ if ( name === "type" && value !== undefined && rnoType.test( elem.nodeName ) && elem.parentNode ) {
115
+ migrateWarn("Can't change the 'type' of an input or button in IE 6/7/8");
116
+ }
117
+
118
+ // Restore boolHook for boolean property/attribute synchronization
119
+ if ( !jQuery.attrHooks[ lowerName ] && rboolean.test( lowerName ) ) {
120
+ jQuery.attrHooks[ lowerName ] = {
121
+ get: function( elem, name ) {
122
+ // Align boolean attributes with corresponding properties
123
+ // Fall back to attribute presence where some booleans are not supported
124
+ var attrNode,
125
+ property = jQuery.prop( elem, name );
126
+ return property === true || typeof property !== "boolean" &&
127
+ ( attrNode = elem.getAttributeNode(name) ) && attrNode.nodeValue !== false ?
128
+
129
+ name.toLowerCase() :
130
+ undefined;
131
+ },
132
+ set: function( elem, value, name ) {
133
+ var propName;
134
+ if ( value === false ) {
135
+ // Remove boolean attributes when set to false
136
+ jQuery.removeAttr( elem, name );
137
+ } else {
138
+ // value is true since we know at this point it's type boolean and not false
139
+ // Set boolean attributes to the same name and set the DOM property
140
+ propName = jQuery.propFix[ name ] || name;
141
+ if ( propName in elem ) {
142
+ // Only set the IDL specifically if it already exists on the element
143
+ elem[ propName ] = true;
144
+ }
145
+
146
+ elem.setAttribute( name, name.toLowerCase() );
147
+ }
148
+ return name;
149
+ }
150
+ };
151
+
152
+ // Warn only for attributes that can remain distinct from their properties post-1.9
153
+ if ( ruseDefault.test( lowerName ) ) {
154
+ migrateWarn( "jQuery.fn.attr('" + lowerName + "') may use property instead of attribute" );
155
+ }
156
+ }
157
+
158
+ return oldAttr.call( jQuery, elem, name, value );
159
+ };
160
+
161
+ // attrHooks: value
162
+ jQuery.attrHooks.value = {
163
+ get: function( elem, name ) {
164
+ var nodeName = ( elem.nodeName || "" ).toLowerCase();
165
+ if ( nodeName === "button" ) {
166
+ return valueAttrGet.apply( this, arguments );
167
+ }
168
+ if ( nodeName !== "input" && nodeName !== "option" ) {
169
+ migrateWarn("jQuery.fn.attr('value') no longer gets properties");
170
+ }
171
+ return name in elem ?
172
+ elem.value :
173
+ null;
174
+ },
175
+ set: function( elem, value ) {
176
+ var nodeName = ( elem.nodeName || "" ).toLowerCase();
177
+ if ( nodeName === "button" ) {
178
+ return valueAttrSet.apply( this, arguments );
179
+ }
180
+ if ( nodeName !== "input" && nodeName !== "option" ) {
181
+ migrateWarn("jQuery.fn.attr('value', val) no longer sets properties");
182
+ }
183
+ // Does not return so that setAttribute is also used
184
+ elem.value = value;
185
+ }
186
+ };
187
+
188
+
189
+ var matched, browser,
190
+ oldInit = jQuery.fn.init,
191
+ oldParseJSON = jQuery.parseJSON,
192
+ // Note this does NOT include the #9521 XSS fix from 1.7!
193
+ rquickExpr = /^(?:[^<]*(<[\w\W]+>)[^>]*|#([\w\-]*))$/;
194
+
195
+ // $(html) "looks like html" rule change
196
+ jQuery.fn.init = function( selector, context, rootjQuery ) {
197
+ var match;
198
+
199
+ if ( selector && typeof selector === "string" && !jQuery.isPlainObject( context ) &&
200
+ (match = rquickExpr.exec( selector )) && match[1] ) {
201
+ // This is an HTML string according to the "old" rules; is it still?
202
+ if ( selector.charAt( 0 ) !== "<" ) {
203
+ migrateWarn("$(html) HTML strings must start with '<' character");
204
+ }
205
+ // Now process using loose rules; let pre-1.8 play too
206
+ if ( context && context.context ) {
207
+ // jQuery object as context; parseHTML expects a DOM object
208
+ context = context.context;
209
+ }
210
+ if ( jQuery.parseHTML ) {
211
+ return oldInit.call( this, jQuery.parseHTML( jQuery.trim(selector), context, true ),
212
+ context, rootjQuery );
213
+ }
214
+ }
215
+ return oldInit.apply( this, arguments );
216
+ };
217
+ jQuery.fn.init.prototype = jQuery.fn;
218
+
219
+ // Let $.parseJSON(falsy_value) return null
220
+ jQuery.parseJSON = function( json ) {
221
+ if ( !json && json !== null ) {
222
+ migrateWarn("jQuery.parseJSON requires a valid JSON string");
223
+ return null;
224
+ }
225
+ return oldParseJSON.apply( this, arguments );
226
+ };
227
+
228
+ jQuery.uaMatch = function( ua ) {
229
+ ua = ua.toLowerCase();
230
+
231
+ var match = /(chrome)[ \/]([\w.]+)/.exec( ua ) ||
232
+ /(webkit)[ \/]([\w.]+)/.exec( ua ) ||
233
+ /(opera)(?:.*version|)[ \/]([\w.]+)/.exec( ua ) ||
234
+ /(msie) ([\w.]+)/.exec( ua ) ||
235
+ ua.indexOf("compatible") < 0 && /(mozilla)(?:.*? rv:([\w.]+)|)/.exec( ua ) ||
236
+ [];
237
+
238
+ return {
239
+ browser: match[ 1 ] || "",
240
+ version: match[ 2 ] || "0"
241
+ };
242
+ };
243
+
244
+ // Don't clobber any existing jQuery.browser in case it's different
245
+ if ( !jQuery.browser ) {
246
+ matched = jQuery.uaMatch( navigator.userAgent );
247
+ browser = {};
248
+
249
+ if ( matched.browser ) {
250
+ browser[ matched.browser ] = true;
251
+ browser.version = matched.version;
252
+ }
253
+
254
+ // Chrome is Webkit, but Webkit is also Safari.
255
+ if ( browser.chrome ) {
256
+ browser.webkit = true;
257
+ } else if ( browser.webkit ) {
258
+ browser.safari = true;
259
+ }
260
+
261
+ jQuery.browser = browser;
262
+ }
263
+
264
+ // Warn if the code tries to get jQuery.browser
265
+ migrateWarnProp( jQuery, "browser", jQuery.browser, "jQuery.browser is deprecated" );
266
+
267
+ jQuery.sub = function() {
268
+ function jQuerySub( selector, context ) {
269
+ return new jQuerySub.fn.init( selector, context );
270
+ }
271
+ jQuery.extend( true, jQuerySub, this );
272
+ jQuerySub.superclass = this;
273
+ jQuerySub.fn = jQuerySub.prototype = this();
274
+ jQuerySub.fn.constructor = jQuerySub;
275
+ jQuerySub.sub = this.sub;
276
+ jQuerySub.fn.init = function init( selector, context ) {
277
+ if ( context && context instanceof jQuery && !(context instanceof jQuerySub) ) {
278
+ context = jQuerySub( context );
279
+ }
280
+
281
+ return jQuery.fn.init.call( this, selector, context, rootjQuerySub );
282
+ };
283
+ jQuerySub.fn.init.prototype = jQuerySub.fn;
284
+ var rootjQuerySub = jQuerySub(document);
285
+ migrateWarn( "jQuery.sub() is deprecated" );
286
+ return jQuerySub;
287
+ };
288
+
289
+
290
+ // Ensure that $.ajax gets the new parseJSON defined in core.js
291
+ jQuery.ajaxSetup({
292
+ converters: {
293
+ "text json": jQuery.parseJSON
294
+ }
295
+ });
296
+
297
+
298
+ var oldFnData = jQuery.fn.data;
299
+
300
+ jQuery.fn.data = function( name ) {
301
+ var ret, evt,
302
+ elem = this[0];
303
+
304
+ // Handles 1.7 which has this behavior and 1.8 which doesn't
305
+ if ( elem && name === "events" && arguments.length === 1 ) {
306
+ ret = jQuery.data( elem, name );
307
+ evt = jQuery._data( elem, name );
308
+ if ( ( ret === undefined || ret === evt ) && evt !== undefined ) {
309
+ migrateWarn("Use of jQuery.fn.data('events') is deprecated");
310
+ return evt;
311
+ }
312
+ }
313
+ return oldFnData.apply( this, arguments );
314
+ };
315
+
316
+
317
+ var rscriptType = /\/(java|ecma)script/i,
318
+ oldSelf = jQuery.fn.andSelf || jQuery.fn.addBack;
319
+
320
+ jQuery.fn.andSelf = function() {
321
+ migrateWarn("jQuery.fn.andSelf() replaced by jQuery.fn.addBack()");
322
+ return oldSelf.apply( this, arguments );
323
+ };
324
+
325
+ // Since jQuery.clean is used internally on older versions, we only shim if it's missing
326
+ if ( !jQuery.clean ) {
327
+ jQuery.clean = function( elems, context, fragment, scripts ) {
328
+ // Set context per 1.8 logic
329
+ context = context || document;
330
+ context = !context.nodeType && context[0] || context;
331
+ context = context.ownerDocument || context;
332
+
333
+ migrateWarn("jQuery.clean() is deprecated");
334
+
335
+ var i, elem, handleScript, jsTags,
336
+ ret = [];
337
+
338
+ jQuery.merge( ret, jQuery.buildFragment( elems, context ).childNodes );
339
+
340
+ // Complex logic lifted directly from jQuery 1.8
341
+ if ( fragment ) {
342
+ // Special handling of each script element
343
+ handleScript = function( elem ) {
344
+ // Check if we consider it executable
345
+ if ( !elem.type || rscriptType.test( elem.type ) ) {
346
+ // Detach the script and store it in the scripts array (if provided) or the fragment
347
+ // Return truthy to indicate that it has been handled
348
+ return scripts ?
349
+ scripts.push( elem.parentNode ? elem.parentNode.removeChild( elem ) : elem ) :
350
+ fragment.appendChild( elem );
351
+ }
352
+ };
353
+
354
+ for ( i = 0; (elem = ret[i]) != null; i++ ) {
355
+ // Check if we're done after handling an executable script
356
+ if ( !( jQuery.nodeName( elem, "script" ) && handleScript( elem ) ) ) {
357
+ // Append to fragment and handle embedded scripts
358
+ fragment.appendChild( elem );
359
+ if ( typeof elem.getElementsByTagName !== "undefined" ) {
360
+ // handleScript alters the DOM, so use jQuery.merge to ensure snapshot iteration
361
+ jsTags = jQuery.grep( jQuery.merge( [], elem.getElementsByTagName("script") ), handleScript );
362
+
363
+ // Splice the scripts into ret after their former ancestor and advance our index beyond them
364
+ ret.splice.apply( ret, [i + 1, 0].concat( jsTags ) );
365
+ i += jsTags.length;
366
+ }
367
+ }
368
+ }
369
+ }
370
+
371
+ return ret;
372
+ };
373
+ }
374
+
375
+ var eventAdd = jQuery.event.add,
376
+ eventRemove = jQuery.event.remove,
377
+ eventTrigger = jQuery.event.trigger,
378
+ oldToggle = jQuery.fn.toggle,
379
+ oldLive = jQuery.fn.live,
380
+ oldDie = jQuery.fn.die,
381
+ ajaxEvents = "ajaxStart|ajaxStop|ajaxSend|ajaxComplete|ajaxError|ajaxSuccess",
382
+ rajaxEvent = new RegExp( "\\b(?:" + ajaxEvents + ")\\b" ),
383
+ rhoverHack = /(?:^|\s)hover(\.\S+|)\b/,
384
+ hoverHack = function( events ) {
385
+ if ( typeof( events ) !== "string" || jQuery.event.special.hover ) {
386
+ return events;
387
+ }
388
+ if ( rhoverHack.test( events ) ) {
389
+ migrateWarn("'hover' pseudo-event is deprecated, use 'mouseenter mouseleave'");
390
+ }
391
+ return events && events.replace( rhoverHack, "mouseenter$1 mouseleave$1" );
392
+ };
393
+
394
+ // Event props removed in 1.9, put them back if needed; no practical way to warn them
395
+ if ( jQuery.event.props && jQuery.event.props[ 0 ] !== "attrChange" ) {
396
+ jQuery.event.props.unshift( "attrChange", "attrName", "relatedNode", "srcElement" );
397
+ }
398
+
399
+ // Undocumented jQuery.event.handle was "deprecated" in jQuery 1.7
400
+ if ( jQuery.event.dispatch ) {
401
+ migrateWarnProp( jQuery.event, "handle", jQuery.event.dispatch, "jQuery.event.handle is undocumented and deprecated" );
402
+ }
403
+
404
+ // Support for 'hover' pseudo-event and ajax event warnings
405
+ jQuery.event.add = function( elem, types, handler, data, selector ){
406
+ if ( elem !== document && rajaxEvent.test( types ) ) {
407
+ migrateWarn( "AJAX events should be attached to document: " + types );
408
+ }
409
+ eventAdd.call( this, elem, hoverHack( types || "" ), handler, data, selector );
410
+ };
411
+ jQuery.event.remove = function( elem, types, handler, selector, mappedTypes ){
412
+ eventRemove.call( this, elem, hoverHack( types ) || "", handler, selector, mappedTypes );
413
+ };
414
+
415
+ jQuery.fn.error = function() {
416
+ var args = Array.prototype.slice.call( arguments, 0);
417
+ migrateWarn("jQuery.fn.error() is deprecated");
418
+ args.splice( 0, 0, "error" );
419
+ if ( arguments.length ) {
420
+ return this.bind.apply( this, args );
421
+ }
422
+ // error event should not bubble to window, although it does pre-1.7
423
+ this.triggerHandler.apply( this, args );
424
+ return this;
425
+ };
426
+
427
+ jQuery.fn.toggle = function( fn, fn2 ) {
428
+
429
+ // Don't mess with animation or css toggles
430
+ if ( !jQuery.isFunction( fn ) || !jQuery.isFunction( fn2 ) ) {
431
+ return oldToggle.apply( this, arguments );
432
+ }
433
+ migrateWarn("jQuery.fn.toggle(handler, handler...) is deprecated");
434
+
435
+ // Save reference to arguments for access in closure
436
+ var args = arguments,
437
+ guid = fn.guid || jQuery.guid++,
438
+ i = 0,
439
+ toggler = function( event ) {
440
+ // Figure out which function to execute
441
+ var lastToggle = ( jQuery._data( this, "lastToggle" + fn.guid ) || 0 ) % i;
442
+ jQuery._data( this, "lastToggle" + fn.guid, lastToggle + 1 );
443
+
444
+ // Make sure that clicks stop
445
+ event.preventDefault();
446
+
447
+ // and execute the function
448
+ return args[ lastToggle ].apply( this, arguments ) || false;
449
+ };
450
+
451
+ // link all the functions, so any of them can unbind this click handler
452
+ toggler.guid = guid;
453
+ while ( i < args.length ) {
454
+ args[ i++ ].guid = guid;
455
+ }
456
+
457
+ return this.click( toggler );
458
+ };
459
+
460
+ jQuery.fn.live = function( types, data, fn ) {
461
+ migrateWarn("jQuery.fn.live() is deprecated");
462
+ if ( oldLive ) {
463
+ return oldLive.apply( this, arguments );
464
+ }
465
+ jQuery( this.context ).on( types, this.selector, data, fn );
466
+ return this;
467
+ };
468
+
469
+ jQuery.fn.die = function( types, fn ) {
470
+ migrateWarn("jQuery.fn.die() is deprecated");
471
+ if ( oldDie ) {
472
+ return oldDie.apply( this, arguments );
473
+ }
474
+ jQuery( this.context ).off( types, this.selector || "**", fn );
475
+ return this;
476
+ };
477
+
478
+ // Turn global events into document-triggered events
479
+ jQuery.event.trigger = function( event, data, elem, onlyHandlers ){
480
+ if ( !elem && !rajaxEvent.test( event ) ) {
481
+ migrateWarn( "Global events are undocumented and deprecated" );
482
+ }
483
+ return eventTrigger.call( this, event, data, elem || document, onlyHandlers );
484
+ };
485
+ jQuery.each( ajaxEvents.split("|"),
486
+ function( _, name ) {
487
+ jQuery.event.special[ name ] = {
488
+ setup: function() {
489
+ var elem = this;
490
+
491
+ // The document needs no shimming; must be !== for oldIE
492
+ if ( elem !== document ) {
493
+ jQuery.event.add( document, name + "." + jQuery.guid, function() {
494
+ jQuery.event.trigger( name, null, elem, true );
495
+ });
496
+ jQuery._data( this, name, jQuery.guid++ );
497
+ }
498
+ return false;
499
+ },
500
+ teardown: function() {
501
+ if ( this !== document ) {
502
+ jQuery.event.remove( document, name + "." + jQuery._data( this, name ) );
503
+ }
504
+ return false;
505
+ }
506
+ };
507
+ }
508
+ );
509
+
510
+
511
+ })( jQuery, window );