mdarray-sol 0.1.0-java

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 (683) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE.txt +35 -0
  3. data/LICENSE.txt~ +73 -0
  4. data/README.md +140 -0
  5. data/README.md~ +290 -0
  6. data/Rakefile +80 -0
  7. data/config.rb +223 -0
  8. data/doc/Nashorn.html +1406 -0
  9. data/doc/Sol.html +692 -0
  10. data/doc/Sol/BarChart.html +181 -0
  11. data/doc/Sol/BaseChart.html +799 -0
  12. data/doc/Sol/Bootstrap.html +1134 -0
  13. data/doc/Sol/Bridge.html +448 -0
  14. data/doc/Sol/Chart.html +1162 -0
  15. data/doc/Sol/CoordinateChart.html +673 -0
  16. data/doc/Sol/DCFX.html +807 -0
  17. data/doc/Sol/Dashboard.html +1967 -0
  18. data/doc/Sol/ExecMessages.html +332 -0
  19. data/doc/Sol/GuiCommunication.html +230 -0
  20. data/doc/Sol/Interval.html +1213 -0
  21. data/doc/Sol/JS.html +448 -0
  22. data/doc/Sol/LineChart.html +344 -0
  23. data/doc/Sol/LinearScale.html +334 -0
  24. data/doc/Sol/Margins.html +219 -0
  25. data/doc/Sol/OrdinalScale.html +263 -0
  26. data/doc/Sol/ReadBuffer.html +302 -0
  27. data/doc/Sol/Scale.html +462 -0
  28. data/doc/Sol/Stack.html +199 -0
  29. data/doc/Sol/TimeScale.html +396 -0
  30. data/doc/_index.html +362 -0
  31. data/doc/class_list.html +58 -0
  32. data/doc/css/common.css +1 -0
  33. data/doc/css/full_list.css +57 -0
  34. data/doc/css/style.css +339 -0
  35. data/doc/file.README.html +95 -0
  36. data/doc/file_list.html +60 -0
  37. data/doc/frames.html +26 -0
  38. data/doc/index.html +95 -0
  39. data/doc/js/app.js +219 -0
  40. data/doc/js/full_list.js +181 -0
  41. data/doc/js/jquery.js +4 -0
  42. data/doc/method_list.html +849 -0
  43. data/doc/top-level-namespace.html +135 -0
  44. data/examples/bar_chart/bar_chart.rb +268 -0
  45. data/examples/bar_plot.rb +96 -0
  46. data/examples/charts/area.rb +25 -0
  47. data/examples/charts/area_script.rb +69 -0
  48. data/examples/charts/env.rb +8 -0
  49. data/examples/charts/monthly-move.csv +6725 -0
  50. data/examples/charts/morley.csv +101 -0
  51. data/examples/charts/morley2.csv +81 -0
  52. data/examples/charts/morley3.csv +121 -0
  53. data/examples/d3_tutorial.rb +98 -0
  54. data/examples/sc_plot.rb +57 -0
  55. data/examples/scatterplot/axes.rb +111 -0
  56. data/examples/scatterplot/scatterplot.rb +221 -0
  57. data/examples/us_states/map.rb +90 -0
  58. data/examples/us_states/us-ag-productivity2004.csv +49 -0
  59. data/examples/us_states/us-cities.csv +51 -0
  60. data/examples/util/linear_scale.rb +83 -0
  61. data/examples/util/ordinal_scale.rb +72 -0
  62. data/init.rb +39 -0
  63. data/lib/jx/array_handler.js +70 -0
  64. data/lib/jx/callback.rb +255 -0
  65. data/lib/jx/hash_handler.js +87 -0
  66. data/lib/jx/irbobject.rb +121 -0
  67. data/lib/jx/js.rb +442 -0
  68. data/lib/jx/js_array.rb +31 -0
  69. data/lib/jx/js_hash.rb +76 -0
  70. data/lib/jx/js_init.rb +62 -0
  71. data/lib/jx/jsarray.rb +66 -0
  72. data/lib/jx/jsfunction.rb +73 -0
  73. data/lib/jx/jsobject.rb +188 -0
  74. data/lib/jx/jsstyle_sheet.rb +231 -0
  75. data/lib/jx/jsundefined.rb +46 -0
  76. data/lib/jx/proxy_array.rb +62 -0
  77. data/lib/jx/rbobject.rb +80 -0
  78. data/lib/jx/ruby_proxy.js +176 -0
  79. data/lib/jx/ruby_rich.js +70 -0
  80. data/lib/jx/sol.rb +109 -0
  81. data/lib/mdarray-sol.rb +34 -0
  82. data/lib/mdarray/jsmdarray.rb +39 -0
  83. data/lib/ruby_rich/bootstrap.rb +230 -0
  84. data/lib/ruby_rich/config.html +22 -0
  85. data/lib/ruby_rich/dashboard.rb +299 -0
  86. data/lib/ruby_rich/ruby_rich.rb +120 -0
  87. data/lib/sol/bar_chart.rb +35 -0
  88. data/lib/sol/base_chart.rb +148 -0
  89. data/lib/sol/chart.rb +138 -0
  90. data/lib/sol/coordinate_chart.rb +128 -0
  91. data/lib/sol/interval.rb +156 -0
  92. data/lib/sol/line_chart.rb +58 -0
  93. data/lib/sol/margins.rb +52 -0
  94. data/lib/sol/scale.rb +212 -0
  95. data/lib/sol/stack.rb +44 -0
  96. data/node_modules/bootstrap/Gruntfile.js +533 -0
  97. data/node_modules/bootstrap/dist/js/bootstrap.js +2363 -0
  98. data/node_modules/bootstrap/dist/js/bootstrap.min.js +7 -0
  99. data/node_modules/bootstrap/dist/js/npm.js +13 -0
  100. data/node_modules/bootstrap/grunt/bs-commonjs-generator.js +30 -0
  101. data/node_modules/bootstrap/grunt/bs-glyphicons-data-generator.js +42 -0
  102. data/node_modules/bootstrap/grunt/bs-lessdoc-parser.js +237 -0
  103. data/node_modules/bootstrap/grunt/bs-raw-files-generator.js +44 -0
  104. data/node_modules/bootstrap/js/affix.js +162 -0
  105. data/node_modules/bootstrap/js/alert.js +94 -0
  106. data/node_modules/bootstrap/js/button.js +120 -0
  107. data/node_modules/bootstrap/js/carousel.js +237 -0
  108. data/node_modules/bootstrap/js/collapse.js +211 -0
  109. data/node_modules/bootstrap/js/dropdown.js +165 -0
  110. data/node_modules/bootstrap/js/modal.js +337 -0
  111. data/node_modules/bootstrap/js/popover.js +108 -0
  112. data/node_modules/bootstrap/js/scrollspy.js +172 -0
  113. data/node_modules/bootstrap/js/tab.js +155 -0
  114. data/node_modules/bootstrap/js/tooltip.js +514 -0
  115. data/node_modules/bootstrap/js/transition.js +59 -0
  116. data/node_modules/chai/chai.js +6142 -0
  117. data/node_modules/chai/index.js +1 -0
  118. data/node_modules/chai/karma.conf.js +28 -0
  119. data/node_modules/chai/karma.sauce.js +41 -0
  120. data/node_modules/chai/lib/chai.js +93 -0
  121. data/node_modules/chai/lib/chai/assertion.js +131 -0
  122. data/node_modules/chai/lib/chai/config.js +55 -0
  123. data/node_modules/chai/lib/chai/core/assertions.js +1860 -0
  124. data/node_modules/chai/lib/chai/interface/assert.js +1645 -0
  125. data/node_modules/chai/lib/chai/interface/expect.js +34 -0
  126. data/node_modules/chai/lib/chai/interface/should.js +201 -0
  127. data/node_modules/chai/lib/chai/utils/addChainableMethod.js +112 -0
  128. data/node_modules/chai/lib/chai/utils/addMethod.js +44 -0
  129. data/node_modules/chai/lib/chai/utils/addProperty.js +48 -0
  130. data/node_modules/chai/lib/chai/utils/expectTypes.js +42 -0
  131. data/node_modules/chai/lib/chai/utils/flag.js +33 -0
  132. data/node_modules/chai/lib/chai/utils/getActual.js +20 -0
  133. data/node_modules/chai/lib/chai/utils/getEnumerableProperties.js +26 -0
  134. data/node_modules/chai/lib/chai/utils/getMessage.js +51 -0
  135. data/node_modules/chai/lib/chai/utils/getName.js +22 -0
  136. data/node_modules/chai/lib/chai/utils/getPathInfo.js +111 -0
  137. data/node_modules/chai/lib/chai/utils/getPathValue.js +43 -0
  138. data/node_modules/chai/lib/chai/utils/getProperties.js +36 -0
  139. data/node_modules/chai/lib/chai/utils/hasProperty.js +64 -0
  140. data/node_modules/chai/lib/chai/utils/index.js +130 -0
  141. data/node_modules/chai/lib/chai/utils/inspect.js +335 -0
  142. data/node_modules/chai/lib/chai/utils/objDisplay.js +50 -0
  143. data/node_modules/chai/lib/chai/utils/overwriteChainableMethod.js +54 -0
  144. data/node_modules/chai/lib/chai/utils/overwriteMethod.js +52 -0
  145. data/node_modules/chai/lib/chai/utils/overwriteProperty.js +55 -0
  146. data/node_modules/chai/lib/chai/utils/test.js +28 -0
  147. data/node_modules/chai/lib/chai/utils/transferFlags.js +45 -0
  148. data/node_modules/chai/node_modules/assertion-error/index.js +116 -0
  149. data/node_modules/chai/node_modules/deep-eql/index.js +1 -0
  150. data/node_modules/chai/node_modules/deep-eql/karma.conf.js +20 -0
  151. data/node_modules/chai/node_modules/deep-eql/lib/eql.js +257 -0
  152. data/node_modules/chai/node_modules/deep-eql/node_modules/type-detect/index.js +1 -0
  153. data/node_modules/chai/node_modules/deep-eql/node_modules/type-detect/lib/type.js +142 -0
  154. data/node_modules/chai/node_modules/type-detect/index.js +1 -0
  155. data/node_modules/chai/node_modules/type-detect/lib/type.js +134 -0
  156. data/node_modules/chai/sauce.browsers.js +128 -0
  157. data/node_modules/dc/Gruntfile.js +437 -0
  158. data/node_modules/dc/dc.js +10477 -0
  159. data/node_modules/dc/dc.min.js +23 -0
  160. data/node_modules/dc/docs/coverage.js +203 -0
  161. data/node_modules/dc/grunt/format-file-list.js +33 -0
  162. data/node_modules/dc/index.js +5 -0
  163. data/node_modules/dc/node_modules/crossfilter2/crossfilter.js +1401 -0
  164. data/node_modules/dc/node_modules/crossfilter2/crossfilter.min.js +1 -0
  165. data/node_modules/dc/node_modules/crossfilter2/index.js +1 -0
  166. data/node_modules/dc/node_modules/crossfilter2/src/array.js +46 -0
  167. data/node_modules/dc/node_modules/crossfilter2/src/bisect.js +44 -0
  168. data/node_modules/dc/node_modules/crossfilter2/src/crossfilter.js +872 -0
  169. data/node_modules/dc/node_modules/crossfilter2/src/filter.js +19 -0
  170. data/node_modules/dc/node_modules/crossfilter2/src/heap.js +44 -0
  171. data/node_modules/dc/node_modules/crossfilter2/src/heapselect.js +36 -0
  172. data/node_modules/dc/node_modules/crossfilter2/src/identity.js +3 -0
  173. data/node_modules/dc/node_modules/crossfilter2/src/insertionsort.js +18 -0
  174. data/node_modules/dc/node_modules/crossfilter2/src/null.js +3 -0
  175. data/node_modules/dc/node_modules/crossfilter2/src/permute.js +8 -0
  176. data/node_modules/dc/node_modules/crossfilter2/src/quicksort.js +283 -0
  177. data/node_modules/dc/node_modules/crossfilter2/src/reduce.js +19 -0
  178. data/node_modules/dc/node_modules/crossfilter2/src/zero.js +3 -0
  179. data/node_modules/dc/node_modules/d3/d3.js +9554 -0
  180. data/node_modules/dc/node_modules/d3/d3.min.js +5 -0
  181. data/node_modules/dc/node_modules/d3/package.js +13 -0
  182. data/node_modules/dc/node_modules/d3/src/arrays/ascending.js +5 -0
  183. data/node_modules/dc/node_modules/d3/src/arrays/bisect.js +36 -0
  184. data/node_modules/dc/node_modules/d3/src/arrays/descending.js +3 -0
  185. data/node_modules/dc/node_modules/d3/src/arrays/deviation.js +6 -0
  186. data/node_modules/dc/node_modules/d3/src/arrays/entries.js +5 -0
  187. data/node_modules/dc/node_modules/d3/src/arrays/extent.js +21 -0
  188. data/node_modules/dc/node_modules/d3/src/arrays/index.js +25 -0
  189. data/node_modules/dc/node_modules/d3/src/arrays/keys.js +5 -0
  190. data/node_modules/dc/node_modules/d3/src/arrays/map.js +84 -0
  191. data/node_modules/dc/node_modules/d3/src/arrays/max.js +14 -0
  192. data/node_modules/dc/node_modules/d3/src/arrays/mean.js +15 -0
  193. data/node_modules/dc/node_modules/d3/src/arrays/median.js +16 -0
  194. data/node_modules/dc/node_modules/d3/src/arrays/merge.js +21 -0
  195. data/node_modules/dc/node_modules/d3/src/arrays/min.js +14 -0
  196. data/node_modules/dc/node_modules/d3/src/arrays/nest.js +97 -0
  197. data/node_modules/dc/node_modules/d3/src/arrays/pairs.js +5 -0
  198. data/node_modules/dc/node_modules/d3/src/arrays/permute.js +5 -0
  199. data/node_modules/dc/node_modules/d3/src/arrays/quantile.js +8 -0
  200. data/node_modules/dc/node_modules/d3/src/arrays/range.js +26 -0
  201. data/node_modules/dc/node_modules/d3/src/arrays/set.js +27 -0
  202. data/node_modules/dc/node_modules/d3/src/arrays/shuffle.js +9 -0
  203. data/node_modules/dc/node_modules/d3/src/arrays/sum.js +14 -0
  204. data/node_modules/dc/node_modules/d3/src/arrays/transpose.js +15 -0
  205. data/node_modules/dc/node_modules/d3/src/arrays/values.js +5 -0
  206. data/node_modules/dc/node_modules/d3/src/arrays/variance.js +29 -0
  207. data/node_modules/dc/node_modules/d3/src/arrays/zip.js +5 -0
  208. data/node_modules/dc/node_modules/d3/src/behavior/behavior.js +1 -0
  209. data/node_modules/dc/node_modules/d3/src/behavior/drag.js +88 -0
  210. data/node_modules/dc/node_modules/d3/src/behavior/index.js +3 -0
  211. data/node_modules/dc/node_modules/d3/src/behavior/zoom.js +348 -0
  212. data/node_modules/dc/node_modules/d3/src/color/color.js +7 -0
  213. data/node_modules/dc/node_modules/d3/src/color/hcl.js +34 -0
  214. data/node_modules/dc/node_modules/d3/src/color/hsl.js +56 -0
  215. data/node_modules/dc/node_modules/d3/src/color/index.js +6 -0
  216. data/node_modules/dc/node_modules/d3/src/color/lab.js +60 -0
  217. data/node_modules/dc/node_modules/d3/src/color/rgb.js +301 -0
  218. data/node_modules/dc/node_modules/d3/src/color/xyz.js +7 -0
  219. data/node_modules/dc/node_modules/d3/src/compat/array.js +15 -0
  220. data/node_modules/dc/node_modules/d3/src/compat/date.js +3 -0
  221. data/node_modules/dc/node_modules/d3/src/compat/index.js +3 -0
  222. data/node_modules/dc/node_modules/d3/src/compat/style.js +23 -0
  223. data/node_modules/dc/node_modules/d3/src/core/array.js +2 -0
  224. data/node_modules/dc/node_modules/d3/src/core/class.js +8 -0
  225. data/node_modules/dc/node_modules/d3/src/core/document.js +15 -0
  226. data/node_modules/dc/node_modules/d3/src/core/functor.js +5 -0
  227. data/node_modules/dc/node_modules/d3/src/core/identity.js +3 -0
  228. data/node_modules/dc/node_modules/d3/src/core/index.js +3 -0
  229. data/node_modules/dc/node_modules/d3/src/core/noop.js +1 -0
  230. data/node_modules/dc/node_modules/d3/src/core/ns.js +18 -0
  231. data/node_modules/dc/node_modules/d3/src/core/rebind.js +16 -0
  232. data/node_modules/dc/node_modules/d3/src/core/source.js +3 -0
  233. data/node_modules/dc/node_modules/d3/src/core/subclass.js +11 -0
  234. data/node_modules/dc/node_modules/d3/src/core/target.js +3 -0
  235. data/node_modules/dc/node_modules/d3/src/core/true.js +3 -0
  236. data/node_modules/dc/node_modules/d3/src/core/vendor.js +10 -0
  237. data/node_modules/dc/node_modules/d3/src/core/zero.js +3 -0
  238. data/node_modules/dc/node_modules/d3/src/d3.js +23 -0
  239. data/node_modules/dc/node_modules/d3/src/dsv/csv.js +3 -0
  240. data/node_modules/dc/node_modules/d3/src/dsv/dsv.js +136 -0
  241. data/node_modules/dc/node_modules/d3/src/dsv/index.js +3 -0
  242. data/node_modules/dc/node_modules/d3/src/dsv/tsv.js +3 -0
  243. data/node_modules/dc/node_modules/d3/src/end.js +4 -0
  244. data/node_modules/dc/node_modules/d3/src/event/dispatch.js +69 -0
  245. data/node_modules/dc/node_modules/d3/src/event/drag.js +36 -0
  246. data/node_modules/dc/node_modules/d3/src/event/event.js +50 -0
  247. data/node_modules/dc/node_modules/d3/src/event/index.js +6 -0
  248. data/node_modules/dc/node_modules/d3/src/event/mouse.js +39 -0
  249. data/node_modules/dc/node_modules/d3/src/event/timer.js +82 -0
  250. data/node_modules/dc/node_modules/d3/src/event/touch.js +11 -0
  251. data/node_modules/dc/node_modules/d3/src/event/touches.js +12 -0
  252. data/node_modules/dc/node_modules/d3/src/format/collapse.js +3 -0
  253. data/node_modules/dc/node_modules/d3/src/format/format.js +3 -0
  254. data/node_modules/dc/node_modules/d3/src/format/formatPrefix.js +24 -0
  255. data/node_modules/dc/node_modules/d3/src/format/index.js +4 -0
  256. data/node_modules/dc/node_modules/d3/src/format/precision.js +3 -0
  257. data/node_modules/dc/node_modules/d3/src/format/requote.js +5 -0
  258. data/node_modules/dc/node_modules/d3/src/format/round.js +5 -0
  259. data/node_modules/dc/node_modules/d3/src/geo/albers-usa.js +129 -0
  260. data/node_modules/dc/node_modules/d3/src/geo/albers.js +11 -0
  261. data/node_modules/dc/node_modules/d3/src/geo/area.js +69 -0
  262. data/node_modules/dc/node_modules/d3/src/geo/azimuthal-equal-area.js +12 -0
  263. data/node_modules/dc/node_modules/d3/src/geo/azimuthal-equidistant.js +13 -0
  264. data/node_modules/dc/node_modules/d3/src/geo/azimuthal.js +25 -0
  265. data/node_modules/dc/node_modules/d3/src/geo/bounds.js +168 -0
  266. data/node_modules/dc/node_modules/d3/src/geo/cartesian.js +47 -0
  267. data/node_modules/dc/node_modules/d3/src/geo/centroid.js +149 -0
  268. data/node_modules/dc/node_modules/d3/src/geo/circle.js +81 -0
  269. data/node_modules/dc/node_modules/d3/src/geo/clip-antimeridian.js +95 -0
  270. data/node_modules/dc/node_modules/d3/src/geo/clip-circle.js +178 -0
  271. data/node_modules/dc/node_modules/d3/src/geo/clip-extent.js +196 -0
  272. data/node_modules/dc/node_modules/d3/src/geo/clip-polygon.js +104 -0
  273. data/node_modules/dc/node_modules/d3/src/geo/clip.js +149 -0
  274. data/node_modules/dc/node_modules/d3/src/geo/compose.js +12 -0
  275. data/node_modules/dc/node_modules/d3/src/geo/conic-conformal.js +39 -0
  276. data/node_modules/dc/node_modules/d3/src/geo/conic-equal-area.js +33 -0
  277. data/node_modules/dc/node_modules/d3/src/geo/conic-equidistant.js +36 -0
  278. data/node_modules/dc/node_modules/d3/src/geo/conic.js +16 -0
  279. data/node_modules/dc/node_modules/d3/src/geo/distance.js +13 -0
  280. data/node_modules/dc/node_modules/d3/src/geo/equirectangular.js +10 -0
  281. data/node_modules/dc/node_modules/d3/src/geo/geo.js +1 -0
  282. data/node_modules/dc/node_modules/d3/src/geo/gnomonic.js +12 -0
  283. data/node_modules/dc/node_modules/d3/src/geo/graticule.js +103 -0
  284. data/node_modules/dc/node_modules/d3/src/geo/greatArc.js +42 -0
  285. data/node_modules/dc/node_modules/d3/src/geo/index.js +33 -0
  286. data/node_modules/dc/node_modules/d3/src/geo/interpolate.js +38 -0
  287. data/node_modules/dc/node_modules/d3/src/geo/length.js +44 -0
  288. data/node_modules/dc/node_modules/d3/src/geo/mercator.js +48 -0
  289. data/node_modules/dc/node_modules/d3/src/geo/orthographic.js +12 -0
  290. data/node_modules/dc/node_modules/d3/src/geo/path-area.js +41 -0
  291. data/node_modules/dc/node_modules/d3/src/geo/path-bounds.js +21 -0
  292. data/node_modules/dc/node_modules/d3/src/geo/path-buffer.js +59 -0
  293. data/node_modules/dc/node_modules/d3/src/geo/path-centroid.js +78 -0
  294. data/node_modules/dc/node_modules/d3/src/geo/path-context.js +49 -0
  295. data/node_modules/dc/node_modules/d3/src/geo/path.js +87 -0
  296. data/node_modules/dc/node_modules/d3/src/geo/point-in-polygon.js +71 -0
  297. data/node_modules/dc/node_modules/d3/src/geo/projection.js +121 -0
  298. data/node_modules/dc/node_modules/d3/src/geo/resample.js +109 -0
  299. data/node_modules/dc/node_modules/d3/src/geo/rotation.js +79 -0
  300. data/node_modules/dc/node_modules/d3/src/geo/spherical.js +13 -0
  301. data/node_modules/dc/node_modules/d3/src/geo/stereographic.js +12 -0
  302. data/node_modules/dc/node_modules/d3/src/geo/stream.js +71 -0
  303. data/node_modules/dc/node_modules/d3/src/geo/transform.js +36 -0
  304. data/node_modules/dc/node_modules/d3/src/geo/transverse-mercator.js +31 -0
  305. data/node_modules/dc/node_modules/d3/src/geom/clip-line.js +66 -0
  306. data/node_modules/dc/node_modules/d3/src/geom/delaunay.js +6 -0
  307. data/node_modules/dc/node_modules/d3/src/geom/geom.js +1 -0
  308. data/node_modules/dc/node_modules/d3/src/geom/hull.js +91 -0
  309. data/node_modules/dc/node_modules/d3/src/geom/index.js +6 -0
  310. data/node_modules/dc/node_modules/d3/src/geom/point.js +7 -0
  311. data/node_modules/dc/node_modules/d3/src/geom/polygon.js +105 -0
  312. data/node_modules/dc/node_modules/d3/src/geom/quadtree.js +243 -0
  313. data/node_modules/dc/node_modules/d3/src/geom/voronoi.js +110 -0
  314. data/node_modules/dc/node_modules/d3/src/geom/voronoi/beach.js +186 -0
  315. data/node_modules/dc/node_modules/d3/src/geom/voronoi/cell.js +64 -0
  316. data/node_modules/dc/node_modules/d3/src/geom/voronoi/circle.js +73 -0
  317. data/node_modules/dc/node_modules/d3/src/geom/voronoi/clip.js +80 -0
  318. data/node_modules/dc/node_modules/d3/src/geom/voronoi/edge.js +50 -0
  319. data/node_modules/dc/node_modules/d3/src/geom/voronoi/index.js +59 -0
  320. data/node_modules/dc/node_modules/d3/src/geom/voronoi/red-black.js +235 -0
  321. data/node_modules/dc/node_modules/d3/src/interpolate/array.js +19 -0
  322. data/node_modules/dc/node_modules/d3/src/interpolate/ease.js +111 -0
  323. data/node_modules/dc/node_modules/d3/src/interpolate/hcl.js +20 -0
  324. data/node_modules/dc/node_modules/d3/src/interpolate/hsl.js +20 -0
  325. data/node_modules/dc/node_modules/d3/src/interpolate/index.js +14 -0
  326. data/node_modules/dc/node_modules/d3/src/interpolate/interpolate.js +26 -0
  327. data/node_modules/dc/node_modules/d3/src/interpolate/lab.js +17 -0
  328. data/node_modules/dc/node_modules/d3/src/interpolate/number.js +6 -0
  329. data/node_modules/dc/node_modules/d3/src/interpolate/object.js +25 -0
  330. data/node_modules/dc/node_modules/d3/src/interpolate/rgb.js +20 -0
  331. data/node_modules/dc/node_modules/d3/src/interpolate/round.js +6 -0
  332. data/node_modules/dc/node_modules/d3/src/interpolate/string.js +54 -0
  333. data/node_modules/dc/node_modules/d3/src/interpolate/transform.js +59 -0
  334. data/node_modules/dc/node_modules/d3/src/interpolate/uninterpolate.js +9 -0
  335. data/node_modules/dc/node_modules/d3/src/interpolate/zoom.js +53 -0
  336. data/node_modules/dc/node_modules/d3/src/layout/bundle.js +59 -0
  337. data/node_modules/dc/node_modules/d3/src/layout/chord.js +157 -0
  338. data/node_modules/dc/node_modules/d3/src/layout/cluster.js +92 -0
  339. data/node_modules/dc/node_modules/d3/src/layout/force.js +372 -0
  340. data/node_modules/dc/node_modules/d3/src/layout/hierarchy.js +136 -0
  341. data/node_modules/dc/node_modules/d3/src/layout/histogram.js +110 -0
  342. data/node_modules/dc/node_modules/d3/src/layout/index.js +13 -0
  343. data/node_modules/dc/node_modules/d3/src/layout/layout.js +1 -0
  344. data/node_modules/dc/node_modules/d3/src/layout/pack.js +211 -0
  345. data/node_modules/dc/node_modules/d3/src/layout/partition.js +51 -0
  346. data/node_modules/dc/node_modules/d3/src/layout/pie.js +78 -0
  347. data/node_modules/dc/node_modules/d3/src/layout/stack.js +247 -0
  348. data/node_modules/dc/node_modules/d3/src/layout/tree.js +240 -0
  349. data/node_modules/dc/node_modules/d3/src/layout/treemap.js +229 -0
  350. data/node_modules/dc/node_modules/d3/src/locale/ca-ES.js +16 -0
  351. data/node_modules/dc/node_modules/d3/src/locale/de-CH.js +16 -0
  352. data/node_modules/dc/node_modules/d3/src/locale/de-DE.js +16 -0
  353. data/node_modules/dc/node_modules/d3/src/locale/en-CA.js +16 -0
  354. data/node_modules/dc/node_modules/d3/src/locale/en-GB.js +16 -0
  355. data/node_modules/dc/node_modules/d3/src/locale/en-US.js +16 -0
  356. data/node_modules/dc/node_modules/d3/src/locale/es-ES.js +16 -0
  357. data/node_modules/dc/node_modules/d3/src/locale/fi-FI.js +16 -0
  358. data/node_modules/dc/node_modules/d3/src/locale/fr-CA.js +16 -0
  359. data/node_modules/dc/node_modules/d3/src/locale/fr-FR.js +16 -0
  360. data/node_modules/dc/node_modules/d3/src/locale/he-IL.js +16 -0
  361. data/node_modules/dc/node_modules/d3/src/locale/hu-HU.js +16 -0
  362. data/node_modules/dc/node_modules/d3/src/locale/it-IT.js +16 -0
  363. data/node_modules/dc/node_modules/d3/src/locale/ja-JP.js +16 -0
  364. data/node_modules/dc/node_modules/d3/src/locale/ko-KR.js +16 -0
  365. data/node_modules/dc/node_modules/d3/src/locale/locale.js +9 -0
  366. data/node_modules/dc/node_modules/d3/src/locale/mk-MK.js +16 -0
  367. data/node_modules/dc/node_modules/d3/src/locale/nl-NL.js +16 -0
  368. data/node_modules/dc/node_modules/d3/src/locale/number-format.js +155 -0
  369. data/node_modules/dc/node_modules/d3/src/locale/pl-PL.js +16 -0
  370. data/node_modules/dc/node_modules/d3/src/locale/pt-BR.js +16 -0
  371. data/node_modules/dc/node_modules/d3/src/locale/ru-RU.js +16 -0
  372. data/node_modules/dc/node_modules/d3/src/locale/sv-SE.js +16 -0
  373. data/node_modules/dc/node_modules/d3/src/locale/time-format.js +370 -0
  374. data/node_modules/dc/node_modules/d3/src/locale/time-scale.js +0 -0
  375. data/node_modules/dc/node_modules/d3/src/locale/zh-CN.js +16 -0
  376. data/node_modules/dc/node_modules/d3/src/math/abs.js +1 -0
  377. data/node_modules/dc/node_modules/d3/src/math/adder.js +34 -0
  378. data/node_modules/dc/node_modules/d3/src/math/index.js +2 -0
  379. data/node_modules/dc/node_modules/d3/src/math/number.js +7 -0
  380. data/node_modules/dc/node_modules/d3/src/math/random.js +34 -0
  381. data/node_modules/dc/node_modules/d3/src/math/transform.js +64 -0
  382. data/node_modules/dc/node_modules/d3/src/math/trigonometry.js +44 -0
  383. data/node_modules/dc/node_modules/d3/src/scale/bilinear.js +7 -0
  384. data/node_modules/dc/node_modules/d3/src/scale/category.js +58 -0
  385. data/node_modules/dc/node_modules/d3/src/scale/identity.js +33 -0
  386. data/node_modules/dc/node_modules/d3/src/scale/index.js +11 -0
  387. data/node_modules/dc/node_modules/d3/src/scale/linear.js +160 -0
  388. data/node_modules/dc/node_modules/d3/src/scale/log.js +92 -0
  389. data/node_modules/dc/node_modules/d3/src/scale/nice.js +30 -0
  390. data/node_modules/dc/node_modules/d3/src/scale/ordinal.js +102 -0
  391. data/node_modules/dc/node_modules/d3/src/scale/polylinear.js +24 -0
  392. data/node_modules/dc/node_modules/d3/src/scale/pow.js +57 -0
  393. data/node_modules/dc/node_modules/d3/src/scale/quantile.js +55 -0
  394. data/node_modules/dc/node_modules/d3/src/scale/quantize.js +44 -0
  395. data/node_modules/dc/node_modules/d3/src/scale/scale.js +10 -0
  396. data/node_modules/dc/node_modules/d3/src/scale/sqrt.js +6 -0
  397. data/node_modules/dc/node_modules/d3/src/scale/threshold.js +36 -0
  398. data/node_modules/dc/node_modules/d3/src/selection/append.js +28 -0
  399. data/node_modules/dc/node_modules/d3/src/selection/attr.js +62 -0
  400. data/node_modules/dc/node_modules/d3/src/selection/call.js +8 -0
  401. data/node_modules/dc/node_modules/d3/src/selection/classed.js +76 -0
  402. data/node_modules/dc/node_modules/d3/src/selection/data.js +117 -0
  403. data/node_modules/dc/node_modules/d3/src/selection/datum.js +7 -0
  404. data/node_modules/dc/node_modules/d3/src/selection/each.js +16 -0
  405. data/node_modules/dc/node_modules/d3/src/selection/empty.js +5 -0
  406. data/node_modules/dc/node_modules/d3/src/selection/enter-insert.js +20 -0
  407. data/node_modules/dc/node_modules/d3/src/selection/enter-select.js +27 -0
  408. data/node_modules/dc/node_modules/d3/src/selection/enter.js +21 -0
  409. data/node_modules/dc/node_modules/d3/src/selection/filter.js +28 -0
  410. data/node_modules/dc/node_modules/d3/src/selection/html.js +10 -0
  411. data/node_modules/dc/node_modules/d3/src/selection/index.js +1 -0
  412. data/node_modules/dc/node_modules/d3/src/selection/insert.js +9 -0
  413. data/node_modules/dc/node_modules/d3/src/selection/interrupt.js +27 -0
  414. data/node_modules/dc/node_modules/d3/src/selection/node.js +11 -0
  415. data/node_modules/dc/node_modules/d3/src/selection/on.js +106 -0
  416. data/node_modules/dc/node_modules/d3/src/selection/order.js +13 -0
  417. data/node_modules/dc/node_modules/d3/src/selection/property.js +43 -0
  418. data/node_modules/dc/node_modules/d3/src/selection/remove.js +13 -0
  419. data/node_modules/dc/node_modules/d3/src/selection/select.js +32 -0
  420. data/node_modules/dc/node_modules/d3/src/selection/selectAll.js +27 -0
  421. data/node_modules/dc/node_modules/d3/src/selection/selection.js +81 -0
  422. data/node_modules/dc/node_modules/d3/src/selection/size.js +7 -0
  423. data/node_modules/dc/node_modules/d3/src/selection/sort.js +15 -0
  424. data/node_modules/dc/node_modules/d3/src/selection/style.js +59 -0
  425. data/node_modules/dc/node_modules/d3/src/selection/text.js +10 -0
  426. data/node_modules/dc/node_modules/d3/src/selection/transition.js +21 -0
  427. data/node_modules/dc/node_modules/d3/src/start.js +2 -0
  428. data/node_modules/dc/node_modules/d3/src/svg/arc.js +292 -0
  429. data/node_modules/dc/node_modules/d3/src/svg/area-radial.js +14 -0
  430. data/node_modules/dc/node_modules/d3/src/svg/area.js +121 -0
  431. data/node_modules/dc/node_modules/d3/src/svg/axis.js +160 -0
  432. data/node_modules/dc/node_modules/d3/src/svg/brush.js +429 -0
  433. data/node_modules/dc/node_modules/d3/src/svg/chord.js +90 -0
  434. data/node_modules/dc/node_modules/d3/src/svg/diagonal-radial.js +27 -0
  435. data/node_modules/dc/node_modules/d3/src/svg/diagonal.js +43 -0
  436. data/node_modules/dc/node_modules/d3/src/svg/index.js +12 -0
  437. data/node_modules/dc/node_modules/d3/src/svg/line-radial.js +27 -0
  438. data/node_modules/dc/node_modules/d3/src/svg/line.js +432 -0
  439. data/node_modules/dc/node_modules/d3/src/svg/svg.js +1 -0
  440. data/node_modules/dc/node_modules/d3/src/svg/symbol.js +105 -0
  441. data/node_modules/dc/node_modules/d3/src/time/day.js +21 -0
  442. data/node_modules/dc/node_modules/d3/src/time/format-iso.js +19 -0
  443. data/node_modules/dc/node_modules/d3/src/time/format-utc.js +3 -0
  444. data/node_modules/dc/node_modules/d3/src/time/format.js +4 -0
  445. data/node_modules/dc/node_modules/d3/src/time/hour.js +14 -0
  446. data/node_modules/dc/node_modules/d3/src/time/index.js +14 -0
  447. data/node_modules/dc/node_modules/d3/src/time/interval.js +71 -0
  448. data/node_modules/dc/node_modules/d3/src/time/minute.js +13 -0
  449. data/node_modules/dc/node_modules/d3/src/time/month.js +16 -0
  450. data/node_modules/dc/node_modules/d3/src/time/scale-utc.js +25 -0
  451. data/node_modules/dc/node_modules/d3/src/time/scale.js +155 -0
  452. data/node_modules/dc/node_modules/d3/src/time/second.js +13 -0
  453. data/node_modules/dc/node_modules/d3/src/time/time.js +33 -0
  454. data/node_modules/dc/node_modules/d3/src/time/week.js +31 -0
  455. data/node_modules/dc/node_modules/d3/src/time/year.js +16 -0
  456. data/node_modules/dc/node_modules/d3/src/transition/attr.js +58 -0
  457. data/node_modules/dc/node_modules/d3/src/transition/delay.js +10 -0
  458. data/node_modules/dc/node_modules/d3/src/transition/duration.js +10 -0
  459. data/node_modules/dc/node_modules/d3/src/transition/each.js +26 -0
  460. data/node_modules/dc/node_modules/d3/src/transition/ease.js +10 -0
  461. data/node_modules/dc/node_modules/d3/src/transition/filter.js +22 -0
  462. data/node_modules/dc/node_modules/d3/src/transition/index.js +1 -0
  463. data/node_modules/dc/node_modules/d3/src/transition/remove.js +9 -0
  464. data/node_modules/dc/node_modules/d3/src/transition/select.js +28 -0
  465. data/node_modules/dc/node_modules/d3/src/transition/selectAll.js +31 -0
  466. data/node_modules/dc/node_modules/d3/src/transition/style.js +53 -0
  467. data/node_modules/dc/node_modules/d3/src/transition/subtransition.js +25 -0
  468. data/node_modules/dc/node_modules/d3/src/transition/text.js +11 -0
  469. data/node_modules/dc/node_modules/d3/src/transition/transition.js +161 -0
  470. data/node_modules/dc/node_modules/d3/src/transition/tween.js +17 -0
  471. data/node_modules/dc/node_modules/d3/src/xhr/html.js +12 -0
  472. data/node_modules/dc/node_modules/d3/src/xhr/index.js +5 -0
  473. data/node_modules/dc/node_modules/d3/src/xhr/json.js +9 -0
  474. data/node_modules/dc/node_modules/d3/src/xhr/text.js +5 -0
  475. data/node_modules/dc/node_modules/d3/src/xhr/xhr.js +126 -0
  476. data/node_modules/dc/node_modules/d3/src/xhr/xml.js +5 -0
  477. data/node_modules/dc/regression/inject-serializer.js +6 -0
  478. data/node_modules/dc/regression/stock-regression-test.js +140 -0
  479. data/node_modules/dc/spec/bar-chart-spec.js +1230 -0
  480. data/node_modules/dc/spec/base-mixin-spec.js +611 -0
  481. data/node_modules/dc/spec/biggish-data-spec.js +136 -0
  482. data/node_modules/dc/spec/box-plot-spec.js +211 -0
  483. data/node_modules/dc/spec/bubble-chart-spec.js +450 -0
  484. data/node_modules/dc/spec/bubble-overlay-spec.js +102 -0
  485. data/node_modules/dc/spec/color-spec.js +89 -0
  486. data/node_modules/dc/spec/composite-chart-spec.js +691 -0
  487. data/node_modules/dc/spec/coordinate-grid-chart-spec.js +962 -0
  488. data/node_modules/dc/spec/core-spec.js +301 -0
  489. data/node_modules/dc/spec/data-addition-spec.js +122 -0
  490. data/node_modules/dc/spec/data-count-spec.js +180 -0
  491. data/node_modules/dc/spec/data-grid-spec.js +124 -0
  492. data/node_modules/dc/spec/data-table-spec.js +251 -0
  493. data/node_modules/dc/spec/event-spec.js +41 -0
  494. data/node_modules/dc/spec/filter-dates-spec.js +92 -0
  495. data/node_modules/dc/spec/filters-spec.js +140 -0
  496. data/node_modules/dc/spec/geo-choropleth-chart-spec.js +225 -0
  497. data/node_modules/dc/spec/heatmap-spec.js +363 -0
  498. data/node_modules/dc/spec/helpers/custom_matchers.js +213 -0
  499. data/node_modules/dc/spec/helpers/fixtures.js +81 -0
  500. data/node_modules/dc/spec/helpers/geoFixtures.js +113 -0
  501. data/node_modules/dc/spec/helpers/load-jsreporter.js +37 -0
  502. data/node_modules/dc/spec/helpers/spec-helper.js +53 -0
  503. data/node_modules/dc/spec/legend-spec.js +266 -0
  504. data/node_modules/dc/spec/line-chart-spec.js +709 -0
  505. data/node_modules/dc/spec/logger-spec.js +80 -0
  506. data/node_modules/dc/spec/number-display-spec.js +168 -0
  507. data/node_modules/dc/spec/pie-chart-spec.js +677 -0
  508. data/node_modules/dc/spec/row-chart-spec.js +362 -0
  509. data/node_modules/dc/spec/scatter-plot-spec.js +336 -0
  510. data/node_modules/dc/spec/series-chart-spec.js +133 -0
  511. data/node_modules/dc/spec/utils-spec.js +110 -0
  512. data/node_modules/dc/src/banner.js +2 -0
  513. data/node_modules/dc/src/bar-chart.js +374 -0
  514. data/node_modules/dc/src/base-mixin.js +1478 -0
  515. data/node_modules/dc/src/box-plot.js +240 -0
  516. data/node_modules/dc/src/bubble-chart.js +177 -0
  517. data/node_modules/dc/src/bubble-mixin.js +244 -0
  518. data/node_modules/dc/src/bubble-overlay.js +207 -0
  519. data/node_modules/dc/src/cap-mixin.js +151 -0
  520. data/node_modules/dc/src/color-mixin.js +172 -0
  521. data/node_modules/dc/src/composite-chart.js +544 -0
  522. data/node_modules/dc/src/coordinate-grid-mixin.js +1300 -0
  523. data/node_modules/dc/src/core.js +425 -0
  524. data/node_modules/dc/src/d3.box.js +317 -0
  525. data/node_modules/dc/src/data-count.js +110 -0
  526. data/node_modules/dc/src/data-grid.js +243 -0
  527. data/node_modules/dc/src/data-table.js +419 -0
  528. data/node_modules/dc/src/errors.js +28 -0
  529. data/node_modules/dc/src/events.js +37 -0
  530. data/node_modules/dc/src/filters.js +124 -0
  531. data/node_modules/dc/src/footer.js +35 -0
  532. data/node_modules/dc/src/geo-choropleth-chart.js +279 -0
  533. data/node_modules/dc/src/heatmap.js +378 -0
  534. data/node_modules/dc/src/legend.js +277 -0
  535. data/node_modules/dc/src/line-chart.js +504 -0
  536. data/node_modules/dc/src/logger.js +40 -0
  537. data/node_modules/dc/src/margin-mixin.js +44 -0
  538. data/node_modules/dc/src/number-display.js +141 -0
  539. data/node_modules/dc/src/pie-chart.js +571 -0
  540. data/node_modules/dc/src/row-chart.js +425 -0
  541. data/node_modules/dc/src/scatter-plot.js +338 -0
  542. data/node_modules/dc/src/series-chart.js +192 -0
  543. data/node_modules/dc/src/stack-mixin.js +319 -0
  544. data/node_modules/dc/src/utils.js +290 -0
  545. data/node_modules/dc/web/docs/html/scripts/docstrap.lib.js +11 -0
  546. data/node_modules/dc/web/docs/html/scripts/fulltext-search-ui.js +89 -0
  547. data/node_modules/dc/web/docs/html/scripts/fulltext-search.js +36 -0
  548. data/node_modules/dc/web/docs/html/scripts/lunr.min.js +7 -0
  549. data/node_modules/dc/web/docs/html/scripts/prettify/jquery.min.js +6 -0
  550. data/node_modules/dc/web/docs/html/scripts/prettify/lang-css.js +21 -0
  551. data/node_modules/dc/web/docs/html/scripts/prettify/prettify.js +496 -0
  552. data/node_modules/dc/web/docs/html/scripts/sunlight.js +1157 -0
  553. data/node_modules/dc/web/docs/html/scripts/toc.js +203 -0
  554. data/node_modules/dc/web/ep/list.js +106 -0
  555. data/node_modules/dc/web/examples/lysenko-interval-tree.js +447 -0
  556. data/node_modules/dc/web/highlighter/shAutoloader.js +17 -0
  557. data/node_modules/dc/web/highlighter/shBrushJScript.js +52 -0
  558. data/node_modules/dc/web/highlighter/shBrushXml.js +69 -0
  559. data/node_modules/dc/web/highlighter/shCore.js +17 -0
  560. data/node_modules/dc/web/js/colorbrewer.js +1 -0
  561. data/node_modules/dc/web/js/crossfilter.js +1401 -0
  562. data/node_modules/dc/web/js/d3.js +9554 -0
  563. data/node_modules/dc/web/js/dc.js +10477 -0
  564. data/node_modules/dc/web/js/dc.min.js +23 -0
  565. data/node_modules/dc/web/js/env-data.js +218 -0
  566. data/node_modules/dc/web/js/jasmine-jsreporter.js +394 -0
  567. data/node_modules/dc/web/stock.js +685 -0
  568. data/node_modules/dc/web/transitions/transition-test.js +45 -0
  569. data/node_modules/jquery/dist/jquery.js +9814 -0
  570. data/node_modules/jquery/dist/jquery.min.js +4 -0
  571. data/node_modules/jquery/external/sizzle/dist/sizzle.js +2143 -0
  572. data/node_modules/jquery/external/sizzle/dist/sizzle.min.js +3 -0
  573. data/node_modules/jquery/src/ajax.js +845 -0
  574. data/node_modules/jquery/src/ajax/jsonp.js +100 -0
  575. data/node_modules/jquery/src/ajax/load.js +83 -0
  576. data/node_modules/jquery/src/ajax/parseJSON.js +13 -0
  577. data/node_modules/jquery/src/ajax/parseXML.js +27 -0
  578. data/node_modules/jquery/src/ajax/script.js +68 -0
  579. data/node_modules/jquery/src/ajax/var/location.js +3 -0
  580. data/node_modules/jquery/src/ajax/var/nonce.js +5 -0
  581. data/node_modules/jquery/src/ajax/var/rquery.js +3 -0
  582. data/node_modules/jquery/src/ajax/xhr.js +167 -0
  583. data/node_modules/jquery/src/attributes.js +11 -0
  584. data/node_modules/jquery/src/attributes/attr.js +142 -0
  585. data/node_modules/jquery/src/attributes/classes.js +177 -0
  586. data/node_modules/jquery/src/attributes/prop.js +125 -0
  587. data/node_modules/jquery/src/attributes/support.js +36 -0
  588. data/node_modules/jquery/src/attributes/val.js +177 -0
  589. data/node_modules/jquery/src/callbacks.js +232 -0
  590. data/node_modules/jquery/src/core.js +494 -0
  591. data/node_modules/jquery/src/core/access.js +65 -0
  592. data/node_modules/jquery/src/core/init.js +134 -0
  593. data/node_modules/jquery/src/core/parseHTML.js +41 -0
  594. data/node_modules/jquery/src/core/ready.js +103 -0
  595. data/node_modules/jquery/src/core/var/rsingleTag.js +5 -0
  596. data/node_modules/jquery/src/css.js +502 -0
  597. data/node_modules/jquery/src/css/addGetHookIf.js +24 -0
  598. data/node_modules/jquery/src/css/adjustCSS.js +65 -0
  599. data/node_modules/jquery/src/css/curCSS.js +60 -0
  600. data/node_modules/jquery/src/css/defaultDisplay.js +72 -0
  601. data/node_modules/jquery/src/css/hiddenVisibleSelectors.js +18 -0
  602. data/node_modules/jquery/src/css/showHide.js +48 -0
  603. data/node_modules/jquery/src/css/support.js +121 -0
  604. data/node_modules/jquery/src/css/var/cssExpand.js +3 -0
  605. data/node_modules/jquery/src/css/var/getStyles.js +15 -0
  606. data/node_modules/jquery/src/css/var/isHidden.js +16 -0
  607. data/node_modules/jquery/src/css/var/rmargin.js +3 -0
  608. data/node_modules/jquery/src/css/var/rnumnonpx.js +5 -0
  609. data/node_modules/jquery/src/css/var/swap.js +24 -0
  610. data/node_modules/jquery/src/data.js +187 -0
  611. data/node_modules/jquery/src/data/Data.js +200 -0
  612. data/node_modules/jquery/src/data/var/acceptData.js +18 -0
  613. data/node_modules/jquery/src/data/var/dataPriv.js +5 -0
  614. data/node_modules/jquery/src/data/var/dataUser.js +5 -0
  615. data/node_modules/jquery/src/deferred.js +158 -0
  616. data/node_modules/jquery/src/deprecated.js +32 -0
  617. data/node_modules/jquery/src/dimensions.js +54 -0
  618. data/node_modules/jquery/src/effects.js +629 -0
  619. data/node_modules/jquery/src/effects/Tween.js +121 -0
  620. data/node_modules/jquery/src/effects/animatedSelector.js +13 -0
  621. data/node_modules/jquery/src/event.js +711 -0
  622. data/node_modules/jquery/src/event/ajax.js +20 -0
  623. data/node_modules/jquery/src/event/alias.js +27 -0
  624. data/node_modules/jquery/src/event/focusin.js +53 -0
  625. data/node_modules/jquery/src/event/support.js +9 -0
  626. data/node_modules/jquery/src/event/trigger.js +183 -0
  627. data/node_modules/jquery/src/exports/amd.js +24 -0
  628. data/node_modules/jquery/src/exports/global.js +26 -0
  629. data/node_modules/jquery/src/intro.js +44 -0
  630. data/node_modules/jquery/src/jquery.js +37 -0
  631. data/node_modules/jquery/src/manipulation.js +481 -0
  632. data/node_modules/jquery/src/manipulation/_evalUrl.js +20 -0
  633. data/node_modules/jquery/src/manipulation/buildFragment.js +102 -0
  634. data/node_modules/jquery/src/manipulation/getAll.js +21 -0
  635. data/node_modules/jquery/src/manipulation/setGlobalEval.js +20 -0
  636. data/node_modules/jquery/src/manipulation/support.js +33 -0
  637. data/node_modules/jquery/src/manipulation/var/rcheckableType.js +3 -0
  638. data/node_modules/jquery/src/manipulation/var/rscriptType.js +3 -0
  639. data/node_modules/jquery/src/manipulation/var/rtagName.js +3 -0
  640. data/node_modules/jquery/src/manipulation/wrapMap.js +27 -0
  641. data/node_modules/jquery/src/offset.js +218 -0
  642. data/node_modules/jquery/src/outro.js +2 -0
  643. data/node_modules/jquery/src/queue.js +143 -0
  644. data/node_modules/jquery/src/queue/delay.js +22 -0
  645. data/node_modules/jquery/src/selector-native.js +211 -0
  646. data/node_modules/jquery/src/selector-sizzle.js +14 -0
  647. data/node_modules/jquery/src/selector.js +1 -0
  648. data/node_modules/jquery/src/serialize.js +125 -0
  649. data/node_modules/jquery/src/traversing.js +175 -0
  650. data/node_modules/jquery/src/traversing/findFilter.js +100 -0
  651. data/node_modules/jquery/src/traversing/var/dir.js +20 -0
  652. data/node_modules/jquery/src/traversing/var/rneedsContext.js +6 -0
  653. data/node_modules/jquery/src/traversing/var/siblings.js +15 -0
  654. data/node_modules/jquery/src/var/arr.js +3 -0
  655. data/node_modules/jquery/src/var/class2type.js +5 -0
  656. data/node_modules/jquery/src/var/concat.js +5 -0
  657. data/node_modules/jquery/src/var/document.js +3 -0
  658. data/node_modules/jquery/src/var/documentElement.js +5 -0
  659. data/node_modules/jquery/src/var/hasOwn.js +5 -0
  660. data/node_modules/jquery/src/var/indexOf.js +5 -0
  661. data/node_modules/jquery/src/var/pnum.js +3 -0
  662. data/node_modules/jquery/src/var/push.js +5 -0
  663. data/node_modules/jquery/src/var/rcssNum.js +7 -0
  664. data/node_modules/jquery/src/var/rnotwhite.js +3 -0
  665. data/node_modules/jquery/src/var/slice.js +5 -0
  666. data/node_modules/jquery/src/var/support.js +5 -0
  667. data/node_modules/jquery/src/var/toString.js +5 -0
  668. data/node_modules/jquery/src/wrap.js +79 -0
  669. data/target/mdarray_sol.jar +0 -0
  670. data/test/jx/test_complete.rb +35 -0
  671. data/test/jx/test_js.rb +543 -0
  672. data/test/jx/test_proxy_array.rb +239 -0
  673. data/test/jx/test_proxy_hash.rb +160 -0
  674. data/test/jx/test_proxy_lambda.rb +80 -0
  675. data/test/jx/test_rb_js_compat.rb +135 -0
  676. data/test/jx/test_style_sheets.rb +90 -0
  677. data/test/mdarray/test_mdarray.rb +75 -0
  678. data/util/cacert.pem +4095 -0
  679. data/util/download.rb +256 -0
  680. data/vendor/jxbrowser-6.8.jar +0 -0
  681. data/vendor/licence.jar +0 -0
  682. data/version.rb +2 -0
  683. metadata +817 -0
@@ -0,0 +1,110 @@
1
+ /**
2
+ * The data count widget is a simple widget designed to display the number of records selected by the
3
+ * current filters out of the total number of records in the data set. Once created the data count widget
4
+ * will automatically update the text content of the following elements under the parent element.
5
+ *
6
+ * Note: this widget works best for the specific case of showing the number of records out of a
7
+ * total. If you want a more general-purpose numeric display, please use the
8
+ * {@link dc.numberDisplay} widget instead.
9
+ *
10
+ * '.total-count' - total number of records
11
+ * '.filter-count' - number of records matched by the current filters
12
+ *
13
+ * Examples:
14
+ * - {@link http://dc-js.github.com/dc.js/ Nasdaq 100 Index}
15
+ * @class dataCount
16
+ * @memberof dc
17
+ * @mixes dc.baseMixin
18
+ * @example
19
+ * var ndx = crossfilter(data);
20
+ * var all = ndx.groupAll();
21
+ *
22
+ * dc.dataCount('.dc-data-count')
23
+ * .dimension(ndx)
24
+ * .group(all);
25
+ * @param {String|node|d3.selection} parent - Any valid
26
+ * {@link https://github.com/mbostock/d3/wiki/Selections#selecting-elements d3 single selector} specifying
27
+ * a dom block element such as a div; or a dom element or d3 selection.
28
+ * @param {String} [chartGroup] - The name of the chart group this chart instance should be placed in.
29
+ * Interaction with a chart will only trigger events and redraws within the chart's group.
30
+ * @return {dc.dataCount}
31
+ */
32
+ dc.dataCount = function (parent, chartGroup) {
33
+ var _formatNumber = d3.format(',d');
34
+ var _chart = dc.baseMixin({});
35
+ var _html = {some: '', all: ''};
36
+
37
+ /**
38
+ * Gets or sets an optional object specifying HTML templates to use depending how many items are
39
+ * selected. The text `%total-count` will replaced with the total number of records, and the text
40
+ * `%filter-count` will be replaced with the number of selected records.
41
+ * - all: HTML template to use if all items are selected
42
+ * - some: HTML template to use if not all items are selected
43
+ * @method html
44
+ * @memberof dc.dataCount
45
+ * @instance
46
+ * @example
47
+ * counter.html({
48
+ * some: '%filter-count out of %total-count records selected',
49
+ * all: 'All records selected. Click on charts to apply filters'
50
+ * })
51
+ * @param {{some:String, all: String}} [options]
52
+ * @return {{some:String, all: String}}
53
+ * @return {dc.dataCount}
54
+ */
55
+ _chart.html = function (options) {
56
+ if (!arguments.length) {
57
+ return _html;
58
+ }
59
+ if (options.all) {
60
+ _html.all = options.all;
61
+ }
62
+ if (options.some) {
63
+ _html.some = options.some;
64
+ }
65
+ return _chart;
66
+ };
67
+
68
+ /**
69
+ * Gets or sets an optional function to format the filter count and total count.
70
+ * @method formatNumber
71
+ * @memberof dc.dataCount
72
+ * @instance
73
+ * @see {@link https://github.com/mbostock/d3/wiki/Formatting d3.format}
74
+ * @example
75
+ * counter.formatNumber(d3.format('.2g'))
76
+ * @param {Function} [formatter=d3.format('.2g')]
77
+ * @return {Function}
78
+ * @return {dc.dataCount}
79
+ */
80
+ _chart.formatNumber = function (formatter) {
81
+ if (!arguments.length) {
82
+ return _formatNumber;
83
+ }
84
+ _formatNumber = formatter;
85
+ return _chart;
86
+ };
87
+
88
+ _chart._doRender = function () {
89
+ var tot = _chart.dimension().size(),
90
+ val = _chart.group().value();
91
+ var all = _formatNumber(tot);
92
+ var selected = _formatNumber(val);
93
+
94
+ if ((tot === val) && (_html.all !== '')) {
95
+ _chart.root().html(_html.all.replace('%total-count', all).replace('%filter-count', selected));
96
+ } else if (_html.some !== '') {
97
+ _chart.root().html(_html.some.replace('%total-count', all).replace('%filter-count', selected));
98
+ } else {
99
+ _chart.selectAll('.total-count').text(all);
100
+ _chart.selectAll('.filter-count').text(selected);
101
+ }
102
+ return _chart;
103
+ };
104
+
105
+ _chart._doRedraw = function () {
106
+ return _chart._doRender();
107
+ };
108
+
109
+ return _chart.anchor(parent, chartGroup);
110
+ };
@@ -0,0 +1,243 @@
1
+ /**
2
+ * Data grid is a simple widget designed to list the filtered records, providing
3
+ * a simple way to define how the items are displayed.
4
+ *
5
+ * Note: Unlike other charts, the data grid chart (and data table) use the group attribute as a keying function
6
+ * for {@link https://github.com/mbostock/d3/wiki/Arrays#-nest nesting} the data together in groups.
7
+ * Do not pass in a crossfilter group as this will not work.
8
+ *
9
+ * Examples:
10
+ * - {@link http://europarl.me/dc.js/web/ep/index.html List of members of the european parliament}
11
+ * @class dataGrid
12
+ * @memberof dc
13
+ * @mixes dc.baseMixin
14
+ * @param {String|node|d3.selection} parent - Any valid
15
+ * {@link https://github.com/mbostock/d3/wiki/Selections#selecting-elements d3 single selector} specifying
16
+ * a dom block element such as a div; or a dom element or d3 selection.
17
+ * @param {String} [chartGroup] - The name of the chart group this chart instance should be placed in.
18
+ * Interaction with a chart will only trigger events and redraws within the chart's group.
19
+ * @return {dc.dataGrid}
20
+ */
21
+ dc.dataGrid = function (parent, chartGroup) {
22
+ var LABEL_CSS_CLASS = 'dc-grid-label';
23
+ var ITEM_CSS_CLASS = 'dc-grid-item';
24
+ var GROUP_CSS_CLASS = 'dc-grid-group';
25
+ var GRID_CSS_CLASS = 'dc-grid-top';
26
+
27
+ var _chart = dc.baseMixin({});
28
+
29
+ var _size = 999; // shouldn't be needed, but you might
30
+ var _html = function (d) { return 'you need to provide an html() handling param: ' + JSON.stringify(d); };
31
+ var _sortBy = function (d) {
32
+ return d;
33
+ };
34
+ var _order = d3.ascending;
35
+ var _beginSlice = 0, _endSlice;
36
+
37
+ var _htmlGroup = function (d) {
38
+ return '<div class=\'' + GROUP_CSS_CLASS + '\'><h1 class=\'' + LABEL_CSS_CLASS + '\'>' +
39
+ _chart.keyAccessor()(d) + '</h1></div>';
40
+ };
41
+
42
+ _chart._doRender = function () {
43
+ _chart.selectAll('div.' + GRID_CSS_CLASS).remove();
44
+
45
+ renderItems(renderGroups());
46
+
47
+ return _chart;
48
+ };
49
+
50
+ function renderGroups () {
51
+ var groups = _chart.root().selectAll('div.' + GRID_CSS_CLASS)
52
+ .data(nestEntries(), function (d) {
53
+ return _chart.keyAccessor()(d);
54
+ });
55
+
56
+ var itemGroup = groups
57
+ .enter()
58
+ .append('div')
59
+ .attr('class', GRID_CSS_CLASS);
60
+
61
+ if (_htmlGroup) {
62
+ itemGroup
63
+ .html(function (d) {
64
+ return _htmlGroup(d);
65
+ });
66
+ }
67
+
68
+ groups.exit().remove();
69
+ return itemGroup;
70
+ }
71
+
72
+ function nestEntries () {
73
+ var entries = _chart.dimension().top(_size);
74
+
75
+ return d3.nest()
76
+ .key(_chart.group())
77
+ .sortKeys(_order)
78
+ .entries(entries.sort(function (a, b) {
79
+ return _order(_sortBy(a), _sortBy(b));
80
+ }).slice(_beginSlice, _endSlice));
81
+ }
82
+
83
+ function renderItems (groups) {
84
+ var items = groups.order()
85
+ .selectAll('div.' + ITEM_CSS_CLASS)
86
+ .data(function (d) {
87
+ return d.values;
88
+ });
89
+
90
+ items.enter()
91
+ .append('div')
92
+ .attr('class', ITEM_CSS_CLASS)
93
+ .html(function (d) {
94
+ return _html(d);
95
+ });
96
+
97
+ items.exit().remove();
98
+
99
+ return items;
100
+ }
101
+
102
+ _chart._doRedraw = function () {
103
+ return _chart._doRender();
104
+ };
105
+
106
+ /**
107
+ * Get or set the index of the beginning slice which determines which entries get displayed by the widget.
108
+ * Useful when implementing pagination.
109
+ * @method beginSlice
110
+ * @memberof dc.dataGrid
111
+ * @instance
112
+ * @param {Number} [beginSlice=0]
113
+ * @return {Number}
114
+ * @return {dc.dataGrid}
115
+ */
116
+ _chart.beginSlice = function (beginSlice) {
117
+ if (!arguments.length) {
118
+ return _beginSlice;
119
+ }
120
+ _beginSlice = beginSlice;
121
+ return _chart;
122
+ };
123
+
124
+ /**
125
+ * Get or set the index of the end slice which determines which entries get displayed by the widget
126
+ * Useful when implementing pagination.
127
+ * @method endSlice
128
+ * @memberof dc.dataGrid
129
+ * @instance
130
+ * @param {Number} [endSlice]
131
+ * @return {Number}
132
+ * @return {dc.dataGrid}
133
+ */
134
+ _chart.endSlice = function (endSlice) {
135
+ if (!arguments.length) {
136
+ return _endSlice;
137
+ }
138
+ _endSlice = endSlice;
139
+ return _chart;
140
+ };
141
+
142
+ /**
143
+ * Get or set the grid size which determines the number of items displayed by the widget.
144
+ * @method size
145
+ * @memberof dc.dataGrid
146
+ * @instance
147
+ * @param {Number} [size=999]
148
+ * @return {Number}
149
+ * @return {dc.dataGrid}
150
+ */
151
+ _chart.size = function (size) {
152
+ if (!arguments.length) {
153
+ return _size;
154
+ }
155
+ _size = size;
156
+ return _chart;
157
+ };
158
+
159
+ /**
160
+ * Get or set the function that formats an item. The data grid widget uses a
161
+ * function to generate dynamic html. Use your favourite templating engine or
162
+ * generate the string directly.
163
+ * @method html
164
+ * @memberof dc.dataGrid
165
+ * @instance
166
+ * @example
167
+ * chart.html(function (d) { return '<div class='item '+data.exampleCategory+''>'+data.exampleString+'</div>';});
168
+ * @param {Function} [html]
169
+ * @return {Function}
170
+ * @return {dc.dataGrid}
171
+ */
172
+ _chart.html = function (html) {
173
+ if (!arguments.length) {
174
+ return _html;
175
+ }
176
+ _html = html;
177
+ return _chart;
178
+ };
179
+
180
+ /**
181
+ * Get or set the function that formats a group label.
182
+ * @method htmlGroup
183
+ * @memberof dc.dataGrid
184
+ * @instance
185
+ * @example
186
+ * chart.htmlGroup (function (d) { return '<h2>'.d.key . 'with ' . d.values.length .' items</h2>'});
187
+ * @param {Function} [htmlGroup]
188
+ * @return {Function}
189
+ * @return {dc.dataGrid}
190
+ */
191
+ _chart.htmlGroup = function (htmlGroup) {
192
+ if (!arguments.length) {
193
+ return _htmlGroup;
194
+ }
195
+ _htmlGroup = htmlGroup;
196
+ return _chart;
197
+ };
198
+
199
+ /**
200
+ * Get or set sort-by function. This function works as a value accessor at the item
201
+ * level and returns a particular field to be sorted.
202
+ * @method sortBy
203
+ * @memberof dc.dataGrid
204
+ * @instance
205
+ * @example
206
+ * chart.sortBy(function(d) {
207
+ * return d.date;
208
+ * });
209
+ * @param {Function} [sortByFunction]
210
+ * @return {Function}
211
+ * @return {dc.dataGrid}
212
+ */
213
+ _chart.sortBy = function (sortByFunction) {
214
+ if (!arguments.length) {
215
+ return _sortBy;
216
+ }
217
+ _sortBy = sortByFunction;
218
+ return _chart;
219
+ };
220
+
221
+ /**
222
+ * Get or set sort order function.
223
+ * @method order
224
+ * @memberof dc.dataGrid
225
+ * @instance
226
+ * @see {@link https://github.com/mbostock/d3/wiki/Arrays#d3_ascending d3.ascending}
227
+ * @see {@link https://github.com/mbostock/d3/wiki/Arrays#d3_descending d3.descending}
228
+ * @example
229
+ * chart.order(d3.descending);
230
+ * @param {Function} [order=d3.ascending]
231
+ * @return {Function}
232
+ * @return {dc.dataGrid}
233
+ */
234
+ _chart.order = function (order) {
235
+ if (!arguments.length) {
236
+ return _order;
237
+ }
238
+ _order = order;
239
+ return _chart;
240
+ };
241
+
242
+ return _chart.anchor(parent, chartGroup);
243
+ };
@@ -0,0 +1,419 @@
1
+ /**
2
+ * The data table is a simple widget designed to list crossfilter focused data set (rows being
3
+ * filtered) in a good old tabular fashion.
4
+ *
5
+ * Note: Unlike other charts, the data table (and data grid chart) use the group attribute as a
6
+ * keying function for {@link https://github.com/mbostock/d3/wiki/Arrays#-nest nesting} the data
7
+ * together in groups. Do not pass in a crossfilter group as this will not work.
8
+ *
9
+ * Another interesting feature of the data table is that you can pass a crossfilter group to the `dimension`, as
10
+ * long as you specify the {@link dc.dataTable#order order} as `d3.descending`, since the data
11
+ * table will use `dimension.top()` to fetch the data in that case, and the method is equally
12
+ * supported on the crossfilter group as the crossfilter dimension.
13
+ *
14
+ * Examples:
15
+ * - {@link http://dc-js.github.com/dc.js/ Nasdaq 100 Index}
16
+ * - {@link http://dc-js.github.io/dc.js/examples/table-on-aggregated-data.html dataTable on a crossfilter group}
17
+ * ({@link https://github.com/dc-js/dc.js/blob/develop/web/examples/table-on-aggregated-data.html source})
18
+ * @class dataTable
19
+ * @memberof dc
20
+ * @mixes dc.baseMixin
21
+ * @param {String|node|d3.selection} parent - Any valid
22
+ * {@link https://github.com/mbostock/d3/wiki/Selections#selecting-elements d3 single selector} specifying
23
+ * a dom block element such as a div; or a dom element or d3 selection.
24
+ * @param {String} [chartGroup] - The name of the chart group this chart instance should be placed in.
25
+ * Interaction with a chart will only trigger events and redraws within the chart's group.
26
+ * @return {dc.dataTable}
27
+ */
28
+ dc.dataTable = function (parent, chartGroup) {
29
+ var LABEL_CSS_CLASS = 'dc-table-label';
30
+ var ROW_CSS_CLASS = 'dc-table-row';
31
+ var COLUMN_CSS_CLASS = 'dc-table-column';
32
+ var GROUP_CSS_CLASS = 'dc-table-group';
33
+ var HEAD_CSS_CLASS = 'dc-table-head';
34
+
35
+ var _chart = dc.baseMixin({});
36
+
37
+ var _size = 25;
38
+ var _columns = [];
39
+ var _sortBy = function (d) {
40
+ return d;
41
+ };
42
+ var _order = d3.ascending;
43
+ var _beginSlice = 0;
44
+ var _endSlice;
45
+ var _showGroups = true;
46
+
47
+ _chart._doRender = function () {
48
+ _chart.selectAll('tbody').remove();
49
+
50
+ renderRows(renderGroups());
51
+
52
+ return _chart;
53
+ };
54
+
55
+ _chart._doColumnValueFormat = function (v, d) {
56
+ return ((typeof v === 'function') ?
57
+ v(d) : // v as function
58
+ ((typeof v === 'string') ?
59
+ d[v] : // v is field name string
60
+ v.format(d) // v is Object, use fn (element 2)
61
+ )
62
+ );
63
+ };
64
+
65
+ _chart._doColumnHeaderFormat = function (d) {
66
+ // if 'function', convert to string representation
67
+ // show a string capitalized
68
+ // if an object then display its label string as-is.
69
+ return (typeof d === 'function') ?
70
+ _chart._doColumnHeaderFnToString(d) :
71
+ ((typeof d === 'string') ?
72
+ _chart._doColumnHeaderCapitalize(d) : String(d.label));
73
+ };
74
+
75
+ _chart._doColumnHeaderCapitalize = function (s) {
76
+ // capitalize
77
+ return s.charAt(0).toUpperCase() + s.slice(1);
78
+ };
79
+
80
+ _chart._doColumnHeaderFnToString = function (f) {
81
+ // columnString(f) {
82
+ var s = String(f);
83
+ var i1 = s.indexOf('return ');
84
+ if (i1 >= 0) {
85
+ var i2 = s.lastIndexOf(';');
86
+ if (i2 >= 0) {
87
+ s = s.substring(i1 + 7, i2);
88
+ var i3 = s.indexOf('numberFormat');
89
+ if (i3 >= 0) {
90
+ s = s.replace('numberFormat', '');
91
+ }
92
+ }
93
+ }
94
+ return s;
95
+ };
96
+
97
+ function renderGroups () {
98
+ // The 'original' example uses all 'functions'.
99
+ // If all 'functions' are used, then don't remove/add a header, and leave
100
+ // the html alone. This preserves the functionality of earlier releases.
101
+ // A 2nd option is a string representing a field in the data.
102
+ // A third option is to supply an Object such as an array of 'information', and
103
+ // supply your own _doColumnHeaderFormat and _doColumnValueFormat functions to
104
+ // create what you need.
105
+ var bAllFunctions = true;
106
+ _columns.forEach(function (f) {
107
+ bAllFunctions = bAllFunctions & (typeof f === 'function');
108
+ });
109
+
110
+ if (!bAllFunctions) {
111
+ // ensure one thead
112
+ var thead = _chart.selectAll('thead').data([0]);
113
+ thead.enter().append('thead');
114
+ thead.exit().remove();
115
+
116
+ // with one tr
117
+ var headrow = thead.selectAll('tr').data([0]);
118
+ headrow.enter().append('tr');
119
+ headrow.exit().remove();
120
+
121
+ // with a th for each column
122
+ var headcols = headrow.selectAll('th')
123
+ .data(_columns);
124
+ headcols.enter().append('th');
125
+ headcols.exit().remove();
126
+
127
+ headcols
128
+ .attr('class', HEAD_CSS_CLASS)
129
+ .html(function (d) {
130
+ return (_chart._doColumnHeaderFormat(d));
131
+
132
+ });
133
+ }
134
+
135
+ var groups = _chart.root().selectAll('tbody')
136
+ .data(nestEntries(), function (d) {
137
+ return _chart.keyAccessor()(d);
138
+ });
139
+
140
+ var rowGroup = groups
141
+ .enter()
142
+ .append('tbody');
143
+
144
+ if (_showGroups === true) {
145
+ rowGroup
146
+ .append('tr')
147
+ .attr('class', GROUP_CSS_CLASS)
148
+ .append('td')
149
+ .attr('class', LABEL_CSS_CLASS)
150
+ .attr('colspan', _columns.length)
151
+ .html(function (d) {
152
+ return _chart.keyAccessor()(d);
153
+ });
154
+ }
155
+
156
+ groups.exit().remove();
157
+
158
+ return rowGroup;
159
+ }
160
+
161
+ function nestEntries () {
162
+ var entries;
163
+ if (_order === d3.ascending) {
164
+ entries = _chart.dimension().bottom(_size);
165
+ } else {
166
+ entries = _chart.dimension().top(_size);
167
+ }
168
+
169
+ return d3.nest()
170
+ .key(_chart.group())
171
+ .sortKeys(_order)
172
+ .entries(entries.sort(function (a, b) {
173
+ return _order(_sortBy(a), _sortBy(b));
174
+ }).slice(_beginSlice, _endSlice));
175
+ }
176
+
177
+ function renderRows (groups) {
178
+ var rows = groups.order()
179
+ .selectAll('tr.' + ROW_CSS_CLASS)
180
+ .data(function (d) {
181
+ return d.values;
182
+ });
183
+
184
+ var rowEnter = rows.enter()
185
+ .append('tr')
186
+ .attr('class', ROW_CSS_CLASS);
187
+
188
+ _columns.forEach(function (v, i) {
189
+ rowEnter.append('td')
190
+ .attr('class', COLUMN_CSS_CLASS + ' _' + i)
191
+ .html(function (d) {
192
+ return _chart._doColumnValueFormat(v, d);
193
+ });
194
+ });
195
+
196
+ rows.exit().remove();
197
+
198
+ return rows;
199
+ }
200
+
201
+ _chart._doRedraw = function () {
202
+ return _chart._doRender();
203
+ };
204
+
205
+ /**
206
+ * Get or set the table size which determines the number of rows displayed by the widget.
207
+ * @method size
208
+ * @memberof dc.dataTable
209
+ * @instance
210
+ * @param {Number} [size=25]
211
+ * @return {Number}
212
+ * @return {dc.dataTable}
213
+ */
214
+ _chart.size = function (size) {
215
+ if (!arguments.length) {
216
+ return _size;
217
+ }
218
+ _size = size;
219
+ return _chart;
220
+ };
221
+
222
+ /**
223
+ * Get or set the index of the beginning slice which determines which entries get displayed
224
+ * by the widget. Useful when implementing pagination.
225
+ *
226
+ * Note: the sortBy function will determine how the rows are ordered for pagination purposes.
227
+
228
+ * See the {@link http://dc-js.github.io/dc.js/examples/table-pagination.html table pagination example}
229
+ * to see how to implement the pagination user interface using `beginSlice` and `endSlice`.
230
+ * @method beginSlice
231
+ * @memberof dc.dataTable
232
+ * @instance
233
+ * @param {Number} [beginSlice=0]
234
+ * @return {Number}
235
+ * @return {dc.dataTable}
236
+ */
237
+ _chart.beginSlice = function (beginSlice) {
238
+ if (!arguments.length) {
239
+ return _beginSlice;
240
+ }
241
+ _beginSlice = beginSlice;
242
+ return _chart;
243
+ };
244
+
245
+ /**
246
+ * Get or set the index of the end slice which determines which entries get displayed by the
247
+ * widget. Useful when implementing pagination. See {@link dc.dataTable#beginSlice `beginSlice`} for more information.
248
+ * @method endSlice
249
+ * @memberof dc.dataTable
250
+ * @instance
251
+ * @param {Number|undefined} [endSlice=undefined]
252
+ * @return {Number}
253
+ * @return {dc.dataTable}
254
+ */
255
+ _chart.endSlice = function (endSlice) {
256
+ if (!arguments.length) {
257
+ return _endSlice;
258
+ }
259
+ _endSlice = endSlice;
260
+ return _chart;
261
+ };
262
+
263
+ /**
264
+ * Get or set column functions. The data table widget supports several methods of specifying the
265
+ * columns to display.
266
+ *
267
+ * The original method uses an array of functions to generate dynamic columns. Column functions
268
+ * are simple javascript functions with only one input argument `d` which represents a row in
269
+ * the data set. The return value of these functions will be used to generate the content for
270
+ * each cell. However, this method requires the HTML for the table to have a fixed set of column
271
+ * headers.
272
+ *
273
+ * <pre><code>chart.columns([
274
+ * function(d) { return d.date; },
275
+ * function(d) { return d.open; },
276
+ * function(d) { return d.close; },
277
+ * function(d) { return numberFormat(d.close - d.open); },
278
+ * function(d) { return d.volume; }
279
+ * ]);
280
+ * </code></pre>
281
+ *
282
+ * In the second method, you can list the columns to read from the data without specifying it as
283
+ * a function, except where necessary (ie, computed columns). Note the data element name is
284
+ * capitalized when displayed in the table header. You can also mix in functions as necessary,
285
+ * using the third `{label, format}` form, as shown below.
286
+ *
287
+ * <pre><code>chart.columns([
288
+ * "date", // d["date"], ie, a field accessor; capitalized automatically
289
+ * "open", // ...
290
+ * "close", // ...
291
+ * {
292
+ * label: "Change",
293
+ * format: function (d) {
294
+ * return numberFormat(d.close - d.open);
295
+ * }
296
+ * },
297
+ * "volume" // d["volume"], ie, a field accessor; capitalized automatically
298
+ * ]);
299
+ * </code></pre>
300
+ *
301
+ * In the third example, we specify all fields using the `{label, format}` method:
302
+ * <pre><code>chart.columns([
303
+ * {
304
+ * label: "Date",
305
+ * format: function (d) { return d.date; }
306
+ * },
307
+ * {
308
+ * label: "Open",
309
+ * format: function (d) { return numberFormat(d.open); }
310
+ * },
311
+ * {
312
+ * label: "Close",
313
+ * format: function (d) { return numberFormat(d.close); }
314
+ * },
315
+ * {
316
+ * label: "Change",
317
+ * format: function (d) { return numberFormat(d.close - d.open); }
318
+ * },
319
+ * {
320
+ * label: "Volume",
321
+ * format: function (d) { return d.volume; }
322
+ * }
323
+ * ]);
324
+ * </code></pre>
325
+ *
326
+ * You may wish to override the dataTable functions `_doColumnHeaderCapitalize` and
327
+ * `_doColumnHeaderFnToString`, which are used internally to translate the column information or
328
+ * function into a displayed header. The first one is used on the "string" column specifier; the
329
+ * second is used to transform a stringified function into something displayable. For the Stock
330
+ * example, the function for Change becomes the table header **d.close - d.open**.
331
+ *
332
+ * Finally, you can even specify a completely different form of column definition. To do this,
333
+ * override `_chart._doColumnHeaderFormat` and `_chart._doColumnValueFormat` Be aware that
334
+ * fields without numberFormat specification will be displayed just as they are stored in the
335
+ * data, unformatted.
336
+ * @method columns
337
+ * @memberof dc.dataTable
338
+ * @instance
339
+ * @param {Array<Function>} [columns=[]]
340
+ * @return {Array<Function>}}
341
+ * @return {dc.dataTable}
342
+ */
343
+ _chart.columns = function (columns) {
344
+ if (!arguments.length) {
345
+ return _columns;
346
+ }
347
+ _columns = columns;
348
+ return _chart;
349
+ };
350
+
351
+ /**
352
+ * Get or set sort-by function. This function works as a value accessor at row level and returns a
353
+ * particular field to be sorted by. Default value: identity function
354
+ * @method sortBy
355
+ * @memberof dc.dataTable
356
+ * @instance
357
+ * @example
358
+ * chart.sortBy(function(d) {
359
+ * return d.date;
360
+ * });
361
+ * @param {Function} [sortBy]
362
+ * @return {Function}
363
+ * @return {dc.dataTable}
364
+ */
365
+ _chart.sortBy = function (sortBy) {
366
+ if (!arguments.length) {
367
+ return _sortBy;
368
+ }
369
+ _sortBy = sortBy;
370
+ return _chart;
371
+ };
372
+
373
+ /**
374
+ * Get or set sort order. If the order is `d3.ascending`, the data table will use
375
+ * `dimension().bottom()` to fetch the data; otherwise it will use `dimension().top()`
376
+ * @method order
377
+ * @memberof dc.dataTable
378
+ * @instance
379
+ * @see {@link https://github.com/mbostock/d3/wiki/Arrays#d3_ascending d3.ascending}
380
+ * @see {@link https://github.com/mbostock/d3/wiki/Arrays#d3_descending d3.descending}
381
+ * @example
382
+ * chart.order(d3.descending);
383
+ * @param {Function} [order=d3.ascending]
384
+ * @return {Function}
385
+ * @return {dc.dataTable}
386
+ */
387
+ _chart.order = function (order) {
388
+ if (!arguments.length) {
389
+ return _order;
390
+ }
391
+ _order = order;
392
+ return _chart;
393
+ };
394
+
395
+ /**
396
+ * Get or set if group rows will be shown.
397
+ *
398
+ * The .group() getter-setter must be provided in either case.
399
+ * @method showGroups
400
+ * @memberof dc.dataTable
401
+ * @instance
402
+ * @example
403
+ * chart
404
+ * .group([value], [name])
405
+ * .showGroups(true|false);
406
+ * @param {Boolean} [showGroups=true]
407
+ * @return {Boolean}
408
+ * @return {dc.dataTable}
409
+ */
410
+ _chart.showGroups = function (showGroups) {
411
+ if (!arguments.length) {
412
+ return _showGroups;
413
+ }
414
+ _showGroups = showGroups;
415
+ return _chart;
416
+ };
417
+
418
+ return _chart.anchor(parent, chartGroup);
419
+ };