picky-statistics 4.0.0pre3 → 4.0.0pre5
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/picky-statistics/application/javascripts/d3/LICENSE +26 -0
- data/lib/picky-statistics/application/javascripts/d3/Makefile +268 -0
- data/lib/picky-statistics/application/javascripts/d3/README.md +51 -0
- data/lib/picky-statistics/application/javascripts/d3/d3.chart.js +984 -0
- data/lib/picky-statistics/application/javascripts/d3/d3.chart.min.js +1 -0
- data/lib/picky-statistics/application/javascripts/d3/d3.csv.js +92 -0
- data/lib/picky-statistics/application/javascripts/d3/d3.csv.min.js +1 -0
- data/lib/picky-statistics/application/javascripts/d3/d3.geo.js +938 -0
- data/lib/picky-statistics/application/javascripts/d3/d3.geo.min.js +1 -0
- data/lib/picky-statistics/application/javascripts/d3/d3.geom.js +835 -0
- data/lib/picky-statistics/application/javascripts/d3/d3.geom.min.js +1 -0
- data/lib/picky-statistics/application/javascripts/d3/d3.js +4690 -0
- data/lib/picky-statistics/application/javascripts/d3/d3.layout.js +1891 -0
- data/lib/picky-statistics/application/javascripts/d3/d3.layout.min.js +1 -0
- data/lib/picky-statistics/application/javascripts/d3/d3.min.js +2 -0
- data/lib/picky-statistics/application/javascripts/d3/d3.time.js +687 -0
- data/lib/picky-statistics/application/javascripts/d3/d3.time.min.js +1 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/albers/albers.html +168 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/area/area-radial.html +48 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/area/area.html +113 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/axis/axis-alternating.html +50 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/axis/axis-ggplot2.html +68 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/axis/axis-multiples.html +117 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/axis/axis-orientations.html +63 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/axis/axis-transition.html +153 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/azimuthal/azimuthal.css +21 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/azimuthal/azimuthal.html +99 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/azimuthal/azimuthal.js +29 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/bar/bar-hierarchy.html +223 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/bar/bar.html +101 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/bar/sample-data.csv +53 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/bonne/bonne.html +159 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/box/box.css +4 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/box/box.html +19 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/box/box.js +68 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/brush/brush-ordinal.html +92 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/brush/brush-x.html +92 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/brush/brush-y.html +91 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/brush/brush.html +98 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/bubble/bubble.css +8 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/bubble/bubble.html +14 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/bubble/bubble.js +46 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/bullet/bullet.css +10 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/bullet/bullet.html +18 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/bullet/bullet.js +53 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/bullet/bullets.json +7 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/bundle/bundle-radial.css +9 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/bundle/bundle-radial.html +15 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/bundle/bundle-radial.js +50 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/bundle/bundle-treemap.css +14 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/bundle/bundle-treemap.html +16 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/bundle/bundle-treemap.js +53 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/bundle/packages.js +49 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/button.css +35 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/calendar/calendar.css +15 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/calendar/dji-area.html +120 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/calendar/dji.csv +5233 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/calendar/dji.html +15 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/calendar/dji.js +65 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/calendar/vix.csv +5231 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/calendar/vix.html +15 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/calendar/vix.js +65 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/cartogram/cartogram.css +20 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/cartogram/cartogram.html +15 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/cartogram/cartogram.js +51 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/cartogram/demers.css +9 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/cartogram/demers.html +16 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/cartogram/demers.js +79 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/cartogram/dorling.css +9 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/cartogram/dorling.html +16 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/cartogram/dorling.js +80 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/chord/chord-flare.html +109 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/chord/chord.css +9 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/chord/chord.html +14 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/chord/chord.js +98 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/choropleth/choropleth-area.html +51 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/choropleth/choropleth-bounds.html +46 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/choropleth/choropleth.css +16 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/choropleth/choropleth.html +15 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/choropleth/choropleth.js +38 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/choropleth/unemployment.json +1 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/clock/clock.css +23 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/clock/clock.html +17 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/clock/clock.js +87 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/cluster/cluster-radial.html +14 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/cluster/cluster-radial.js +39 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/cluster/cluster.css +15 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/cluster/cluster.html +14 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/cluster/cluster.js +39 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/contour/contour.html +108 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/crimea/crimea-stacked-area.html +109 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/crimea/crimea-stacked-bar.html +98 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/crimea/crimea.csv +24 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/custom/custom.html +83 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/data/README.md +13 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/data/faithful.json +8 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/data/flare-imports.json +222 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/data/flare.json +380 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/data/morley.csv +101 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/data/sample.csv +2 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/data/sample.html +5 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/data/sample.json +1 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/data/sample.txt +1 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/data/sample.xml +4 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/data/stocks.csv +807 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/data/unemployment.csv +1709 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/data/us-borders.json +1 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/data/us-counties.json +3216 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/data/us-state-centroids.json +54 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/data/us-states.json +54 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/data/world-countries.json +179 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/delaunay/delaunay.html +44 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/donut/donut.html +124 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/dot/dot.html +103 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/drag/drag.html +44 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/force/README +10 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/force/force-bounds.html +70 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/force/force-cluster.html +249 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/force/force-collapsible.html +144 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/force/force-dynamic.html +118 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/force/force-map.html +104 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/force/force-multi-foci.html +68 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/force/force.css +9 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/force/force.html +14 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/force/force.js +50 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/force/miserables.json +1 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/great-arc/great-arc.html +78 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/hello-world/hello-data-key.html +60 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/hello-world/hello-data-nested-key.html +75 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/hello-world/hello-data-nested.html +77 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/hello-world/hello-data.html +46 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/hello-world/hello-event.html +53 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/hello-world/hello-node-key.html +25 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/hello-world/hello-order.html +25 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/hello-world/hello-sort.html +75 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/hello-world/hello-transform.html +41 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/hello-world/hello-transition-undefined.html +43 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/hello-world/hello-transition.html +47 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/hello-world/hello-webkit-transition.html +64 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/hello-world/select-enter-add.html +29 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/hello-world/selectAll-enter-add.html +20 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/histogram/histogram.html +80 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/horizon/horizon.css +9 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/horizon/horizon.html +25 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/horizon/horizon.js +43 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/horizon/unemployment.json +1 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/hull/hull.html +75 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/kde/kde.css +9 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/kde/kde.html +14 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/kde/kde.js +40 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/line/line.css +22 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/line/line.html +11 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/line/line.js +63 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/marimekko/marimekko.html +116 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/marimekko/marimekko.json +18 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/marker/marker.html +169 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/mercator/mercator.html +133 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/moire/moire.html +53 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/node-canvas/us-counties.js +70 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/pack/pack.css +15 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/pack/pack.html +14 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/pack/pack.js +33 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/parallel/cars.csv +407 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/parallel/parallel.html +134 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/partition/partition-icicle-zoom.html +59 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/partition/partition-icicle.html +45 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/partition/partition-sunburst-zoom.html +72 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/partition/partition-sunburst.html +21 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/partition/partition-sunburst.js +72 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/pie/pie-transition.html +69 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/pie/pie.html +51 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/population/population.css +28 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/population/population.csv +571 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/population/population.html +13 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/population/population.js +126 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/qq/qq.css +18 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/qq/qq.html +21 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/qq/qq.js +66 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/qq/stats.js +28 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/qq/turkers.json +1 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/quadtree/quadtree.html +114 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/showreel/showreel.html +661 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/sizzle/sizzle.html +27 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/sort/sort.css +4 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/sort/sort.html +12 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/sort/sort.js +112 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/spline/spline.css +30 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/spline/spline.html +14 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/spline/spline.js +113 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/splom/flowers.json +1 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/splom/splom.css +49 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/splom/splom.html +13 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/splom/splom.js +119 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/stream/stack.css +7 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/stream/stack.html +22 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/stream/stack.js +119 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/stream/stream.css +3 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/stream/stream.html +19 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/stream/stream.js +42 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/stream/stream_layers.js +33 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/superformula/dot.html +104 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/superformula/explorer.html +120 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/superformula/superformula.html +70 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/superformula/superformula.js +98 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/symbol-map/symbol-map.html +67 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/touch/touch.html +65 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/transform/test.html +85 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/transform/transform.html +60 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/tree/tree-dynamic.html +111 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/tree/tree-interactive.html +172 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/tree/tree-radial.html +14 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/tree/tree-radial.js +40 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/tree/tree.css +15 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/tree/tree.html +14 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/tree/tree.js +39 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/treemap/treemap-svg.html +22 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/treemap/treemap-svg.js +34 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/treemap/treemap.css +8 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/treemap/treemap.html +22 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/treemap/treemap.js +53 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/voroboids/boid.js +235 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/voroboids/voroboids.css +15 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/voroboids/voroboids.html +14 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/voroboids/voroboids.js +65 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/voronoi/voronoi.css +16 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/voronoi/voronoi.html +15 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/voronoi/voronoi.js +34 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/zoom-pan/zoom-pan-transform.html +96 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/zoom-pan/zoom-pan.html +120 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/zoom/dji.csv +5233 -0
- data/lib/picky-statistics/application/javascripts/d3/examples/zoom/zoom.html +162 -0
- data/lib/picky-statistics/application/javascripts/d3/lib/colorbrewer/LICENSE +38 -0
- data/lib/picky-statistics/application/javascripts/d3/lib/colorbrewer/colorbrewer.css +1327 -0
- data/lib/picky-statistics/application/javascripts/d3/lib/colorbrewer/colorbrewer.js +32 -0
- data/lib/picky-statistics/application/javascripts/d3/lib/jit/LICENSE +27 -0
- data/lib/picky-statistics/application/javascripts/d3/lib/jquery-ui/LICENSE +25 -0
- data/lib/picky-statistics/application/javascripts/d3/lib/jquery-ui/images/ui-bg_diagonals-thick_18_b81900_40x40.png +0 -0
- data/lib/picky-statistics/application/javascripts/d3/lib/jquery-ui/images/ui-bg_diagonals-thick_20_666666_40x40.png +0 -0
- data/lib/picky-statistics/application/javascripts/d3/lib/jquery-ui/images/ui-bg_flat_10_000000_40x100.png +0 -0
- data/lib/picky-statistics/application/javascripts/d3/lib/jquery-ui/images/ui-bg_glass_100_f6f6f6_1x400.png +0 -0
- data/lib/picky-statistics/application/javascripts/d3/lib/jquery-ui/images/ui-bg_glass_100_fdf5ce_1x400.png +0 -0
- data/lib/picky-statistics/application/javascripts/d3/lib/jquery-ui/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
- data/lib/picky-statistics/application/javascripts/d3/lib/jquery-ui/images/ui-bg_gloss-wave_35_f6a828_500x100.png +0 -0
- data/lib/picky-statistics/application/javascripts/d3/lib/jquery-ui/images/ui-bg_highlight-soft_100_eeeeee_1x100.png +0 -0
- data/lib/picky-statistics/application/javascripts/d3/lib/jquery-ui/images/ui-bg_highlight-soft_75_ffe45c_1x100.png +0 -0
- data/lib/picky-statistics/application/javascripts/d3/lib/jquery-ui/images/ui-icons_222222_256x240.png +0 -0
- data/lib/picky-statistics/application/javascripts/d3/lib/jquery-ui/images/ui-icons_228ef1_256x240.png +0 -0
- data/lib/picky-statistics/application/javascripts/d3/lib/jquery-ui/images/ui-icons_ef8c08_256x240.png +0 -0
- data/lib/picky-statistics/application/javascripts/d3/lib/jquery-ui/images/ui-icons_ffd27a_256x240.png +0 -0
- data/lib/picky-statistics/application/javascripts/d3/lib/jquery-ui/images/ui-icons_ffffff_256x240.png +0 -0
- data/lib/picky-statistics/application/javascripts/d3/lib/jquery-ui/jquery-ui.css +318 -0
- data/lib/picky-statistics/application/javascripts/d3/lib/jquery-ui/jquery-ui.min.js +83 -0
- data/lib/picky-statistics/application/javascripts/d3/lib/jquery/LICENSE +20 -0
- data/lib/picky-statistics/application/javascripts/d3/lib/jquery/jquery.js +6883 -0
- data/lib/picky-statistics/application/javascripts/d3/lib/jquery/jquery.min.js +166 -0
- data/lib/picky-statistics/application/javascripts/d3/lib/polymaps/LICENSE +28 -0
- data/lib/picky-statistics/application/javascripts/d3/lib/protovis/LICENSE +27 -0
- data/lib/picky-statistics/application/javascripts/d3/lib/science/LICENSE +26 -0
- data/lib/picky-statistics/application/javascripts/d3/lib/science/science.js +225 -0
- data/lib/picky-statistics/application/javascripts/d3/lib/science/science.lin.js +27 -0
- data/lib/picky-statistics/application/javascripts/d3/lib/science/science.lin.min.js +1 -0
- data/lib/picky-statistics/application/javascripts/d3/lib/science/science.min.js +1 -0
- data/lib/picky-statistics/application/javascripts/d3/lib/science/science.stats.js +720 -0
- data/lib/picky-statistics/application/javascripts/d3/lib/science/science.stats.min.js +1 -0
- data/lib/picky-statistics/application/javascripts/d3/lib/sizzle/LICENSE +24 -0
- data/lib/picky-statistics/application/javascripts/d3/lib/sizzle/sizzle.js +1376 -0
- data/lib/picky-statistics/application/javascripts/d3/lib/sizzle/sizzle.min.js +28 -0
- data/lib/picky-statistics/application/javascripts/d3/package.json +28 -0
- data/lib/picky-statistics/application/javascripts/d3/src/behavior/behavior.js +1 -0
- data/lib/picky-statistics/application/javascripts/d3/src/behavior/drag.js +125 -0
- data/lib/picky-statistics/application/javascripts/d3/src/behavior/zoom.js +242 -0
- data/lib/picky-statistics/application/javascripts/d3/src/chart/box.js +297 -0
- data/lib/picky-statistics/application/javascripts/d3/src/chart/bullet.js +237 -0
- data/lib/picky-statistics/application/javascripts/d3/src/chart/chart.js +1 -0
- data/lib/picky-statistics/application/javascripts/d3/src/chart/horizon.js +203 -0
- data/lib/picky-statistics/application/javascripts/d3/src/chart/qq.js +245 -0
- data/lib/picky-statistics/application/javascripts/d3/src/compat/date.js +3 -0
- data/lib/picky-statistics/application/javascripts/d3/src/compat/style.js +9 -0
- data/lib/picky-statistics/application/javascripts/d3/src/core/array.js +29 -0
- data/lib/picky-statistics/application/javascripts/d3/src/core/ascending.js +3 -0
- data/lib/picky-statistics/application/javascripts/d3/src/core/bisect.js +38 -0
- data/lib/picky-statistics/application/javascripts/d3/src/core/collapse.js +3 -0
- data/lib/picky-statistics/application/javascripts/d3/src/core/core.js +1 -0
- data/lib/picky-statistics/application/javascripts/d3/src/core/descending.js +3 -0
- data/lib/picky-statistics/application/javascripts/d3/src/core/dispatch.js +60 -0
- data/lib/picky-statistics/application/javascripts/d3/src/core/ease.js +128 -0
- data/lib/picky-statistics/application/javascripts/d3/src/core/entries.js +5 -0
- data/lib/picky-statistics/application/javascripts/d3/src/core/event.js +6 -0
- data/lib/picky-statistics/application/javascripts/d3/src/core/extent.js +21 -0
- data/lib/picky-statistics/application/javascripts/d3/src/core/first.js +13 -0
- data/lib/picky-statistics/application/javascripts/d3/src/core/format.js +100 -0
- data/lib/picky-statistics/application/javascripts/d3/src/core/formatPrefix.js +20 -0
- data/lib/picky-statistics/application/javascripts/d3/src/core/functor.js +3 -0
- data/lib/picky-statistics/application/javascripts/d3/src/core/hsl.js +63 -0
- data/lib/picky-statistics/application/javascripts/d3/src/core/html.js +10 -0
- data/lib/picky-statistics/application/javascripts/d3/src/core/interpolate.js +183 -0
- data/lib/picky-statistics/application/javascripts/d3/src/core/json.js +5 -0
- data/lib/picky-statistics/application/javascripts/d3/src/core/keys.js +5 -0
- data/lib/picky-statistics/application/javascripts/d3/src/core/last.js +13 -0
- data/lib/picky-statistics/application/javascripts/d3/src/core/max.js +14 -0
- data/lib/picky-statistics/application/javascripts/d3/src/core/mean.js +13 -0
- data/lib/picky-statistics/application/javascripts/d3/src/core/median.js +5 -0
- data/lib/picky-statistics/application/javascripts/d3/src/core/merge.js +3 -0
- data/lib/picky-statistics/application/javascripts/d3/src/core/min.js +14 -0
- data/lib/picky-statistics/application/javascripts/d3/src/core/nest.js +87 -0
- data/lib/picky-statistics/application/javascripts/d3/src/core/noop.js +1 -0
- data/lib/picky-statistics/application/javascripts/d3/src/core/ns.js +17 -0
- data/lib/picky-statistics/application/javascripts/d3/src/core/number.js +3 -0
- data/lib/picky-statistics/application/javascripts/d3/src/core/permute.js +7 -0
- data/lib/picky-statistics/application/javascripts/d3/src/core/quantile.js +8 -0
- data/lib/picky-statistics/application/javascripts/d3/src/core/random.js +15 -0
- data/lib/picky-statistics/application/javascripts/d3/src/core/range.js +21 -0
- data/lib/picky-statistics/application/javascripts/d3/src/core/rebind.js +16 -0
- data/lib/picky-statistics/application/javascripts/d3/src/core/requote.js +5 -0
- data/lib/picky-statistics/application/javascripts/d3/src/core/rgb.js +287 -0
- data/lib/picky-statistics/application/javascripts/d3/src/core/round.js +5 -0
- data/lib/picky-statistics/application/javascripts/d3/src/core/selection-append.js +15 -0
- data/lib/picky-statistics/application/javascripts/d3/src/core/selection-attr.js +44 -0
- data/lib/picky-statistics/application/javascripts/d3/src/core/selection-call.js +13 -0
- data/lib/picky-statistics/application/javascripts/d3/src/core/selection-classed.js +61 -0
- data/lib/picky-statistics/application/javascripts/d3/src/core/selection-data.js +110 -0
- data/lib/picky-statistics/application/javascripts/d3/src/core/selection-each.js +9 -0
- data/lib/picky-statistics/application/javascripts/d3/src/core/selection-empty.js +3 -0
- data/lib/picky-statistics/application/javascripts/d3/src/core/selection-enter-select.js +24 -0
- data/lib/picky-statistics/application/javascripts/d3/src/core/selection-enter.js +11 -0
- data/lib/picky-statistics/application/javascripts/d3/src/core/selection-filter.js +26 -0
- data/lib/picky-statistics/application/javascripts/d3/src/core/selection-html.js +6 -0
- data/lib/picky-statistics/application/javascripts/d3/src/core/selection-insert.js +20 -0
- data/lib/picky-statistics/application/javascripts/d3/src/core/selection-map.js +5 -0
- data/lib/picky-statistics/application/javascripts/d3/src/core/selection-node.js +9 -0
- data/lib/picky-statistics/application/javascripts/d3/src/core/selection-on.js +34 -0
- data/lib/picky-statistics/application/javascripts/d3/src/core/selection-order.js +11 -0
- data/lib/picky-statistics/application/javascripts/d3/src/core/selection-property.js +23 -0
- data/lib/picky-statistics/application/javascripts/d3/src/core/selection-remove.js +9 -0
- data/lib/picky-statistics/application/javascripts/d3/src/core/selection-root.js +18 -0
- data/lib/picky-statistics/application/javascripts/d3/src/core/selection-select.js +30 -0
- data/lib/picky-statistics/application/javascripts/d3/src/core/selection-selectAll.js +24 -0
- data/lib/picky-statistics/application/javascripts/d3/src/core/selection-sort.js +12 -0
- data/lib/picky-statistics/application/javascripts/d3/src/core/selection-style.js +26 -0
- data/lib/picky-statistics/application/javascripts/d3/src/core/selection-text.js +6 -0
- data/lib/picky-statistics/application/javascripts/d3/src/core/selection-transition.js +14 -0
- data/lib/picky-statistics/application/javascripts/d3/src/core/selection.js +25 -0
- data/lib/picky-statistics/application/javascripts/d3/src/core/split.js +21 -0
- data/lib/picky-statistics/application/javascripts/d3/src/core/sum.js +14 -0
- data/lib/picky-statistics/application/javascripts/d3/src/core/text.js +10 -0
- data/lib/picky-statistics/application/javascripts/d3/src/core/this.js +3 -0
- data/lib/picky-statistics/application/javascripts/d3/src/core/timer.js +104 -0
- data/lib/picky-statistics/application/javascripts/d3/src/core/transform.js +58 -0
- data/lib/picky-statistics/application/javascripts/d3/src/core/transition-attr.js +23 -0
- data/lib/picky-statistics/application/javascripts/d3/src/core/transition-delay.js +6 -0
- data/lib/picky-statistics/application/javascripts/d3/src/core/transition-duration.js +6 -0
- data/lib/picky-statistics/application/javascripts/d3/src/core/transition-each.js +9 -0
- data/lib/picky-statistics/application/javascripts/d3/src/core/transition-remove.js +6 -0
- data/lib/picky-statistics/application/javascripts/d3/src/core/transition-select.js +22 -0
- data/lib/picky-statistics/application/javascripts/d3/src/core/transition-selectAll.js +22 -0
- data/lib/picky-statistics/application/javascripts/d3/src/core/transition-style.js +14 -0
- data/lib/picky-statistics/application/javascripts/d3/src/core/transition-text.js +7 -0
- data/lib/picky-statistics/application/javascripts/d3/src/core/transition-transition.js +3 -0
- data/lib/picky-statistics/application/javascripts/d3/src/core/transition.js +125 -0
- data/lib/picky-statistics/application/javascripts/d3/src/core/transpose.js +3 -0
- data/lib/picky-statistics/application/javascripts/d3/src/core/uninterpolate.js +9 -0
- data/lib/picky-statistics/application/javascripts/d3/src/core/values.js +5 -0
- data/lib/picky-statistics/application/javascripts/d3/src/core/xhr.js +10 -0
- data/lib/picky-statistics/application/javascripts/d3/src/core/xml.js +10 -0
- data/lib/picky-statistics/application/javascripts/d3/src/core/zip.js +13 -0
- data/lib/picky-statistics/application/javascripts/d3/src/csv/csv.js +5 -0
- data/lib/picky-statistics/application/javascripts/d3/src/csv/format.js +13 -0
- data/lib/picky-statistics/application/javascripts/d3/src/csv/parse.js +73 -0
- data/lib/picky-statistics/application/javascripts/d3/src/end.js +1 -0
- data/lib/picky-statistics/application/javascripts/d3/src/externs.js +6 -0
- data/lib/picky-statistics/application/javascripts/d3/src/geo/albers.js +126 -0
- data/lib/picky-statistics/application/javascripts/d3/src/geo/azimuthal.js +80 -0
- data/lib/picky-statistics/application/javascripts/d3/src/geo/bonne.js +70 -0
- data/lib/picky-statistics/application/javascripts/d3/src/geo/bounds.js +83 -0
- data/lib/picky-statistics/application/javascripts/d3/src/geo/circle.js +146 -0
- data/lib/picky-statistics/application/javascripts/d3/src/geo/equirectangular.js +36 -0
- data/lib/picky-statistics/application/javascripts/d3/src/geo/geo.js +3 -0
- data/lib/picky-statistics/application/javascripts/d3/src/geo/greatArc.js +80 -0
- data/lib/picky-statistics/application/javascripts/d3/src/geo/greatCircle.js +1 -0
- data/lib/picky-statistics/application/javascripts/d3/src/geo/mercator.js +36 -0
- data/lib/picky-statistics/application/javascripts/d3/src/geo/path.js +271 -0
- data/lib/picky-statistics/application/javascripts/d3/src/geo/type.js +5 -0
- data/lib/picky-statistics/application/javascripts/d3/src/geom/contour.js +78 -0
- data/lib/picky-statistics/application/javascripts/d3/src/geom/delaunay.js +31 -0
- data/lib/picky-statistics/application/javascripts/d3/src/geom/geom.js +1 -0
- data/lib/picky-statistics/application/javascripts/d3/src/geom/hull.js +98 -0
- data/lib/picky-statistics/application/javascripts/d3/src/geom/polygon.js +88 -0
- data/lib/picky-statistics/application/javascripts/d3/src/geom/quadtree.js +129 -0
- data/lib/picky-statistics/application/javascripts/d3/src/geom/voronoi.js +409 -0
- data/lib/picky-statistics/application/javascripts/d3/src/layout/bundle.js +57 -0
- data/lib/picky-statistics/application/javascripts/d3/src/layout/chord.js +153 -0
- data/lib/picky-statistics/application/javascripts/d3/src/layout/cluster.js +78 -0
- data/lib/picky-statistics/application/javascripts/d3/src/layout/force.js +342 -0
- data/lib/picky-statistics/application/javascripts/d3/src/layout/hierarchy.js +120 -0
- data/lib/picky-statistics/application/javascripts/d3/src/layout/histogram.js +102 -0
- data/lib/picky-statistics/application/javascripts/d3/src/layout/layout.js +1 -0
- data/lib/picky-statistics/application/javascripts/d3/src/layout/pack.js +203 -0
- data/lib/picky-statistics/application/javascripts/d3/src/layout/partition.js +48 -0
- data/lib/picky-statistics/application/javascripts/d3/src/layout/pie.js +95 -0
- data/lib/picky-statistics/application/javascripts/d3/src/layout/stack.js +237 -0
- data/lib/picky-statistics/application/javascripts/d3/src/layout/tree.js +237 -0
- data/lib/picky-statistics/application/javascripts/d3/src/layout/treemap.js +217 -0
- data/lib/picky-statistics/application/javascripts/d3/src/package.js +18 -0
- data/lib/picky-statistics/application/javascripts/d3/src/scale/bilinear.js +7 -0
- data/lib/picky-statistics/application/javascripts/d3/src/scale/category.js +54 -0
- data/lib/picky-statistics/application/javascripts/d3/src/scale/linear.js +111 -0
- data/lib/picky-statistics/application/javascripts/d3/src/scale/log.js +85 -0
- data/lib/picky-statistics/application/javascripts/d3/src/scale/nice.js +24 -0
- data/lib/picky-statistics/application/javascripts/d3/src/scale/ordinal.js +81 -0
- data/lib/picky-statistics/application/javascripts/d3/src/scale/polylinear.js +16 -0
- data/lib/picky-statistics/application/javascripts/d3/src/scale/pow.js +54 -0
- data/lib/picky-statistics/application/javascripts/d3/src/scale/quantile.js +43 -0
- data/lib/picky-statistics/application/javascripts/d3/src/scale/quantize.js +36 -0
- data/lib/picky-statistics/application/javascripts/d3/src/scale/scale.js +10 -0
- data/lib/picky-statistics/application/javascripts/d3/src/scale/sqrt.js +3 -0
- data/lib/picky-statistics/application/javascripts/d3/src/start.js +1 -0
- data/lib/picky-statistics/application/javascripts/d3/src/svg/arc.js +95 -0
- data/lib/picky-statistics/application/javascripts/d3/src/svg/area-radial.js +10 -0
- data/lib/picky-statistics/application/javascripts/d3/src/svg/area.js +89 -0
- data/lib/picky-statistics/application/javascripts/d3/src/svg/axis.js +200 -0
- data/lib/picky-statistics/application/javascripts/d3/src/svg/brush.js +334 -0
- data/lib/picky-statistics/application/javascripts/d3/src/svg/chord.js +99 -0
- data/lib/picky-statistics/application/javascripts/d3/src/svg/diagonal-radial.js +22 -0
- data/lib/picky-statistics/application/javascripts/d3/src/svg/diagonal.js +38 -0
- data/lib/picky-statistics/application/javascripts/d3/src/svg/line-radial.js +22 -0
- data/lib/picky-statistics/application/javascripts/d3/src/svg/line.js +415 -0
- data/lib/picky-statistics/application/javascripts/d3/src/svg/mouse.js +29 -0
- data/lib/picky-statistics/application/javascripts/d3/src/svg/svg.js +1 -0
- data/lib/picky-statistics/application/javascripts/d3/src/svg/symbol.js +98 -0
- data/lib/picky-statistics/application/javascripts/d3/src/svg/touches.js +9 -0
- data/lib/picky-statistics/application/javascripts/d3/src/time/day.js +7 -0
- data/lib/picky-statistics/application/javascripts/d3/src/time/days.js +11 -0
- data/lib/picky-statistics/application/javascripts/d3/src/time/format-iso.js +13 -0
- data/lib/picky-statistics/application/javascripts/d3/src/time/format-utc.js +53 -0
- data/lib/picky-statistics/application/javascripts/d3/src/time/format.js +327 -0
- data/lib/picky-statistics/application/javascripts/d3/src/time/hour.js +8 -0
- data/lib/picky-statistics/application/javascripts/d3/src/time/hours.js +11 -0
- data/lib/picky-statistics/application/javascripts/d3/src/time/minute.js +5 -0
- data/lib/picky-statistics/application/javascripts/d3/src/time/minutes.js +11 -0
- data/lib/picky-statistics/application/javascripts/d3/src/time/month.js +7 -0
- data/lib/picky-statistics/application/javascripts/d3/src/time/months.js +11 -0
- data/lib/picky-statistics/application/javascripts/d3/src/time/range.js +16 -0
- data/lib/picky-statistics/application/javascripts/d3/src/time/scale-utc.js +36 -0
- data/lib/picky-statistics/application/javascripts/d3/src/time/scale.js +118 -0
- data/lib/picky-statistics/application/javascripts/d3/src/time/second.js +5 -0
- data/lib/picky-statistics/application/javascripts/d3/src/time/seconds.js +7 -0
- data/lib/picky-statistics/application/javascripts/d3/src/time/time.js +3 -0
- data/lib/picky-statistics/application/javascripts/d3/src/time/week.js +9 -0
- data/lib/picky-statistics/application/javascripts/d3/src/time/weeks.js +11 -0
- data/lib/picky-statistics/application/javascripts/d3/src/time/year.js +7 -0
- data/lib/picky-statistics/application/javascripts/d3/src/time/years.js +11 -0
- data/lib/picky-statistics/application/javascripts/d3/test/core/ascending-test.js +47 -0
- data/lib/picky-statistics/application/javascripts/d3/test/core/bisect-test.js +103 -0
- data/lib/picky-statistics/application/javascripts/d3/test/core/descending-test.js +47 -0
- data/lib/picky-statistics/application/javascripts/d3/test/core/dispatch-test.js +129 -0
- data/lib/picky-statistics/application/javascripts/d3/test/core/ease-test.js +129 -0
- data/lib/picky-statistics/application/javascripts/d3/test/core/entries-test.js +43 -0
- data/lib/picky-statistics/application/javascripts/d3/test/core/extent-test.js +51 -0
- data/lib/picky-statistics/application/javascripts/d3/test/core/first-test.js +42 -0
- data/lib/picky-statistics/application/javascripts/d3/test/core/format-test.js +239 -0
- data/lib/picky-statistics/application/javascripts/d3/test/core/formatPrefix-test.js +108 -0
- data/lib/picky-statistics/application/javascripts/d3/test/core/functor-test.js +29 -0
- data/lib/picky-statistics/application/javascripts/d3/test/core/hsl-test.js +82 -0
- data/lib/picky-statistics/application/javascripts/d3/test/core/html-test.js +37 -0
- data/lib/picky-statistics/application/javascripts/d3/test/core/interpolate-test.js +209 -0
- data/lib/picky-statistics/application/javascripts/d3/test/core/json-test.js +37 -0
- data/lib/picky-statistics/application/javascripts/d3/test/core/keys-test.js +31 -0
- data/lib/picky-statistics/application/javascripts/d3/test/core/last-test.js +42 -0
- data/lib/picky-statistics/application/javascripts/d3/test/core/max-test.js +51 -0
- data/lib/picky-statistics/application/javascripts/d3/test/core/mean-test.js +43 -0
- data/lib/picky-statistics/application/javascripts/d3/test/core/median-test.js +43 -0
- data/lib/picky-statistics/application/javascripts/d3/test/core/merge-test.js +27 -0
- data/lib/picky-statistics/application/javascripts/d3/test/core/min-test.js +50 -0
- data/lib/picky-statistics/application/javascripts/d3/test/core/nest-test.js +236 -0
- data/lib/picky-statistics/application/javascripts/d3/test/core/ns-test.js +58 -0
- data/lib/picky-statistics/application/javascripts/d3/test/core/permute-test.js +53 -0
- data/lib/picky-statistics/application/javascripts/d3/test/core/quantile-test.js +50 -0
- data/lib/picky-statistics/application/javascripts/d3/test/core/range-test.js +93 -0
- data/lib/picky-statistics/application/javascripts/d3/test/core/rebind-test.js +52 -0
- data/lib/picky-statistics/application/javascripts/d3/test/core/requote-test.js +53 -0
- data/lib/picky-statistics/application/javascripts/d3/test/core/rgb-test.js +89 -0
- data/lib/picky-statistics/application/javascripts/d3/test/core/round-test.js +70 -0
- data/lib/picky-statistics/application/javascripts/d3/test/core/select-test.js +42 -0
- data/lib/picky-statistics/application/javascripts/d3/test/core/selectAll-test.js +46 -0
- data/lib/picky-statistics/application/javascripts/d3/test/core/selection-append-test.js +123 -0
- data/lib/picky-statistics/application/javascripts/d3/test/core/selection-attr-test.js +153 -0
- data/lib/picky-statistics/application/javascripts/d3/test/core/selection-call-test.js +71 -0
- data/lib/picky-statistics/application/javascripts/d3/test/core/selection-classed-test.js +219 -0
- data/lib/picky-statistics/application/javascripts/d3/test/core/selection-data-test.js +168 -0
- data/lib/picky-statistics/application/javascripts/d3/test/core/selection-each-test.js +83 -0
- data/lib/picky-statistics/application/javascripts/d3/test/core/selection-empty-test.js +51 -0
- data/lib/picky-statistics/application/javascripts/d3/test/core/selection-filter-test.js +70 -0
- data/lib/picky-statistics/application/javascripts/d3/test/core/selection-html-test.js +121 -0
- data/lib/picky-statistics/application/javascripts/d3/test/core/selection-insert-test.js +136 -0
- data/lib/picky-statistics/application/javascripts/d3/test/core/selection-map-test.js +47 -0
- data/lib/picky-statistics/application/javascripts/d3/test/core/selection-node-test.js +50 -0
- data/lib/picky-statistics/application/javascripts/d3/test/core/selection-on-test.js +95 -0
- data/lib/picky-statistics/application/javascripts/d3/test/core/selection-order-test.js +32 -0
- data/lib/picky-statistics/application/javascripts/d3/test/core/selection-property-test.js +91 -0
- data/lib/picky-statistics/application/javascripts/d3/test/core/selection-remove-test.js +39 -0
- data/lib/picky-statistics/application/javascripts/d3/test/core/selection-select-test.js +125 -0
- data/lib/picky-statistics/application/javascripts/d3/test/core/selection-selectAll-test.js +128 -0
- data/lib/picky-statistics/application/javascripts/d3/test/core/selection-sort-test.js +59 -0
- data/lib/picky-statistics/application/javascripts/d3/test/core/selection-style-test.js +100 -0
- data/lib/picky-statistics/application/javascripts/d3/test/core/selection-test.js +35 -0
- data/lib/picky-statistics/application/javascripts/d3/test/core/selection-text-test.js +109 -0
- data/lib/picky-statistics/application/javascripts/d3/test/core/split-test.js +34 -0
- data/lib/picky-statistics/application/javascripts/d3/test/core/sum-test.js +47 -0
- data/lib/picky-statistics/application/javascripts/d3/test/core/text-test.js +48 -0
- data/lib/picky-statistics/application/javascripts/d3/test/core/timer-test.js +62 -0
- data/lib/picky-statistics/application/javascripts/d3/test/core/transition-test-attr.js +54 -0
- data/lib/picky-statistics/application/javascripts/d3/test/core/transition-test-attrTween.js +67 -0
- data/lib/picky-statistics/application/javascripts/d3/test/core/transition-test-call.js +33 -0
- data/lib/picky-statistics/application/javascripts/d3/test/core/transition-test-delay.js +41 -0
- data/lib/picky-statistics/application/javascripts/d3/test/core/transition-test-duration.js +41 -0
- data/lib/picky-statistics/application/javascripts/d3/test/core/transition-test-each.js +166 -0
- data/lib/picky-statistics/application/javascripts/d3/test/core/transition-test-id.js +20 -0
- data/lib/picky-statistics/application/javascripts/d3/test/core/transition-test-remove.js +46 -0
- data/lib/picky-statistics/application/javascripts/d3/test/core/transition-test-select.js +63 -0
- data/lib/picky-statistics/application/javascripts/d3/test/core/transition-test-selectAll.js +59 -0
- data/lib/picky-statistics/application/javascripts/d3/test/core/transition-test-style.js +49 -0
- data/lib/picky-statistics/application/javascripts/d3/test/core/transition-test-styleTween.js +73 -0
- data/lib/picky-statistics/application/javascripts/d3/test/core/transition-test-text.js +30 -0
- data/lib/picky-statistics/application/javascripts/d3/test/core/transition-test-time.js +36 -0
- data/lib/picky-statistics/application/javascripts/d3/test/core/transition-test-transition.js +60 -0
- data/lib/picky-statistics/application/javascripts/d3/test/core/transition-test-tween.js +71 -0
- data/lib/picky-statistics/application/javascripts/d3/test/core/transition-test.js +66 -0
- data/lib/picky-statistics/application/javascripts/d3/test/core/transpose-test.js +32 -0
- data/lib/picky-statistics/application/javascripts/d3/test/core/values-test.js +35 -0
- data/lib/picky-statistics/application/javascripts/d3/test/core/version-test.js +18 -0
- data/lib/picky-statistics/application/javascripts/d3/test/core/xhr-test.js +56 -0
- data/lib/picky-statistics/application/javascripts/d3/test/core/xml-test.js +48 -0
- data/lib/picky-statistics/application/javascripts/d3/test/core/zip-test.js +32 -0
- data/lib/picky-statistics/application/javascripts/d3/test/csv/csv-test.js +38 -0
- data/lib/picky-statistics/application/javascripts/d3/test/csv/format-test.js +39 -0
- data/lib/picky-statistics/application/javascripts/d3/test/csv/parse-test.js +101 -0
- data/lib/picky-statistics/application/javascripts/d3/test/env-assert.js +96 -0
- data/lib/picky-statistics/application/javascripts/d3/test/env-fragment.js +8 -0
- data/lib/picky-statistics/application/javascripts/d3/test/env-xhr.js +56 -0
- data/lib/picky-statistics/application/javascripts/d3/test/env.js +13 -0
- data/lib/picky-statistics/application/javascripts/d3/test/geo/albers-test.js +57 -0
- data/lib/picky-statistics/application/javascripts/d3/test/geo/azimuthal-test.js +261 -0
- data/lib/picky-statistics/application/javascripts/d3/test/geo/bonne-test.js +116 -0
- data/lib/picky-statistics/application/javascripts/d3/test/geo/equirectangular-test.js +50 -0
- data/lib/picky-statistics/application/javascripts/d3/test/geo/greatArc-test.js +41 -0
- data/lib/picky-statistics/application/javascripts/d3/test/geo/mercator-test.js +57 -0
- data/lib/picky-statistics/application/javascripts/d3/test/geo/path-test.js +25 -0
- data/lib/picky-statistics/application/javascripts/d3/test/geom/polygon-test.js +57 -0
- data/lib/picky-statistics/application/javascripts/d3/test/layout/cluster-test.js +39 -0
- data/lib/picky-statistics/application/javascripts/d3/test/layout/hierarchy-test.js +30 -0
- data/lib/picky-statistics/application/javascripts/d3/test/layout/histogram-test.js +91 -0
- data/lib/picky-statistics/application/javascripts/d3/test/layout/pack-test.js +67 -0
- data/lib/picky-statistics/application/javascripts/d3/test/layout/partition-test.js +50 -0
- data/lib/picky-statistics/application/javascripts/d3/test/layout/tree-test.js +41 -0
- data/lib/picky-statistics/application/javascripts/d3/test/layout/treemap-test.js +190 -0
- data/lib/picky-statistics/application/javascripts/d3/test/scale/category-test.js +74 -0
- data/lib/picky-statistics/application/javascripts/d3/test/scale/linear-test.js +243 -0
- data/lib/picky-statistics/application/javascripts/d3/test/scale/log-test.js +266 -0
- data/lib/picky-statistics/application/javascripts/d3/test/scale/ordinal-test.js +207 -0
- data/lib/picky-statistics/application/javascripts/d3/test/scale/pow-test.js +263 -0
- data/lib/picky-statistics/application/javascripts/d3/test/scale/quantile-test.js +64 -0
- data/lib/picky-statistics/application/javascripts/d3/test/scale/quantize-test.js +69 -0
- data/lib/picky-statistics/application/javascripts/d3/test/scale/sqrt-test.js +256 -0
- data/lib/picky-statistics/application/javascripts/d3/test/svg/arc-test.js +147 -0
- data/lib/picky-statistics/application/javascripts/d3/test/svg/area-radial-test.js +200 -0
- data/lib/picky-statistics/application/javascripts/d3/test/svg/area-test.js +192 -0
- data/lib/picky-statistics/application/javascripts/d3/test/svg/axis-test.js +353 -0
- data/lib/picky-statistics/application/javascripts/d3/test/svg/line-radial-test.js +125 -0
- data/lib/picky-statistics/application/javascripts/d3/test/svg/line-test.js +189 -0
- data/lib/picky-statistics/application/javascripts/d3/test/svg/symbol-test.js +96 -0
- data/lib/picky-statistics/application/javascripts/d3/test/time/day-test.js +65 -0
- data/lib/picky-statistics/application/javascripts/d3/test/time/days-test.js +105 -0
- data/lib/picky-statistics/application/javascripts/d3/test/time/format-test.js +467 -0
- data/lib/picky-statistics/application/javascripts/d3/test/time/hour-test.js +103 -0
- data/lib/picky-statistics/application/javascripts/d3/test/time/hours-test.js +135 -0
- data/lib/picky-statistics/application/javascripts/d3/test/time/minute-test.js +43 -0
- data/lib/picky-statistics/application/javascripts/d3/test/time/minutes-test.js +101 -0
- data/lib/picky-statistics/application/javascripts/d3/test/time/month-test.js +53 -0
- data/lib/picky-statistics/application/javascripts/d3/test/time/months-test.js +105 -0
- data/lib/picky-statistics/application/javascripts/d3/test/time/scale-test.js +525 -0
- data/lib/picky-statistics/application/javascripts/d3/test/time/second-test.js +41 -0
- data/lib/picky-statistics/application/javascripts/d3/test/time/seconds-test.js +101 -0
- data/lib/picky-statistics/application/javascripts/d3/test/time/week-test.js +59 -0
- data/lib/picky-statistics/application/javascripts/d3/test/time/weeks-test.js +105 -0
- data/lib/picky-statistics/application/javascripts/d3/test/time/year-test.js +41 -0
- data/lib/picky-statistics/application/javascripts/d3/test/time/years-test.js +73 -0
- data/lib/picky-statistics/application/javascripts/full_live.js +60 -0
- data/lib/picky-statistics/application/javascripts/graph.js +83 -0
- data/lib/picky-statistics/application/javascripts/results.js +86 -0
- data/lib/picky-statistics/application/javascripts/rickshaw.js +1 -0
- data/lib/picky-statistics/application/javascripts/statistics.js +30 -55
- data/lib/picky-statistics/application/stylesheets/statistics.css +83 -27
- data/lib/picky-statistics/application/views/index.haml +29 -39
- data/lib/picky-statistics/statistics/logfile_reader.rb +43 -32
- data/spec/lib/picky-statistics/statistics/logfile_reader_spec.rb +28 -25
- metadata +596 -6
@@ -0,0 +1,83 @@
|
|
1
|
+
function Graph(selector, names, palette_offset) {
|
2
|
+
|
3
|
+
var graph_element = document.querySelector(selector + ' .graph');
|
4
|
+
var legend_element = document.querySelector(selector + ' .legend');
|
5
|
+
|
6
|
+
function addOne(ary, thing) {
|
7
|
+
ary.push({ x: Date.now(), y: thing });
|
8
|
+
if (ary.length > 100) {
|
9
|
+
ary.shift();
|
10
|
+
}
|
11
|
+
}
|
12
|
+
|
13
|
+
function add(data, params) {
|
14
|
+
for(var i=0,total=0;i<params.length;total+=params[i++]);
|
15
|
+
if (total > 0) {
|
16
|
+
for (i = 0; i < params.length; i++) {
|
17
|
+
addOne(data[i], params[i]/total);
|
18
|
+
}
|
19
|
+
}
|
20
|
+
}
|
21
|
+
|
22
|
+
var data = [];
|
23
|
+
var init = [];
|
24
|
+
for (var i = 0; i < names.length; i++) {
|
25
|
+
data.push([]);
|
26
|
+
init.push(1);
|
27
|
+
}
|
28
|
+
|
29
|
+
// add(data, init);
|
30
|
+
|
31
|
+
var palette = new Rickshaw.Color.Palette( { scheme: 'spectrum2000' } );
|
32
|
+
for (i = 0; i < palette_offset; i++) {
|
33
|
+
palette.color();
|
34
|
+
}
|
35
|
+
|
36
|
+
var series = [];
|
37
|
+
for (i = 0; i < names.length; i++) {
|
38
|
+
series.push({
|
39
|
+
color: palette.color(),
|
40
|
+
data: data[i],
|
41
|
+
name: names[i]
|
42
|
+
});
|
43
|
+
}
|
44
|
+
|
45
|
+
var graph;
|
46
|
+
|
47
|
+
var lazyInitializeGraph = function() {
|
48
|
+
if (!graph) {
|
49
|
+
graph = new Rickshaw.Graph( {
|
50
|
+
element: graph_element,
|
51
|
+
width: 900,
|
52
|
+
height: 150,
|
53
|
+
renderer: 'stack',
|
54
|
+
offset: 'expand',
|
55
|
+
series: series
|
56
|
+
});
|
57
|
+
|
58
|
+
var legend = new Rickshaw.Graph.Legend( {
|
59
|
+
graph: graph,
|
60
|
+
element: legend_element
|
61
|
+
});
|
62
|
+
|
63
|
+
new Rickshaw.Graph.Behavior.Series.Highlight( {
|
64
|
+
graph: graph,
|
65
|
+
legend: legend
|
66
|
+
});
|
67
|
+
|
68
|
+
// new Rickshaw.Graph.HoverDetail( {
|
69
|
+
// graph: graph
|
70
|
+
// });
|
71
|
+
|
72
|
+
graph.render();
|
73
|
+
}
|
74
|
+
};
|
75
|
+
|
76
|
+
var update = function(new_data) {
|
77
|
+
add(data, new_data);
|
78
|
+
lazyInitializeGraph();
|
79
|
+
graph.update();
|
80
|
+
};
|
81
|
+
this.update = update;
|
82
|
+
|
83
|
+
};
|
@@ -0,0 +1,86 @@
|
|
1
|
+
function addOne(ary, thing) {
|
2
|
+
ary.push({ x: Date.now(), y: thing });
|
3
|
+
if (ary.length > 100) {
|
4
|
+
ary.shift();
|
5
|
+
}
|
6
|
+
}
|
7
|
+
|
8
|
+
function add(data, params) {
|
9
|
+
for(var i=0,total=0;i<params.length;total+=params[i++]);
|
10
|
+
if (total > 0) {
|
11
|
+
for (i = 0; i < params.length; i++) {
|
12
|
+
addOne(data[i], params[i]/total);
|
13
|
+
}
|
14
|
+
}
|
15
|
+
}
|
16
|
+
|
17
|
+
var data = [ [], [], [], [], [], [], [] ];
|
18
|
+
add(data, [1, 1, 1, 1, 1, 1, 1]);
|
19
|
+
|
20
|
+
var palette = new Rickshaw.Color.Palette( { scheme: 'spectrum2000' } );
|
21
|
+
|
22
|
+
palette.color();
|
23
|
+
palette.color();
|
24
|
+
palette.color();
|
25
|
+
palette.color();
|
26
|
+
palette.color();
|
27
|
+
palette.color();
|
28
|
+
palette.color();
|
29
|
+
|
30
|
+
var graph = new Rickshaw.Graph( {
|
31
|
+
element: document.querySelector('#results_graph.stats .graph'),
|
32
|
+
width: 900,
|
33
|
+
height: 150,
|
34
|
+
renderer: 'stack',
|
35
|
+
offset: 'expand',
|
36
|
+
series: [
|
37
|
+
{
|
38
|
+
color: palette.color(),
|
39
|
+
data: data[0],
|
40
|
+
name: '1 result'
|
41
|
+
}, {
|
42
|
+
color: palette.color(),
|
43
|
+
data: data[1],
|
44
|
+
name: '2 results'
|
45
|
+
}, {
|
46
|
+
color: palette.color(),
|
47
|
+
data: data[2],
|
48
|
+
name: '3 results'
|
49
|
+
}, {
|
50
|
+
color: palette.color(),
|
51
|
+
data: data[3],
|
52
|
+
name: '4 or more results'
|
53
|
+
}, {
|
54
|
+
color: palette.color(),
|
55
|
+
data: data[4],
|
56
|
+
name: '100 or more results'
|
57
|
+
}, {
|
58
|
+
color: palette.color(),
|
59
|
+
data: data[5],
|
60
|
+
name: '1000 or more results'
|
61
|
+
}, {
|
62
|
+
color: palette.color(),
|
63
|
+
data: data[6],
|
64
|
+
name: 'no results'
|
65
|
+
}
|
66
|
+
]
|
67
|
+
} );
|
68
|
+
|
69
|
+
var legend = new Rickshaw.Graph.Legend( {
|
70
|
+
graph: graph,
|
71
|
+
element: document.querySelector('#results_graph.stats .legend')
|
72
|
+
});
|
73
|
+
|
74
|
+
new Rickshaw.Graph.Behavior.Series.Highlight( {
|
75
|
+
graph: graph,
|
76
|
+
legend: legend
|
77
|
+
});
|
78
|
+
|
79
|
+
// new Rickshaw.Graph.HoverDetail( {
|
80
|
+
// graph: graph
|
81
|
+
// });
|
82
|
+
|
83
|
+
updateNewResults = function(r1, r2, r3, r4, r100, r1000, r0) {
|
84
|
+
add(data, [r1, r2, r3, r4, r100, r1000, r0]);
|
85
|
+
graph.update();
|
86
|
+
};
|
@@ -0,0 +1 @@
|
|
1
|
+
Rickshaw={namespace:function(a,b){var c=a.split(".");parent=Rickshaw;for(var d=1,e=c.length;d<e;d++)currentPart=c[d],parent[currentPart]=parent[currentPart]||{},parent=parent[currentPart];return parent},keys:function(a){var b=[];for(var c in a)b.push(c);return b}},Rickshaw.namespace("Rickshaw.Graph"),Rickshaw.Graph=function(a){this.element=a.element,this.interpolation=a.interpolation||"cardinal",this.series=a.series,this.offset="zero";var b=window.getComputedStyle(this.element,null),c=parseInt(b.getPropertyValue("width")),d=parseInt(b.getPropertyValue("height"));this.width=a.width||c||400,this.height=a.height||d||250,this.window={},this.updateCallbacks=[];var e=this;this.initialize=function(a){this.validateSeries(a.series),this.series.active=function(){return e.series.filter(function(a){return!a.disabled})},this.element.classList.add("rickshaw_graph"),this.vis=d3.select(this.element).append("svg:svg").attr("width",this.width).attr("height",this.height);var b=[Rickshaw.Graph.Renderer.Stack,Rickshaw.Graph.Renderer.Line,Rickshaw.Graph.Renderer.Bar];b.forEach(function(a){if(!a)return;e.registerRenderer(new a({graph:e}))}),this.setRenderer(a.renderer||"stack"),this.discoverRange()},this.validateSeries=function(a){var b=Object.prototype.toString.apply(a);if(b!=="[object Array]"&&!a instanceof Rickshaw.Series)throw"series is not an array: "+b;var c;a.forEach(function(a){if(!a instanceof Object)throw"series element is not an object "+a;if(!a.data)throw"series has no data: "+JSON.stringify(a);c=c||a.data.length;if(c&&a.data.length!=c)throw"series cannot have differing numbers of points: "+c+" vs "+a.data.length+"; see Rickshaw.Series.zeroFill()";var b=typeof a.data[0].x,d=typeof a.data[0].y;if(b!="number"||d!="number")throw"x and y properties of points should be numbers instead of "+b+" and "+d})},this.dataDomain=function(){var a=this.series[0].data;return[a[0].x,a.slice(-1).shift().x]},this.discoverRange=function(){var a=this.renderer.domain();this.x=d3.scale.linear().domain(a.x).range([0,this.width]),this.y=d3.scale.linear().domain(a.y).range([this.height,0]),this.y.magnitude=d3.scale.linear().domain(a.y).range([0,this.height])},this.render=function(){var a=this.stackData();this.discoverRange(),this.renderer.render(),this.updateCallbacks.forEach(function(a){a()})},this.update=this.render,this.stackData=function(){var a=this.series.active().map(function(a){return a.data}).map(function(a){return a.filter(function(a){return this._slice(a)},this)},this);this.stackData.hooks.data.forEach(function(b){a=b.f.apply(e,[a])});var b=d3.layout.stack();b.offset(e.offset);var c=b(a);this.stackData.hooks.after.forEach(function(b){c=b.f.apply(e,[a])});var d=0;return this.series.forEach(function(a){if(a.disabled)return;a.stack=c[d++]}),this.stackedData=c,c},this.stackData.hooks={data:[],after:[]},this._slice=function(a){if(this.window.xMin||this.window.xMax){var b=!0;return this.window.xMin&&a.x<=this.window.xMin&&(b=!1),this.window.xMax&&a.x>=this.window.xMax&&(b=!1),b}return!0},this.onUpdate=function(a){this.updateCallbacks.push(a)},this.registerRenderer=function(a){this._renderers=this._renderers||{},this._renderers[a.name]=a},this.setRenderer=function(a){if(!this._renderers[a])throw"couldn't find renderer "+a;this.renderer=this._renderers[a]},this.initialize(a)},Rickshaw.namespace("Rickshaw.Fixtures.Color"),Rickshaw.Fixtures.Color=function(){this.schemes={},this.schemes.spectrum14=["#ecb796","#dc8f70","#b2a470","#92875a","#716c49","#d2ed82","#bbe468","#a1d05d","#e7cbe6","#d8aad6","#a888c2","#9dc2d3","#649eb9","#387aa3"].reverse(),this.schemes.spectrum2000=["#57306f","#514c76","#646583","#738394","#6b9c7d","#84b665","#a7ca50","#bfe746","#e2f528","#fff726","#ecdd00","#d4b11d","#de8800","#de4800","#c91515","#9a0000","#7b0429","#580839","#31082b"],this.schemes.spectrum2001=["#2f243f","#3c2c55","#4a3768","#565270","#6b6b7c","#72957f","#86ad6e","#a1bc5e","#b8d954","#d3e04e","#ccad2a","#cc8412","#c1521d","#ad3821","#8a1010","#681717","#531e1e","#3d1818","#320a1b"],this.schemes.classic9=["#423d4f","#4a6860","#848f39","#a2b73c","#ddcb53","#c5a32f","#7d5836","#963b20","#7c2626","#491d37","#2f254a"].reverse(),this.schemes.httpStatus={503:"#ea5029",502:"#d23f14",500:"#bf3613",410:"#efacea",409:"#e291dc",403:"#f457e8",408:"#e121d2",401:"#b92dae",405:"#f47ceb",404:"#a82a9f",400:"#b263c6",301:"#6fa024",302:"#87c32b",307:"#a0d84c",304:"#28b55c",200:"#1a4f74",206:"#27839f",201:"#52adc9",202:"#7c979f",203:"#a5b8bd",204:"#c1cdd1"},this.schemes.colorwheel=["#b5b6a9","#858772","#785f43","#96557e","#4682b4","#65b9ac","#73c03a","#cb513a"].reverse(),this.schemes.cool=["#5e9d2f","#73c03a","#4682b4","#7bc3b8","#a9884e","#c1b266","#a47493","#c09fb5"]},Rickshaw.namespace("Rickshaw.Fixtures.RandomData"),Rickshaw.Fixtures.RandomData=function(a){var b;a=a||1;var c=200,d=Math.floor((new Date).getTime()/1e3);this.addData=function(b){var e=Math.random()*100+15+c,f=b[0].length,g=1;b.forEach(function(b){var c=Math.random()*20,h=e/25+g++ +(Math.cos(f*g*11/960)+2)*15+(Math.cos(f/7)+2)*7+(Math.cos(f/17)+2)*1;b.push({x:f*a+d,y:h+c})}),c=e*.85}},Rickshaw.namespace("Rickshaw.Fixtures.Time"),Rickshaw.Fixtures.Time=function(){var a=(new Date).getTimezoneOffset()*60,b=this;this.months=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],this.units=[{name:"decade",seconds:315576e3,formatter:function(a){return Math.floor(a.getUTCFullYear()/10)*10}},{name:"year",seconds:31557600,formatter:function(a){return a.getUTCFullYear()}},{name:"month",seconds:2635200,formatter:function(a){return b.months[a.getUTCMonth()]}},{name:"week",seconds:604800,formatter:function(a){return b.formatDate(a)}},{name:"day",seconds:86400,formatter:function(a){return a.getUTCDate()}},{name:"6 hour",seconds:21600,formatter:function(a){return b.formatTime(a)}},{name:"hour",seconds:3600,formatter:function(a){return b.formatTime(a)}},{name:"15 minute",seconds:900,formatter:function(a){return b.formatTime(a)}},{name:"minute",seconds:60,formatter:function(a){return a.getUTCMinutes()}},{name:"15 second",seconds:15,formatter:function(a){return a.getUTCSeconds()+"s"}},{name:"second",seconds:1,formatter:function(a){return a.getUTCSeconds()+"s"}}],this.formatDate=function(a){return a.toUTCString().match(/, (\w+ \w+ \w+)/)[1]},this.formatTime=function(a){return a.toUTCString().match(/(\d+:\d+):/)[1]},this.ceil=function(a,b){if(b.name=="month"){var c=new Date((a+b.seconds-1)*1e3),d=[c.getUTCFullYear(),c.getUTCMonth()+1,1].join("-");return(new Date(d)).getTime()/1e3}if(b.name=="year"){var c=new Date((a+b.seconds-1)*1e3),e=[c.getUTCFullYear(),1,1].join("-");return(new Date(e)).getTime()/1e3}return Math.ceil(a/b.seconds)*b.seconds}},Rickshaw.namespace("Rickshaw.Fixtures.Number"),Rickshaw.Fixtures.Number.formatKMBT=function(a){return a>=1e12?a/1e12+"T":a>=1e9?a/1e9+"B":a>=1e6?a/1e6+"M":a>=1e3?a/1e3+"K":a<1&&a>0?a.toFixed(2):a==0?"":a},Rickshaw.namespace("Rickshaw.Color.Palette"),Rickshaw.Color.Palette=function(a){var b=new Rickshaw.Fixtures.Color;a=a||{},this.schemes={},this.scheme=b.schemes[a.scheme]||a.scheme||b.schemes.colorwheel,this.runningIndex=0,this.color=function(a){return this.scheme[a||this.runningIndex++]||"#808080"}},Rickshaw.namespace("Graph.Ajax"),Rickshaw.Graph.Ajax=function(args){var self=this;this.dataURL=args.dataURL,$.ajax({url:this.dataURL,complete:function(response,status){status==="error"&&console.log("error loading dataURL: "+this.dataURL);var data=eval("("+response.responseText+")");if(typeof args.onData=="function"){var processedData=args.onData(data);data=processedData}args.series?args.series.forEach(function(a){var b=a.key||a.name;if(!b)throw"series needs a key or a name";data.forEach(function(c){var d=c.key||c.name;if(!d)throw"data needs a key or a name";if(b==d){var e=["color","name","data"];e.forEach(function(b){a[b]=a[b]||c[b]})}})}):args.series=data,self.graph=new Rickshaw.Graph(args),self.graph.render(),typeof args.onComplete=="function"&&args.onComplete(self)}})},Rickshaw.namespace("Rickshaw.Graph.Annotate"),Rickshaw.Graph.Annotate=function(a){var b=this.graph=a.graph;this.elements={timeline:a.element};var c=this;this.data={},this.elements.timeline.classList.add("rickshaw_annotation_timeline"),this.add=function(a,b){c.data[a]=c.data[a]||{boxes:[]},c.data[a].boxes.push({content:b})},this.update=function(){for(var a in c.data){var b=c.data[a],d=c.graph.x(a);if(d>c.graph.x.range()[1]){b.element&&(b.element.style.display="none");continue}if(!b.element){var e=b.element=document.createElement("div");e.classList.add("annotation"),this.elements.timeline.appendChild(e),e.addEventListener("click",function(a){e.classList.toggle("active"),b.line.classList.toggle("active")},!1)}b.element.style.left=d+"px",b.element.style.display="block",b.boxes.forEach(function(a){var e=a.element;e||(e=a.element=document.createElement("div"),e.classList.add("content"),e.innerHTML=a.content,b.element.appendChild(e),b.line=document.createElement("div"),b.line.classList.add("annotation_line"),c.graph.element.appendChild(b.line)),b.line.style.left=d+"px"})}},this.graph.onUpdate(function(){c.update()})},Rickshaw.namespace("Rickshaw.Graph.Axis.Time"),Rickshaw.Graph.Axis.Time=function(a){var b=this;this.graph=a.graph,this.elements=[],this.ticksTreatment=a.ticksTreatment||"plain";var c=new Rickshaw.Fixtures.Time;this.appropriateTimeUnit=function(){var a,b=c.units,d=this.graph.x.domain(),e=d[1]-d[0];return b.forEach(function(b){Math.floor(e/b.seconds)>=2&&(a=a||b)}),a||c.units[c.units.length-1]},this.tickOffsets=function(){var a=this.graph.x.domain(),b=this.appropriateTimeUnit(),d=Math.ceil((a[1]-a[0])/b.seconds),e=a[0],f=[];for(var g=0;g<d;g++)tickValue=c.ceil(e,b),e=tickValue+b.seconds/2,f.push({value:tickValue,unit:b});return f},this.render=function(){this.elements.forEach(function(a){a.parentNode.removeChild(a)}),this.elements=[];var a=this.tickOffsets();a.forEach(function(a){if(b.graph.x(a.value)>b.graph.x.range()[1])return;var c=document.createElement("div");c.style.left=b.graph.x(a.value)+"px",c.classList.add("x_tick"),c.classList.add(b.ticksTreatment);var d=document.createElement("div");d.classList.add("title"),d.innerHTML=a.unit.formatter(new Date(a.value*1e3)),c.appendChild(d),b.graph.element.appendChild(c),b.elements.push(c)})},this.graph.onUpdate(function(){b.render()})},Rickshaw.namespace("Rickshaw.Graph.Axis.Y"),Rickshaw.Graph.Axis.Y=function(a){var b=this;this.graph=a.graph,this.orientation=a.orientation||"right";var c=75;this.ticks=a.ticks||Math.floor(this.graph.height/c),this.tickSize=a.tickSize||4,this.ticksTreatment=a.ticksTreatment||"plain";if(a.element){var d=.1;if(!a.width||!a.height)var e=window.getComputedStyle(a.element,null),f=parseInt(e.getPropertyValue("width")),g=parseInt(e.getPropertyValue("height"));this.width=a.width||f||graph.width*d,this.height=a.height||g||graph.height,this.vis=d3.select(a.element).append("svg:svg").attr("class","rickshaw_graph y_axis").attr("width",this.width).attr("height",this.height*(1+d)),this.element=this.vis[0][0],this.element.style.position="relative";var h=this.height*d;this.element.style.top=-1*h+"px",this.element.style.paddingTop=h+"px"}else this.vis=this.graph.vis;this.render=function(){var b=d3.svg.axis().scale(this.graph.y).orient(this.orientation);b.tickFormat(a.tickFormat||function(a){return a});if(this.orientation=="left")var c="translate("+this.width+", 0)";this.element&&this.vis.selectAll("*").remove(),this.vis.append("svg:g").attr("class",["y_ticks",this.ticksTreatment].join(" ")).attr("transform",c).call(b.ticks(this.ticks).tickSubdivide(0).tickSize(this.tickSize));var d=(this.orientation=="right"?1:-1)*this.graph.width;this.graph.vis.append("svg:g").attr("class","y_grid").call(b.ticks(this.ticks).tickSubdivide(0).tickSize(d))},this.graph.onUpdate(function(){b.render()})},Rickshaw.namespace("Rickshaw.Graph.Behavior.Series.Highlight"),Rickshaw.Graph.Behavior.Series.Highlight=function(a){this.graph=a.graph,this.legend=a.legend;var b=this,c={};this.addHighlightEvents=function(a){a.element.addEventListener("mouseover",function(d){b.legend.lines.forEach(function(b){if(a===b)return;c[b.series.name]=c[b.series.name]||b.series.color,b.series.color=d3.interpolateRgb(b.series.color,d3.rgb("#d8d8d8"))(.8).toString()}),b.graph.update()},!1),a.element.addEventListener("mouseout",function(a){b.legend.lines.forEach(function(a){c[a.series.name]&&(a.series.color=c[a.series.name])}),b.graph.update()},!1)},this.legend&&this.legend.lines.forEach(function(a){b.addHighlightEvents(a)})},Rickshaw.namespace("Rickshaw.Graph.Behavior.Series.Order"),Rickshaw.Graph.Behavior.Series.Order=function(a){this.graph=a.graph,this.legend=a.legend;var b=this;$(function(){$(b.legend.list).sortable({containment:"parent",tolerance:"pointer",update:function(a,c){var d=[];$(b.legend.list).find("li").each(function(a,b){if(!b.series)return;d.push(b.series)});for(var e=b.graph.series.length-1;e>=0;e--)b.graph.series[e]=d.shift();b.graph.update()}}),$(b.legend.list).disableSelection()}),this.graph.onUpdate(function(){var a=window.getComputedStyle(b.legend.element).height;b.legend.element.style.height=a})},Rickshaw.namespace("Rickshaw.Graph.Behavior.Series.Toggle"),Rickshaw.Graph.Behavior.Series.Toggle=function(a){this.graph=a.graph,this.legend=a.legend;var b=this;this.addAnchor=function(a){var b=document.createElement("a");b.innerHTML="✔",b.classList.add("action"),a.element.insertBefore(b,a.element.firstChild),b.onclick=function(b){a.series.disabled?(a.series.enable(),a.element.classList.remove("disabled")):(a.series.disable(),a.element.classList.add("disabled"))}},this.legend&&this.legend.lines.forEach(function(a){b.addAnchor(a)}),this._addBehavior=function(){this.graph.series.forEach(function(a){a.disable=function(){if(b.graph.series.length<=1)throw"only one series left";a.disabled=!0,b.graph.update()},a.enable=function(){a.disabled=!1,b.graph.update()}})},this._addBehavior(),this.updateBehaviour=function(){this._addBehavior()}},Rickshaw.namespace("Rickshaw.Graph.HoverDetail"),Rickshaw.Graph.HoverDetail=function(a){var b=this.graph=a.graph,c=this.element=document.createElement("div");c.className="detail",this.visible=!0,b.element.appendChild(c);var d=this;this.lastEvent=null,this.update=function(a){a=a||this.lastEvent;if(!a)return;this.lastEvent=a;if(a.target.nodeName!="path"&&a.target.nodeName!="svg")return;var c=a.offsetX||a.layerX,e=a.offsetY||a.layerY,f=b.x.invert(c),g=b.stackedData,h=g.slice(-1).shift(),i=d3.scale.linear().domain([h[0].x,h.slice(-1).shift().x]).range([0,h.length]),j=Math.floor(i(f)),k=j||0;for(var l=j;l<g[0].length-1;){if(g[0][l].x<=f&&g[0][l+1].x>f){k=l;break}g[0][l+1]<f?l++:l--}f=g[0][k].x;var m=b.series.active().map(function(a){return{name:a.name,value:a.stack[k]}});this.visible&&d.render.call(d,f,m,c,e)},this.xFormatter=function(a){return(new Date(a*1e3)).toUTCString()},this.graph.element.addEventListener("mousemove",function(a){d.visible=!0,d.update(a)},!1),this.graph.onUpdate(function(){d.update()}),this.graph.element.addEventListener("mouseout",function(a){a.relatedTarget&&!(a.relatedTarget.compareDocumentPosition(d.graph.element)&Node.DOCUMENT_POSITION_CONTAINS)&&d.hide()},!1),this.hide=function(){this.visible=!1,this.element.classList.add("inactive")},this.show=function(){this.visible=!0,this.element.classList.remove("inactive")},this.render=function(a,c,d,e){this.element.innerHTML="",this.element.style.left=b.x(a)+"px";var f=document.createElement("div");f.className="x_label",f.innerHTML=this.xFormatter(a),this.element.appendChild(f);var g=null,h=function(a,b){return a.value.y0+a.value.y-(b.value.y0+b.value.y)};c.sort(h).forEach(function(a){var c=document.createElement("div");c.className="item",c.innerHTML=a.name+": "+a.value.y.toFixed(2),c.style.top=b.y(a.value.y0+a.value.y)+"px";var d=b.y.magnitude.invert(b.element.offsetHeight-e);this.element.appendChild(c);var f=document.createElement("div");f.className="dot",f.style.top=c.style.top,this.element.appendChild(f),d>a.value.y0&&d<a.value.y0+a.value.y&&!g&&(g=c,c.className="item active",f.className="dot active")},this),this.show()}},Rickshaw.namespace("Rickshaw.Graph.JSONP"),Rickshaw.Graph.JSONP=function(a){var b=this;this.dataURL=a.dataURL,$.ajax({url:this.dataURL,dataType:"jsonp",success:function(c,d,e){d==="error"&&console.log("error loading dataURL: "+this.dataURL);if(typeof a.onData=="function"){var f=a.onData(c);c=f}a.series?a.series.forEach(function(a){var b=a.key||a.name;if(!b)throw"series needs a key or a name";c.forEach(function(c){var d=c.key||c.name;if(!d)throw"data needs a key or a name";if(b==d){var e=["color","name","data"];e.forEach(function(b){a[b]=a[b]||c[b]})}})}):a.series=c,b.graph=new Rickshaw.Graph(a),b.graph.render(),typeof a.onComplete=="function"&&a.onComplete(b)}})},Rickshaw.namespace("Rickshaw.Graph.Legend"),Rickshaw.Graph.Legend=function(a){var b=this.element=a.element,c=this.graph=a.graph,d=this;b.classList.add("rickshaw_legend");var e=this.list=document.createElement("ul");b.appendChild(e);var f=c.series.map(function(a){return a}).reverse();this.lines=[],this.addLine=function(a){var b=document.createElement("li");b.className="line";var c=document.createElement("div");c.className="swatch",c.style.backgroundColor=a.color,b.appendChild(c);var f=document.createElement("span");f.className="label",f.innerHTML=a.name,b.appendChild(f),e.appendChild(b),b.series=a,a.noLegend&&(b.style.display="none");var g={element:b,series:a};d.shelving&&(d.shelving.addAnchor(g),d.shelving.updateBehaviour()),d.highlighter&&d.highlighter.addHighlightEvents(g),d.lines.push(g)},f.forEach(function(a){d.addLine(a)}),c.onUpdate(function(){})},Rickshaw.namespace("Rickshaw.Graph.RangeSlider"),Rickshaw.Graph.RangeSlider=function(a){var b=this.element=a.element,c=this.graph=a.graph;$(function(){$(b).slider({range:!0,min:c.dataDomain()[0],max:c.dataDomain()[1],values:[c.dataDomain()[0],c.dataDomain()[1]],slide:function(a,b){c.window.xMin=b.values[0],c.window.xMax=b.values[1],c.update(),c.dataDomain()[0]==b.values[0]&&(c.window.xMin=undefined),c.dataDomain()[1]==b.values[1]&&(c.window.xMax=undefined)}})}),b[0].style.width=c.width+"px",c.onUpdate(function(){var a=$(b).slider("option","values");$(b).slider("option","min",c.dataDomain()[0]),$(b).slider("option","max",c.dataDomain()[1]),c.window.xMin==undefined&&(a[0]=c.dataDomain()[0]),c.window.xMax==undefined&&(a[1]=c.dataDomain()[1]),$(b).slider("option","values",a)})},Rickshaw.namespace("Rickshaw.Graph.Renderer.Line"),Rickshaw.Graph.Renderer.Line=function(a){var b=this.graph=a.graph,c=this;this.name="line",this.unstack=!0,b.unstacker=b.unstacker||new Rickshaw.Graph.Unstacker({graph:b}),this.seriesPathFactory=function(){return d3.svg.line().x(function(a){return b.x(a.x)}).y(function(a){return b.y(a.y)}).interpolate(this.graph.interpolation).tension(.8)},this.domain=function(){var a=[],c=b.stackedData||b.stackData();c.forEach(function(b){b.forEach(function(b){a.push(b.y)})});var d=c[0][0].x,e=c[0][c[0].length-1].x,f=0,g=d3.max(a);return{x:[d,e],y:[f,g]}},this.render=function(){b.vis.selectAll("*").remove();var a=this.graph.vis.selectAll("path").data(this.graph.stackedData).enter().append("svg:path").attr("d",this.seriesPathFactory()),d=0;b.series.forEach(function(b){if(b.disabled)return;b.path=a[0][d++],c._styleSeries(b)})},this._styleSeries=function(a){a.path.setAttribute("fill","none"),a.path.setAttribute("stroke",a.color),a.path.setAttribute("stroke-width",2)}},Rickshaw.namespace("Rickshaw.Graph.Renderer.Stack"),Rickshaw.Graph.Renderer.Stack=function(a){var b=this.graph=a.graph,c=this;this.name="stack",this.seriesPathFactory=function(){return d3.svg.area().x(function(a){return b.x(a.x)}).y0(function(a){return b.y(a.y0)}).y1(function(a){return b.y(a.y+a.y0)}).interpolate(this.graph.interpolation).tension(.8)},this.domain=function(){var a=b.stackedData||b.stackData(),c=a.slice(-1).shift(),d=a[0][0].x,e=a[0][a[0].length-1].x,f=0,g=d3.max(c,function(a){return a.y+a.y0});return{x:[d,e],y:[f,g]}},this.render=function(){b.vis.selectAll("*").remove();var a=b.vis.selectAll("path").data(b.stackedData).enter().append("svg:path").attr("d",this.seriesPathFactory()),d=0;b.series.forEach(function(b){if(b.disabled)return;b.path=a[0][d++],c._styleSeries(b)})},this._styleSeries=function(a){if(!a.path)return;a.path.setAttribute("fill",a.color),a.path.setAttribute("stroke-width",2),a.path.setAttribute("class",a.className)}},Rickshaw.namespace("Rickshaw.Graph.Renderer.Bar"),Rickshaw.Graph.Renderer.Bar=function(a){var b=this.graph=a.graph,c=this;this.name="bar",this.gapSize=a.gapSize||.05,this.domain=function(){var a=b.stackedData||b.stackData(),c=a.slice(-1).shift(),d=a[0][0].x,e=a[0][a[0].length-1].x,f=0,g=d3.max(c,function(a){return a.y+a.y0});return this._barWidth=null,{x:[d,e],y:[f,g]}},this.barWidth=function(){if(this._barWidth)return this._barWidth;var a=b.stackedData||b.stackData(),c=a.slice(-1).shift(),d={};for(var e=0;e<c.length-1;e++){var f=c[e+1].x-c[e].x;d[f]=d[f]||0,d[f]++}var g={count:0};return d3.keys(d).forEach(function(a){g.count<d[a]&&(g={count:d[a],magnitude:a})}),this._barWidth=this.graph.x(c[0].x+g.magnitude*(1-this.gapSize)),this._barWidth},this.render=function(){b.vis.selectAll("*").remove();var a=this.barWidth();b.series.forEach(function(c){if(c.disabled)return;var d=b.vis.selectAll("path").data(c.stack).enter().append("svg:rect").attr("x",function(a){return b.x(a.x)}).attr("y",function(a){return b.y(a.y0+a.y)}).attr("width",a).attr("height",function(a){return b.y.magnitude(a.y)});Array.prototype.forEach.call(d[0],function(a){a.setAttribute("fill",c.color)})})},this._styleSeries=function(a){if(!a.path)return;a.path.setAttribute("fill",a.color),a.path.setAttribute("stroke-width",2),a.path.setAttribute("class",a.className)}},Rickshaw.namespace("Rickshaw.Graph.Smoother"),Rickshaw.Graph.Smoother=function(a){this.graph=a.graph,this.element=a.element;var b=this;this.aggregationScale=1,this.element&&$(function(){$(b.element).slider({min:1,max:100,slide:function(a,c){b.setScale(c.value),b.graph.update()}})}),b.graph.stackData.hooks.data.push({name:"smoother",orderPosition:50,f:function(a){var c=[];return a.forEach(function(a){var d=[];while(a.length){var e=0,f=0,g=a.splice(0,b.aggregationScale);g.forEach(function(a){e+=a.x/g.length,f+=a.y/g.length}),d.push({x:e,y:f})}c.push(d)}),c}}),this.setScale=function(a){if(a<1)throw"scale out of range: "+a;this.aggregationScale=a,this.graph.update()}},Rickshaw.namespace("Rickshaw.Graph.Unstacker"),Rickshaw.Graph.Unstacker=function(a){this.graph=a.graph;var b=this;this.graph.stackData.hooks.after.push({name:"unstacker",f:function(a){return b.graph.renderer.unstack?(a.forEach(function(a){a.forEach(function(a){a.y0=0})}),a):a}})},Rickshaw.namespace("Rickshaw.Series"),Rickshaw.Series=function(a){var b=this;this.initialize=function(a,c,d){d=d||{},b.palette=new Rickshaw.Color.Palette(c),b.timeBase=typeof d.timeBase=="undefined"?Math.floor((new Date).getTime()/1e3):d.timeBase,a&&typeof a=="object"&&a instanceof Array&&a.forEach(function(a){b.addItem(a)})},this.addItem=function(a){if(typeof a.name=="undefined")throw"addItem() needs a name";a.color=a.color||b.palette.color(),a.data=a.data||[],a.data.length==0&&b.getIndex()>0?b[0].data.forEach(function(b){a.data.push({x:b.x,y:0})}):a.data.push({x:b.timeBase,y:0}),b.push(a),b.legend&&b.legend.addLine(b.itemByName(a.name))},this.addData=function(a){var c=this.getIndex();Rickshaw.keys(a).forEach(function(a){b.itemByName(a)||b.addItem({name:a})}),b.forEach(function(d){d.data.push({x:(c*b.timeInterval||1)+b.timeBase,y:a[d.name]||0})})},this.getIndex=function(){return b[0]&&b[0].data&&b[0].data.length?b[0].data.length:0},this.itemByName=function(a){var c;return b.forEach(function(b){b.name==a&&(c=b)}),c},this.setTimeInterval=function(a){b.timeInterval=parseInt(a/1e3)},this.setTimeBase=function(a){b.timeBase=a},this.dump=function(){var a={timeBase:b.timeBase,timeInterval:b.timeInterval,items:[]};return b.forEach(function(b){var c={color:b.color,name:b.name,data:[]};b.data.forEach(function(a){c.data.push({x:a.x,y:a.y})}),a.items.push(c)}),a},this.load=function(a){a.timeInterval&&(b.timeInterval=a.timeInterval),a.timeBase&&(b.timeBase=a.timeBase),a.items&&a.items.forEach(function(a){b.push(a),b.legend&&b.legend.addLine(b.itemByName(a.name))})},this.initialize(a)},Rickshaw.Series.prototype=new Array,Rickshaw.Series.zeroFill=function(a){var b,c=0,d=a.map(function(a){return a.data});while(c<Math.max.apply(null,d.map(function(a){return a.length})))b=Math.min.apply(null,d.filter(function(a){return a[c]}).map(function(a){return a[c].x})),d.forEach(function(a){(!a[c]||a[c].x!=b)&&a.splice(c,0,{x:b,y:0})}),c++};
|
@@ -1,59 +1,25 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
var
|
5
|
-
type: 'pie',
|
6
|
-
width: '100px',
|
7
|
-
height: '100px',
|
8
|
-
offset: -90
|
9
|
-
};
|
1
|
+
var fullLiveGraph = new Graph('#full_live_graph.stats', ['Full', 'Live'], 4);
|
2
|
+
var resultsGraph = new Graph('#results_graph.stats', ['1 result', '2 results', '3 results', '4 or more results', '100 or more results', '1000 or more results', 'no results'], 7);
|
3
|
+
var speedGraph = new Graph('#speed_graph.stats', ['quick (< 0.001s)', 'normal', 'slow (> 0.1s)', 'very slow (> 1s)'], 10);
|
4
|
+
var offsetsGraph = new Graph('#offset_graph.stats', ['with offset', 'without offset'], 3);
|
10
5
|
|
11
6
|
function updateFullLive(data) {
|
12
|
-
|
13
|
-
data["full"]["total"],
|
14
|
-
data["live"]["total"]
|
15
|
-
];
|
16
|
-
pieOptions['sliceColors'] = ['#000000','#999999'];
|
17
|
-
$('#full_live_graph .inlinesparkline').sparkline(values, pieOptions);
|
18
|
-
$('#full_live_graph .legend .full').html(data["full"]["total"]);
|
19
|
-
$('#full_live_graph .legend .live').html(data["live"]["total"]);
|
20
|
-
$('#full_live_graph .legend .total').html(parseInt(data["full"]["total"], 10) + parseInt(data["live"]["total"], 10));
|
7
|
+
fullLiveGraph.update([
|
8
|
+
parseInt(data["full"]["total"], 10),
|
9
|
+
parseInt(data["live"]["total"], 10)
|
10
|
+
]);
|
21
11
|
};
|
22
12
|
|
23
13
|
function updateResults(data) {
|
24
|
-
|
25
|
-
data["full"]["totals"][1],
|
26
|
-
data["full"]["totals"][2],
|
27
|
-
data["full"]["totals"][3],
|
28
|
-
data["full"]["totals"]['4+'],
|
29
|
-
data["full"]["totals"]['100+'],
|
30
|
-
data["full"]["totals"]['1000+'],
|
31
|
-
data["full"]["totals"][0]
|
32
|
-
];
|
33
|
-
pieOptions['sliceColors'] = ['#66CC00','#669900','#666600','#996600','#FF9900','#FF9933','#CC0000'];
|
34
|
-
$('#results_graph .inlinesparkline').sparkline(values, pieOptions);
|
35
|
-
$('#results_graph .legend .result1').html(data["full"]["totals"][1]);
|
36
|
-
$('#results_graph .legend .result2').html(data["full"]["totals"][2]);
|
37
|
-
$('#results_graph .legend .result3').html(data["full"]["totals"][3]);
|
38
|
-
$('#results_graph .legend .result4plus').html(data["full"]["totals"]['4+']);
|
39
|
-
$('#results_graph .legend .result100plus').html(data["full"]["totals"]['100+']);
|
40
|
-
$('#results_graph .legend .result1000plus').html(data["full"]["totals"]['1000+']);
|
41
|
-
$('#results_graph .legend .result0').html(data["full"]["totals"][0]);
|
42
|
-
};
|
43
|
-
|
44
|
-
function updateOffset(data) {
|
45
|
-
var withOffset = parseInt(data["full"]["offset"], 10);
|
46
|
-
var total = parseInt(data["full"]["total"], 10);
|
47
|
-
var withoutOffset = total - withOffset;
|
48
|
-
|
49
|
-
var values = [
|
50
|
-
withOffset,
|
51
|
-
withoutOffset
|
52
|
-
];
|
53
|
-
pieOptions['sliceColors'] = ['#000000','#999999'];
|
54
|
-
$('#offset_graph .inlinesparkline').sparkline(values, pieOptions);
|
55
|
-
$('#offset_graph .legend .with_offset').html(withOffset);
|
56
|
-
$('#offset_graph .legend .without_offset').html(withoutOffset);
|
14
|
+
resultsGraph.update([
|
15
|
+
parseInt(data["full"]["totals"][1], 10),
|
16
|
+
parseInt(data["full"]["totals"][2], 10),
|
17
|
+
parseInt(data["full"]["totals"][3], 10),
|
18
|
+
parseInt(data["full"]["totals"]['4+'], 10),
|
19
|
+
parseInt(data["full"]["totals"]['100+'], 10),
|
20
|
+
parseInt(data["full"]["totals"]['1000+'], 10),
|
21
|
+
parseInt(data["full"]["totals"][0], 10)
|
22
|
+
]);
|
57
23
|
};
|
58
24
|
|
59
25
|
function updateSpeed(data) {
|
@@ -62,14 +28,23 @@ function updateSpeed(data) {
|
|
62
28
|
var long_running = parseInt(data["full"]["long_running"], 10);
|
63
29
|
var very_long_running = parseInt(data["full"]["very_long_running"], 10);
|
64
30
|
|
65
|
-
|
31
|
+
speedGraph.update([
|
66
32
|
quick,
|
67
33
|
(total - quick - long_running - very_long_running),
|
68
34
|
long_running,
|
69
35
|
very_long_running
|
70
|
-
];
|
71
|
-
|
72
|
-
|
36
|
+
]);
|
37
|
+
};
|
38
|
+
|
39
|
+
function updateOffset(data) {
|
40
|
+
var withOffset = parseInt(data["full"]["offset"], 10);
|
41
|
+
var total = parseInt(data["full"]["total"], 10);
|
42
|
+
var withoutOffset = total - withOffset;
|
43
|
+
|
44
|
+
offsetsGraph.update([
|
45
|
+
withOffset,
|
46
|
+
withoutOffset
|
47
|
+
]);
|
73
48
|
};
|
74
49
|
|
75
50
|
var intervalUpdating = false;
|
@@ -5,50 +5,106 @@ body {
|
|
5
5
|
|
6
6
|
h1, h2, h3, h4 {
|
7
7
|
font-weight: normal;
|
8
|
-
margin: 0.5em 0em 0.5em;
|
8
|
+
margin: 0.5em 0em 0.5em;
|
9
9
|
}
|
10
10
|
h1 { font-size: 1.3em; }
|
11
11
|
h2 { font-size: 1.2em; }
|
12
12
|
h3 { font-size: 1.1em; }
|
13
13
|
h4 { font-size: 1.1em; }
|
14
14
|
|
15
|
-
|
16
|
-
|
15
|
+
input {
|
16
|
+
margin-left: 10px;
|
17
|
+
margin-right: 5px;
|
17
18
|
}
|
18
19
|
|
19
20
|
.actions {
|
20
21
|
padding: 5px;
|
22
|
+
font-size: 0.8em;
|
21
23
|
}
|
22
24
|
|
23
25
|
.stats {
|
24
|
-
float: left;
|
25
26
|
padding: 10px;
|
26
|
-
|
27
|
-
|
27
|
+
clear: both;
|
28
|
+
}
|
29
|
+
|
30
|
+
.rickshaw_legend {
|
31
|
+
float: left;
|
28
32
|
}
|
29
33
|
|
30
|
-
.
|
34
|
+
.rickshaw_legend ul {
|
35
|
+
padding: 0px;
|
36
|
+
margin: 0px;
|
37
|
+
}
|
38
|
+
|
39
|
+
.rickshaw_legend .line {
|
31
40
|
clear: both;
|
32
|
-
|
41
|
+
line-height: 140%;
|
42
|
+
padding-right: 15px;
|
33
43
|
}
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
44
|
+
|
45
|
+
.rickshaw_legend li {
|
46
|
+
padding: 0 0 0 2px;
|
47
|
+
min-width: 80px;
|
48
|
+
white-space: nowrap;
|
49
|
+
list-style-type: none;
|
50
|
+
}
|
51
|
+
|
52
|
+
.rickshaw_legend .line .swatch {
|
53
|
+
display: inline-block;
|
54
|
+
margin-right: 3px;
|
55
|
+
border-radius: 2px;
|
40
56
|
}
|
41
|
-
|
57
|
+
|
58
|
+
.rickshaw_legend .swatch {
|
59
|
+
width: 10px;
|
60
|
+
height: 10px;
|
61
|
+
border: 1px solid rgba(0, 0, 0, 0.2);
|
62
|
+
}
|
63
|
+
|
64
|
+
.rickshaw_graph {
|
42
65
|
float: left;
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
.
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
66
|
+
margin-right: 20px;
|
67
|
+
}
|
68
|
+
|
69
|
+
.rickshaw_graph .detail {
|
70
|
+
pointer-events: none;
|
71
|
+
position: relative;
|
72
|
+
top: 0;
|
73
|
+
z-index: 2;
|
74
|
+
background: rgba(0, 0, 0, 0.1);
|
75
|
+
bottom: 0;
|
76
|
+
width: 1px;
|
77
|
+
transition: opacity 0.25s linear;
|
78
|
+
-moz-transition: opacity 0.25s linear;
|
79
|
+
-o-transition: opacity 0.25s linear;
|
80
|
+
-webkit-transition: opacity 0.25s linear;
|
81
|
+
}
|
82
|
+
|
83
|
+
.rickshaw_graph .detail .item {
|
84
|
+
position: absolute;
|
85
|
+
z-index: 2;
|
86
|
+
border-radius: 3px;
|
87
|
+
padding: 0.25em;
|
88
|
+
font-size: 12px;
|
89
|
+
font-family: Arial, sans-serif;
|
90
|
+
opacity: 0;
|
91
|
+
background: rgba(0, 0, 0, 0.4);
|
92
|
+
color: white;
|
93
|
+
border: 1px solid rgba(0, 0, 0, 0.4);
|
94
|
+
margin-left: 1em;
|
95
|
+
margin-top: -1em;
|
96
|
+
white-space: nowrap;
|
97
|
+
}
|
98
|
+
|
99
|
+
|
100
|
+
.rickshaw_graph .detail .x_label {
|
101
|
+
font-family: Arial, sans-serif;
|
102
|
+
border-radius: 3px;
|
103
|
+
padding: 6px;
|
104
|
+
opacity: 0.5;
|
105
|
+
border: 1px solid #E0E0E0;
|
106
|
+
font-size: 12px;
|
107
|
+
position: absolute;
|
108
|
+
background: white;
|
109
|
+
white-space: nowrap;
|
110
|
+
}
|
@@ -4,49 +4,39 @@
|
|
4
4
|
%link{ :href => 'stylesheets/statistics.css', :media => 'screen', :rel => 'stylesheet', :type => 'text/css' }/
|
5
5
|
%script{ :src => 'javascripts/jquery-1.4.4.min.js', :type => 'text/javascript' }
|
6
6
|
%script{ :src => 'javascripts/jquery.sparkline-1.6.min.js', :type => 'text/javascript' }
|
7
|
-
%script{ :src => 'javascripts/
|
8
|
-
|
7
|
+
%script{ :src => 'javascripts/d3/d3.min.js', :type => 'text/javascript' }
|
8
|
+
%script{ :src => 'javascripts/d3/d3.layout.min.js', :type => 'text/javascript' }
|
9
|
+
%script{ :src => 'javascripts/rickshaw.js', :type => 'text/javascript' }
|
10
|
+
%script{ :src => 'javascripts/graph.js', :type => 'text/javascript' }
|
11
|
+
|
9
12
|
%body
|
10
13
|
%h1 Clam: Picky Statistics Interface.
|
11
14
|
.actions
|
12
15
|
%button{ :href => '#', :onclick => 'javascript:updateStatistics();' } Update now
|
13
16
|
|
|
14
|
-
%
|
15
|
-
%
|
16
|
-
%
|
17
|
-
%
|
18
|
-
|
19
|
-
%
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
= haml :legend, {}, :color => :red, :type => :result0, :text => 'x no results'
|
38
|
-
#speed_graph.stats
|
39
|
-
%h3 Performance
|
40
|
-
.inlinesparkline
|
41
|
-
= haml :legend, {}, :color => :green, :type => :quick, :text => 'quick (< 0.001s)'
|
42
|
-
= haml :legend, {}, :color => :darkgreen, :type => :normal, :text => 'normal'
|
43
|
-
= haml :legend, {}, :color => :orange, :type => :slow, :text => 'slow (> 0.1s)'
|
44
|
-
= haml :legend, {}, :color => :red, :type => :very_slow, :text => 'very slow (> 1s)'
|
45
|
-
#offset_graph.stats
|
46
|
-
%h3 Offsets
|
47
|
-
.inlinesparkline
|
48
|
-
= haml :legend, {}, :color => :black, :type => :with_offset, :text => 'with offset'
|
49
|
-
= haml :legend, {}, :color => :grey, :type => :without_offset, :text => 'without offset'
|
17
|
+
%input{ :type => "radio", :name => "updating", :onclick => 'javascript:stopUpdatingStatistics();' } Don't update
|
18
|
+
%input{ :type => "radio", :name => "updating", :onclick => 'javascript:updateStatisticsPeriodically(1);' } Every second
|
19
|
+
%input{ :type => "radio", :name => "updating", :onclick => 'javascript:updateStatisticsPeriodically(3);', :checked => 'checked' } Every 3 seconds
|
20
|
+
%input{ :type => "radio", :name => "updating", :onclick => 'javascript:updateStatisticsPeriodically(10);' } Every 10 seconds
|
21
|
+
%input{ :type => "radio", :name => "updating", :onclick => 'javascript:updateStatisticsPeriodically(30);'} Every 30 seconds
|
22
|
+
%input{ :type => "radio", :name => "updating", :onclick => 'javascript:updateStatisticsPeriodically(600);'} Every 5 minutes
|
23
|
+
#full_live_graph.stats
|
24
|
+
%h3 Full/Live
|
25
|
+
.graph
|
26
|
+
.legend
|
27
|
+
#results_graph.stats
|
28
|
+
%h3 Full Results
|
29
|
+
.graph
|
30
|
+
.legend
|
31
|
+
#speed_graph.stats
|
32
|
+
%h3 Full Performance
|
33
|
+
.graph
|
34
|
+
.legend
|
35
|
+
#offset_graph.stats
|
36
|
+
%h3 Full Offsets
|
37
|
+
.graph
|
38
|
+
.legend
|
39
|
+
%script{ :src => 'javascripts/statistics.js', :type => 'text/javascript' }
|
50
40
|
:javascript
|
51
41
|
updateStatistics();
|
52
|
-
|
42
|
+
updateStatisticsPeriodically(3);
|