mdarray-sol 0.1.0-java
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/LICENSE.txt +35 -0
- data/LICENSE.txt~ +73 -0
- data/README.md +140 -0
- data/README.md~ +290 -0
- data/Rakefile +80 -0
- data/config.rb +223 -0
- data/doc/Nashorn.html +1406 -0
- data/doc/Sol.html +692 -0
- data/doc/Sol/BarChart.html +181 -0
- data/doc/Sol/BaseChart.html +799 -0
- data/doc/Sol/Bootstrap.html +1134 -0
- data/doc/Sol/Bridge.html +448 -0
- data/doc/Sol/Chart.html +1162 -0
- data/doc/Sol/CoordinateChart.html +673 -0
- data/doc/Sol/DCFX.html +807 -0
- data/doc/Sol/Dashboard.html +1967 -0
- data/doc/Sol/ExecMessages.html +332 -0
- data/doc/Sol/GuiCommunication.html +230 -0
- data/doc/Sol/Interval.html +1213 -0
- data/doc/Sol/JS.html +448 -0
- data/doc/Sol/LineChart.html +344 -0
- data/doc/Sol/LinearScale.html +334 -0
- data/doc/Sol/Margins.html +219 -0
- data/doc/Sol/OrdinalScale.html +263 -0
- data/doc/Sol/ReadBuffer.html +302 -0
- data/doc/Sol/Scale.html +462 -0
- data/doc/Sol/Stack.html +199 -0
- data/doc/Sol/TimeScale.html +396 -0
- data/doc/_index.html +362 -0
- data/doc/class_list.html +58 -0
- data/doc/css/common.css +1 -0
- data/doc/css/full_list.css +57 -0
- data/doc/css/style.css +339 -0
- data/doc/file.README.html +95 -0
- data/doc/file_list.html +60 -0
- data/doc/frames.html +26 -0
- data/doc/index.html +95 -0
- data/doc/js/app.js +219 -0
- data/doc/js/full_list.js +181 -0
- data/doc/js/jquery.js +4 -0
- data/doc/method_list.html +849 -0
- data/doc/top-level-namespace.html +135 -0
- data/examples/bar_chart/bar_chart.rb +268 -0
- data/examples/bar_plot.rb +96 -0
- data/examples/charts/area.rb +25 -0
- data/examples/charts/area_script.rb +69 -0
- data/examples/charts/env.rb +8 -0
- data/examples/charts/monthly-move.csv +6725 -0
- data/examples/charts/morley.csv +101 -0
- data/examples/charts/morley2.csv +81 -0
- data/examples/charts/morley3.csv +121 -0
- data/examples/d3_tutorial.rb +98 -0
- data/examples/sc_plot.rb +57 -0
- data/examples/scatterplot/axes.rb +111 -0
- data/examples/scatterplot/scatterplot.rb +221 -0
- data/examples/us_states/map.rb +90 -0
- data/examples/us_states/us-ag-productivity2004.csv +49 -0
- data/examples/us_states/us-cities.csv +51 -0
- data/examples/util/linear_scale.rb +83 -0
- data/examples/util/ordinal_scale.rb +72 -0
- data/init.rb +39 -0
- data/lib/jx/array_handler.js +70 -0
- data/lib/jx/callback.rb +255 -0
- data/lib/jx/hash_handler.js +87 -0
- data/lib/jx/irbobject.rb +121 -0
- data/lib/jx/js.rb +442 -0
- data/lib/jx/js_array.rb +31 -0
- data/lib/jx/js_hash.rb +76 -0
- data/lib/jx/js_init.rb +62 -0
- data/lib/jx/jsarray.rb +66 -0
- data/lib/jx/jsfunction.rb +73 -0
- data/lib/jx/jsobject.rb +188 -0
- data/lib/jx/jsstyle_sheet.rb +231 -0
- data/lib/jx/jsundefined.rb +46 -0
- data/lib/jx/proxy_array.rb +62 -0
- data/lib/jx/rbobject.rb +80 -0
- data/lib/jx/ruby_proxy.js +176 -0
- data/lib/jx/ruby_rich.js +70 -0
- data/lib/jx/sol.rb +109 -0
- data/lib/mdarray-sol.rb +34 -0
- data/lib/mdarray/jsmdarray.rb +39 -0
- data/lib/ruby_rich/bootstrap.rb +230 -0
- data/lib/ruby_rich/config.html +22 -0
- data/lib/ruby_rich/dashboard.rb +299 -0
- data/lib/ruby_rich/ruby_rich.rb +120 -0
- data/lib/sol/bar_chart.rb +35 -0
- data/lib/sol/base_chart.rb +148 -0
- data/lib/sol/chart.rb +138 -0
- data/lib/sol/coordinate_chart.rb +128 -0
- data/lib/sol/interval.rb +156 -0
- data/lib/sol/line_chart.rb +58 -0
- data/lib/sol/margins.rb +52 -0
- data/lib/sol/scale.rb +212 -0
- data/lib/sol/stack.rb +44 -0
- data/node_modules/bootstrap/Gruntfile.js +533 -0
- data/node_modules/bootstrap/dist/js/bootstrap.js +2363 -0
- data/node_modules/bootstrap/dist/js/bootstrap.min.js +7 -0
- data/node_modules/bootstrap/dist/js/npm.js +13 -0
- data/node_modules/bootstrap/grunt/bs-commonjs-generator.js +30 -0
- data/node_modules/bootstrap/grunt/bs-glyphicons-data-generator.js +42 -0
- data/node_modules/bootstrap/grunt/bs-lessdoc-parser.js +237 -0
- data/node_modules/bootstrap/grunt/bs-raw-files-generator.js +44 -0
- data/node_modules/bootstrap/js/affix.js +162 -0
- data/node_modules/bootstrap/js/alert.js +94 -0
- data/node_modules/bootstrap/js/button.js +120 -0
- data/node_modules/bootstrap/js/carousel.js +237 -0
- data/node_modules/bootstrap/js/collapse.js +211 -0
- data/node_modules/bootstrap/js/dropdown.js +165 -0
- data/node_modules/bootstrap/js/modal.js +337 -0
- data/node_modules/bootstrap/js/popover.js +108 -0
- data/node_modules/bootstrap/js/scrollspy.js +172 -0
- data/node_modules/bootstrap/js/tab.js +155 -0
- data/node_modules/bootstrap/js/tooltip.js +514 -0
- data/node_modules/bootstrap/js/transition.js +59 -0
- data/node_modules/chai/chai.js +6142 -0
- data/node_modules/chai/index.js +1 -0
- data/node_modules/chai/karma.conf.js +28 -0
- data/node_modules/chai/karma.sauce.js +41 -0
- data/node_modules/chai/lib/chai.js +93 -0
- data/node_modules/chai/lib/chai/assertion.js +131 -0
- data/node_modules/chai/lib/chai/config.js +55 -0
- data/node_modules/chai/lib/chai/core/assertions.js +1860 -0
- data/node_modules/chai/lib/chai/interface/assert.js +1645 -0
- data/node_modules/chai/lib/chai/interface/expect.js +34 -0
- data/node_modules/chai/lib/chai/interface/should.js +201 -0
- data/node_modules/chai/lib/chai/utils/addChainableMethod.js +112 -0
- data/node_modules/chai/lib/chai/utils/addMethod.js +44 -0
- data/node_modules/chai/lib/chai/utils/addProperty.js +48 -0
- data/node_modules/chai/lib/chai/utils/expectTypes.js +42 -0
- data/node_modules/chai/lib/chai/utils/flag.js +33 -0
- data/node_modules/chai/lib/chai/utils/getActual.js +20 -0
- data/node_modules/chai/lib/chai/utils/getEnumerableProperties.js +26 -0
- data/node_modules/chai/lib/chai/utils/getMessage.js +51 -0
- data/node_modules/chai/lib/chai/utils/getName.js +22 -0
- data/node_modules/chai/lib/chai/utils/getPathInfo.js +111 -0
- data/node_modules/chai/lib/chai/utils/getPathValue.js +43 -0
- data/node_modules/chai/lib/chai/utils/getProperties.js +36 -0
- data/node_modules/chai/lib/chai/utils/hasProperty.js +64 -0
- data/node_modules/chai/lib/chai/utils/index.js +130 -0
- data/node_modules/chai/lib/chai/utils/inspect.js +335 -0
- data/node_modules/chai/lib/chai/utils/objDisplay.js +50 -0
- data/node_modules/chai/lib/chai/utils/overwriteChainableMethod.js +54 -0
- data/node_modules/chai/lib/chai/utils/overwriteMethod.js +52 -0
- data/node_modules/chai/lib/chai/utils/overwriteProperty.js +55 -0
- data/node_modules/chai/lib/chai/utils/test.js +28 -0
- data/node_modules/chai/lib/chai/utils/transferFlags.js +45 -0
- data/node_modules/chai/node_modules/assertion-error/index.js +116 -0
- data/node_modules/chai/node_modules/deep-eql/index.js +1 -0
- data/node_modules/chai/node_modules/deep-eql/karma.conf.js +20 -0
- data/node_modules/chai/node_modules/deep-eql/lib/eql.js +257 -0
- data/node_modules/chai/node_modules/deep-eql/node_modules/type-detect/index.js +1 -0
- data/node_modules/chai/node_modules/deep-eql/node_modules/type-detect/lib/type.js +142 -0
- data/node_modules/chai/node_modules/type-detect/index.js +1 -0
- data/node_modules/chai/node_modules/type-detect/lib/type.js +134 -0
- data/node_modules/chai/sauce.browsers.js +128 -0
- data/node_modules/dc/Gruntfile.js +437 -0
- data/node_modules/dc/dc.js +10477 -0
- data/node_modules/dc/dc.min.js +23 -0
- data/node_modules/dc/docs/coverage.js +203 -0
- data/node_modules/dc/grunt/format-file-list.js +33 -0
- data/node_modules/dc/index.js +5 -0
- data/node_modules/dc/node_modules/crossfilter2/crossfilter.js +1401 -0
- data/node_modules/dc/node_modules/crossfilter2/crossfilter.min.js +1 -0
- data/node_modules/dc/node_modules/crossfilter2/index.js +1 -0
- data/node_modules/dc/node_modules/crossfilter2/src/array.js +46 -0
- data/node_modules/dc/node_modules/crossfilter2/src/bisect.js +44 -0
- data/node_modules/dc/node_modules/crossfilter2/src/crossfilter.js +872 -0
- data/node_modules/dc/node_modules/crossfilter2/src/filter.js +19 -0
- data/node_modules/dc/node_modules/crossfilter2/src/heap.js +44 -0
- data/node_modules/dc/node_modules/crossfilter2/src/heapselect.js +36 -0
- data/node_modules/dc/node_modules/crossfilter2/src/identity.js +3 -0
- data/node_modules/dc/node_modules/crossfilter2/src/insertionsort.js +18 -0
- data/node_modules/dc/node_modules/crossfilter2/src/null.js +3 -0
- data/node_modules/dc/node_modules/crossfilter2/src/permute.js +8 -0
- data/node_modules/dc/node_modules/crossfilter2/src/quicksort.js +283 -0
- data/node_modules/dc/node_modules/crossfilter2/src/reduce.js +19 -0
- data/node_modules/dc/node_modules/crossfilter2/src/zero.js +3 -0
- data/node_modules/dc/node_modules/d3/d3.js +9554 -0
- data/node_modules/dc/node_modules/d3/d3.min.js +5 -0
- data/node_modules/dc/node_modules/d3/package.js +13 -0
- data/node_modules/dc/node_modules/d3/src/arrays/ascending.js +5 -0
- data/node_modules/dc/node_modules/d3/src/arrays/bisect.js +36 -0
- data/node_modules/dc/node_modules/d3/src/arrays/descending.js +3 -0
- data/node_modules/dc/node_modules/d3/src/arrays/deviation.js +6 -0
- data/node_modules/dc/node_modules/d3/src/arrays/entries.js +5 -0
- data/node_modules/dc/node_modules/d3/src/arrays/extent.js +21 -0
- data/node_modules/dc/node_modules/d3/src/arrays/index.js +25 -0
- data/node_modules/dc/node_modules/d3/src/arrays/keys.js +5 -0
- data/node_modules/dc/node_modules/d3/src/arrays/map.js +84 -0
- data/node_modules/dc/node_modules/d3/src/arrays/max.js +14 -0
- data/node_modules/dc/node_modules/d3/src/arrays/mean.js +15 -0
- data/node_modules/dc/node_modules/d3/src/arrays/median.js +16 -0
- data/node_modules/dc/node_modules/d3/src/arrays/merge.js +21 -0
- data/node_modules/dc/node_modules/d3/src/arrays/min.js +14 -0
- data/node_modules/dc/node_modules/d3/src/arrays/nest.js +97 -0
- data/node_modules/dc/node_modules/d3/src/arrays/pairs.js +5 -0
- data/node_modules/dc/node_modules/d3/src/arrays/permute.js +5 -0
- data/node_modules/dc/node_modules/d3/src/arrays/quantile.js +8 -0
- data/node_modules/dc/node_modules/d3/src/arrays/range.js +26 -0
- data/node_modules/dc/node_modules/d3/src/arrays/set.js +27 -0
- data/node_modules/dc/node_modules/d3/src/arrays/shuffle.js +9 -0
- data/node_modules/dc/node_modules/d3/src/arrays/sum.js +14 -0
- data/node_modules/dc/node_modules/d3/src/arrays/transpose.js +15 -0
- data/node_modules/dc/node_modules/d3/src/arrays/values.js +5 -0
- data/node_modules/dc/node_modules/d3/src/arrays/variance.js +29 -0
- data/node_modules/dc/node_modules/d3/src/arrays/zip.js +5 -0
- data/node_modules/dc/node_modules/d3/src/behavior/behavior.js +1 -0
- data/node_modules/dc/node_modules/d3/src/behavior/drag.js +88 -0
- data/node_modules/dc/node_modules/d3/src/behavior/index.js +3 -0
- data/node_modules/dc/node_modules/d3/src/behavior/zoom.js +348 -0
- data/node_modules/dc/node_modules/d3/src/color/color.js +7 -0
- data/node_modules/dc/node_modules/d3/src/color/hcl.js +34 -0
- data/node_modules/dc/node_modules/d3/src/color/hsl.js +56 -0
- data/node_modules/dc/node_modules/d3/src/color/index.js +6 -0
- data/node_modules/dc/node_modules/d3/src/color/lab.js +60 -0
- data/node_modules/dc/node_modules/d3/src/color/rgb.js +301 -0
- data/node_modules/dc/node_modules/d3/src/color/xyz.js +7 -0
- data/node_modules/dc/node_modules/d3/src/compat/array.js +15 -0
- data/node_modules/dc/node_modules/d3/src/compat/date.js +3 -0
- data/node_modules/dc/node_modules/d3/src/compat/index.js +3 -0
- data/node_modules/dc/node_modules/d3/src/compat/style.js +23 -0
- data/node_modules/dc/node_modules/d3/src/core/array.js +2 -0
- data/node_modules/dc/node_modules/d3/src/core/class.js +8 -0
- data/node_modules/dc/node_modules/d3/src/core/document.js +15 -0
- data/node_modules/dc/node_modules/d3/src/core/functor.js +5 -0
- data/node_modules/dc/node_modules/d3/src/core/identity.js +3 -0
- data/node_modules/dc/node_modules/d3/src/core/index.js +3 -0
- data/node_modules/dc/node_modules/d3/src/core/noop.js +1 -0
- data/node_modules/dc/node_modules/d3/src/core/ns.js +18 -0
- data/node_modules/dc/node_modules/d3/src/core/rebind.js +16 -0
- data/node_modules/dc/node_modules/d3/src/core/source.js +3 -0
- data/node_modules/dc/node_modules/d3/src/core/subclass.js +11 -0
- data/node_modules/dc/node_modules/d3/src/core/target.js +3 -0
- data/node_modules/dc/node_modules/d3/src/core/true.js +3 -0
- data/node_modules/dc/node_modules/d3/src/core/vendor.js +10 -0
- data/node_modules/dc/node_modules/d3/src/core/zero.js +3 -0
- data/node_modules/dc/node_modules/d3/src/d3.js +23 -0
- data/node_modules/dc/node_modules/d3/src/dsv/csv.js +3 -0
- data/node_modules/dc/node_modules/d3/src/dsv/dsv.js +136 -0
- data/node_modules/dc/node_modules/d3/src/dsv/index.js +3 -0
- data/node_modules/dc/node_modules/d3/src/dsv/tsv.js +3 -0
- data/node_modules/dc/node_modules/d3/src/end.js +4 -0
- data/node_modules/dc/node_modules/d3/src/event/dispatch.js +69 -0
- data/node_modules/dc/node_modules/d3/src/event/drag.js +36 -0
- data/node_modules/dc/node_modules/d3/src/event/event.js +50 -0
- data/node_modules/dc/node_modules/d3/src/event/index.js +6 -0
- data/node_modules/dc/node_modules/d3/src/event/mouse.js +39 -0
- data/node_modules/dc/node_modules/d3/src/event/timer.js +82 -0
- data/node_modules/dc/node_modules/d3/src/event/touch.js +11 -0
- data/node_modules/dc/node_modules/d3/src/event/touches.js +12 -0
- data/node_modules/dc/node_modules/d3/src/format/collapse.js +3 -0
- data/node_modules/dc/node_modules/d3/src/format/format.js +3 -0
- data/node_modules/dc/node_modules/d3/src/format/formatPrefix.js +24 -0
- data/node_modules/dc/node_modules/d3/src/format/index.js +4 -0
- data/node_modules/dc/node_modules/d3/src/format/precision.js +3 -0
- data/node_modules/dc/node_modules/d3/src/format/requote.js +5 -0
- data/node_modules/dc/node_modules/d3/src/format/round.js +5 -0
- data/node_modules/dc/node_modules/d3/src/geo/albers-usa.js +129 -0
- data/node_modules/dc/node_modules/d3/src/geo/albers.js +11 -0
- data/node_modules/dc/node_modules/d3/src/geo/area.js +69 -0
- data/node_modules/dc/node_modules/d3/src/geo/azimuthal-equal-area.js +12 -0
- data/node_modules/dc/node_modules/d3/src/geo/azimuthal-equidistant.js +13 -0
- data/node_modules/dc/node_modules/d3/src/geo/azimuthal.js +25 -0
- data/node_modules/dc/node_modules/d3/src/geo/bounds.js +168 -0
- data/node_modules/dc/node_modules/d3/src/geo/cartesian.js +47 -0
- data/node_modules/dc/node_modules/d3/src/geo/centroid.js +149 -0
- data/node_modules/dc/node_modules/d3/src/geo/circle.js +81 -0
- data/node_modules/dc/node_modules/d3/src/geo/clip-antimeridian.js +95 -0
- data/node_modules/dc/node_modules/d3/src/geo/clip-circle.js +178 -0
- data/node_modules/dc/node_modules/d3/src/geo/clip-extent.js +196 -0
- data/node_modules/dc/node_modules/d3/src/geo/clip-polygon.js +104 -0
- data/node_modules/dc/node_modules/d3/src/geo/clip.js +149 -0
- data/node_modules/dc/node_modules/d3/src/geo/compose.js +12 -0
- data/node_modules/dc/node_modules/d3/src/geo/conic-conformal.js +39 -0
- data/node_modules/dc/node_modules/d3/src/geo/conic-equal-area.js +33 -0
- data/node_modules/dc/node_modules/d3/src/geo/conic-equidistant.js +36 -0
- data/node_modules/dc/node_modules/d3/src/geo/conic.js +16 -0
- data/node_modules/dc/node_modules/d3/src/geo/distance.js +13 -0
- data/node_modules/dc/node_modules/d3/src/geo/equirectangular.js +10 -0
- data/node_modules/dc/node_modules/d3/src/geo/geo.js +1 -0
- data/node_modules/dc/node_modules/d3/src/geo/gnomonic.js +12 -0
- data/node_modules/dc/node_modules/d3/src/geo/graticule.js +103 -0
- data/node_modules/dc/node_modules/d3/src/geo/greatArc.js +42 -0
- data/node_modules/dc/node_modules/d3/src/geo/index.js +33 -0
- data/node_modules/dc/node_modules/d3/src/geo/interpolate.js +38 -0
- data/node_modules/dc/node_modules/d3/src/geo/length.js +44 -0
- data/node_modules/dc/node_modules/d3/src/geo/mercator.js +48 -0
- data/node_modules/dc/node_modules/d3/src/geo/orthographic.js +12 -0
- data/node_modules/dc/node_modules/d3/src/geo/path-area.js +41 -0
- data/node_modules/dc/node_modules/d3/src/geo/path-bounds.js +21 -0
- data/node_modules/dc/node_modules/d3/src/geo/path-buffer.js +59 -0
- data/node_modules/dc/node_modules/d3/src/geo/path-centroid.js +78 -0
- data/node_modules/dc/node_modules/d3/src/geo/path-context.js +49 -0
- data/node_modules/dc/node_modules/d3/src/geo/path.js +87 -0
- data/node_modules/dc/node_modules/d3/src/geo/point-in-polygon.js +71 -0
- data/node_modules/dc/node_modules/d3/src/geo/projection.js +121 -0
- data/node_modules/dc/node_modules/d3/src/geo/resample.js +109 -0
- data/node_modules/dc/node_modules/d3/src/geo/rotation.js +79 -0
- data/node_modules/dc/node_modules/d3/src/geo/spherical.js +13 -0
- data/node_modules/dc/node_modules/d3/src/geo/stereographic.js +12 -0
- data/node_modules/dc/node_modules/d3/src/geo/stream.js +71 -0
- data/node_modules/dc/node_modules/d3/src/geo/transform.js +36 -0
- data/node_modules/dc/node_modules/d3/src/geo/transverse-mercator.js +31 -0
- data/node_modules/dc/node_modules/d3/src/geom/clip-line.js +66 -0
- data/node_modules/dc/node_modules/d3/src/geom/delaunay.js +6 -0
- data/node_modules/dc/node_modules/d3/src/geom/geom.js +1 -0
- data/node_modules/dc/node_modules/d3/src/geom/hull.js +91 -0
- data/node_modules/dc/node_modules/d3/src/geom/index.js +6 -0
- data/node_modules/dc/node_modules/d3/src/geom/point.js +7 -0
- data/node_modules/dc/node_modules/d3/src/geom/polygon.js +105 -0
- data/node_modules/dc/node_modules/d3/src/geom/quadtree.js +243 -0
- data/node_modules/dc/node_modules/d3/src/geom/voronoi.js +110 -0
- data/node_modules/dc/node_modules/d3/src/geom/voronoi/beach.js +186 -0
- data/node_modules/dc/node_modules/d3/src/geom/voronoi/cell.js +64 -0
- data/node_modules/dc/node_modules/d3/src/geom/voronoi/circle.js +73 -0
- data/node_modules/dc/node_modules/d3/src/geom/voronoi/clip.js +80 -0
- data/node_modules/dc/node_modules/d3/src/geom/voronoi/edge.js +50 -0
- data/node_modules/dc/node_modules/d3/src/geom/voronoi/index.js +59 -0
- data/node_modules/dc/node_modules/d3/src/geom/voronoi/red-black.js +235 -0
- data/node_modules/dc/node_modules/d3/src/interpolate/array.js +19 -0
- data/node_modules/dc/node_modules/d3/src/interpolate/ease.js +111 -0
- data/node_modules/dc/node_modules/d3/src/interpolate/hcl.js +20 -0
- data/node_modules/dc/node_modules/d3/src/interpolate/hsl.js +20 -0
- data/node_modules/dc/node_modules/d3/src/interpolate/index.js +14 -0
- data/node_modules/dc/node_modules/d3/src/interpolate/interpolate.js +26 -0
- data/node_modules/dc/node_modules/d3/src/interpolate/lab.js +17 -0
- data/node_modules/dc/node_modules/d3/src/interpolate/number.js +6 -0
- data/node_modules/dc/node_modules/d3/src/interpolate/object.js +25 -0
- data/node_modules/dc/node_modules/d3/src/interpolate/rgb.js +20 -0
- data/node_modules/dc/node_modules/d3/src/interpolate/round.js +6 -0
- data/node_modules/dc/node_modules/d3/src/interpolate/string.js +54 -0
- data/node_modules/dc/node_modules/d3/src/interpolate/transform.js +59 -0
- data/node_modules/dc/node_modules/d3/src/interpolate/uninterpolate.js +9 -0
- data/node_modules/dc/node_modules/d3/src/interpolate/zoom.js +53 -0
- data/node_modules/dc/node_modules/d3/src/layout/bundle.js +59 -0
- data/node_modules/dc/node_modules/d3/src/layout/chord.js +157 -0
- data/node_modules/dc/node_modules/d3/src/layout/cluster.js +92 -0
- data/node_modules/dc/node_modules/d3/src/layout/force.js +372 -0
- data/node_modules/dc/node_modules/d3/src/layout/hierarchy.js +136 -0
- data/node_modules/dc/node_modules/d3/src/layout/histogram.js +110 -0
- data/node_modules/dc/node_modules/d3/src/layout/index.js +13 -0
- data/node_modules/dc/node_modules/d3/src/layout/layout.js +1 -0
- data/node_modules/dc/node_modules/d3/src/layout/pack.js +211 -0
- data/node_modules/dc/node_modules/d3/src/layout/partition.js +51 -0
- data/node_modules/dc/node_modules/d3/src/layout/pie.js +78 -0
- data/node_modules/dc/node_modules/d3/src/layout/stack.js +247 -0
- data/node_modules/dc/node_modules/d3/src/layout/tree.js +240 -0
- data/node_modules/dc/node_modules/d3/src/layout/treemap.js +229 -0
- data/node_modules/dc/node_modules/d3/src/locale/ca-ES.js +16 -0
- data/node_modules/dc/node_modules/d3/src/locale/de-CH.js +16 -0
- data/node_modules/dc/node_modules/d3/src/locale/de-DE.js +16 -0
- data/node_modules/dc/node_modules/d3/src/locale/en-CA.js +16 -0
- data/node_modules/dc/node_modules/d3/src/locale/en-GB.js +16 -0
- data/node_modules/dc/node_modules/d3/src/locale/en-US.js +16 -0
- data/node_modules/dc/node_modules/d3/src/locale/es-ES.js +16 -0
- data/node_modules/dc/node_modules/d3/src/locale/fi-FI.js +16 -0
- data/node_modules/dc/node_modules/d3/src/locale/fr-CA.js +16 -0
- data/node_modules/dc/node_modules/d3/src/locale/fr-FR.js +16 -0
- data/node_modules/dc/node_modules/d3/src/locale/he-IL.js +16 -0
- data/node_modules/dc/node_modules/d3/src/locale/hu-HU.js +16 -0
- data/node_modules/dc/node_modules/d3/src/locale/it-IT.js +16 -0
- data/node_modules/dc/node_modules/d3/src/locale/ja-JP.js +16 -0
- data/node_modules/dc/node_modules/d3/src/locale/ko-KR.js +16 -0
- data/node_modules/dc/node_modules/d3/src/locale/locale.js +9 -0
- data/node_modules/dc/node_modules/d3/src/locale/mk-MK.js +16 -0
- data/node_modules/dc/node_modules/d3/src/locale/nl-NL.js +16 -0
- data/node_modules/dc/node_modules/d3/src/locale/number-format.js +155 -0
- data/node_modules/dc/node_modules/d3/src/locale/pl-PL.js +16 -0
- data/node_modules/dc/node_modules/d3/src/locale/pt-BR.js +16 -0
- data/node_modules/dc/node_modules/d3/src/locale/ru-RU.js +16 -0
- data/node_modules/dc/node_modules/d3/src/locale/sv-SE.js +16 -0
- data/node_modules/dc/node_modules/d3/src/locale/time-format.js +370 -0
- data/node_modules/dc/node_modules/d3/src/locale/time-scale.js +0 -0
- data/node_modules/dc/node_modules/d3/src/locale/zh-CN.js +16 -0
- data/node_modules/dc/node_modules/d3/src/math/abs.js +1 -0
- data/node_modules/dc/node_modules/d3/src/math/adder.js +34 -0
- data/node_modules/dc/node_modules/d3/src/math/index.js +2 -0
- data/node_modules/dc/node_modules/d3/src/math/number.js +7 -0
- data/node_modules/dc/node_modules/d3/src/math/random.js +34 -0
- data/node_modules/dc/node_modules/d3/src/math/transform.js +64 -0
- data/node_modules/dc/node_modules/d3/src/math/trigonometry.js +44 -0
- data/node_modules/dc/node_modules/d3/src/scale/bilinear.js +7 -0
- data/node_modules/dc/node_modules/d3/src/scale/category.js +58 -0
- data/node_modules/dc/node_modules/d3/src/scale/identity.js +33 -0
- data/node_modules/dc/node_modules/d3/src/scale/index.js +11 -0
- data/node_modules/dc/node_modules/d3/src/scale/linear.js +160 -0
- data/node_modules/dc/node_modules/d3/src/scale/log.js +92 -0
- data/node_modules/dc/node_modules/d3/src/scale/nice.js +30 -0
- data/node_modules/dc/node_modules/d3/src/scale/ordinal.js +102 -0
- data/node_modules/dc/node_modules/d3/src/scale/polylinear.js +24 -0
- data/node_modules/dc/node_modules/d3/src/scale/pow.js +57 -0
- data/node_modules/dc/node_modules/d3/src/scale/quantile.js +55 -0
- data/node_modules/dc/node_modules/d3/src/scale/quantize.js +44 -0
- data/node_modules/dc/node_modules/d3/src/scale/scale.js +10 -0
- data/node_modules/dc/node_modules/d3/src/scale/sqrt.js +6 -0
- data/node_modules/dc/node_modules/d3/src/scale/threshold.js +36 -0
- data/node_modules/dc/node_modules/d3/src/selection/append.js +28 -0
- data/node_modules/dc/node_modules/d3/src/selection/attr.js +62 -0
- data/node_modules/dc/node_modules/d3/src/selection/call.js +8 -0
- data/node_modules/dc/node_modules/d3/src/selection/classed.js +76 -0
- data/node_modules/dc/node_modules/d3/src/selection/data.js +117 -0
- data/node_modules/dc/node_modules/d3/src/selection/datum.js +7 -0
- data/node_modules/dc/node_modules/d3/src/selection/each.js +16 -0
- data/node_modules/dc/node_modules/d3/src/selection/empty.js +5 -0
- data/node_modules/dc/node_modules/d3/src/selection/enter-insert.js +20 -0
- data/node_modules/dc/node_modules/d3/src/selection/enter-select.js +27 -0
- data/node_modules/dc/node_modules/d3/src/selection/enter.js +21 -0
- data/node_modules/dc/node_modules/d3/src/selection/filter.js +28 -0
- data/node_modules/dc/node_modules/d3/src/selection/html.js +10 -0
- data/node_modules/dc/node_modules/d3/src/selection/index.js +1 -0
- data/node_modules/dc/node_modules/d3/src/selection/insert.js +9 -0
- data/node_modules/dc/node_modules/d3/src/selection/interrupt.js +27 -0
- data/node_modules/dc/node_modules/d3/src/selection/node.js +11 -0
- data/node_modules/dc/node_modules/d3/src/selection/on.js +106 -0
- data/node_modules/dc/node_modules/d3/src/selection/order.js +13 -0
- data/node_modules/dc/node_modules/d3/src/selection/property.js +43 -0
- data/node_modules/dc/node_modules/d3/src/selection/remove.js +13 -0
- data/node_modules/dc/node_modules/d3/src/selection/select.js +32 -0
- data/node_modules/dc/node_modules/d3/src/selection/selectAll.js +27 -0
- data/node_modules/dc/node_modules/d3/src/selection/selection.js +81 -0
- data/node_modules/dc/node_modules/d3/src/selection/size.js +7 -0
- data/node_modules/dc/node_modules/d3/src/selection/sort.js +15 -0
- data/node_modules/dc/node_modules/d3/src/selection/style.js +59 -0
- data/node_modules/dc/node_modules/d3/src/selection/text.js +10 -0
- data/node_modules/dc/node_modules/d3/src/selection/transition.js +21 -0
- data/node_modules/dc/node_modules/d3/src/start.js +2 -0
- data/node_modules/dc/node_modules/d3/src/svg/arc.js +292 -0
- data/node_modules/dc/node_modules/d3/src/svg/area-radial.js +14 -0
- data/node_modules/dc/node_modules/d3/src/svg/area.js +121 -0
- data/node_modules/dc/node_modules/d3/src/svg/axis.js +160 -0
- data/node_modules/dc/node_modules/d3/src/svg/brush.js +429 -0
- data/node_modules/dc/node_modules/d3/src/svg/chord.js +90 -0
- data/node_modules/dc/node_modules/d3/src/svg/diagonal-radial.js +27 -0
- data/node_modules/dc/node_modules/d3/src/svg/diagonal.js +43 -0
- data/node_modules/dc/node_modules/d3/src/svg/index.js +12 -0
- data/node_modules/dc/node_modules/d3/src/svg/line-radial.js +27 -0
- data/node_modules/dc/node_modules/d3/src/svg/line.js +432 -0
- data/node_modules/dc/node_modules/d3/src/svg/svg.js +1 -0
- data/node_modules/dc/node_modules/d3/src/svg/symbol.js +105 -0
- data/node_modules/dc/node_modules/d3/src/time/day.js +21 -0
- data/node_modules/dc/node_modules/d3/src/time/format-iso.js +19 -0
- data/node_modules/dc/node_modules/d3/src/time/format-utc.js +3 -0
- data/node_modules/dc/node_modules/d3/src/time/format.js +4 -0
- data/node_modules/dc/node_modules/d3/src/time/hour.js +14 -0
- data/node_modules/dc/node_modules/d3/src/time/index.js +14 -0
- data/node_modules/dc/node_modules/d3/src/time/interval.js +71 -0
- data/node_modules/dc/node_modules/d3/src/time/minute.js +13 -0
- data/node_modules/dc/node_modules/d3/src/time/month.js +16 -0
- data/node_modules/dc/node_modules/d3/src/time/scale-utc.js +25 -0
- data/node_modules/dc/node_modules/d3/src/time/scale.js +155 -0
- data/node_modules/dc/node_modules/d3/src/time/second.js +13 -0
- data/node_modules/dc/node_modules/d3/src/time/time.js +33 -0
- data/node_modules/dc/node_modules/d3/src/time/week.js +31 -0
- data/node_modules/dc/node_modules/d3/src/time/year.js +16 -0
- data/node_modules/dc/node_modules/d3/src/transition/attr.js +58 -0
- data/node_modules/dc/node_modules/d3/src/transition/delay.js +10 -0
- data/node_modules/dc/node_modules/d3/src/transition/duration.js +10 -0
- data/node_modules/dc/node_modules/d3/src/transition/each.js +26 -0
- data/node_modules/dc/node_modules/d3/src/transition/ease.js +10 -0
- data/node_modules/dc/node_modules/d3/src/transition/filter.js +22 -0
- data/node_modules/dc/node_modules/d3/src/transition/index.js +1 -0
- data/node_modules/dc/node_modules/d3/src/transition/remove.js +9 -0
- data/node_modules/dc/node_modules/d3/src/transition/select.js +28 -0
- data/node_modules/dc/node_modules/d3/src/transition/selectAll.js +31 -0
- data/node_modules/dc/node_modules/d3/src/transition/style.js +53 -0
- data/node_modules/dc/node_modules/d3/src/transition/subtransition.js +25 -0
- data/node_modules/dc/node_modules/d3/src/transition/text.js +11 -0
- data/node_modules/dc/node_modules/d3/src/transition/transition.js +161 -0
- data/node_modules/dc/node_modules/d3/src/transition/tween.js +17 -0
- data/node_modules/dc/node_modules/d3/src/xhr/html.js +12 -0
- data/node_modules/dc/node_modules/d3/src/xhr/index.js +5 -0
- data/node_modules/dc/node_modules/d3/src/xhr/json.js +9 -0
- data/node_modules/dc/node_modules/d3/src/xhr/text.js +5 -0
- data/node_modules/dc/node_modules/d3/src/xhr/xhr.js +126 -0
- data/node_modules/dc/node_modules/d3/src/xhr/xml.js +5 -0
- data/node_modules/dc/regression/inject-serializer.js +6 -0
- data/node_modules/dc/regression/stock-regression-test.js +140 -0
- data/node_modules/dc/spec/bar-chart-spec.js +1230 -0
- data/node_modules/dc/spec/base-mixin-spec.js +611 -0
- data/node_modules/dc/spec/biggish-data-spec.js +136 -0
- data/node_modules/dc/spec/box-plot-spec.js +211 -0
- data/node_modules/dc/spec/bubble-chart-spec.js +450 -0
- data/node_modules/dc/spec/bubble-overlay-spec.js +102 -0
- data/node_modules/dc/spec/color-spec.js +89 -0
- data/node_modules/dc/spec/composite-chart-spec.js +691 -0
- data/node_modules/dc/spec/coordinate-grid-chart-spec.js +962 -0
- data/node_modules/dc/spec/core-spec.js +301 -0
- data/node_modules/dc/spec/data-addition-spec.js +122 -0
- data/node_modules/dc/spec/data-count-spec.js +180 -0
- data/node_modules/dc/spec/data-grid-spec.js +124 -0
- data/node_modules/dc/spec/data-table-spec.js +251 -0
- data/node_modules/dc/spec/event-spec.js +41 -0
- data/node_modules/dc/spec/filter-dates-spec.js +92 -0
- data/node_modules/dc/spec/filters-spec.js +140 -0
- data/node_modules/dc/spec/geo-choropleth-chart-spec.js +225 -0
- data/node_modules/dc/spec/heatmap-spec.js +363 -0
- data/node_modules/dc/spec/helpers/custom_matchers.js +213 -0
- data/node_modules/dc/spec/helpers/fixtures.js +81 -0
- data/node_modules/dc/spec/helpers/geoFixtures.js +113 -0
- data/node_modules/dc/spec/helpers/load-jsreporter.js +37 -0
- data/node_modules/dc/spec/helpers/spec-helper.js +53 -0
- data/node_modules/dc/spec/legend-spec.js +266 -0
- data/node_modules/dc/spec/line-chart-spec.js +709 -0
- data/node_modules/dc/spec/logger-spec.js +80 -0
- data/node_modules/dc/spec/number-display-spec.js +168 -0
- data/node_modules/dc/spec/pie-chart-spec.js +677 -0
- data/node_modules/dc/spec/row-chart-spec.js +362 -0
- data/node_modules/dc/spec/scatter-plot-spec.js +336 -0
- data/node_modules/dc/spec/series-chart-spec.js +133 -0
- data/node_modules/dc/spec/utils-spec.js +110 -0
- data/node_modules/dc/src/banner.js +2 -0
- data/node_modules/dc/src/bar-chart.js +374 -0
- data/node_modules/dc/src/base-mixin.js +1478 -0
- data/node_modules/dc/src/box-plot.js +240 -0
- data/node_modules/dc/src/bubble-chart.js +177 -0
- data/node_modules/dc/src/bubble-mixin.js +244 -0
- data/node_modules/dc/src/bubble-overlay.js +207 -0
- data/node_modules/dc/src/cap-mixin.js +151 -0
- data/node_modules/dc/src/color-mixin.js +172 -0
- data/node_modules/dc/src/composite-chart.js +544 -0
- data/node_modules/dc/src/coordinate-grid-mixin.js +1300 -0
- data/node_modules/dc/src/core.js +425 -0
- data/node_modules/dc/src/d3.box.js +317 -0
- data/node_modules/dc/src/data-count.js +110 -0
- data/node_modules/dc/src/data-grid.js +243 -0
- data/node_modules/dc/src/data-table.js +419 -0
- data/node_modules/dc/src/errors.js +28 -0
- data/node_modules/dc/src/events.js +37 -0
- data/node_modules/dc/src/filters.js +124 -0
- data/node_modules/dc/src/footer.js +35 -0
- data/node_modules/dc/src/geo-choropleth-chart.js +279 -0
- data/node_modules/dc/src/heatmap.js +378 -0
- data/node_modules/dc/src/legend.js +277 -0
- data/node_modules/dc/src/line-chart.js +504 -0
- data/node_modules/dc/src/logger.js +40 -0
- data/node_modules/dc/src/margin-mixin.js +44 -0
- data/node_modules/dc/src/number-display.js +141 -0
- data/node_modules/dc/src/pie-chart.js +571 -0
- data/node_modules/dc/src/row-chart.js +425 -0
- data/node_modules/dc/src/scatter-plot.js +338 -0
- data/node_modules/dc/src/series-chart.js +192 -0
- data/node_modules/dc/src/stack-mixin.js +319 -0
- data/node_modules/dc/src/utils.js +290 -0
- data/node_modules/dc/web/docs/html/scripts/docstrap.lib.js +11 -0
- data/node_modules/dc/web/docs/html/scripts/fulltext-search-ui.js +89 -0
- data/node_modules/dc/web/docs/html/scripts/fulltext-search.js +36 -0
- data/node_modules/dc/web/docs/html/scripts/lunr.min.js +7 -0
- data/node_modules/dc/web/docs/html/scripts/prettify/jquery.min.js +6 -0
- data/node_modules/dc/web/docs/html/scripts/prettify/lang-css.js +21 -0
- data/node_modules/dc/web/docs/html/scripts/prettify/prettify.js +496 -0
- data/node_modules/dc/web/docs/html/scripts/sunlight.js +1157 -0
- data/node_modules/dc/web/docs/html/scripts/toc.js +203 -0
- data/node_modules/dc/web/ep/list.js +106 -0
- data/node_modules/dc/web/examples/lysenko-interval-tree.js +447 -0
- data/node_modules/dc/web/highlighter/shAutoloader.js +17 -0
- data/node_modules/dc/web/highlighter/shBrushJScript.js +52 -0
- data/node_modules/dc/web/highlighter/shBrushXml.js +69 -0
- data/node_modules/dc/web/highlighter/shCore.js +17 -0
- data/node_modules/dc/web/js/colorbrewer.js +1 -0
- data/node_modules/dc/web/js/crossfilter.js +1401 -0
- data/node_modules/dc/web/js/d3.js +9554 -0
- data/node_modules/dc/web/js/dc.js +10477 -0
- data/node_modules/dc/web/js/dc.min.js +23 -0
- data/node_modules/dc/web/js/env-data.js +218 -0
- data/node_modules/dc/web/js/jasmine-jsreporter.js +394 -0
- data/node_modules/dc/web/stock.js +685 -0
- data/node_modules/dc/web/transitions/transition-test.js +45 -0
- data/node_modules/jquery/dist/jquery.js +9814 -0
- data/node_modules/jquery/dist/jquery.min.js +4 -0
- data/node_modules/jquery/external/sizzle/dist/sizzle.js +2143 -0
- data/node_modules/jquery/external/sizzle/dist/sizzle.min.js +3 -0
- data/node_modules/jquery/src/ajax.js +845 -0
- data/node_modules/jquery/src/ajax/jsonp.js +100 -0
- data/node_modules/jquery/src/ajax/load.js +83 -0
- data/node_modules/jquery/src/ajax/parseJSON.js +13 -0
- data/node_modules/jquery/src/ajax/parseXML.js +27 -0
- data/node_modules/jquery/src/ajax/script.js +68 -0
- data/node_modules/jquery/src/ajax/var/location.js +3 -0
- data/node_modules/jquery/src/ajax/var/nonce.js +5 -0
- data/node_modules/jquery/src/ajax/var/rquery.js +3 -0
- data/node_modules/jquery/src/ajax/xhr.js +167 -0
- data/node_modules/jquery/src/attributes.js +11 -0
- data/node_modules/jquery/src/attributes/attr.js +142 -0
- data/node_modules/jquery/src/attributes/classes.js +177 -0
- data/node_modules/jquery/src/attributes/prop.js +125 -0
- data/node_modules/jquery/src/attributes/support.js +36 -0
- data/node_modules/jquery/src/attributes/val.js +177 -0
- data/node_modules/jquery/src/callbacks.js +232 -0
- data/node_modules/jquery/src/core.js +494 -0
- data/node_modules/jquery/src/core/access.js +65 -0
- data/node_modules/jquery/src/core/init.js +134 -0
- data/node_modules/jquery/src/core/parseHTML.js +41 -0
- data/node_modules/jquery/src/core/ready.js +103 -0
- data/node_modules/jquery/src/core/var/rsingleTag.js +5 -0
- data/node_modules/jquery/src/css.js +502 -0
- data/node_modules/jquery/src/css/addGetHookIf.js +24 -0
- data/node_modules/jquery/src/css/adjustCSS.js +65 -0
- data/node_modules/jquery/src/css/curCSS.js +60 -0
- data/node_modules/jquery/src/css/defaultDisplay.js +72 -0
- data/node_modules/jquery/src/css/hiddenVisibleSelectors.js +18 -0
- data/node_modules/jquery/src/css/showHide.js +48 -0
- data/node_modules/jquery/src/css/support.js +121 -0
- data/node_modules/jquery/src/css/var/cssExpand.js +3 -0
- data/node_modules/jquery/src/css/var/getStyles.js +15 -0
- data/node_modules/jquery/src/css/var/isHidden.js +16 -0
- data/node_modules/jquery/src/css/var/rmargin.js +3 -0
- data/node_modules/jquery/src/css/var/rnumnonpx.js +5 -0
- data/node_modules/jquery/src/css/var/swap.js +24 -0
- data/node_modules/jquery/src/data.js +187 -0
- data/node_modules/jquery/src/data/Data.js +200 -0
- data/node_modules/jquery/src/data/var/acceptData.js +18 -0
- data/node_modules/jquery/src/data/var/dataPriv.js +5 -0
- data/node_modules/jquery/src/data/var/dataUser.js +5 -0
- data/node_modules/jquery/src/deferred.js +158 -0
- data/node_modules/jquery/src/deprecated.js +32 -0
- data/node_modules/jquery/src/dimensions.js +54 -0
- data/node_modules/jquery/src/effects.js +629 -0
- data/node_modules/jquery/src/effects/Tween.js +121 -0
- data/node_modules/jquery/src/effects/animatedSelector.js +13 -0
- data/node_modules/jquery/src/event.js +711 -0
- data/node_modules/jquery/src/event/ajax.js +20 -0
- data/node_modules/jquery/src/event/alias.js +27 -0
- data/node_modules/jquery/src/event/focusin.js +53 -0
- data/node_modules/jquery/src/event/support.js +9 -0
- data/node_modules/jquery/src/event/trigger.js +183 -0
- data/node_modules/jquery/src/exports/amd.js +24 -0
- data/node_modules/jquery/src/exports/global.js +26 -0
- data/node_modules/jquery/src/intro.js +44 -0
- data/node_modules/jquery/src/jquery.js +37 -0
- data/node_modules/jquery/src/manipulation.js +481 -0
- data/node_modules/jquery/src/manipulation/_evalUrl.js +20 -0
- data/node_modules/jquery/src/manipulation/buildFragment.js +102 -0
- data/node_modules/jquery/src/manipulation/getAll.js +21 -0
- data/node_modules/jquery/src/manipulation/setGlobalEval.js +20 -0
- data/node_modules/jquery/src/manipulation/support.js +33 -0
- data/node_modules/jquery/src/manipulation/var/rcheckableType.js +3 -0
- data/node_modules/jquery/src/manipulation/var/rscriptType.js +3 -0
- data/node_modules/jquery/src/manipulation/var/rtagName.js +3 -0
- data/node_modules/jquery/src/manipulation/wrapMap.js +27 -0
- data/node_modules/jquery/src/offset.js +218 -0
- data/node_modules/jquery/src/outro.js +2 -0
- data/node_modules/jquery/src/queue.js +143 -0
- data/node_modules/jquery/src/queue/delay.js +22 -0
- data/node_modules/jquery/src/selector-native.js +211 -0
- data/node_modules/jquery/src/selector-sizzle.js +14 -0
- data/node_modules/jquery/src/selector.js +1 -0
- data/node_modules/jquery/src/serialize.js +125 -0
- data/node_modules/jquery/src/traversing.js +175 -0
- data/node_modules/jquery/src/traversing/findFilter.js +100 -0
- data/node_modules/jquery/src/traversing/var/dir.js +20 -0
- data/node_modules/jquery/src/traversing/var/rneedsContext.js +6 -0
- data/node_modules/jquery/src/traversing/var/siblings.js +15 -0
- data/node_modules/jquery/src/var/arr.js +3 -0
- data/node_modules/jquery/src/var/class2type.js +5 -0
- data/node_modules/jquery/src/var/concat.js +5 -0
- data/node_modules/jquery/src/var/document.js +3 -0
- data/node_modules/jquery/src/var/documentElement.js +5 -0
- data/node_modules/jquery/src/var/hasOwn.js +5 -0
- data/node_modules/jquery/src/var/indexOf.js +5 -0
- data/node_modules/jquery/src/var/pnum.js +3 -0
- data/node_modules/jquery/src/var/push.js +5 -0
- data/node_modules/jquery/src/var/rcssNum.js +7 -0
- data/node_modules/jquery/src/var/rnotwhite.js +3 -0
- data/node_modules/jquery/src/var/slice.js +5 -0
- data/node_modules/jquery/src/var/support.js +5 -0
- data/node_modules/jquery/src/var/toString.js +5 -0
- data/node_modules/jquery/src/wrap.js +79 -0
- data/target/mdarray_sol.jar +0 -0
- data/test/jx/test_complete.rb +35 -0
- data/test/jx/test_js.rb +543 -0
- data/test/jx/test_proxy_array.rb +239 -0
- data/test/jx/test_proxy_hash.rb +160 -0
- data/test/jx/test_proxy_lambda.rb +80 -0
- data/test/jx/test_rb_js_compat.rb +135 -0
- data/test/jx/test_style_sheets.rb +90 -0
- data/test/mdarray/test_mdarray.rb +75 -0
- data/util/cacert.pem +4095 -0
- data/util/download.rb +256 -0
- data/vendor/jxbrowser-6.8.jar +0 -0
- data/vendor/licence.jar +0 -0
- data/version.rb +2 -0
- metadata +817 -0
@@ -0,0 +1,378 @@
|
|
1
|
+
/**
|
2
|
+
* A heat map is matrix that represents the values of two dimensions of data using colors.
|
3
|
+
* @class heatMap
|
4
|
+
* @memberof dc
|
5
|
+
* @mixes dc.colorMixin
|
6
|
+
* @mixes dc.marginMixin
|
7
|
+
* @mixes dc.baseMixin
|
8
|
+
* @example
|
9
|
+
* // create a heat map under #chart-container1 element using the default global chart group
|
10
|
+
* var heatMap1 = dc.heatMap('#chart-container1');
|
11
|
+
* // create a heat map under #chart-container2 element using chart group A
|
12
|
+
* var heatMap2 = dc.heatMap('#chart-container2', 'chartGroupA');
|
13
|
+
* @param {String|node|d3.selection} parent - Any valid
|
14
|
+
* {@link https://github.com/mbostock/d3/wiki/Selections#selecting-elements d3 single selector} specifying
|
15
|
+
* a dom block element such as a div; or a dom element or d3 selection.
|
16
|
+
* @param {String} [chartGroup] - The name of the chart group this chart instance should be placed in.
|
17
|
+
* Interaction with a chart will only trigger events and redraws within the chart's group.
|
18
|
+
* @return {dc.heatMap}
|
19
|
+
*/
|
20
|
+
dc.heatMap = function (parent, chartGroup) {
|
21
|
+
|
22
|
+
var DEFAULT_BORDER_RADIUS = 6.75;
|
23
|
+
|
24
|
+
var _chartBody;
|
25
|
+
|
26
|
+
var _cols;
|
27
|
+
var _rows;
|
28
|
+
var _xBorderRadius = DEFAULT_BORDER_RADIUS;
|
29
|
+
var _yBorderRadius = DEFAULT_BORDER_RADIUS;
|
30
|
+
|
31
|
+
var _chart = dc.colorMixin(dc.marginMixin(dc.baseMixin({})));
|
32
|
+
_chart._mandatoryAttributes(['group']);
|
33
|
+
_chart.title(_chart.colorAccessor());
|
34
|
+
|
35
|
+
var _colsLabel = function (d) {
|
36
|
+
return d;
|
37
|
+
};
|
38
|
+
var _rowsLabel = function (d) {
|
39
|
+
return d;
|
40
|
+
};
|
41
|
+
|
42
|
+
/**
|
43
|
+
* Set or get the column label function. The chart class uses this function to render
|
44
|
+
* column labels on the X axis. It is passed the column name.
|
45
|
+
* @method colsLabel
|
46
|
+
* @memberof dc.heatMap
|
47
|
+
* @instance
|
48
|
+
* @example
|
49
|
+
* // the default label function just returns the name
|
50
|
+
* chart.colsLabel(function(d) { return d; });
|
51
|
+
* @param {Function} [labelFunction=function(d) { return d; }]
|
52
|
+
* @return {Function}
|
53
|
+
* @return {dc.heatMap}
|
54
|
+
*/
|
55
|
+
_chart.colsLabel = function (labelFunction) {
|
56
|
+
if (!arguments.length) {
|
57
|
+
return _colsLabel;
|
58
|
+
}
|
59
|
+
_colsLabel = labelFunction;
|
60
|
+
return _chart;
|
61
|
+
};
|
62
|
+
|
63
|
+
/**
|
64
|
+
* Set or get the row label function. The chart class uses this function to render
|
65
|
+
* row labels on the Y axis. It is passed the row name.
|
66
|
+
* @method rowsLabel
|
67
|
+
* @memberof dc.heatMap
|
68
|
+
* @instance
|
69
|
+
* @example
|
70
|
+
* // the default label function just returns the name
|
71
|
+
* chart.rowsLabel(function(d) { return d; });
|
72
|
+
* @param {Function} [labelFunction=function(d) { return d; }]
|
73
|
+
* @return {Function}
|
74
|
+
* @return {dc.heatMap}
|
75
|
+
*/
|
76
|
+
_chart.rowsLabel = function (labelFunction) {
|
77
|
+
if (!arguments.length) {
|
78
|
+
return _rowsLabel;
|
79
|
+
}
|
80
|
+
_rowsLabel = labelFunction;
|
81
|
+
return _chart;
|
82
|
+
};
|
83
|
+
|
84
|
+
var _xAxisOnClick = function (d) { filterAxis(0, d); };
|
85
|
+
var _yAxisOnClick = function (d) { filterAxis(1, d); };
|
86
|
+
var _boxOnClick = function (d) {
|
87
|
+
var filter = d.key;
|
88
|
+
dc.events.trigger(function () {
|
89
|
+
_chart.filter(filter);
|
90
|
+
_chart.redrawGroup();
|
91
|
+
});
|
92
|
+
};
|
93
|
+
|
94
|
+
function filterAxis (axis, value) {
|
95
|
+
var cellsOnAxis = _chart.selectAll('.box-group').filter(function (d) {
|
96
|
+
return d.key[axis] === value;
|
97
|
+
});
|
98
|
+
var unfilteredCellsOnAxis = cellsOnAxis.filter(function (d) {
|
99
|
+
return !_chart.hasFilter(d.key);
|
100
|
+
});
|
101
|
+
dc.events.trigger(function () {
|
102
|
+
if (unfilteredCellsOnAxis.empty()) {
|
103
|
+
cellsOnAxis.each(function (d) {
|
104
|
+
_chart.filter(d.key);
|
105
|
+
});
|
106
|
+
} else {
|
107
|
+
unfilteredCellsOnAxis.each(function (d) {
|
108
|
+
_chart.filter(d.key);
|
109
|
+
});
|
110
|
+
}
|
111
|
+
_chart.redrawGroup();
|
112
|
+
});
|
113
|
+
}
|
114
|
+
|
115
|
+
dc.override(_chart, 'filter', function (filter) {
|
116
|
+
if (!arguments.length) {
|
117
|
+
return _chart._filter();
|
118
|
+
}
|
119
|
+
|
120
|
+
return _chart._filter(dc.filters.TwoDimensionalFilter(filter));
|
121
|
+
});
|
122
|
+
|
123
|
+
function uniq (d, i, a) {
|
124
|
+
return !i || a[i - 1] !== d;
|
125
|
+
}
|
126
|
+
|
127
|
+
/**
|
128
|
+
* Gets or sets the values used to create the rows of the heatmap, as an array. By default, all
|
129
|
+
* the values will be fetched from the data using the value accessor, and they will be sorted in
|
130
|
+
* ascending order.
|
131
|
+
* @method rows
|
132
|
+
* @memberof dc.heatMap
|
133
|
+
* @instance
|
134
|
+
* @param {Array<String|Number>} [rows]
|
135
|
+
* @return {Array<String|Number>}
|
136
|
+
* @return {dc.heatMap}
|
137
|
+
*/
|
138
|
+
_chart.rows = function (rows) {
|
139
|
+
if (arguments.length) {
|
140
|
+
_rows = rows;
|
141
|
+
return _chart;
|
142
|
+
}
|
143
|
+
if (_rows) {
|
144
|
+
return _rows;
|
145
|
+
}
|
146
|
+
var rowValues = _chart.data().map(_chart.valueAccessor());
|
147
|
+
rowValues.sort(d3.ascending);
|
148
|
+
return d3.scale.ordinal().domain(rowValues.filter(uniq));
|
149
|
+
};
|
150
|
+
|
151
|
+
/**
|
152
|
+
* Gets or sets the keys used to create the columns of the heatmap, as an array. By default, all
|
153
|
+
* the values will be fetched from the data using the key accessor, and they will be sorted in
|
154
|
+
* ascending order.
|
155
|
+
* @method cols
|
156
|
+
* @memberof dc.heatMap
|
157
|
+
* @instance
|
158
|
+
* @param {Array<String|Number>} [cols]
|
159
|
+
* @return {Array<String|Number>}
|
160
|
+
* @return {dc.heatMap}
|
161
|
+
*/
|
162
|
+
_chart.cols = function (cols) {
|
163
|
+
if (arguments.length) {
|
164
|
+
_cols = cols;
|
165
|
+
return _chart;
|
166
|
+
}
|
167
|
+
if (_cols) {
|
168
|
+
return _cols;
|
169
|
+
}
|
170
|
+
var colValues = _chart.data().map(_chart.keyAccessor());
|
171
|
+
colValues.sort(d3.ascending);
|
172
|
+
return d3.scale.ordinal().domain(colValues.filter(uniq));
|
173
|
+
};
|
174
|
+
|
175
|
+
_chart._doRender = function () {
|
176
|
+
_chart.resetSvg();
|
177
|
+
|
178
|
+
_chartBody = _chart.svg()
|
179
|
+
.append('g')
|
180
|
+
.attr('class', 'heatmap')
|
181
|
+
.attr('transform', 'translate(' + _chart.margins().left + ',' + _chart.margins().top + ')');
|
182
|
+
|
183
|
+
return _chart._doRedraw();
|
184
|
+
};
|
185
|
+
|
186
|
+
_chart._doRedraw = function () {
|
187
|
+
var rows = _chart.rows(),
|
188
|
+
cols = _chart.cols(),
|
189
|
+
rowCount = rows.domain().length,
|
190
|
+
colCount = cols.domain().length,
|
191
|
+
boxWidth = Math.floor(_chart.effectiveWidth() / colCount),
|
192
|
+
boxHeight = Math.floor(_chart.effectiveHeight() / rowCount);
|
193
|
+
|
194
|
+
cols.rangeRoundBands([0, _chart.effectiveWidth()]);
|
195
|
+
rows.rangeRoundBands([_chart.effectiveHeight(), 0]);
|
196
|
+
|
197
|
+
var boxes = _chartBody.selectAll('g.box-group').data(_chart.data(), function (d, i) {
|
198
|
+
return _chart.keyAccessor()(d, i) + '\0' + _chart.valueAccessor()(d, i);
|
199
|
+
});
|
200
|
+
var gEnter = boxes.enter().append('g')
|
201
|
+
.attr('class', 'box-group');
|
202
|
+
|
203
|
+
gEnter.append('rect')
|
204
|
+
.attr('class', 'heat-box')
|
205
|
+
.attr('fill', 'white')
|
206
|
+
.on('click', _chart.boxOnClick());
|
207
|
+
|
208
|
+
if (_chart.renderTitle()) {
|
209
|
+
gEnter.append('title');
|
210
|
+
boxes.selectAll('title').text(_chart.title());
|
211
|
+
}
|
212
|
+
|
213
|
+
dc.transition(boxes.selectAll('rect'), _chart.transitionDuration())
|
214
|
+
.attr('x', function (d, i) { return cols(_chart.keyAccessor()(d, i)); })
|
215
|
+
.attr('y', function (d, i) { return rows(_chart.valueAccessor()(d, i)); })
|
216
|
+
.attr('rx', _xBorderRadius)
|
217
|
+
.attr('ry', _yBorderRadius)
|
218
|
+
.attr('fill', _chart.getColor)
|
219
|
+
.attr('width', boxWidth)
|
220
|
+
.attr('height', boxHeight);
|
221
|
+
|
222
|
+
boxes.exit().remove();
|
223
|
+
|
224
|
+
var gCols = _chartBody.selectAll('g.cols');
|
225
|
+
if (gCols.empty()) {
|
226
|
+
gCols = _chartBody.append('g').attr('class', 'cols axis');
|
227
|
+
}
|
228
|
+
var gColsText = gCols.selectAll('text').data(cols.domain());
|
229
|
+
gColsText.enter().append('text')
|
230
|
+
.attr('x', function (d) { return cols(d) + boxWidth / 2; })
|
231
|
+
.style('text-anchor', 'middle')
|
232
|
+
.attr('y', _chart.effectiveHeight())
|
233
|
+
.attr('dy', 12)
|
234
|
+
.on('click', _chart.xAxisOnClick())
|
235
|
+
.text(_chart.colsLabel());
|
236
|
+
dc.transition(gColsText, _chart.transitionDuration())
|
237
|
+
.text(_chart.colsLabel())
|
238
|
+
.attr('x', function (d) { return cols(d) + boxWidth / 2; })
|
239
|
+
.attr('y', _chart.effectiveHeight());
|
240
|
+
gColsText.exit().remove();
|
241
|
+
var gRows = _chartBody.selectAll('g.rows');
|
242
|
+
if (gRows.empty()) {
|
243
|
+
gRows = _chartBody.append('g').attr('class', 'rows axis');
|
244
|
+
}
|
245
|
+
var gRowsText = gRows.selectAll('text').data(rows.domain());
|
246
|
+
gRowsText.enter().append('text')
|
247
|
+
.attr('dy', 6)
|
248
|
+
.style('text-anchor', 'end')
|
249
|
+
.attr('x', 0)
|
250
|
+
.attr('dx', -2)
|
251
|
+
.on('click', _chart.yAxisOnClick())
|
252
|
+
.text(_chart.rowsLabel());
|
253
|
+
dc.transition(gRowsText, _chart.transitionDuration())
|
254
|
+
.text(_chart.rowsLabel())
|
255
|
+
.attr('y', function (d) { return rows(d) + boxHeight / 2; });
|
256
|
+
gRowsText.exit().remove();
|
257
|
+
|
258
|
+
if (_chart.hasFilter()) {
|
259
|
+
_chart.selectAll('g.box-group').each(function (d) {
|
260
|
+
if (_chart.isSelectedNode(d)) {
|
261
|
+
_chart.highlightSelected(this);
|
262
|
+
} else {
|
263
|
+
_chart.fadeDeselected(this);
|
264
|
+
}
|
265
|
+
});
|
266
|
+
} else {
|
267
|
+
_chart.selectAll('g.box-group').each(function () {
|
268
|
+
_chart.resetHighlight(this);
|
269
|
+
});
|
270
|
+
}
|
271
|
+
return _chart;
|
272
|
+
};
|
273
|
+
|
274
|
+
/**
|
275
|
+
* Gets or sets the handler that fires when an individual cell is clicked in the heatmap.
|
276
|
+
* By default, filtering of the cell will be toggled.
|
277
|
+
* @method boxOnClick
|
278
|
+
* @memberof dc.heatMap
|
279
|
+
* @instance
|
280
|
+
* @example
|
281
|
+
* // default box on click handler
|
282
|
+
* chart.boxOnClick(function (d) {
|
283
|
+
* var filter = d.key;
|
284
|
+
* dc.events.trigger(function () {
|
285
|
+
* _chart.filter(filter);
|
286
|
+
* _chart.redrawGroup();
|
287
|
+
* });
|
288
|
+
* });
|
289
|
+
* @param {Function} [handler]
|
290
|
+
* @return {Function}
|
291
|
+
* @return {dc.heatMap}
|
292
|
+
*/
|
293
|
+
_chart.boxOnClick = function (handler) {
|
294
|
+
if (!arguments.length) {
|
295
|
+
return _boxOnClick;
|
296
|
+
}
|
297
|
+
_boxOnClick = handler;
|
298
|
+
return _chart;
|
299
|
+
};
|
300
|
+
|
301
|
+
/**
|
302
|
+
* Gets or sets the handler that fires when a column tick is clicked in the x axis.
|
303
|
+
* By default, if any cells in the column are unselected, the whole column will be selected,
|
304
|
+
* otherwise the whole column will be unselected.
|
305
|
+
* @method xAxisOnClick
|
306
|
+
* @memberof dc.heatMap
|
307
|
+
* @instance
|
308
|
+
* @param {Function} [handler]
|
309
|
+
* @return {Function}
|
310
|
+
* @return {dc.heatMap}
|
311
|
+
*/
|
312
|
+
_chart.xAxisOnClick = function (handler) {
|
313
|
+
if (!arguments.length) {
|
314
|
+
return _xAxisOnClick;
|
315
|
+
}
|
316
|
+
_xAxisOnClick = handler;
|
317
|
+
return _chart;
|
318
|
+
};
|
319
|
+
|
320
|
+
/**
|
321
|
+
* Gets or sets the handler that fires when a row tick is clicked in the y axis.
|
322
|
+
* By default, if any cells in the row are unselected, the whole row will be selected,
|
323
|
+
* otherwise the whole row will be unselected.
|
324
|
+
* @method yAxisOnClick
|
325
|
+
* @memberof dc.heatMap
|
326
|
+
* @instance
|
327
|
+
* @param {Function} [handler]
|
328
|
+
* @return {Function}
|
329
|
+
* @return {dc.heatMap}
|
330
|
+
*/
|
331
|
+
_chart.yAxisOnClick = function (handler) {
|
332
|
+
if (!arguments.length) {
|
333
|
+
return _yAxisOnClick;
|
334
|
+
}
|
335
|
+
_yAxisOnClick = handler;
|
336
|
+
return _chart;
|
337
|
+
};
|
338
|
+
|
339
|
+
/**
|
340
|
+
* Gets or sets the X border radius. Set to 0 to get full rectangles.
|
341
|
+
* @method xBorderRadius
|
342
|
+
* @memberof dc.heatMap
|
343
|
+
* @instance
|
344
|
+
* @param {Number} [xBorderRadius=6.75]
|
345
|
+
* @return {Number}
|
346
|
+
* @return {dc.heatMap}
|
347
|
+
*/
|
348
|
+
_chart.xBorderRadius = function (xBorderRadius) {
|
349
|
+
if (!arguments.length) {
|
350
|
+
return _xBorderRadius;
|
351
|
+
}
|
352
|
+
_xBorderRadius = xBorderRadius;
|
353
|
+
return _chart;
|
354
|
+
};
|
355
|
+
|
356
|
+
/**
|
357
|
+
* Gets or sets the Y border radius. Set to 0 to get full rectangles.
|
358
|
+
* @method yBorderRadius
|
359
|
+
* @memberof dc.heatMap
|
360
|
+
* @instance
|
361
|
+
* @param {Number} [yBorderRadius=6.75]
|
362
|
+
* @return {Number}
|
363
|
+
* @return {dc.heatMap}
|
364
|
+
*/
|
365
|
+
_chart.yBorderRadius = function (yBorderRadius) {
|
366
|
+
if (!arguments.length) {
|
367
|
+
return _yBorderRadius;
|
368
|
+
}
|
369
|
+
_yBorderRadius = yBorderRadius;
|
370
|
+
return _chart;
|
371
|
+
};
|
372
|
+
|
373
|
+
_chart.isSelectedNode = function (d) {
|
374
|
+
return _chart.hasFilter(d.key);
|
375
|
+
};
|
376
|
+
|
377
|
+
return _chart.anchor(parent, chartGroup);
|
378
|
+
};
|
@@ -0,0 +1,277 @@
|
|
1
|
+
/**
|
2
|
+
* Legend is a attachable widget that can be added to other dc charts to render horizontal legend
|
3
|
+
* labels.
|
4
|
+
*
|
5
|
+
* Examples:
|
6
|
+
* - {@link http://dc-js.github.com/dc.js/ Nasdaq 100 Index}
|
7
|
+
* - {@link http://dc-js.github.com/dc.js/crime/index.html Canadian City Crime Stats}
|
8
|
+
* @class legend
|
9
|
+
* @memberof dc
|
10
|
+
* @example
|
11
|
+
* chart.legend(dc.legend().x(400).y(10).itemHeight(13).gap(5))
|
12
|
+
* @return {dc.legend}
|
13
|
+
*/
|
14
|
+
dc.legend = function () {
|
15
|
+
var LABEL_GAP = 2;
|
16
|
+
|
17
|
+
var _legend = {},
|
18
|
+
_parent,
|
19
|
+
_x = 0,
|
20
|
+
_y = 0,
|
21
|
+
_itemHeight = 12,
|
22
|
+
_gap = 5,
|
23
|
+
_horizontal = false,
|
24
|
+
_legendWidth = 560,
|
25
|
+
_itemWidth = 70,
|
26
|
+
_autoItemWidth = false,
|
27
|
+
_legendText = dc.pluck('name');
|
28
|
+
|
29
|
+
var _g;
|
30
|
+
|
31
|
+
_legend.parent = function (p) {
|
32
|
+
if (!arguments.length) {
|
33
|
+
return _parent;
|
34
|
+
}
|
35
|
+
_parent = p;
|
36
|
+
return _legend;
|
37
|
+
};
|
38
|
+
|
39
|
+
_legend.render = function () {
|
40
|
+
_parent.svg().select('g.dc-legend').remove();
|
41
|
+
_g = _parent.svg().append('g')
|
42
|
+
.attr('class', 'dc-legend')
|
43
|
+
.attr('transform', 'translate(' + _x + ',' + _y + ')');
|
44
|
+
var legendables = _parent.legendables();
|
45
|
+
|
46
|
+
var itemEnter = _g.selectAll('g.dc-legend-item')
|
47
|
+
.data(legendables)
|
48
|
+
.enter()
|
49
|
+
.append('g')
|
50
|
+
.attr('class', 'dc-legend-item')
|
51
|
+
.on('mouseover', function (d) {
|
52
|
+
_parent.legendHighlight(d);
|
53
|
+
})
|
54
|
+
.on('mouseout', function (d) {
|
55
|
+
_parent.legendReset(d);
|
56
|
+
})
|
57
|
+
.on('click', function (d) {
|
58
|
+
d.chart.legendToggle(d);
|
59
|
+
});
|
60
|
+
|
61
|
+
_g.selectAll('g.dc-legend-item')
|
62
|
+
.classed('fadeout', function (d) {
|
63
|
+
return d.chart.isLegendableHidden(d);
|
64
|
+
});
|
65
|
+
|
66
|
+
if (legendables.some(dc.pluck('dashstyle'))) {
|
67
|
+
itemEnter
|
68
|
+
.append('line')
|
69
|
+
.attr('x1', 0)
|
70
|
+
.attr('y1', _itemHeight / 2)
|
71
|
+
.attr('x2', _itemHeight)
|
72
|
+
.attr('y2', _itemHeight / 2)
|
73
|
+
.attr('stroke-width', 2)
|
74
|
+
.attr('stroke-dasharray', dc.pluck('dashstyle'))
|
75
|
+
.attr('stroke', dc.pluck('color'));
|
76
|
+
} else {
|
77
|
+
itemEnter
|
78
|
+
.append('rect')
|
79
|
+
.attr('width', _itemHeight)
|
80
|
+
.attr('height', _itemHeight)
|
81
|
+
.attr('fill', function (d) {return d ? d.color : 'blue';});
|
82
|
+
}
|
83
|
+
|
84
|
+
itemEnter.append('text')
|
85
|
+
.text(_legendText)
|
86
|
+
.attr('x', _itemHeight + LABEL_GAP)
|
87
|
+
.attr('y', function () {
|
88
|
+
return _itemHeight / 2 + (this.clientHeight ? this.clientHeight : 13) / 2 - 2;
|
89
|
+
});
|
90
|
+
|
91
|
+
var _cumulativeLegendTextWidth = 0;
|
92
|
+
var row = 0;
|
93
|
+
itemEnter.attr('transform', function (d, i) {
|
94
|
+
if (_horizontal) {
|
95
|
+
var translateBy = 'translate(' + _cumulativeLegendTextWidth + ',' + row * legendItemHeight() + ')';
|
96
|
+
var itemWidth = _autoItemWidth === true ? this.getBBox().width + _gap : _itemWidth;
|
97
|
+
|
98
|
+
if ((_cumulativeLegendTextWidth + itemWidth) >= _legendWidth) {
|
99
|
+
++row ;
|
100
|
+
_cumulativeLegendTextWidth = 0 ;
|
101
|
+
} else {
|
102
|
+
_cumulativeLegendTextWidth += itemWidth;
|
103
|
+
}
|
104
|
+
return translateBy;
|
105
|
+
} else {
|
106
|
+
return 'translate(0,' + i * legendItemHeight() + ')';
|
107
|
+
}
|
108
|
+
});
|
109
|
+
};
|
110
|
+
|
111
|
+
function legendItemHeight () {
|
112
|
+
return _gap + _itemHeight;
|
113
|
+
}
|
114
|
+
|
115
|
+
/**
|
116
|
+
* Set or get x coordinate for legend widget.
|
117
|
+
* @method x
|
118
|
+
* @memberof dc.legend
|
119
|
+
* @instance
|
120
|
+
* @param {Number} [x=0]
|
121
|
+
* @return {Number}
|
122
|
+
* @return {dc.legend}
|
123
|
+
*/
|
124
|
+
_legend.x = function (x) {
|
125
|
+
if (!arguments.length) {
|
126
|
+
return _x;
|
127
|
+
}
|
128
|
+
_x = x;
|
129
|
+
return _legend;
|
130
|
+
};
|
131
|
+
|
132
|
+
/**
|
133
|
+
* Set or get y coordinate for legend widget.
|
134
|
+
* @method y
|
135
|
+
* @memberof dc.legend
|
136
|
+
* @instance
|
137
|
+
* @param {Number} [y=0]
|
138
|
+
* @return {Number}
|
139
|
+
* @return {dc.legend}
|
140
|
+
*/
|
141
|
+
_legend.y = function (y) {
|
142
|
+
if (!arguments.length) {
|
143
|
+
return _y;
|
144
|
+
}
|
145
|
+
_y = y;
|
146
|
+
return _legend;
|
147
|
+
};
|
148
|
+
|
149
|
+
/**
|
150
|
+
* Set or get gap between legend items.
|
151
|
+
* @method gap
|
152
|
+
* @memberof dc.legend
|
153
|
+
* @instance
|
154
|
+
* @param {Number} [gap=5]
|
155
|
+
* @return {Number}
|
156
|
+
* @return {dc.legend}
|
157
|
+
*/
|
158
|
+
_legend.gap = function (gap) {
|
159
|
+
if (!arguments.length) {
|
160
|
+
return _gap;
|
161
|
+
}
|
162
|
+
_gap = gap;
|
163
|
+
return _legend;
|
164
|
+
};
|
165
|
+
|
166
|
+
/**
|
167
|
+
* Set or get legend item height.
|
168
|
+
* @method itemHeight
|
169
|
+
* @memberof dc.legend
|
170
|
+
* @instance
|
171
|
+
* @param {Number} [itemHeight=12]
|
172
|
+
* @return {Number}
|
173
|
+
* @return {dc.legend}
|
174
|
+
*/
|
175
|
+
_legend.itemHeight = function (itemHeight) {
|
176
|
+
if (!arguments.length) {
|
177
|
+
return _itemHeight;
|
178
|
+
}
|
179
|
+
_itemHeight = itemHeight;
|
180
|
+
return _legend;
|
181
|
+
};
|
182
|
+
|
183
|
+
/**
|
184
|
+
* Position legend horizontally instead of vertically.
|
185
|
+
* @method horizontal
|
186
|
+
* @memberof dc.legend
|
187
|
+
* @instance
|
188
|
+
* @param {Boolean} [horizontal=false]
|
189
|
+
* @return {Boolean}
|
190
|
+
* @return {dc.legend}
|
191
|
+
*/
|
192
|
+
_legend.horizontal = function (horizontal) {
|
193
|
+
if (!arguments.length) {
|
194
|
+
return _horizontal;
|
195
|
+
}
|
196
|
+
_horizontal = horizontal;
|
197
|
+
return _legend;
|
198
|
+
};
|
199
|
+
|
200
|
+
/**
|
201
|
+
* Maximum width for horizontal legend.
|
202
|
+
* @method legendWidth
|
203
|
+
* @memberof dc.legend
|
204
|
+
* @instance
|
205
|
+
* @param {Number} [legendWidth=500]
|
206
|
+
* @return {Number}
|
207
|
+
* @return {dc.legend}
|
208
|
+
*/
|
209
|
+
_legend.legendWidth = function (legendWidth) {
|
210
|
+
if (!arguments.length) {
|
211
|
+
return _legendWidth;
|
212
|
+
}
|
213
|
+
_legendWidth = legendWidth;
|
214
|
+
return _legend;
|
215
|
+
};
|
216
|
+
|
217
|
+
/**
|
218
|
+
* legendItem width for horizontal legend.
|
219
|
+
* @method itemWidth
|
220
|
+
* @memberof dc.legend
|
221
|
+
* @instance
|
222
|
+
* @param {Number} [itemWidth=70]
|
223
|
+
* @return {Number}
|
224
|
+
* @return {dc.legend}
|
225
|
+
*/
|
226
|
+
_legend.itemWidth = function (itemWidth) {
|
227
|
+
if (!arguments.length) {
|
228
|
+
return _itemWidth;
|
229
|
+
}
|
230
|
+
_itemWidth = itemWidth;
|
231
|
+
return _legend;
|
232
|
+
};
|
233
|
+
|
234
|
+
/**
|
235
|
+
* Turn automatic width for legend items on or off. If true, {@link dc.legend#itemWidth itemWidth} is ignored.
|
236
|
+
* This setting takes into account {@link dc.legend#gap gap}.
|
237
|
+
* @method autoItemWidth
|
238
|
+
* @memberof dc.legend
|
239
|
+
* @instance
|
240
|
+
* @param {Boolean} [autoItemWidth=false]
|
241
|
+
* @return {Boolean}
|
242
|
+
* @return {dc.legend}
|
243
|
+
*/
|
244
|
+
_legend.autoItemWidth = function (autoItemWidth) {
|
245
|
+
if (!arguments.length) {
|
246
|
+
return _autoItemWidth;
|
247
|
+
}
|
248
|
+
_autoItemWidth = autoItemWidth;
|
249
|
+
return _legend;
|
250
|
+
};
|
251
|
+
|
252
|
+
/**
|
253
|
+
#### .legendText([legendTextFunction])
|
254
|
+
Set or get the legend text function. The legend widget uses this function to render
|
255
|
+
the legend text on each item. If no function is specified the legend widget will display
|
256
|
+
the names associated with each group.
|
257
|
+
|
258
|
+
Default: dc.pluck('name')
|
259
|
+
|
260
|
+
```js
|
261
|
+
// create numbered legend items
|
262
|
+
chart.legend(dc.legend().legendText(function(d, i) { return i + '. ' + d.name; }))
|
263
|
+
|
264
|
+
// create legend displaying group counts
|
265
|
+
chart.legend(dc.legend().legendText(function(d) { return d.name + ': ' d.data; }))
|
266
|
+
```
|
267
|
+
**/
|
268
|
+
_legend.legendText = function (_) {
|
269
|
+
if (!arguments.length) {
|
270
|
+
return _legendText;
|
271
|
+
}
|
272
|
+
_legendText = _;
|
273
|
+
return _legend;
|
274
|
+
};
|
275
|
+
|
276
|
+
return _legend;
|
277
|
+
};
|