aw-highstock_rails 7.0.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.gitignore +9 -0
- data/.travis.yml +7 -0
- data/CODE_OF_CONDUCT.md +74 -0
- data/Gemfile +6 -0
- data/Gemfile.lock +22 -0
- data/LICENSE.txt +21 -0
- data/README.md +53 -0
- data/Rakefile +10 -0
- data/aw-highstock_rails.gemspec +28 -0
- data/bin/console +14 -0
- data/bin/setup +8 -0
- data/lib/aw/highstock_rails.rb +9 -0
- data/lib/aw/highstock_rails/version.rb +5 -0
- data/vendor/assets/javascripts/highstock/css/annotations/popup.css +229 -0
- data/vendor/assets/javascripts/highstock/css/annotations/popup.scss +235 -0
- data/vendor/assets/javascripts/highstock/css/highcharts.css +890 -0
- data/vendor/assets/javascripts/highstock/css/highcharts.scss +788 -0
- data/vendor/assets/javascripts/highstock/css/stocktools/gui.css +268 -0
- data/vendor/assets/javascripts/highstock/css/stocktools/gui.scss +270 -0
- data/vendor/assets/javascripts/highstock/css/themes/dark-unica.css +951 -0
- data/vendor/assets/javascripts/highstock/css/themes/dark-unica.scss +122 -0
- data/vendor/assets/javascripts/highstock/css/themes/grid-light.css +904 -0
- data/vendor/assets/javascripts/highstock/css/themes/grid-light.scss +33 -0
- data/vendor/assets/javascripts/highstock/css/themes/sand-signika.css +920 -0
- data/vendor/assets/javascripts/highstock/css/themes/sand-signika.scss +74 -0
- data/vendor/assets/javascripts/highstock/es-modules/annotations/ControlPoint.js +130 -0
- data/vendor/assets/javascripts/highstock/es-modules/annotations/MockPoint.js +415 -0
- data/vendor/assets/javascripts/highstock/es-modules/annotations/annotations.src.js +1231 -0
- data/vendor/assets/javascripts/highstock/es-modules/annotations/controllable/ControllableCircle.js +92 -0
- data/vendor/assets/javascripts/highstock/es-modules/annotations/controllable/ControllableImage.js +101 -0
- data/vendor/assets/javascripts/highstock/es-modules/annotations/controllable/ControllableLabel.js +452 -0
- data/vendor/assets/javascripts/highstock/es-modules/annotations/controllable/ControllablePath.js +175 -0
- data/vendor/assets/javascripts/highstock/es-modules/annotations/controllable/ControllableRect.js +93 -0
- data/vendor/assets/javascripts/highstock/es-modules/annotations/controllable/controllableMixin.js +411 -0
- data/vendor/assets/javascripts/highstock/es-modules/annotations/controllable/markerMixin.js +214 -0
- data/vendor/assets/javascripts/highstock/es-modules/annotations/eventEmitterMixin.js +271 -0
- data/vendor/assets/javascripts/highstock/es-modules/annotations/navigationBindings.js +1283 -0
- data/vendor/assets/javascripts/highstock/es-modules/annotations/popup.js +1069 -0
- data/vendor/assets/javascripts/highstock/es-modules/annotations/types/CrookedLine.js +191 -0
- data/vendor/assets/javascripts/highstock/es-modules/annotations/types/ElliottWave.js +76 -0
- data/vendor/assets/javascripts/highstock/es-modules/annotations/types/Fibonacci.js +247 -0
- data/vendor/assets/javascripts/highstock/es-modules/annotations/types/InfinityLine.js +185 -0
- data/vendor/assets/javascripts/highstock/es-modules/annotations/types/Measure.js +928 -0
- data/vendor/assets/javascripts/highstock/es-modules/annotations/types/Pitchfork.js +203 -0
- data/vendor/assets/javascripts/highstock/es-modules/annotations/types/Tunnel.js +242 -0
- data/vendor/assets/javascripts/highstock/es-modules/annotations/types/VerticalLine.js +157 -0
- data/vendor/assets/javascripts/highstock/es-modules/error-messages.js +128 -0
- data/vendor/assets/javascripts/highstock/es-modules/error.js +1 -0
- data/vendor/assets/javascripts/highstock/es-modules/indicators/acceleration-bands.src.js +199 -0
- data/vendor/assets/javascripts/highstock/es-modules/indicators/accumulation-distribution.src.js +129 -0
- data/vendor/assets/javascripts/highstock/es-modules/indicators/ao.src.js +206 -0
- data/vendor/assets/javascripts/highstock/es-modules/indicators/apo.src.js +148 -0
- data/vendor/assets/javascripts/highstock/es-modules/indicators/aroon-oscillator.src.js +128 -0
- data/vendor/assets/javascripts/highstock/es-modules/indicators/aroon.src.js +173 -0
- data/vendor/assets/javascripts/highstock/es-modules/indicators/atr.src.js +151 -0
- data/vendor/assets/javascripts/highstock/es-modules/indicators/bollinger-bands.src.js +209 -0
- data/vendor/assets/javascripts/highstock/es-modules/indicators/cci.src.js +131 -0
- data/vendor/assets/javascripts/highstock/es-modules/indicators/chaikin.src.js +167 -0
- data/vendor/assets/javascripts/highstock/es-modules/indicators/cmf.src.js +246 -0
- data/vendor/assets/javascripts/highstock/es-modules/indicators/dema.src.js +191 -0
- data/vendor/assets/javascripts/highstock/es-modules/indicators/dpo.src.js +138 -0
- data/vendor/assets/javascripts/highstock/es-modules/indicators/ema.src.js +166 -0
- data/vendor/assets/javascripts/highstock/es-modules/indicators/ichimoku-kinko-hyo.src.js +850 -0
- data/vendor/assets/javascripts/highstock/es-modules/indicators/indicators.src.js +425 -0
- data/vendor/assets/javascripts/highstock/es-modules/indicators/keltner-channels.src.js +193 -0
- data/vendor/assets/javascripts/highstock/es-modules/indicators/macd.src.js +417 -0
- data/vendor/assets/javascripts/highstock/es-modules/indicators/mfi.src.js +198 -0
- data/vendor/assets/javascripts/highstock/es-modules/indicators/momentum.src.js +119 -0
- data/vendor/assets/javascripts/highstock/es-modules/indicators/natr.src.js +74 -0
- data/vendor/assets/javascripts/highstock/es-modules/indicators/pivot-points.src.js +360 -0
- data/vendor/assets/javascripts/highstock/es-modules/indicators/ppo.src.js +152 -0
- data/vendor/assets/javascripts/highstock/es-modules/indicators/price-channel.src.js +149 -0
- data/vendor/assets/javascripts/highstock/es-modules/indicators/price-envelopes.src.js +251 -0
- data/vendor/assets/javascripts/highstock/es-modules/indicators/psar.src.js +307 -0
- data/vendor/assets/javascripts/highstock/es-modules/indicators/regressions.src.js +427 -0
- data/vendor/assets/javascripts/highstock/es-modules/indicators/roc.src.js +149 -0
- data/vendor/assets/javascripts/highstock/es-modules/indicators/rsi.src.js +163 -0
- data/vendor/assets/javascripts/highstock/es-modules/indicators/stochastic.src.js +193 -0
- data/vendor/assets/javascripts/highstock/es-modules/indicators/supertrend.src.js +544 -0
- data/vendor/assets/javascripts/highstock/es-modules/indicators/tema.src.js +247 -0
- data/vendor/assets/javascripts/highstock/es-modules/indicators/trix.src.js +96 -0
- data/vendor/assets/javascripts/highstock/es-modules/indicators/volume-by-price.src.js +671 -0
- data/vendor/assets/javascripts/highstock/es-modules/indicators/vwap.src.js +189 -0
- data/vendor/assets/javascripts/highstock/es-modules/indicators/williams-r.src.js +128 -0
- data/vendor/assets/javascripts/highstock/es-modules/indicators/wma.src.js +146 -0
- data/vendor/assets/javascripts/highstock/es-modules/indicators/zigzag.src.js +221 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/highcharts-3d.src.js +17 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/highcharts-more.src.js +22 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/highstock.src.js +11 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/acceleration-bands.src.js +11 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/accumulation-distribution.src.js +11 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/ao.src.js +11 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/apo.src.js +11 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/aroon-oscillator.src.js +11 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/aroon.src.js +11 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/atr.src.js +11 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/bollinger-bands.src.js +11 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/cci.src.js +11 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/chaikin.src.js +11 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/cmf.src.js +10 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/dema.src.js +11 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/dpo.src.js +11 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/ema.src.js +11 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/ichimoku-kinko-hyo.src.js +11 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/indicators-all.src.js +49 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/indicators.src.js +11 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/keltner-channels.src.js +11 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/macd.src.js +11 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/mfi.src.js +11 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/momentum.src.js +11 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/natr.src.js +11 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/pivot-points.src.js +11 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/ppo.src.js +11 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/price-channel.src.js +11 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/price-envelopes.src.js +11 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/psar.src.js +11 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/regressions.src.js +11 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/roc.src.js +11 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/rsi.src.js +11 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/stochastic.src.js +11 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/supertrend.src.js +11 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/tema.src.js +11 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/trix.src.js +11 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/volume-by-price.src.js +11 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/vwap.src.js +11 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/williams-r.src.js +11 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/wma.src.js +11 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/zigzag.src.js +11 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/modules/accessibility.src.js +13 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/modules/annotations-advanced.src.js +20 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/modules/annotations.src.js +12 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/modules/arrow-symbols.src.js +10 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/modules/boost-canvas.src.js +11 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/modules/boost.src.js +11 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/modules/bullet.src.js +11 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/modules/current-date-indicator.src.js +10 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/modules/cylinder.src.js +10 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/modules/data.src.js +10 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/modules/datagrouping.src.js +12 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/modules/debugger.src.js +13 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/modules/dependency-wheel.src.js +10 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/modules/drag-panes.src.js +11 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/modules/draggable-points.src.js +9 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/modules/drilldown.src.js +10 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/modules/export-data.src.js +10 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/modules/exporting.src.js +10 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/modules/full-screen.src.js +11 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/modules/funnel.src.js +10 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/modules/grid-axis.src.js +10 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/modules/heatmap.src.js +11 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/modules/histogram-bellcurve.src.js +11 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/modules/item-series.src.js +11 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/modules/networkgraph.src.js +10 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/modules/no-data-to-display.src.js +11 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/modules/offline-exporting.src.js +10 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/modules/oldie-polyfills.src.js +11 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/modules/oldie.src.js +11 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/modules/overlapping-datalabels.src.js +9 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/modules/parallel-coordinates.src.js +11 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/modules/pareto.src.js +11 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/modules/pathfinder.src.js +10 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/modules/pattern-fill.src.js +11 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/modules/price-indicator.src.js +11 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/modules/sankey.src.js +10 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/modules/series-label.src.js +9 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/modules/solid-gauge.src.js +10 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/modules/sonification.src.js +12 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/modules/static-scale.src.js +10 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/modules/stock-tools.src.js +12 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/modules/stock.src.js +19 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/modules/streamgraph.src.js +10 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/modules/sunburst.src.js +10 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/modules/tilemap.src.js +10 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/modules/timeline.src.js +11 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/modules/treegrid.src.js +10 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/modules/treemap.src.js +10 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/modules/variable-pie.src.js +11 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/modules/variwide.src.js +10 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/modules/vector.src.js +10 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/modules/venn.src.js +10 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/modules/windbarb.src.js +10 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/modules/wordcloud.src.js +10 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/modules/xrange.src.js +10 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/themes/avocado.js +9 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/themes/avocado.src.js +9 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/themes/dark-blue.src.js +9 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/themes/dark-green.src.js +9 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/themes/dark-unica.src.js +9 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/themes/gray.src.js +9 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/themes/grid-light.src.js +9 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/themes/grid.src.js +9 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/themes/sand-signika.src.js +9 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/themes/skies.src.js +9 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/themes/sunset.js +9 -0
- data/vendor/assets/javascripts/highstock/es-modules/masters/themes/sunset.src.js +9 -0
- data/vendor/assets/javascripts/highstock/es-modules/mixins/ajax.js +123 -0
- data/vendor/assets/javascripts/highstock/es-modules/mixins/centered-series.js +116 -0
- data/vendor/assets/javascripts/highstock/es-modules/mixins/derived-series.js +150 -0
- data/vendor/assets/javascripts/highstock/es-modules/mixins/download-url.js +103 -0
- data/vendor/assets/javascripts/highstock/es-modules/mixins/draw-point.js +51 -0
- data/vendor/assets/javascripts/highstock/es-modules/mixins/geometry-circles.js +300 -0
- data/vendor/assets/javascripts/highstock/es-modules/mixins/geometry.js +50 -0
- data/vendor/assets/javascripts/highstock/es-modules/mixins/indicator-required.js +49 -0
- data/vendor/assets/javascripts/highstock/es-modules/mixins/multipe-lines.js +223 -0
- data/vendor/assets/javascripts/highstock/es-modules/mixins/navigation.js +59 -0
- data/vendor/assets/javascripts/highstock/es-modules/mixins/nodes.js +76 -0
- data/vendor/assets/javascripts/highstock/es-modules/mixins/on-series.js +167 -0
- data/vendor/assets/javascripts/highstock/es-modules/mixins/polygon.js +293 -0
- data/vendor/assets/javascripts/highstock/es-modules/mixins/reduce-array.js +53 -0
- data/vendor/assets/javascripts/highstock/es-modules/mixins/tree-series.js +256 -0
- data/vendor/assets/javascripts/highstock/es-modules/modules/a11y-i18n.src.js +524 -0
- data/vendor/assets/javascripts/highstock/es-modules/modules/annotations-legacy.src.js +1951 -0
- data/vendor/assets/javascripts/highstock/es-modules/modules/bellcurve.src.js +173 -0
- data/vendor/assets/javascripts/highstock/es-modules/modules/boost-canvas.src.js +732 -0
- data/vendor/assets/javascripts/highstock/es-modules/modules/boost.src.js +3730 -0
- data/vendor/assets/javascripts/highstock/es-modules/modules/bullet.src.js +361 -0
- data/vendor/assets/javascripts/highstock/es-modules/modules/cylinder.src.js +389 -0
- data/vendor/assets/javascripts/highstock/es-modules/modules/data.src.js +2417 -0
- data/vendor/assets/javascripts/highstock/es-modules/modules/debugger.src.js +109 -0
- data/vendor/assets/javascripts/highstock/es-modules/modules/dependency-wheel.src.js +199 -0
- data/vendor/assets/javascripts/highstock/es-modules/modules/drag-panes.src.js +624 -0
- data/vendor/assets/javascripts/highstock/es-modules/modules/draggable-points.src.js +2625 -0
- data/vendor/assets/javascripts/highstock/es-modules/modules/drilldown.src.js +1300 -0
- data/vendor/assets/javascripts/highstock/es-modules/modules/export-data.src.js +983 -0
- data/vendor/assets/javascripts/highstock/es-modules/modules/exporting.src.js +2149 -0
- data/vendor/assets/javascripts/highstock/es-modules/modules/full-screen.src.js +40 -0
- data/vendor/assets/javascripts/highstock/es-modules/modules/funnel.src.js +552 -0
- data/vendor/assets/javascripts/highstock/es-modules/modules/histogram.src.js +229 -0
- data/vendor/assets/javascripts/highstock/es-modules/modules/item-series.src.js +150 -0
- data/vendor/assets/javascripts/highstock/es-modules/modules/keyboard-navigation.src.js +1606 -0
- data/vendor/assets/javascripts/highstock/es-modules/modules/networkgraph/QuadTree.js +175 -0
- data/vendor/assets/javascripts/highstock/es-modules/modules/networkgraph/layouts.js +506 -0
- data/vendor/assets/javascripts/highstock/es-modules/modules/networkgraph/networkgraph.src.js +740 -0
- data/vendor/assets/javascripts/highstock/es-modules/modules/no-data-to-display.src.js +260 -0
- data/vendor/assets/javascripts/highstock/es-modules/modules/offline-exporting.src.js +710 -0
- data/vendor/assets/javascripts/highstock/es-modules/modules/oldie-polyfills.src.js +121 -0
- data/vendor/assets/javascripts/highstock/es-modules/modules/oldie.src.js +1556 -0
- data/vendor/assets/javascripts/highstock/es-modules/modules/overlapping-datalabels.src.js +250 -0
- data/vendor/assets/javascripts/highstock/es-modules/modules/parallel-coordinates.src.js +492 -0
- data/vendor/assets/javascripts/highstock/es-modules/modules/pareto.src.js +152 -0
- data/vendor/assets/javascripts/highstock/es-modules/modules/pattern-fill.src.js +607 -0
- data/vendor/assets/javascripts/highstock/es-modules/modules/price-indicator.src.js +149 -0
- data/vendor/assets/javascripts/highstock/es-modules/modules/sankey.src.js +809 -0
- data/vendor/assets/javascripts/highstock/es-modules/modules/screen-reader.src.js +954 -0
- data/vendor/assets/javascripts/highstock/es-modules/modules/series-label.src.js +1042 -0
- data/vendor/assets/javascripts/highstock/es-modules/modules/solid-gauge.src.js +486 -0
- data/vendor/assets/javascripts/highstock/es-modules/modules/sonification/Earcon.js +184 -0
- data/vendor/assets/javascripts/highstock/es-modules/modules/sonification/Instrument.js +582 -0
- data/vendor/assets/javascripts/highstock/es-modules/modules/sonification/Timeline.js +702 -0
- data/vendor/assets/javascripts/highstock/es-modules/modules/sonification/chartSonify.js +1026 -0
- data/vendor/assets/javascripts/highstock/es-modules/modules/sonification/instrumentDefinitions.js +37 -0
- data/vendor/assets/javascripts/highstock/es-modules/modules/sonification/musicalFrequencies.js +113 -0
- data/vendor/assets/javascripts/highstock/es-modules/modules/sonification/pointSonify.js +385 -0
- data/vendor/assets/javascripts/highstock/es-modules/modules/sonification/sonification.js +107 -0
- data/vendor/assets/javascripts/highstock/es-modules/modules/sonification/utilities.js +178 -0
- data/vendor/assets/javascripts/highstock/es-modules/modules/static-scale.src.js +88 -0
- data/vendor/assets/javascripts/highstock/es-modules/modules/stock-tools-bindings.js +1950 -0
- data/vendor/assets/javascripts/highstock/es-modules/modules/stock-tools-gui.js +1458 -0
- data/vendor/assets/javascripts/highstock/es-modules/modules/streamgraph.src.js +132 -0
- data/vendor/assets/javascripts/highstock/es-modules/modules/sunburst.src.js +1041 -0
- data/vendor/assets/javascripts/highstock/es-modules/modules/tilemap.src.js +769 -0
- data/vendor/assets/javascripts/highstock/es-modules/modules/timeline.src.js +750 -0
- data/vendor/assets/javascripts/highstock/es-modules/modules/treemap.src.js +1803 -0
- data/vendor/assets/javascripts/highstock/es-modules/modules/variable-pie.src.js +459 -0
- data/vendor/assets/javascripts/highstock/es-modules/modules/variwide.src.js +350 -0
- data/vendor/assets/javascripts/highstock/es-modules/modules/vector.src.js +354 -0
- data/vendor/assets/javascripts/highstock/es-modules/modules/venn.src.js +1192 -0
- data/vendor/assets/javascripts/highstock/es-modules/modules/windbarb.src.js +380 -0
- data/vendor/assets/javascripts/highstock/es-modules/modules/wordcloud.src.js +1103 -0
- data/vendor/assets/javascripts/highstock/es-modules/modules/xrange.src.js +761 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts-3d/Axis.js +669 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts-3d/Chart.js +1753 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts-3d/Column.js +437 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts-3d/Math.js +206 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts-3d/Pie.js +207 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts-3d/SVGRenderer.js +1002 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts-3d/Scatter.js +154 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts-3d/Series.js +73 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts-3d/VMLRenderer.js +62 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts-gantt/ArrowSymbols.js +198 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts-gantt/CurrentDateIndicator.js +100 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts-gantt/GanttChart.js +140 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts-gantt/GanttSeries.js +415 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts-gantt/GridAxis.js +961 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts-gantt/Pathfinder.js +1298 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts-gantt/PathfinderAlgorithms.js +816 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts-gantt/Tree.js +158 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts-gantt/TreeGrid.js +1003 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts-map/ColorAxis.js +1103 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts-map/ColorSeriesMixin.js +138 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts-map/GeoJSON.js +435 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts-map/HeatmapSeries.js +474 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts-map/Map.js +477 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts-map/MapAxis.js +124 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts-map/MapBubbleSeries.js +274 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts-map/MapLineSeries.js +143 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts-map/MapNavigation.js +357 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts-map/MapPointSeries.js +187 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts-map/MapPointer.js +132 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts-map/MapSeries.js +1294 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts-more/AreaRangeSeries.js +725 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts-more/AreaSplineRangeSeries.js +98 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts-more/BoxPlotSeries.js +617 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts-more/BubbleLegend.js +1167 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts-more/BubbleSeries.js +661 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts-more/ColumnPyramidSeries.js +288 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts-more/ColumnRangeSeries.js +278 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts-more/ErrorBarSeries.js +172 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts-more/GaugeSeries.js +618 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts-more/PackedBubbleSeries.js +567 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts-more/Pane.js +399 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts-more/Polar.js +634 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts-more/PolygonSeries.js +151 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts-more/RadialAxis.js +685 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts-more/WaterfallSeries.js +765 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts.js +684 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts/AreaSeries.js +578 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts/AreaSplineSeries.js +122 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts/Axis.js +6453 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts/BarSeries.js +153 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts/CandlestickSeries.js +358 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts/Chart.js +2307 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts/Color.js +301 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts/ColumnSeries.js +1125 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts/DataGrouping.js +1115 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts/DataLabels.js +1431 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts/DateTimeAxis.js +134 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts/Dynamics.js +1301 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts/FlagsSeries.js +739 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts/Globals.js +75 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts/Html.js +539 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts/Interaction.js +1299 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts/Legend.js +1411 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts/LogarithmicAxis.js +168 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts/MSPointer.js +176 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts/Navigator.js +2486 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts/OHLCSeries.js +412 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts/Options.js +3732 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts/OrdinalAxis.js +962 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts/PieSeries.js +1328 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts/PlotBandSeries.experimental.js +74 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts/PlotLineOrBand.js +1061 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts/Point.js +681 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts/Pointer.js +1332 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts/RangeSelector.js +2063 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts/Responsive.js +295 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts/ScatterSeries.js +278 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts/ScrollablePlotArea.js +266 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts/Scrollbar.js +1134 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts/Series.js +5864 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts/SplineSeries.js +267 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts/Stacking.js +604 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts/StockChart.js +951 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts/SvgRenderer.js +5109 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts/Tick.js +746 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts/Time.js +881 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts/Tooltip.js +1318 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts/TouchPointer.js +404 -0
- data/vendor/assets/javascripts/highstock/es-modules/parts/Utilities.js +2751 -0
- data/vendor/assets/javascripts/highstock/es-modules/themes/avocado.js +37 -0
- data/vendor/assets/javascripts/highstock/es-modules/themes/dark-blue.js +259 -0
- data/vendor/assets/javascripts/highstock/es-modules/themes/dark-green.js +261 -0
- data/vendor/assets/javascripts/highstock/es-modules/themes/dark-unica.js +220 -0
- data/vendor/assets/javascripts/highstock/es-modules/themes/gray.js +267 -0
- data/vendor/assets/javascripts/highstock/es-modules/themes/grid-light.js +81 -0
- data/vendor/assets/javascripts/highstock/es-modules/themes/grid.js +110 -0
- data/vendor/assets/javascripts/highstock/es-modules/themes/sand-signika.js +111 -0
- data/vendor/assets/javascripts/highstock/es-modules/themes/skies.js +100 -0
- data/vendor/assets/javascripts/highstock/es-modules/themes/sunset.js +36 -0
- data/vendor/assets/javascripts/highstock/highcharts-3d.js +85 -0
- data/vendor/assets/javascripts/highstock/highcharts-3d.js.map +1 -0
- data/vendor/assets/javascripts/highstock/highcharts-more.js +101 -0
- data/vendor/assets/javascripts/highstock/highcharts-more.js.map +1 -0
- data/vendor/assets/javascripts/highstock/highstock.js +583 -0
- data/vendor/assets/javascripts/highstock/highstock.js.map +1 -0
- data/vendor/assets/javascripts/highstock/indicators/acceleration-bands.js +16 -0
- data/vendor/assets/javascripts/highstock/indicators/acceleration-bands.js.map +1 -0
- data/vendor/assets/javascripts/highstock/indicators/acceleration-bands.src.js +448 -0
- data/vendor/assets/javascripts/highstock/indicators/accumulation-distribution.js +12 -0
- data/vendor/assets/javascripts/highstock/indicators/accumulation-distribution.js.map +1 -0
- data/vendor/assets/javascripts/highstock/indicators/accumulation-distribution.src.js +156 -0
- data/vendor/assets/javascripts/highstock/indicators/ao.js +13 -0
- data/vendor/assets/javascripts/highstock/indicators/ao.js.map +1 -0
- data/vendor/assets/javascripts/highstock/indicators/ao.src.js +233 -0
- data/vendor/assets/javascripts/highstock/indicators/apo.js +13 -0
- data/vendor/assets/javascripts/highstock/indicators/apo.js.map +1 -0
- data/vendor/assets/javascripts/highstock/indicators/apo.src.js +223 -0
- data/vendor/assets/javascripts/highstock/indicators/aroon-oscillator.js +15 -0
- data/vendor/assets/javascripts/highstock/indicators/aroon-oscillator.js.map +1 -0
- data/vendor/assets/javascripts/highstock/indicators/aroon-oscillator.src.js +426 -0
- data/vendor/assets/javascripts/highstock/indicators/aroon.js +16 -0
- data/vendor/assets/javascripts/highstock/indicators/aroon.js.map +1 -0
- data/vendor/assets/javascripts/highstock/indicators/aroon.src.js +423 -0
- data/vendor/assets/javascripts/highstock/indicators/atr.js +12 -0
- data/vendor/assets/javascripts/highstock/indicators/atr.js.map +1 -0
- data/vendor/assets/javascripts/highstock/indicators/atr.src.js +178 -0
- data/vendor/assets/javascripts/highstock/indicators/bollinger-bands.js +16 -0
- data/vendor/assets/javascripts/highstock/indicators/bollinger-bands.js.map +1 -0
- data/vendor/assets/javascripts/highstock/indicators/bollinger-bands.src.js +458 -0
- data/vendor/assets/javascripts/highstock/indicators/cci.js +12 -0
- data/vendor/assets/javascripts/highstock/indicators/cci.js.map +1 -0
- data/vendor/assets/javascripts/highstock/indicators/cci.src.js +158 -0
- data/vendor/assets/javascripts/highstock/indicators/chaikin.js +15 -0
- data/vendor/assets/javascripts/highstock/indicators/chaikin.js.map +1 -0
- data/vendor/assets/javascripts/highstock/indicators/chaikin.src.js +370 -0
- data/vendor/assets/javascripts/highstock/indicators/cmf.js +12 -0
- data/vendor/assets/javascripts/highstock/indicators/cmf.js.map +1 -0
- data/vendor/assets/javascripts/highstock/indicators/cmf.src.js +273 -0
- data/vendor/assets/javascripts/highstock/indicators/dema.js +13 -0
- data/vendor/assets/javascripts/highstock/indicators/dema.js.map +1 -0
- data/vendor/assets/javascripts/highstock/indicators/dema.src.js +266 -0
- data/vendor/assets/javascripts/highstock/indicators/dpo.js +12 -0
- data/vendor/assets/javascripts/highstock/indicators/dpo.js.map +1 -0
- data/vendor/assets/javascripts/highstock/indicators/dpo.src.js +166 -0
- data/vendor/assets/javascripts/highstock/indicators/ema.js +12 -0
- data/vendor/assets/javascripts/highstock/indicators/ema.js.map +1 -0
- data/vendor/assets/javascripts/highstock/indicators/ema.src.js +193 -0
- data/vendor/assets/javascripts/highstock/indicators/ichimoku-kinko-hyo.js +22 -0
- data/vendor/assets/javascripts/highstock/indicators/ichimoku-kinko-hyo.js.map +1 -0
- data/vendor/assets/javascripts/highstock/indicators/ichimoku-kinko-hyo.src.js +877 -0
- data/vendor/assets/javascripts/highstock/indicators/indicators-all.js +117 -0
- data/vendor/assets/javascripts/highstock/indicators/indicators-all.js.map +1 -0
- data/vendor/assets/javascripts/highstock/indicators/indicators-all.src.js +9389 -0
- data/vendor/assets/javascripts/highstock/indicators/indicators.js +17 -0
- data/vendor/assets/javascripts/highstock/indicators/indicators.js.map +1 -0
- data/vendor/assets/javascripts/highstock/indicators/indicators.src.js +500 -0
- data/vendor/assets/javascripts/highstock/indicators/keltner-channels.js +16 -0
- data/vendor/assets/javascripts/highstock/indicators/keltner-channels.js.map +1 -0
- data/vendor/assets/javascripts/highstock/indicators/keltner-channels.src.js +442 -0
- data/vendor/assets/javascripts/highstock/indicators/macd.js +18 -0
- data/vendor/assets/javascripts/highstock/indicators/macd.js.map +1 -0
- data/vendor/assets/javascripts/highstock/indicators/macd.src.js +444 -0
- data/vendor/assets/javascripts/highstock/indicators/mfi.js +13 -0
- data/vendor/assets/javascripts/highstock/indicators/mfi.js.map +1 -0
- data/vendor/assets/javascripts/highstock/indicators/mfi.src.js +225 -0
- data/vendor/assets/javascripts/highstock/indicators/momentum.js +12 -0
- data/vendor/assets/javascripts/highstock/indicators/momentum.js.map +1 -0
- data/vendor/assets/javascripts/highstock/indicators/momentum.src.js +146 -0
- data/vendor/assets/javascripts/highstock/indicators/natr.js +12 -0
- data/vendor/assets/javascripts/highstock/indicators/natr.js.map +1 -0
- data/vendor/assets/javascripts/highstock/indicators/natr.src.js +101 -0
- data/vendor/assets/javascripts/highstock/indicators/pivot-points.js +16 -0
- data/vendor/assets/javascripts/highstock/indicators/pivot-points.js.map +1 -0
- data/vendor/assets/javascripts/highstock/indicators/pivot-points.src.js +387 -0
- data/vendor/assets/javascripts/highstock/indicators/ppo.js +13 -0
- data/vendor/assets/javascripts/highstock/indicators/ppo.js.map +1 -0
- data/vendor/assets/javascripts/highstock/indicators/ppo.src.js +227 -0
- data/vendor/assets/javascripts/highstock/indicators/price-channel.js +16 -0
- data/vendor/assets/javascripts/highstock/indicators/price-channel.js.map +1 -0
- data/vendor/assets/javascripts/highstock/indicators/price-channel.src.js +450 -0
- data/vendor/assets/javascripts/highstock/indicators/price-envelopes.js +15 -0
- data/vendor/assets/javascripts/highstock/indicators/price-envelopes.js.map +1 -0
- data/vendor/assets/javascripts/highstock/indicators/price-envelopes.src.js +278 -0
- data/vendor/assets/javascripts/highstock/indicators/psar.js +13 -0
- data/vendor/assets/javascripts/highstock/indicators/psar.js.map +1 -0
- data/vendor/assets/javascripts/highstock/indicators/psar.src.js +334 -0
- data/vendor/assets/javascripts/highstock/indicators/regressions.js +14 -0
- data/vendor/assets/javascripts/highstock/indicators/regressions.js.map +1 -0
- data/vendor/assets/javascripts/highstock/indicators/regressions.src.js +454 -0
- data/vendor/assets/javascripts/highstock/indicators/roc.js +12 -0
- data/vendor/assets/javascripts/highstock/indicators/roc.js.map +1 -0
- data/vendor/assets/javascripts/highstock/indicators/roc.src.js +176 -0
- data/vendor/assets/javascripts/highstock/indicators/rsi.js +12 -0
- data/vendor/assets/javascripts/highstock/indicators/rsi.js.map +1 -0
- data/vendor/assets/javascripts/highstock/indicators/rsi.src.js +190 -0
- data/vendor/assets/javascripts/highstock/indicators/stochastic.js +17 -0
- data/vendor/assets/javascripts/highstock/indicators/stochastic.js.map +1 -0
- data/vendor/assets/javascripts/highstock/indicators/stochastic.src.js +494 -0
- data/vendor/assets/javascripts/highstock/indicators/supertrend.js +17 -0
- data/vendor/assets/javascripts/highstock/indicators/supertrend.js.map +1 -0
- data/vendor/assets/javascripts/highstock/indicators/supertrend.src.js +571 -0
- data/vendor/assets/javascripts/highstock/indicators/tema.js +14 -0
- data/vendor/assets/javascripts/highstock/indicators/tema.js.map +1 -0
- data/vendor/assets/javascripts/highstock/indicators/tema.src.js +322 -0
- data/vendor/assets/javascripts/highstock/indicators/trix.js +12 -0
- data/vendor/assets/javascripts/highstock/indicators/trix.js.map +1 -0
- data/vendor/assets/javascripts/highstock/indicators/trix.src.js +171 -0
- data/vendor/assets/javascripts/highstock/indicators/volume-by-price.js +21 -0
- data/vendor/assets/javascripts/highstock/indicators/volume-by-price.js.map +1 -0
- data/vendor/assets/javascripts/highstock/indicators/volume-by-price.src.js +698 -0
- data/vendor/assets/javascripts/highstock/indicators/vwap.js +12 -0
- data/vendor/assets/javascripts/highstock/indicators/vwap.js.map +1 -0
- data/vendor/assets/javascripts/highstock/indicators/vwap.src.js +216 -0
- data/vendor/assets/javascripts/highstock/indicators/williams-r.js +13 -0
- data/vendor/assets/javascripts/highstock/indicators/williams-r.js.map +1 -0
- data/vendor/assets/javascripts/highstock/indicators/williams-r.src.js +207 -0
- data/vendor/assets/javascripts/highstock/indicators/wma.js +12 -0
- data/vendor/assets/javascripts/highstock/indicators/wma.js.map +1 -0
- data/vendor/assets/javascripts/highstock/indicators/wma.src.js +173 -0
- data/vendor/assets/javascripts/highstock/indicators/zigzag.js +13 -0
- data/vendor/assets/javascripts/highstock/indicators/zigzag.js.map +1 -0
- data/vendor/assets/javascripts/highstock/indicators/zigzag.src.js +248 -0
- data/vendor/assets/javascripts/highstock/lib/canvg.js +130 -0
- data/vendor/assets/javascripts/highstock/lib/canvg.src.js +3073 -0
- data/vendor/assets/javascripts/highstock/lib/jspdf.js +283 -0
- data/vendor/assets/javascripts/highstock/lib/jspdf.src.js +21627 -0
- data/vendor/assets/javascripts/highstock/lib/rgbcolor.js +17 -0
- data/vendor/assets/javascripts/highstock/lib/rgbcolor.src.js +299 -0
- data/vendor/assets/javascripts/highstock/lib/svg2pdf.js +38 -0
- data/vendor/assets/javascripts/highstock/lib/svg2pdf.src.js +4390 -0
- data/vendor/assets/javascripts/highstock/modules/accessibility.js +73 -0
- data/vendor/assets/javascripts/highstock/modules/accessibility.js.map +1 -0
- data/vendor/assets/javascripts/highstock/modules/accessibility.src.js +3103 -0
- data/vendor/assets/javascripts/highstock/modules/annotations-advanced.js +132 -0
- data/vendor/assets/javascripts/highstock/modules/annotations-advanced.js.map +1 -0
- data/vendor/assets/javascripts/highstock/modules/annotations-advanced.src.js +8230 -0
- data/vendor/assets/javascripts/highstock/modules/annotations.js +94 -0
- data/vendor/assets/javascripts/highstock/modules/annotations.js.map +1 -0
- data/vendor/assets/javascripts/highstock/modules/annotations.src.js +6001 -0
- data/vendor/assets/javascripts/highstock/modules/arrow-symbols.js +11 -0
- data/vendor/assets/javascripts/highstock/modules/arrow-symbols.js.map +1 -0
- data/vendor/assets/javascripts/highstock/modules/arrow-symbols.src.js +225 -0
- data/vendor/assets/javascripts/highstock/modules/boost-canvas.js +23 -0
- data/vendor/assets/javascripts/highstock/modules/boost-canvas.js.map +1 -0
- data/vendor/assets/javascripts/highstock/modules/boost-canvas.src.js +756 -0
- data/vendor/assets/javascripts/highstock/modules/boost.js +65 -0
- data/vendor/assets/javascripts/highstock/modules/boost.js.map +1 -0
- data/vendor/assets/javascripts/highstock/modules/boost.src.js +3752 -0
- data/vendor/assets/javascripts/highstock/modules/bullet.js +14 -0
- data/vendor/assets/javascripts/highstock/modules/bullet.js.map +1 -0
- data/vendor/assets/javascripts/highstock/modules/bullet.src.js +388 -0
- data/vendor/assets/javascripts/highstock/modules/current-date-indicator.js +11 -0
- data/vendor/assets/javascripts/highstock/modules/current-date-indicator.js.map +1 -0
- data/vendor/assets/javascripts/highstock/modules/current-date-indicator.src.js +127 -0
- data/vendor/assets/javascripts/highstock/modules/cylinder.js +14 -0
- data/vendor/assets/javascripts/highstock/modules/cylinder.js.map +1 -0
- data/vendor/assets/javascripts/highstock/modules/cylinder.src.js +413 -0
- data/vendor/assets/javascripts/highstock/modules/data.js +37 -0
- data/vendor/assets/javascripts/highstock/modules/data.js.map +1 -0
- data/vendor/assets/javascripts/highstock/modules/data.src.js +2565 -0
- data/vendor/assets/javascripts/highstock/modules/datagrouping.js +25 -0
- data/vendor/assets/javascripts/highstock/modules/datagrouping.js.map +1 -0
- data/vendor/assets/javascripts/highstock/modules/datagrouping.src.js +1140 -0
- data/vendor/assets/javascripts/highstock/modules/debugger.js +28 -0
- data/vendor/assets/javascripts/highstock/modules/debugger.js.map +1 -0
- data/vendor/assets/javascripts/highstock/modules/debugger.src.js +267 -0
- data/vendor/assets/javascripts/highstock/modules/dependency-wheel.js +15 -0
- data/vendor/assets/javascripts/highstock/modules/dependency-wheel.js.map +1 -0
- data/vendor/assets/javascripts/highstock/modules/dependency-wheel.src.js +301 -0
- data/vendor/assets/javascripts/highstock/modules/drag-panes.js +18 -0
- data/vendor/assets/javascripts/highstock/modules/drag-panes.js.map +1 -0
- data/vendor/assets/javascripts/highstock/modules/drag-panes.src.js +649 -0
- data/vendor/assets/javascripts/highstock/modules/draggable-points.js +40 -0
- data/vendor/assets/javascripts/highstock/modules/draggable-points.js.map +1 -0
- data/vendor/assets/javascripts/highstock/modules/draggable-points.src.js +2650 -0
- data/vendor/assets/javascripts/highstock/modules/drilldown.js +29 -0
- data/vendor/assets/javascripts/highstock/modules/drilldown.js.map +1 -0
- data/vendor/assets/javascripts/highstock/modules/drilldown.src.js +1321 -0
- data/vendor/assets/javascripts/highstock/modules/export-data.js +27 -0
- data/vendor/assets/javascripts/highstock/modules/export-data.js.map +1 -0
- data/vendor/assets/javascripts/highstock/modules/export-data.src.js +1234 -0
- data/vendor/assets/javascripts/highstock/modules/exporting.js +35 -0
- data/vendor/assets/javascripts/highstock/modules/exporting.js.map +1 -0
- data/vendor/assets/javascripts/highstock/modules/exporting.src.js +2233 -0
- data/vendor/assets/javascripts/highstock/modules/full-screen.js +11 -0
- data/vendor/assets/javascripts/highstock/modules/full-screen.js.map +1 -0
- data/vendor/assets/javascripts/highstock/modules/full-screen.src.js +68 -0
- data/vendor/assets/javascripts/highstock/modules/funnel.js +14 -0
- data/vendor/assets/javascripts/highstock/modules/funnel.js.map +1 -0
- data/vendor/assets/javascripts/highstock/modules/funnel.src.js +576 -0
- data/vendor/assets/javascripts/highstock/modules/grid-axis.js +23 -0
- data/vendor/assets/javascripts/highstock/modules/grid-axis.js.map +1 -0
- data/vendor/assets/javascripts/highstock/modules/grid-axis.src.js +988 -0
- data/vendor/assets/javascripts/highstock/modules/heatmap.js +28 -0
- data/vendor/assets/javascripts/highstock/modules/heatmap.js.map +1 -0
- data/vendor/assets/javascripts/highstock/modules/heatmap.src.js +1731 -0
- data/vendor/assets/javascripts/highstock/modules/histogram-bellcurve.js +16 -0
- data/vendor/assets/javascripts/highstock/modules/histogram-bellcurve.js.map +1 -0
- data/vendor/assets/javascripts/highstock/modules/histogram-bellcurve.src.js +570 -0
- data/vendor/assets/javascripts/highstock/modules/item-series.js +13 -0
- data/vendor/assets/javascripts/highstock/modules/item-series.js.map +1 -0
- data/vendor/assets/javascripts/highstock/modules/item-series.src.js +176 -0
- data/vendor/assets/javascripts/highstock/modules/networkgraph.js +31 -0
- data/vendor/assets/javascripts/highstock/modules/networkgraph.js.map +1 -0
- data/vendor/assets/javascripts/highstock/modules/networkgraph.src.js +1348 -0
- data/vendor/assets/javascripts/highstock/modules/no-data-to-display.js +13 -0
- data/vendor/assets/javascripts/highstock/modules/no-data-to-display.js.map +1 -0
- data/vendor/assets/javascripts/highstock/modules/no-data-to-display.src.js +285 -0
- data/vendor/assets/javascripts/highstock/modules/offline-exporting.js +22 -0
- data/vendor/assets/javascripts/highstock/modules/offline-exporting.js.map +1 -0
- data/vendor/assets/javascripts/highstock/modules/offline-exporting.src.js +838 -0
- data/vendor/assets/javascripts/highstock/modules/oldie-polyfills.js +13 -0
- data/vendor/assets/javascripts/highstock/modules/oldie-polyfills.js.map +1 -0
- data/vendor/assets/javascripts/highstock/modules/oldie-polyfills.src.js +150 -0
- data/vendor/assets/javascripts/highstock/modules/oldie.js +35 -0
- data/vendor/assets/javascripts/highstock/modules/oldie.js.map +1 -0
- data/vendor/assets/javascripts/highstock/modules/oldie.src.js +1582 -0
- data/vendor/assets/javascripts/highstock/modules/overlapping-datalabels.js +9 -0
- data/vendor/assets/javascripts/highstock/modules/overlapping-datalabels.js.map +1 -0
- data/vendor/assets/javascripts/highstock/modules/overlapping-datalabels.src.js +22 -0
- data/vendor/assets/javascripts/highstock/modules/parallel-coordinates.js +18 -0
- data/vendor/assets/javascripts/highstock/modules/parallel-coordinates.js.map +1 -0
- data/vendor/assets/javascripts/highstock/modules/parallel-coordinates.src.js +517 -0
- data/vendor/assets/javascripts/highstock/modules/pareto.js +14 -0
- data/vendor/assets/javascripts/highstock/modules/pareto.js.map +1 -0
- data/vendor/assets/javascripts/highstock/modules/pareto.src.js +327 -0
- data/vendor/assets/javascripts/highstock/modules/pathfinder.js +34 -0
- data/vendor/assets/javascripts/highstock/modules/pathfinder.js.map +1 -0
- data/vendor/assets/javascripts/highstock/modules/pathfinder.src.js +2336 -0
- data/vendor/assets/javascripts/highstock/modules/pattern-fill.js +21 -0
- data/vendor/assets/javascripts/highstock/modules/pattern-fill.js.map +1 -0
- data/vendor/assets/javascripts/highstock/modules/pattern-fill.src.js +634 -0
- data/vendor/assets/javascripts/highstock/modules/price-indicator.js +13 -0
- data/vendor/assets/javascripts/highstock/modules/price-indicator.js.map +1 -0
- data/vendor/assets/javascripts/highstock/modules/price-indicator.src.js +176 -0
- data/vendor/assets/javascripts/highstock/modules/sankey.js +22 -0
- data/vendor/assets/javascripts/highstock/modules/sankey.js.map +1 -0
- data/vendor/assets/javascripts/highstock/modules/sankey.src.js +911 -0
- data/vendor/assets/javascripts/highstock/modules/series-label.js +23 -0
- data/vendor/assets/javascripts/highstock/modules/series-label.js.map +1 -0
- data/vendor/assets/javascripts/highstock/modules/series-label.src.js +1065 -0
- data/vendor/assets/javascripts/highstock/modules/solid-gauge.js +15 -0
- data/vendor/assets/javascripts/highstock/modules/solid-gauge.js.map +1 -0
- data/vendor/assets/javascripts/highstock/modules/solid-gauge.src.js +510 -0
- data/vendor/assets/javascripts/highstock/modules/sonification.js +53 -0
- data/vendor/assets/javascripts/highstock/modules/sonification.js.map +1 -0
- data/vendor/assets/javascripts/highstock/modules/sonification.src.js +3341 -0
- data/vendor/assets/javascripts/highstock/modules/static-scale.js +12 -0
- data/vendor/assets/javascripts/highstock/modules/static-scale.js.map +1 -0
- data/vendor/assets/javascripts/highstock/modules/static-scale.src.js +114 -0
- data/vendor/assets/javascripts/highstock/modules/stock-tools.js +65 -0
- data/vendor/assets/javascripts/highstock/modules/stock-tools.js.map +1 -0
- data/vendor/assets/javascripts/highstock/modules/stock-tools.src.js +3437 -0
- data/vendor/assets/javascripts/highstock/modules/stock.js +151 -0
- data/vendor/assets/javascripts/highstock/modules/stock.js.map +1 -0
- data/vendor/assets/javascripts/highstock/modules/stock.src.js +10907 -0
- data/vendor/assets/javascripts/highstock/modules/streamgraph.js +10 -0
- data/vendor/assets/javascripts/highstock/modules/streamgraph.js.map +1 -0
- data/vendor/assets/javascripts/highstock/modules/streamgraph.src.js +158 -0
- data/vendor/assets/javascripts/highstock/modules/sunburst.js +52 -0
- data/vendor/assets/javascripts/highstock/modules/sunburst.js.map +1 -0
- data/vendor/assets/javascripts/highstock/modules/sunburst.src.js +3174 -0
- data/vendor/assets/javascripts/highstock/modules/tilemap.js +26 -0
- data/vendor/assets/javascripts/highstock/modules/tilemap.js.map +1 -0
- data/vendor/assets/javascripts/highstock/modules/tilemap.src.js +1402 -0
- data/vendor/assets/javascripts/highstock/modules/timeline.js +23 -0
- data/vendor/assets/javascripts/highstock/modules/timeline.js.map +1 -0
- data/vendor/assets/javascripts/highstock/modules/timeline.src.js +778 -0
- data/vendor/assets/javascripts/highstock/modules/treegrid.js +50 -0
- data/vendor/assets/javascripts/highstock/modules/treegrid.js.map +1 -0
- data/vendor/assets/javascripts/highstock/modules/treegrid.src.js +2917 -0
- data/vendor/assets/javascripts/highstock/modules/treemap.js +39 -0
- data/vendor/assets/javascripts/highstock/modules/treemap.js.map +1 -0
- data/vendor/assets/javascripts/highstock/modules/treemap.src.js +2083 -0
- data/vendor/assets/javascripts/highstock/modules/variable-pie.js +16 -0
- data/vendor/assets/javascripts/highstock/modules/variable-pie.js.map +1 -0
- data/vendor/assets/javascripts/highstock/modules/variable-pie.src.js +485 -0
- data/vendor/assets/javascripts/highstock/modules/variwide.js +15 -0
- data/vendor/assets/javascripts/highstock/modules/variwide.js.map +1 -0
- data/vendor/assets/javascripts/highstock/modules/variwide.src.js +376 -0
- data/vendor/assets/javascripts/highstock/modules/vector.js +13 -0
- data/vendor/assets/javascripts/highstock/modules/vector.js.map +1 -0
- data/vendor/assets/javascripts/highstock/modules/vector.src.js +381 -0
- data/vendor/assets/javascripts/highstock/modules/venn.js +30 -0
- data/vendor/assets/javascripts/highstock/modules/venn.js.map +1 -0
- data/vendor/assets/javascripts/highstock/modules/venn.src.js +1624 -0
- data/vendor/assets/javascripts/highstock/modules/windbarb.js +17 -0
- data/vendor/assets/javascripts/highstock/modules/windbarb.js.map +1 -0
- data/vendor/assets/javascripts/highstock/modules/windbarb.src.js +574 -0
- data/vendor/assets/javascripts/highstock/modules/wordcloud.js +25 -0
- data/vendor/assets/javascripts/highstock/modules/wordcloud.js.map +1 -0
- data/vendor/assets/javascripts/highstock/modules/wordcloud.src.js +1475 -0
- data/vendor/assets/javascripts/highstock/modules/xrange.js +20 -0
- data/vendor/assets/javascripts/highstock/modules/xrange.js.map +1 -0
- data/vendor/assets/javascripts/highstock/modules/xrange.src.js +788 -0
- data/vendor/assets/javascripts/highstock/themes/avocado.js +9 -0
- data/vendor/assets/javascripts/highstock/themes/avocado.js.map +1 -0
- data/vendor/assets/javascripts/highstock/themes/avocado.src.js +63 -0
- data/vendor/assets/javascripts/highstock/themes/dark-blue.js +15 -0
- data/vendor/assets/javascripts/highstock/themes/dark-blue.js.map +1 -0
- data/vendor/assets/javascripts/highstock/themes/dark-blue.src.js +285 -0
- data/vendor/assets/javascripts/highstock/themes/dark-green.js +15 -0
- data/vendor/assets/javascripts/highstock/themes/dark-green.js.map +1 -0
- data/vendor/assets/javascripts/highstock/themes/dark-green.src.js +287 -0
- data/vendor/assets/javascripts/highstock/themes/dark-unica.js +14 -0
- data/vendor/assets/javascripts/highstock/themes/dark-unica.js.map +1 -0
- data/vendor/assets/javascripts/highstock/themes/dark-unica.src.js +246 -0
- data/vendor/assets/javascripts/highstock/themes/gray.js +15 -0
- data/vendor/assets/javascripts/highstock/themes/gray.js.map +1 -0
- data/vendor/assets/javascripts/highstock/themes/gray.src.js +293 -0
- data/vendor/assets/javascripts/highstock/themes/grid-light.js +11 -0
- data/vendor/assets/javascripts/highstock/themes/grid-light.js.map +1 -0
- data/vendor/assets/javascripts/highstock/themes/grid-light.src.js +107 -0
- data/vendor/assets/javascripts/highstock/themes/grid.js +11 -0
- data/vendor/assets/javascripts/highstock/themes/grid.js.map +1 -0
- data/vendor/assets/javascripts/highstock/themes/grid.src.js +136 -0
- data/vendor/assets/javascripts/highstock/themes/sand-signika.js +11 -0
- data/vendor/assets/javascripts/highstock/themes/sand-signika.js.map +1 -0
- data/vendor/assets/javascripts/highstock/themes/sand-signika.src.js +137 -0
- data/vendor/assets/javascripts/highstock/themes/skies.js +11 -0
- data/vendor/assets/javascripts/highstock/themes/skies.js.map +1 -0
- data/vendor/assets/javascripts/highstock/themes/skies.src.js +126 -0
- data/vendor/assets/javascripts/highstock/themes/sunset.js +9 -0
- data/vendor/assets/javascripts/highstock/themes/sunset.js.map +1 -0
- data/vendor/assets/javascripts/highstock/themes/sunset.src.js +62 -0
- metadata +781 -0
@@ -0,0 +1,132 @@
|
|
1
|
+
/* *
|
2
|
+
* Streamgraph module
|
3
|
+
*
|
4
|
+
* (c) 2010-2019 Torstein Honsi
|
5
|
+
*
|
6
|
+
* License: www.highcharts.com/license
|
7
|
+
*/
|
8
|
+
|
9
|
+
'use strict';
|
10
|
+
|
11
|
+
import H from '../parts/Globals.js';
|
12
|
+
import '../parts/AreaSeries.js';
|
13
|
+
|
14
|
+
var seriesType = H.seriesType;
|
15
|
+
|
16
|
+
/**
|
17
|
+
* @private
|
18
|
+
* @class
|
19
|
+
* @name Highcharts.seriesTypes.streamgraph
|
20
|
+
*
|
21
|
+
* @augments Highcharts.Series
|
22
|
+
*/
|
23
|
+
seriesType('streamgraph', 'areaspline'
|
24
|
+
|
25
|
+
/**
|
26
|
+
* A streamgraph is a type of stacked area graph which is displaced around a
|
27
|
+
* central axis, resulting in a flowing, organic shape.
|
28
|
+
*
|
29
|
+
* @sample {highcharts|highstock} highcharts/demo/streamgraph/
|
30
|
+
* Streamgraph
|
31
|
+
*
|
32
|
+
* @extends plotOptions.areaspline
|
33
|
+
* @since 6.0.0
|
34
|
+
* @product highcharts highstock
|
35
|
+
* @optionparent plotOptions.streamgraph
|
36
|
+
*/
|
37
|
+
, {
|
38
|
+
fillOpacity: 1,
|
39
|
+
lineWidth: 0,
|
40
|
+
marker: {
|
41
|
+
enabled: false
|
42
|
+
},
|
43
|
+
stacking: 'stream'
|
44
|
+
// Prototype functions
|
45
|
+
}, {
|
46
|
+
negStacks: false,
|
47
|
+
|
48
|
+
// Modifier function for stream stacks. It simply moves the point up or
|
49
|
+
// down in order to center the full stack vertically.
|
50
|
+
streamStacker: function (pointExtremes, stack, i) {
|
51
|
+
// Y bottom value
|
52
|
+
pointExtremes[0] -= stack.total / 2;
|
53
|
+
// Y value
|
54
|
+
pointExtremes[1] -= stack.total / 2;
|
55
|
+
|
56
|
+
// Record the Y data for use when getting axis extremes
|
57
|
+
this.stackedYData[i] = pointExtremes;
|
58
|
+
}
|
59
|
+
});
|
60
|
+
|
61
|
+
|
62
|
+
/**
|
63
|
+
* A `streamgraph` series. If the [type](#series.streamgraph.type) option is not
|
64
|
+
* specified, it is inherited from [chart.type](#chart.type).
|
65
|
+
*
|
66
|
+
* @extends series,plotOptions.streamgraph
|
67
|
+
* @excluding dataParser, dataURL
|
68
|
+
* @product highcharts highstock
|
69
|
+
* @apioption series.streamgraph
|
70
|
+
*/
|
71
|
+
|
72
|
+
/**
|
73
|
+
* An array of data points for the series. For the `streamgraph` series type,
|
74
|
+
* points can be given in the following ways:
|
75
|
+
*
|
76
|
+
* 1. An array of numerical values. In this case, the numerical values
|
77
|
+
* will be interpreted as `y` options. The `x` values will be automatically
|
78
|
+
* calculated, either starting at 0 and incremented by 1, or from `pointStart`
|
79
|
+
* and `pointInterval` given in the series options. If the axis has
|
80
|
+
* categories, these will be used. Example:
|
81
|
+
*
|
82
|
+
* ```js
|
83
|
+
* data: [0, 5, 3, 5]
|
84
|
+
* ```
|
85
|
+
*
|
86
|
+
* 2. An array of arrays with 2 values. In this case, the values correspond
|
87
|
+
* to `x,y`. If the first value is a string, it is applied as the name
|
88
|
+
* of the point, and the `x` value is inferred.
|
89
|
+
*
|
90
|
+
* ```js
|
91
|
+
* data: [
|
92
|
+
* [0, 9],
|
93
|
+
* [1, 7],
|
94
|
+
* [2, 6]
|
95
|
+
* ]
|
96
|
+
* ```
|
97
|
+
*
|
98
|
+
* 3. An array of objects with named values. The following snippet shows only a
|
99
|
+
* few settings, see the complete options set below. If the total number of data
|
100
|
+
* points exceeds the series' [turboThreshold](#series.area.turboThreshold),
|
101
|
+
* this option is not available.
|
102
|
+
*
|
103
|
+
* ```js
|
104
|
+
* data: [{
|
105
|
+
* x: 1,
|
106
|
+
* y: 9,
|
107
|
+
* name: "Point2",
|
108
|
+
* color: "#00FF00"
|
109
|
+
* }, {
|
110
|
+
* x: 1,
|
111
|
+
* y: 6,
|
112
|
+
* name: "Point1",
|
113
|
+
* color: "#FF00FF"
|
114
|
+
* }]
|
115
|
+
* ```
|
116
|
+
*
|
117
|
+
* @sample {highcharts} highcharts/chart/reflow-true/
|
118
|
+
* Numerical values
|
119
|
+
* @sample {highcharts} highcharts/series/data-array-of-arrays/
|
120
|
+
* Arrays of numeric x and y
|
121
|
+
* @sample {highcharts} highcharts/series/data-array-of-arrays-datetime/
|
122
|
+
* Arrays of datetime x and y
|
123
|
+
* @sample {highcharts} highcharts/series/data-array-of-name-value/
|
124
|
+
* Arrays of point.name and y
|
125
|
+
* @sample {highcharts} highcharts/series/data-array-of-objects/
|
126
|
+
* Config objects
|
127
|
+
*
|
128
|
+
* @type {Array<number|Array<(number|string),number>|*>}
|
129
|
+
* @extends series.line.data
|
130
|
+
* @product highcharts highstock
|
131
|
+
* @apioption series.streamgraph.data
|
132
|
+
*/
|
@@ -0,0 +1,1041 @@
|
|
1
|
+
/* *
|
2
|
+
*
|
3
|
+
* This module implements sunburst charts in Highcharts.
|
4
|
+
*
|
5
|
+
* (c) 2016-2019 Highsoft AS
|
6
|
+
*
|
7
|
+
* Authors: Jon Arild Nygard
|
8
|
+
*
|
9
|
+
* License: www.highcharts.com/license
|
10
|
+
*
|
11
|
+
* */
|
12
|
+
|
13
|
+
'use strict';
|
14
|
+
|
15
|
+
import H from '../parts/Globals.js';
|
16
|
+
import '../mixins/centered-series.js';
|
17
|
+
import drawPoint from '../mixins/draw-point.js';
|
18
|
+
import mixinTreeSeries from '../mixins/tree-series.js';
|
19
|
+
import '../parts/Series.js';
|
20
|
+
import './treemap.src.js';
|
21
|
+
|
22
|
+
var CenteredSeriesMixin = H.CenteredSeriesMixin,
|
23
|
+
Series = H.Series,
|
24
|
+
extend = H.extend,
|
25
|
+
getCenter = CenteredSeriesMixin.getCenter,
|
26
|
+
getColor = mixinTreeSeries.getColor,
|
27
|
+
getLevelOptions = mixinTreeSeries.getLevelOptions,
|
28
|
+
getStartAndEndRadians = CenteredSeriesMixin.getStartAndEndRadians,
|
29
|
+
isBoolean = function (x) {
|
30
|
+
return typeof x === 'boolean';
|
31
|
+
},
|
32
|
+
isNumber = H.isNumber,
|
33
|
+
isObject = H.isObject,
|
34
|
+
isString = H.isString,
|
35
|
+
merge = H.merge,
|
36
|
+
noop = H.noop,
|
37
|
+
rad2deg = 180 / Math.PI,
|
38
|
+
seriesType = H.seriesType,
|
39
|
+
seriesTypes = H.seriesTypes,
|
40
|
+
setTreeValues = mixinTreeSeries.setTreeValues,
|
41
|
+
updateRootId = mixinTreeSeries.updateRootId;
|
42
|
+
|
43
|
+
// TODO introduce step, which should default to 1.
|
44
|
+
var range = function range(from, to) {
|
45
|
+
var result = [],
|
46
|
+
i;
|
47
|
+
|
48
|
+
if (isNumber(from) && isNumber(to) && from <= to) {
|
49
|
+
for (i = from; i <= to; i++) {
|
50
|
+
result.push(i);
|
51
|
+
}
|
52
|
+
}
|
53
|
+
return result;
|
54
|
+
};
|
55
|
+
|
56
|
+
/**
|
57
|
+
* @private
|
58
|
+
* @function calculateLevelSizes
|
59
|
+
*
|
60
|
+
* @param {object} levelOptions
|
61
|
+
* Map of level to its options.
|
62
|
+
*
|
63
|
+
* @param {object} params
|
64
|
+
* Object containing number parameters `innerRadius` and `outerRadius`.
|
65
|
+
*/
|
66
|
+
var calculateLevelSizes = function calculateLevelSizes(levelOptions, params) {
|
67
|
+
var result,
|
68
|
+
p = isObject(params) ? params : {},
|
69
|
+
totalWeight = 0,
|
70
|
+
diffRadius,
|
71
|
+
levels,
|
72
|
+
levelsNotIncluded,
|
73
|
+
remainingSize,
|
74
|
+
from,
|
75
|
+
to;
|
76
|
+
|
77
|
+
if (isObject(levelOptions)) {
|
78
|
+
result = merge({}, levelOptions); // Copy levelOptions
|
79
|
+
from = isNumber(p.from) ? p.from : 0;
|
80
|
+
to = isNumber(p.to) ? p.to : 0;
|
81
|
+
levels = range(from, to);
|
82
|
+
levelsNotIncluded = Object.keys(result).filter(function (k) {
|
83
|
+
return levels.indexOf(+k) === -1;
|
84
|
+
});
|
85
|
+
diffRadius = remainingSize = isNumber(p.diffRadius) ? p.diffRadius : 0;
|
86
|
+
|
87
|
+
// Convert percentage to pixels.
|
88
|
+
// Calculate the remaining size to divide between "weight" levels.
|
89
|
+
// Calculate total weight to use in convertion from weight to pixels.
|
90
|
+
levels.forEach(function (level) {
|
91
|
+
var options = result[level],
|
92
|
+
unit = options.levelSize.unit,
|
93
|
+
value = options.levelSize.value;
|
94
|
+
|
95
|
+
if (unit === 'weight') {
|
96
|
+
totalWeight += value;
|
97
|
+
} else if (unit === 'percentage') {
|
98
|
+
options.levelSize = {
|
99
|
+
unit: 'pixels',
|
100
|
+
value: (value / 100) * diffRadius
|
101
|
+
};
|
102
|
+
remainingSize -= options.levelSize.value;
|
103
|
+
} else if (unit === 'pixels') {
|
104
|
+
remainingSize -= value;
|
105
|
+
}
|
106
|
+
});
|
107
|
+
|
108
|
+
// Convert weight to pixels.
|
109
|
+
levels.forEach(function (level) {
|
110
|
+
var options = result[level],
|
111
|
+
weight;
|
112
|
+
|
113
|
+
if (options.levelSize.unit === 'weight') {
|
114
|
+
weight = options.levelSize.value;
|
115
|
+
result[level].levelSize = {
|
116
|
+
unit: 'pixels',
|
117
|
+
value: (weight / totalWeight) * remainingSize
|
118
|
+
};
|
119
|
+
}
|
120
|
+
});
|
121
|
+
|
122
|
+
// Set all levels not included in interval [from,to] to have 0 pixels.
|
123
|
+
levelsNotIncluded.forEach(function (level) {
|
124
|
+
result[level].levelSize = {
|
125
|
+
value: 0,
|
126
|
+
unit: 'pixels'
|
127
|
+
};
|
128
|
+
});
|
129
|
+
}
|
130
|
+
return result;
|
131
|
+
};
|
132
|
+
|
133
|
+
/**
|
134
|
+
* Find a set of coordinates given a start coordinates, an angle, and a
|
135
|
+
* distance.
|
136
|
+
*
|
137
|
+
* @private
|
138
|
+
* @function getEndPoint
|
139
|
+
*
|
140
|
+
* @param {number} x
|
141
|
+
* Start coordinate x
|
142
|
+
*
|
143
|
+
* @param {number} y
|
144
|
+
* Start coordinate y
|
145
|
+
*
|
146
|
+
* @param {number} angle
|
147
|
+
* Angle in radians
|
148
|
+
*
|
149
|
+
* @param {number} distance
|
150
|
+
* Distance from start to end coordinates
|
151
|
+
*
|
152
|
+
* @return {Highcharts.SVGAttributes}
|
153
|
+
* Returns the end coordinates, x and y.
|
154
|
+
*/
|
155
|
+
var getEndPoint = function getEndPoint(x, y, angle, distance) {
|
156
|
+
return {
|
157
|
+
x: x + (Math.cos(angle) * distance),
|
158
|
+
y: y + (Math.sin(angle) * distance)
|
159
|
+
};
|
160
|
+
};
|
161
|
+
|
162
|
+
var layoutAlgorithm = function layoutAlgorithm(parent, children, options) {
|
163
|
+
var startAngle = parent.start,
|
164
|
+
range = parent.end - startAngle,
|
165
|
+
total = parent.val,
|
166
|
+
x = parent.x,
|
167
|
+
y = parent.y,
|
168
|
+
radius = (
|
169
|
+
(
|
170
|
+
options &&
|
171
|
+
isObject(options.levelSize) &&
|
172
|
+
isNumber(options.levelSize.value)
|
173
|
+
) ?
|
174
|
+
options.levelSize.value :
|
175
|
+
0
|
176
|
+
),
|
177
|
+
innerRadius = parent.r,
|
178
|
+
outerRadius = innerRadius + radius,
|
179
|
+
slicedOffset = options && isNumber(options.slicedOffset) ?
|
180
|
+
options.slicedOffset :
|
181
|
+
0;
|
182
|
+
|
183
|
+
return (children || []).reduce(function (arr, child) {
|
184
|
+
var percentage = (1 / total) * child.val,
|
185
|
+
radians = percentage * range,
|
186
|
+
radiansCenter = startAngle + (radians / 2),
|
187
|
+
offsetPosition = getEndPoint(x, y, radiansCenter, slicedOffset),
|
188
|
+
values = {
|
189
|
+
x: child.sliced ? offsetPosition.x : x,
|
190
|
+
y: child.sliced ? offsetPosition.y : y,
|
191
|
+
innerR: innerRadius,
|
192
|
+
r: outerRadius,
|
193
|
+
radius: radius,
|
194
|
+
start: startAngle,
|
195
|
+
end: startAngle + radians
|
196
|
+
};
|
197
|
+
|
198
|
+
arr.push(values);
|
199
|
+
startAngle = values.end;
|
200
|
+
return arr;
|
201
|
+
}, []);
|
202
|
+
};
|
203
|
+
|
204
|
+
var getDlOptions = function getDlOptions(params) {
|
205
|
+
// Set options to new object to avoid problems with scope
|
206
|
+
var point = params.point,
|
207
|
+
shape = isObject(params.shapeArgs) ? params.shapeArgs : {},
|
208
|
+
optionsPoint = (
|
209
|
+
isObject(params.optionsPoint) ?
|
210
|
+
params.optionsPoint.dataLabels :
|
211
|
+
{}
|
212
|
+
),
|
213
|
+
optionsLevel = (
|
214
|
+
isObject(params.level) ?
|
215
|
+
params.level.dataLabels :
|
216
|
+
{}
|
217
|
+
),
|
218
|
+
options = merge({
|
219
|
+
style: {}
|
220
|
+
}, optionsLevel, optionsPoint),
|
221
|
+
rotationRad,
|
222
|
+
rotation,
|
223
|
+
rotationMode = options.rotationMode;
|
224
|
+
|
225
|
+
if (!isNumber(options.rotation)) {
|
226
|
+
if (rotationMode === 'auto') {
|
227
|
+
if (
|
228
|
+
point.innerArcLength < 1 &&
|
229
|
+
point.outerArcLength > shape.radius
|
230
|
+
) {
|
231
|
+
rotationRad = 0;
|
232
|
+
} else if (
|
233
|
+
point.innerArcLength > 1 &&
|
234
|
+
point.outerArcLength > 1.5 * shape.radius
|
235
|
+
) {
|
236
|
+
rotationMode = 'parallel';
|
237
|
+
} else {
|
238
|
+
rotationMode = 'perpendicular';
|
239
|
+
}
|
240
|
+
}
|
241
|
+
|
242
|
+
if (rotationMode !== 'auto') {
|
243
|
+
rotationRad = (shape.end - (shape.end - shape.start) / 2);
|
244
|
+
}
|
245
|
+
|
246
|
+
if (rotationMode === 'parallel') {
|
247
|
+
options.style.width = Math.min(
|
248
|
+
shape.radius * 2.5,
|
249
|
+
(point.outerArcLength + point.innerArcLength) / 2
|
250
|
+
);
|
251
|
+
} else {
|
252
|
+
options.style.width = shape.radius;
|
253
|
+
}
|
254
|
+
|
255
|
+
if (
|
256
|
+
rotationMode === 'perpendicular' &&
|
257
|
+
point.series.chart.renderer.fontMetrics(options.style.fontSize).h >
|
258
|
+
point.outerArcLength
|
259
|
+
) {
|
260
|
+
options.style.width = 1;
|
261
|
+
}
|
262
|
+
|
263
|
+
// Apply padding (#8515)
|
264
|
+
options.style.width = Math.max(
|
265
|
+
options.style.width - 2 * (options.padding || 0),
|
266
|
+
1
|
267
|
+
);
|
268
|
+
|
269
|
+
rotation = (rotationRad * rad2deg) % 180;
|
270
|
+
if (rotationMode === 'parallel') {
|
271
|
+
rotation -= 90;
|
272
|
+
}
|
273
|
+
|
274
|
+
// Prevent text from rotating upside down
|
275
|
+
if (rotation > 90) {
|
276
|
+
rotation -= 180;
|
277
|
+
} else if (rotation < -90) {
|
278
|
+
rotation += 180;
|
279
|
+
}
|
280
|
+
|
281
|
+
options.rotation = rotation;
|
282
|
+
}
|
283
|
+
// NOTE: alignDataLabel positions the data label differntly when rotation is
|
284
|
+
// 0. Avoiding this by setting rotation to a small number.
|
285
|
+
if (options.rotation === 0) {
|
286
|
+
options.rotation = 0.001;
|
287
|
+
}
|
288
|
+
return options;
|
289
|
+
};
|
290
|
+
|
291
|
+
var getAnimation = function getAnimation(shape, params) {
|
292
|
+
var point = params.point,
|
293
|
+
radians = params.radians,
|
294
|
+
innerR = params.innerR,
|
295
|
+
idRoot = params.idRoot,
|
296
|
+
idPreviousRoot = params.idPreviousRoot,
|
297
|
+
shapeExisting = params.shapeExisting,
|
298
|
+
shapeRoot = params.shapeRoot,
|
299
|
+
shapePreviousRoot = params.shapePreviousRoot,
|
300
|
+
visible = params.visible,
|
301
|
+
from = {},
|
302
|
+
to = {
|
303
|
+
end: shape.end,
|
304
|
+
start: shape.start,
|
305
|
+
innerR: shape.innerR,
|
306
|
+
r: shape.r,
|
307
|
+
x: shape.x,
|
308
|
+
y: shape.y
|
309
|
+
};
|
310
|
+
|
311
|
+
if (visible) {
|
312
|
+
// Animate points in
|
313
|
+
if (!point.graphic && shapePreviousRoot) {
|
314
|
+
if (idRoot === point.id) {
|
315
|
+
from = {
|
316
|
+
start: radians.start,
|
317
|
+
end: radians.end
|
318
|
+
};
|
319
|
+
} else {
|
320
|
+
from = (shapePreviousRoot.end <= shape.start) ? {
|
321
|
+
start: radians.end,
|
322
|
+
end: radians.end
|
323
|
+
} : {
|
324
|
+
start: radians.start,
|
325
|
+
end: radians.start
|
326
|
+
};
|
327
|
+
}
|
328
|
+
// Animate from center and outwards.
|
329
|
+
from.innerR = from.r = innerR;
|
330
|
+
}
|
331
|
+
} else {
|
332
|
+
// Animate points out
|
333
|
+
if (point.graphic) {
|
334
|
+
if (idPreviousRoot === point.id) {
|
335
|
+
to = {
|
336
|
+
innerR: innerR,
|
337
|
+
r: innerR
|
338
|
+
};
|
339
|
+
} else if (shapeRoot) {
|
340
|
+
to = (shapeRoot.end <= shapeExisting.start) ?
|
341
|
+
{
|
342
|
+
innerR: innerR,
|
343
|
+
r: innerR,
|
344
|
+
start: radians.end,
|
345
|
+
end: radians.end
|
346
|
+
} : {
|
347
|
+
innerR: innerR,
|
348
|
+
r: innerR,
|
349
|
+
start: radians.start,
|
350
|
+
end: radians.start
|
351
|
+
};
|
352
|
+
}
|
353
|
+
}
|
354
|
+
}
|
355
|
+
return {
|
356
|
+
from: from,
|
357
|
+
to: to
|
358
|
+
};
|
359
|
+
};
|
360
|
+
|
361
|
+
var getDrillId = function getDrillId(point, idRoot, mapIdToNode) {
|
362
|
+
var drillId,
|
363
|
+
node = point.node,
|
364
|
+
nodeRoot;
|
365
|
+
|
366
|
+
if (!node.isLeaf) {
|
367
|
+
// When it is the root node, the drillId should be set to parent.
|
368
|
+
if (idRoot === point.id) {
|
369
|
+
nodeRoot = mapIdToNode[idRoot];
|
370
|
+
drillId = nodeRoot.parent;
|
371
|
+
} else {
|
372
|
+
drillId = point.id;
|
373
|
+
}
|
374
|
+
}
|
375
|
+
return drillId;
|
376
|
+
};
|
377
|
+
|
378
|
+
var cbSetTreeValuesBefore = function before(node, options) {
|
379
|
+
var mapIdToNode = options.mapIdToNode,
|
380
|
+
nodeParent = mapIdToNode[node.parent],
|
381
|
+
series = options.series,
|
382
|
+
chart = series.chart,
|
383
|
+
points = series.points,
|
384
|
+
point = points[node.i],
|
385
|
+
colorInfo = getColor(node, {
|
386
|
+
colors: chart && chart.options && chart.options.colors,
|
387
|
+
colorIndex: series.colorIndex,
|
388
|
+
index: options.index,
|
389
|
+
mapOptionsToLevel: options.mapOptionsToLevel,
|
390
|
+
parentColor: nodeParent && nodeParent.color,
|
391
|
+
parentColorIndex: nodeParent && nodeParent.colorIndex,
|
392
|
+
series: options.series,
|
393
|
+
siblings: options.siblings
|
394
|
+
});
|
395
|
+
|
396
|
+
node.color = colorInfo.color;
|
397
|
+
node.colorIndex = colorInfo.colorIndex;
|
398
|
+
if (point) {
|
399
|
+
point.color = node.color;
|
400
|
+
point.colorIndex = node.colorIndex;
|
401
|
+
// Set slicing on node, but avoid slicing the top node.
|
402
|
+
node.sliced = (node.id !== options.idRoot) ? point.sliced : false;
|
403
|
+
}
|
404
|
+
return node;
|
405
|
+
};
|
406
|
+
|
407
|
+
/**
|
408
|
+
* A Sunburst displays hierarchical data, where a level in the hierarchy is
|
409
|
+
* represented by a circle. The center represents the root node of the tree.
|
410
|
+
* The visualization bears a resemblance to both treemap and pie charts.
|
411
|
+
*
|
412
|
+
* @sample highcharts/demo/sunburst
|
413
|
+
* Sunburst chart
|
414
|
+
*
|
415
|
+
* @extends plotOptions.pie
|
416
|
+
* @excluding allAreas, clip, colorAxis, compare, compareBase, dataGrouping,
|
417
|
+
* depth, endAngle, gapSize, gapUnit, ignoreHiddenPoint,
|
418
|
+
* innerSize, joinBy, legendType, linecap, minSize,
|
419
|
+
* navigatorOptions, pointRange
|
420
|
+
* @product highcharts
|
421
|
+
* @optionparent plotOptions.sunburst
|
422
|
+
*/
|
423
|
+
var sunburstOptions = {
|
424
|
+
|
425
|
+
/**
|
426
|
+
* Set options on specific levels. Takes precedence over series options,
|
427
|
+
* but not point options.
|
428
|
+
*
|
429
|
+
* @sample highcharts/demo/sunburst
|
430
|
+
* Sunburst chart
|
431
|
+
*
|
432
|
+
* @type {Array<*>}
|
433
|
+
* @apioption plotOptions.sunburst.levels
|
434
|
+
*/
|
435
|
+
|
436
|
+
/**
|
437
|
+
* Can set a `borderColor` on all points which lies on the same level.
|
438
|
+
*
|
439
|
+
* @type {Highcharts.ColorString}
|
440
|
+
* @apioption plotOptions.sunburst.levels.borderColor
|
441
|
+
*/
|
442
|
+
|
443
|
+
/**
|
444
|
+
* Can set a `borderWidth` on all points which lies on the same level.
|
445
|
+
*
|
446
|
+
* @type {number}
|
447
|
+
* @apioption plotOptions.sunburst.levels.borderWidth
|
448
|
+
*/
|
449
|
+
|
450
|
+
/**
|
451
|
+
* Can set a `borderDashStyle` on all points which lies on the same level.
|
452
|
+
*
|
453
|
+
* @type {string}
|
454
|
+
* @apioption plotOptions.sunburst.levels.borderDashStyle
|
455
|
+
*/
|
456
|
+
|
457
|
+
/**
|
458
|
+
* Can set a `color` on all points which lies on the same level.
|
459
|
+
*
|
460
|
+
* @type {Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject}
|
461
|
+
* @apioption plotOptions.sunburst.levels.color
|
462
|
+
*/
|
463
|
+
|
464
|
+
/**
|
465
|
+
* Can set a `colorVariation` on all points which lies on the same level.
|
466
|
+
*
|
467
|
+
* @apioption plotOptions.sunburst.levels.colorVariation
|
468
|
+
*/
|
469
|
+
|
470
|
+
/**
|
471
|
+
* The key of a color variation. Currently supports `brightness` only.
|
472
|
+
*
|
473
|
+
* @type {string}
|
474
|
+
* @apioption plotOptions.sunburst.levels.colorVariation.key
|
475
|
+
*/
|
476
|
+
|
477
|
+
/**
|
478
|
+
* The ending value of a color variation. The last sibling will receive this
|
479
|
+
* value.
|
480
|
+
*
|
481
|
+
* @type {number}
|
482
|
+
* @apioption plotOptions.sunburst.levels.colorVariation.to
|
483
|
+
*/
|
484
|
+
|
485
|
+
/**
|
486
|
+
* Can set `dataLabels` on all points which lies on the same level.
|
487
|
+
*
|
488
|
+
* @type {object}
|
489
|
+
* @apioption plotOptions.sunburst.levels.dataLabels
|
490
|
+
*/
|
491
|
+
|
492
|
+
/**
|
493
|
+
* Can set a `levelSize` on all points which lies on the same level.
|
494
|
+
*
|
495
|
+
* @type {object}
|
496
|
+
* @apioption plotOptions.sunburst.levels.levelSize
|
497
|
+
*/
|
498
|
+
|
499
|
+
/**
|
500
|
+
* Can set a `rotation` on all points which lies on the same level.
|
501
|
+
*
|
502
|
+
* @type {number}
|
503
|
+
* @apioption plotOptions.sunburst.levels.rotation
|
504
|
+
*/
|
505
|
+
|
506
|
+
/**
|
507
|
+
* Can set a `rotationMode` on all points which lies on the same level.
|
508
|
+
*
|
509
|
+
* @type {string}
|
510
|
+
* @apioption plotOptions.sunburst.levels.rotationMode
|
511
|
+
*/
|
512
|
+
|
513
|
+
/**
|
514
|
+
* When enabled the user can click on a point which is a parent and
|
515
|
+
* zoom in on its children. Deprecated and replaced by
|
516
|
+
* [allowTraversingTree](#plotOptions.sunburst.allowTraversingTree).
|
517
|
+
*
|
518
|
+
* @deprecated
|
519
|
+
* @type {boolean}
|
520
|
+
* @default false
|
521
|
+
* @since 6.0.0
|
522
|
+
* @product highcharts
|
523
|
+
* @apioption plotOptions.sunburst.allowDrillToNode
|
524
|
+
*/
|
525
|
+
|
526
|
+
/**
|
527
|
+
* When enabled the user can click on a point which is a parent and
|
528
|
+
* zoom in on its children.
|
529
|
+
*
|
530
|
+
* @type {boolean}
|
531
|
+
* @default false
|
532
|
+
* @since 7.0.3
|
533
|
+
* @product highcharts
|
534
|
+
* @apioption plotOptions.sunburst.allowTraversingTree
|
535
|
+
*/
|
536
|
+
|
537
|
+
/**
|
538
|
+
* The center of the sunburst chart relative to the plot area. Can be
|
539
|
+
* percentages or pixel values.
|
540
|
+
*
|
541
|
+
* @sample {highcharts} highcharts/plotoptions/pie-center/
|
542
|
+
* Centered at 100, 100
|
543
|
+
*
|
544
|
+
* @type {Array<number|string>}
|
545
|
+
* @default ["50%", "50%"]
|
546
|
+
* @product highcharts
|
547
|
+
*/
|
548
|
+
center: ['50%', '50%'],
|
549
|
+
colorByPoint: false,
|
550
|
+
/**
|
551
|
+
* @extends plotOptions.series.dataLabels
|
552
|
+
* @excluding align, allowOverlap, distance, staggerLines, step
|
553
|
+
*/
|
554
|
+
dataLabels: {
|
555
|
+
allowOverlap: true,
|
556
|
+
defer: true,
|
557
|
+
style: {
|
558
|
+
textOverflow: 'ellipsis'
|
559
|
+
},
|
560
|
+
/**
|
561
|
+
* Decides how the data label will be rotated relative to the perimeter
|
562
|
+
* of the sunburst. Valid values are `auto`, `parallel` and
|
563
|
+
* `perpendicular`. When `auto`, the best fit will be computed for the
|
564
|
+
* point.
|
565
|
+
*
|
566
|
+
* The `series.rotation` option takes precedence over `rotationMode`.
|
567
|
+
*
|
568
|
+
* @since 6.0.0
|
569
|
+
* @validvalue ["auto", "perpendicular", "parallel"]
|
570
|
+
*/
|
571
|
+
rotationMode: 'auto'
|
572
|
+
},
|
573
|
+
/**
|
574
|
+
* Which point to use as a root in the visualization.
|
575
|
+
*
|
576
|
+
* @type {string}
|
577
|
+
*/
|
578
|
+
rootId: undefined,
|
579
|
+
|
580
|
+
/**
|
581
|
+
* Used together with the levels and `allowDrillToNode` options. When
|
582
|
+
* set to false the first level visible when drilling is considered
|
583
|
+
* to be level one. Otherwise the level will be the same as the tree
|
584
|
+
* structure.
|
585
|
+
*/
|
586
|
+
levelIsConstant: true,
|
587
|
+
|
588
|
+
/**
|
589
|
+
* Determines the width of the ring per level.
|
590
|
+
*
|
591
|
+
* @sample {highcharts} highcharts/plotoptions/sunburst-levelsize/
|
592
|
+
* Sunburst with various sizes per level
|
593
|
+
*
|
594
|
+
* @since 6.0.5
|
595
|
+
*/
|
596
|
+
levelSize: {
|
597
|
+
/**
|
598
|
+
* The value used for calculating the width of the ring. Its' affect is
|
599
|
+
* determined by `levelSize.unit`.
|
600
|
+
*
|
601
|
+
* @sample {highcharts} highcharts/plotoptions/sunburst-levelsize/
|
602
|
+
* Sunburst with various sizes per level
|
603
|
+
*/
|
604
|
+
value: 1,
|
605
|
+
/**
|
606
|
+
* How to interpret `levelSize.value`.
|
607
|
+
*
|
608
|
+
* - `percentage` gives a width relative to result of outer radius minus
|
609
|
+
* inner radius.
|
610
|
+
*
|
611
|
+
* - `pixels` gives the ring a fixed width in pixels.
|
612
|
+
*
|
613
|
+
* - `weight` takes the remaining width after percentage and pixels, and
|
614
|
+
* distributes it accross all "weighted" levels. The value relative to
|
615
|
+
* the sum of all weights determines the width.
|
616
|
+
*
|
617
|
+
* @sample {highcharts} highcharts/plotoptions/sunburst-levelsize/
|
618
|
+
* Sunburst with various sizes per level
|
619
|
+
*
|
620
|
+
* @validvalue ["percentage", "pixels", "weight"]
|
621
|
+
*/
|
622
|
+
unit: 'weight'
|
623
|
+
},
|
624
|
+
|
625
|
+
/**
|
626
|
+
* Options for the button appearing when traversing down in a treemap.
|
627
|
+
*
|
628
|
+
* @extends plotOptions.treemap.traverseUpButton
|
629
|
+
* @since 6.0.0
|
630
|
+
* @apioption plotOptions.sunburst.traverseUpButton
|
631
|
+
*/
|
632
|
+
|
633
|
+
/**
|
634
|
+
* If a point is sliced, moved out from the center, how many pixels
|
635
|
+
* should it be moved?.
|
636
|
+
*
|
637
|
+
* @sample highcharts/plotoptions/sunburst-sliced
|
638
|
+
* Sliced sunburst
|
639
|
+
*
|
640
|
+
* @since 6.0.4
|
641
|
+
*/
|
642
|
+
slicedOffset: 10
|
643
|
+
};
|
644
|
+
|
645
|
+
// Properties of the Sunburst series.
|
646
|
+
var sunburstSeries = {
|
647
|
+
drawDataLabels: noop, // drawDataLabels is called in drawPoints
|
648
|
+
drawPoints: function drawPoints() {
|
649
|
+
var series = this,
|
650
|
+
mapOptionsToLevel = series.mapOptionsToLevel,
|
651
|
+
shapeRoot = series.shapeRoot,
|
652
|
+
group = series.group,
|
653
|
+
hasRendered = series.hasRendered,
|
654
|
+
idRoot = series.rootNode,
|
655
|
+
idPreviousRoot = series.idPreviousRoot,
|
656
|
+
nodeMap = series.nodeMap,
|
657
|
+
nodePreviousRoot = nodeMap[idPreviousRoot],
|
658
|
+
shapePreviousRoot = nodePreviousRoot && nodePreviousRoot.shapeArgs,
|
659
|
+
points = series.points,
|
660
|
+
radians = series.startAndEndRadians,
|
661
|
+
chart = series.chart,
|
662
|
+
optionsChart = chart && chart.options && chart.options.chart || {},
|
663
|
+
animation = (
|
664
|
+
isBoolean(optionsChart.animation) ?
|
665
|
+
optionsChart.animation :
|
666
|
+
true
|
667
|
+
),
|
668
|
+
positions = series.center,
|
669
|
+
center = {
|
670
|
+
x: positions[0],
|
671
|
+
y: positions[1]
|
672
|
+
},
|
673
|
+
innerR = positions[3] / 2,
|
674
|
+
renderer = series.chart.renderer,
|
675
|
+
animateLabels,
|
676
|
+
animateLabelsCalled = false,
|
677
|
+
addedHack = false,
|
678
|
+
hackDataLabelAnimation = !!(
|
679
|
+
animation &&
|
680
|
+
hasRendered &&
|
681
|
+
idRoot !== idPreviousRoot &&
|
682
|
+
series.dataLabelsGroup
|
683
|
+
);
|
684
|
+
|
685
|
+
if (hackDataLabelAnimation) {
|
686
|
+
series.dataLabelsGroup.attr({ opacity: 0 });
|
687
|
+
animateLabels = function () {
|
688
|
+
var s = series;
|
689
|
+
|
690
|
+
animateLabelsCalled = true;
|
691
|
+
if (s.dataLabelsGroup) {
|
692
|
+
s.dataLabelsGroup.animate({
|
693
|
+
opacity: 1,
|
694
|
+
visibility: 'visible'
|
695
|
+
});
|
696
|
+
}
|
697
|
+
};
|
698
|
+
}
|
699
|
+
points.forEach(function (point) {
|
700
|
+
var node = point.node,
|
701
|
+
level = mapOptionsToLevel[node.level],
|
702
|
+
shapeExisting = point.shapeExisting || {},
|
703
|
+
shape = node.shapeArgs || {},
|
704
|
+
animationInfo,
|
705
|
+
onComplete,
|
706
|
+
visible = !!(node.visible && node.shapeArgs);
|
707
|
+
|
708
|
+
if (hasRendered && animation) {
|
709
|
+
animationInfo = getAnimation(shape, {
|
710
|
+
center: center,
|
711
|
+
point: point,
|
712
|
+
radians: radians,
|
713
|
+
innerR: innerR,
|
714
|
+
idRoot: idRoot,
|
715
|
+
idPreviousRoot: idPreviousRoot,
|
716
|
+
shapeExisting: shapeExisting,
|
717
|
+
shapeRoot: shapeRoot,
|
718
|
+
shapePreviousRoot: shapePreviousRoot,
|
719
|
+
visible: visible
|
720
|
+
});
|
721
|
+
} else {
|
722
|
+
// When animation is disabled, attr is called from animation.
|
723
|
+
animationInfo = {
|
724
|
+
to: shape,
|
725
|
+
from: {}
|
726
|
+
};
|
727
|
+
}
|
728
|
+
extend(point, {
|
729
|
+
shapeExisting: shape, // Store for use in animation
|
730
|
+
tooltipPos: [shape.plotX, shape.plotY],
|
731
|
+
drillId: getDrillId(point, idRoot, nodeMap),
|
732
|
+
name: '' + (point.name || point.id || point.index),
|
733
|
+
plotX: shape.plotX, // used for data label position
|
734
|
+
plotY: shape.plotY, // used for data label position
|
735
|
+
value: node.val,
|
736
|
+
isNull: !visible // used for dataLabels & point.draw
|
737
|
+
});
|
738
|
+
point.dlOptions = getDlOptions({
|
739
|
+
point: point,
|
740
|
+
level: level,
|
741
|
+
optionsPoint: point.options,
|
742
|
+
shapeArgs: shape
|
743
|
+
});
|
744
|
+
if (!addedHack && visible) {
|
745
|
+
addedHack = true;
|
746
|
+
onComplete = animateLabels;
|
747
|
+
}
|
748
|
+
point.draw({
|
749
|
+
animatableAttribs: animationInfo.to,
|
750
|
+
attribs: extend(
|
751
|
+
animationInfo.from,
|
752
|
+
!chart.styledMode && series.pointAttribs(
|
753
|
+
point,
|
754
|
+
point.selected && 'select'
|
755
|
+
)
|
756
|
+
),
|
757
|
+
onComplete: onComplete,
|
758
|
+
group: group,
|
759
|
+
renderer: renderer,
|
760
|
+
shapeType: 'arc',
|
761
|
+
shapeArgs: shape
|
762
|
+
});
|
763
|
+
});
|
764
|
+
// Draw data labels after points
|
765
|
+
// TODO draw labels one by one to avoid addtional looping
|
766
|
+
if (hackDataLabelAnimation && addedHack) {
|
767
|
+
series.hasRendered = false;
|
768
|
+
series.options.dataLabels.defer = true;
|
769
|
+
Series.prototype.drawDataLabels.call(series);
|
770
|
+
series.hasRendered = true;
|
771
|
+
// If animateLabels is called before labels were hidden, then call
|
772
|
+
// it again.
|
773
|
+
if (animateLabelsCalled) {
|
774
|
+
animateLabels();
|
775
|
+
}
|
776
|
+
} else {
|
777
|
+
Series.prototype.drawDataLabels.call(series);
|
778
|
+
}
|
779
|
+
},
|
780
|
+
|
781
|
+
pointAttribs: seriesTypes.column.prototype.pointAttribs,
|
782
|
+
|
783
|
+
// The layout algorithm for the levels
|
784
|
+
layoutAlgorithm: layoutAlgorithm,
|
785
|
+
|
786
|
+
// Set the shape arguments on the nodes. Recursive from root down.
|
787
|
+
setShapeArgs: function (parent, parentValues, mapOptionsToLevel) {
|
788
|
+
var childrenValues = [],
|
789
|
+
level = parent.level + 1,
|
790
|
+
options = mapOptionsToLevel[level],
|
791
|
+
// Collect all children which should be included
|
792
|
+
children = parent.children.filter(function (n) {
|
793
|
+
return n.visible;
|
794
|
+
}),
|
795
|
+
twoPi = 6.28; // Two times Pi.
|
796
|
+
|
797
|
+
childrenValues = this.layoutAlgorithm(parentValues, children, options);
|
798
|
+
children.forEach(function (child, index) {
|
799
|
+
var values = childrenValues[index],
|
800
|
+
angle = values.start + ((values.end - values.start) / 2),
|
801
|
+
radius = values.innerR + ((values.r - values.innerR) / 2),
|
802
|
+
radians = (values.end - values.start),
|
803
|
+
isCircle = (values.innerR === 0 && radians > twoPi),
|
804
|
+
center = (
|
805
|
+
isCircle ?
|
806
|
+
{ x: values.x, y: values.y } :
|
807
|
+
getEndPoint(values.x, values.y, angle, radius)
|
808
|
+
),
|
809
|
+
val = (
|
810
|
+
child.val ?
|
811
|
+
(
|
812
|
+
child.childrenTotal > child.val ?
|
813
|
+
child.childrenTotal :
|
814
|
+
child.val
|
815
|
+
) :
|
816
|
+
child.childrenTotal
|
817
|
+
);
|
818
|
+
|
819
|
+
// The inner arc length is a convenience for data label filters.
|
820
|
+
if (this.points[child.i]) {
|
821
|
+
this.points[child.i].innerArcLength = radians * values.innerR;
|
822
|
+
this.points[child.i].outerArcLength = radians * values.r;
|
823
|
+
}
|
824
|
+
|
825
|
+
child.shapeArgs = merge(values, {
|
826
|
+
plotX: center.x,
|
827
|
+
plotY: center.y + 4 * Math.abs(Math.cos(angle))
|
828
|
+
});
|
829
|
+
child.values = merge(values, {
|
830
|
+
val: val
|
831
|
+
});
|
832
|
+
// If node has children, then call method recursively
|
833
|
+
if (child.children.length) {
|
834
|
+
this.setShapeArgs(child, child.values, mapOptionsToLevel);
|
835
|
+
}
|
836
|
+
}, this);
|
837
|
+
},
|
838
|
+
|
839
|
+
|
840
|
+
translate: function translate() {
|
841
|
+
var series = this,
|
842
|
+
options = series.options,
|
843
|
+
positions = series.center = getCenter.call(series),
|
844
|
+
radians = series.startAndEndRadians = getStartAndEndRadians(
|
845
|
+
options.startAngle,
|
846
|
+
options.endAngle
|
847
|
+
),
|
848
|
+
innerRadius = positions[3] / 2,
|
849
|
+
outerRadius = positions[2] / 2,
|
850
|
+
diffRadius = outerRadius - innerRadius,
|
851
|
+
// NOTE: updateRootId modifies series.
|
852
|
+
rootId = updateRootId(series),
|
853
|
+
mapIdToNode = series.nodeMap,
|
854
|
+
mapOptionsToLevel,
|
855
|
+
idTop,
|
856
|
+
nodeRoot = mapIdToNode && mapIdToNode[rootId],
|
857
|
+
nodeTop,
|
858
|
+
tree,
|
859
|
+
values;
|
860
|
+
|
861
|
+
series.shapeRoot = nodeRoot && nodeRoot.shapeArgs;
|
862
|
+
// Call prototype function
|
863
|
+
Series.prototype.translate.call(series);
|
864
|
+
// @todo Only if series.isDirtyData is true
|
865
|
+
tree = series.tree = series.getTree();
|
866
|
+
|
867
|
+
// Render traverseUpButton, after series.nodeMap i calculated.
|
868
|
+
series.renderTraverseUpButton(rootId);
|
869
|
+
mapIdToNode = series.nodeMap;
|
870
|
+
nodeRoot = mapIdToNode[rootId];
|
871
|
+
idTop = isString(nodeRoot.parent) ? nodeRoot.parent : '';
|
872
|
+
nodeTop = mapIdToNode[idTop];
|
873
|
+
mapOptionsToLevel = getLevelOptions({
|
874
|
+
from: nodeRoot.level > 0 ? nodeRoot.level : 1,
|
875
|
+
levels: series.options.levels,
|
876
|
+
to: tree.height,
|
877
|
+
defaults: {
|
878
|
+
colorByPoint: options.colorByPoint,
|
879
|
+
dataLabels: options.dataLabels,
|
880
|
+
levelIsConstant: options.levelIsConstant,
|
881
|
+
levelSize: options.levelSize,
|
882
|
+
slicedOffset: options.slicedOffset
|
883
|
+
}
|
884
|
+
});
|
885
|
+
// NOTE consider doing calculateLevelSizes in a callback to
|
886
|
+
// getLevelOptions
|
887
|
+
mapOptionsToLevel = calculateLevelSizes(mapOptionsToLevel, {
|
888
|
+
diffRadius: diffRadius,
|
889
|
+
from: nodeRoot.level > 0 ? nodeRoot.level : 1,
|
890
|
+
to: tree.height
|
891
|
+
});
|
892
|
+
// TODO Try to combine setTreeValues & setColorRecursive to avoid
|
893
|
+
// unnecessary looping.
|
894
|
+
setTreeValues(tree, {
|
895
|
+
before: cbSetTreeValuesBefore,
|
896
|
+
idRoot: rootId,
|
897
|
+
levelIsConstant: options.levelIsConstant,
|
898
|
+
mapOptionsToLevel: mapOptionsToLevel,
|
899
|
+
mapIdToNode: mapIdToNode,
|
900
|
+
points: series.points,
|
901
|
+
series: series
|
902
|
+
});
|
903
|
+
values = mapIdToNode[''].shapeArgs = {
|
904
|
+
end: radians.end,
|
905
|
+
r: innerRadius,
|
906
|
+
start: radians.start,
|
907
|
+
val: nodeRoot.val,
|
908
|
+
x: positions[0],
|
909
|
+
y: positions[1]
|
910
|
+
};
|
911
|
+
this.setShapeArgs(nodeTop, values, mapOptionsToLevel);
|
912
|
+
// Set mapOptionsToLevel on series for use in drawPoints.
|
913
|
+
series.mapOptionsToLevel = mapOptionsToLevel;
|
914
|
+
},
|
915
|
+
|
916
|
+
// Animate the slices in. Similar to the animation of polar charts.
|
917
|
+
animate: function (init) {
|
918
|
+
var chart = this.chart,
|
919
|
+
center = [
|
920
|
+
chart.plotWidth / 2,
|
921
|
+
chart.plotHeight / 2
|
922
|
+
],
|
923
|
+
plotLeft = chart.plotLeft,
|
924
|
+
plotTop = chart.plotTop,
|
925
|
+
attribs,
|
926
|
+
group = this.group;
|
927
|
+
|
928
|
+
// Initialize the animation
|
929
|
+
if (init) {
|
930
|
+
|
931
|
+
// Scale down the group and place it in the center
|
932
|
+
attribs = {
|
933
|
+
translateX: center[0] + plotLeft,
|
934
|
+
translateY: center[1] + plotTop,
|
935
|
+
scaleX: 0.001, // #1499
|
936
|
+
scaleY: 0.001,
|
937
|
+
rotation: 10,
|
938
|
+
opacity: 0.01
|
939
|
+
};
|
940
|
+
|
941
|
+
group.attr(attribs);
|
942
|
+
|
943
|
+
// Run the animation
|
944
|
+
} else {
|
945
|
+
attribs = {
|
946
|
+
translateX: plotLeft,
|
947
|
+
translateY: plotTop,
|
948
|
+
scaleX: 1,
|
949
|
+
scaleY: 1,
|
950
|
+
rotation: 0,
|
951
|
+
opacity: 1
|
952
|
+
};
|
953
|
+
group.animate(attribs, this.options.animation);
|
954
|
+
|
955
|
+
// Delete this function to allow it only once
|
956
|
+
this.animate = null;
|
957
|
+
}
|
958
|
+
},
|
959
|
+
utils: {
|
960
|
+
calculateLevelSizes: calculateLevelSizes,
|
961
|
+
range: range
|
962
|
+
}
|
963
|
+
};
|
964
|
+
|
965
|
+
// Properties of the Sunburst series.
|
966
|
+
var sunburstPoint = {
|
967
|
+
draw: drawPoint,
|
968
|
+
shouldDraw: function shouldDraw() {
|
969
|
+
var point = this;
|
970
|
+
|
971
|
+
return !point.isNull;
|
972
|
+
}
|
973
|
+
};
|
974
|
+
|
975
|
+
/**
|
976
|
+
* A `sunburst` series. If the [type](#series.sunburst.type) option is
|
977
|
+
* not specified, it is inherited from [chart.type](#chart.type).
|
978
|
+
*
|
979
|
+
* @extends series,plotOptions.sunburst
|
980
|
+
* @excluding dataParser, dataURL, stack
|
981
|
+
* @product highcharts
|
982
|
+
* @apioption series.sunburst
|
983
|
+
*/
|
984
|
+
|
985
|
+
/**
|
986
|
+
* @type {Array<number|*>}
|
987
|
+
* @extends series.treemap.data
|
988
|
+
* @excluding x, y
|
989
|
+
* @product highcharts
|
990
|
+
* @apioption series.sunburst.data
|
991
|
+
*/
|
992
|
+
|
993
|
+
/**
|
994
|
+
* The value of the point, resulting in a relative area of the point
|
995
|
+
* in the sunburst.
|
996
|
+
*
|
997
|
+
* @type {number}
|
998
|
+
* @since 6.0.0
|
999
|
+
* @product highcharts
|
1000
|
+
* @apioption series.sunburst.data.value
|
1001
|
+
*/
|
1002
|
+
|
1003
|
+
/**
|
1004
|
+
* Use this option to build a tree structure. The value should be the id of the
|
1005
|
+
* point which is the parent. If no points has a matching id, or this option is
|
1006
|
+
* undefined, then the parent will be set to the root.
|
1007
|
+
*
|
1008
|
+
* @type {string}
|
1009
|
+
* @since 6.0.0
|
1010
|
+
* @product highcharts
|
1011
|
+
* @apioption series.treemap.data.parent
|
1012
|
+
*/
|
1013
|
+
|
1014
|
+
/**
|
1015
|
+
* Whether to display a slice offset from the center. When a sunburst point is
|
1016
|
+
* sliced, its children are also offset.
|
1017
|
+
*
|
1018
|
+
* @sample highcharts/plotoptions/sunburst-sliced
|
1019
|
+
* Sliced sunburst
|
1020
|
+
*
|
1021
|
+
* @type {boolean}
|
1022
|
+
* @default false
|
1023
|
+
* @since 6.0.4
|
1024
|
+
* @product highcharts
|
1025
|
+
* @apioption series.sunburst.data.sliced
|
1026
|
+
*/
|
1027
|
+
|
1028
|
+
/**
|
1029
|
+
* @private
|
1030
|
+
* @class
|
1031
|
+
* @name Highcharts.seriesTypes.sunburst
|
1032
|
+
*
|
1033
|
+
* @augments Highcharts.Series
|
1034
|
+
*/
|
1035
|
+
seriesType(
|
1036
|
+
'sunburst',
|
1037
|
+
'treemap',
|
1038
|
+
sunburstOptions,
|
1039
|
+
sunburstSeries,
|
1040
|
+
sunburstPoint
|
1041
|
+
);
|