aw-highstock_rails 7.0.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (697) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +9 -0
  3. data/.travis.yml +7 -0
  4. data/CODE_OF_CONDUCT.md +74 -0
  5. data/Gemfile +6 -0
  6. data/Gemfile.lock +22 -0
  7. data/LICENSE.txt +21 -0
  8. data/README.md +53 -0
  9. data/Rakefile +10 -0
  10. data/aw-highstock_rails.gemspec +28 -0
  11. data/bin/console +14 -0
  12. data/bin/setup +8 -0
  13. data/lib/aw/highstock_rails.rb +9 -0
  14. data/lib/aw/highstock_rails/version.rb +5 -0
  15. data/vendor/assets/javascripts/highstock/css/annotations/popup.css +229 -0
  16. data/vendor/assets/javascripts/highstock/css/annotations/popup.scss +235 -0
  17. data/vendor/assets/javascripts/highstock/css/highcharts.css +890 -0
  18. data/vendor/assets/javascripts/highstock/css/highcharts.scss +788 -0
  19. data/vendor/assets/javascripts/highstock/css/stocktools/gui.css +268 -0
  20. data/vendor/assets/javascripts/highstock/css/stocktools/gui.scss +270 -0
  21. data/vendor/assets/javascripts/highstock/css/themes/dark-unica.css +951 -0
  22. data/vendor/assets/javascripts/highstock/css/themes/dark-unica.scss +122 -0
  23. data/vendor/assets/javascripts/highstock/css/themes/grid-light.css +904 -0
  24. data/vendor/assets/javascripts/highstock/css/themes/grid-light.scss +33 -0
  25. data/vendor/assets/javascripts/highstock/css/themes/sand-signika.css +920 -0
  26. data/vendor/assets/javascripts/highstock/css/themes/sand-signika.scss +74 -0
  27. data/vendor/assets/javascripts/highstock/es-modules/annotations/ControlPoint.js +130 -0
  28. data/vendor/assets/javascripts/highstock/es-modules/annotations/MockPoint.js +415 -0
  29. data/vendor/assets/javascripts/highstock/es-modules/annotations/annotations.src.js +1231 -0
  30. data/vendor/assets/javascripts/highstock/es-modules/annotations/controllable/ControllableCircle.js +92 -0
  31. data/vendor/assets/javascripts/highstock/es-modules/annotations/controllable/ControllableImage.js +101 -0
  32. data/vendor/assets/javascripts/highstock/es-modules/annotations/controllable/ControllableLabel.js +452 -0
  33. data/vendor/assets/javascripts/highstock/es-modules/annotations/controllable/ControllablePath.js +175 -0
  34. data/vendor/assets/javascripts/highstock/es-modules/annotations/controllable/ControllableRect.js +93 -0
  35. data/vendor/assets/javascripts/highstock/es-modules/annotations/controllable/controllableMixin.js +411 -0
  36. data/vendor/assets/javascripts/highstock/es-modules/annotations/controllable/markerMixin.js +214 -0
  37. data/vendor/assets/javascripts/highstock/es-modules/annotations/eventEmitterMixin.js +271 -0
  38. data/vendor/assets/javascripts/highstock/es-modules/annotations/navigationBindings.js +1283 -0
  39. data/vendor/assets/javascripts/highstock/es-modules/annotations/popup.js +1069 -0
  40. data/vendor/assets/javascripts/highstock/es-modules/annotations/types/CrookedLine.js +191 -0
  41. data/vendor/assets/javascripts/highstock/es-modules/annotations/types/ElliottWave.js +76 -0
  42. data/vendor/assets/javascripts/highstock/es-modules/annotations/types/Fibonacci.js +247 -0
  43. data/vendor/assets/javascripts/highstock/es-modules/annotations/types/InfinityLine.js +185 -0
  44. data/vendor/assets/javascripts/highstock/es-modules/annotations/types/Measure.js +928 -0
  45. data/vendor/assets/javascripts/highstock/es-modules/annotations/types/Pitchfork.js +203 -0
  46. data/vendor/assets/javascripts/highstock/es-modules/annotations/types/Tunnel.js +242 -0
  47. data/vendor/assets/javascripts/highstock/es-modules/annotations/types/VerticalLine.js +157 -0
  48. data/vendor/assets/javascripts/highstock/es-modules/error-messages.js +128 -0
  49. data/vendor/assets/javascripts/highstock/es-modules/error.js +1 -0
  50. data/vendor/assets/javascripts/highstock/es-modules/indicators/acceleration-bands.src.js +199 -0
  51. data/vendor/assets/javascripts/highstock/es-modules/indicators/accumulation-distribution.src.js +129 -0
  52. data/vendor/assets/javascripts/highstock/es-modules/indicators/ao.src.js +206 -0
  53. data/vendor/assets/javascripts/highstock/es-modules/indicators/apo.src.js +148 -0
  54. data/vendor/assets/javascripts/highstock/es-modules/indicators/aroon-oscillator.src.js +128 -0
  55. data/vendor/assets/javascripts/highstock/es-modules/indicators/aroon.src.js +173 -0
  56. data/vendor/assets/javascripts/highstock/es-modules/indicators/atr.src.js +151 -0
  57. data/vendor/assets/javascripts/highstock/es-modules/indicators/bollinger-bands.src.js +209 -0
  58. data/vendor/assets/javascripts/highstock/es-modules/indicators/cci.src.js +131 -0
  59. data/vendor/assets/javascripts/highstock/es-modules/indicators/chaikin.src.js +167 -0
  60. data/vendor/assets/javascripts/highstock/es-modules/indicators/cmf.src.js +246 -0
  61. data/vendor/assets/javascripts/highstock/es-modules/indicators/dema.src.js +191 -0
  62. data/vendor/assets/javascripts/highstock/es-modules/indicators/dpo.src.js +138 -0
  63. data/vendor/assets/javascripts/highstock/es-modules/indicators/ema.src.js +166 -0
  64. data/vendor/assets/javascripts/highstock/es-modules/indicators/ichimoku-kinko-hyo.src.js +850 -0
  65. data/vendor/assets/javascripts/highstock/es-modules/indicators/indicators.src.js +425 -0
  66. data/vendor/assets/javascripts/highstock/es-modules/indicators/keltner-channels.src.js +193 -0
  67. data/vendor/assets/javascripts/highstock/es-modules/indicators/macd.src.js +417 -0
  68. data/vendor/assets/javascripts/highstock/es-modules/indicators/mfi.src.js +198 -0
  69. data/vendor/assets/javascripts/highstock/es-modules/indicators/momentum.src.js +119 -0
  70. data/vendor/assets/javascripts/highstock/es-modules/indicators/natr.src.js +74 -0
  71. data/vendor/assets/javascripts/highstock/es-modules/indicators/pivot-points.src.js +360 -0
  72. data/vendor/assets/javascripts/highstock/es-modules/indicators/ppo.src.js +152 -0
  73. data/vendor/assets/javascripts/highstock/es-modules/indicators/price-channel.src.js +149 -0
  74. data/vendor/assets/javascripts/highstock/es-modules/indicators/price-envelopes.src.js +251 -0
  75. data/vendor/assets/javascripts/highstock/es-modules/indicators/psar.src.js +307 -0
  76. data/vendor/assets/javascripts/highstock/es-modules/indicators/regressions.src.js +427 -0
  77. data/vendor/assets/javascripts/highstock/es-modules/indicators/roc.src.js +149 -0
  78. data/vendor/assets/javascripts/highstock/es-modules/indicators/rsi.src.js +163 -0
  79. data/vendor/assets/javascripts/highstock/es-modules/indicators/stochastic.src.js +193 -0
  80. data/vendor/assets/javascripts/highstock/es-modules/indicators/supertrend.src.js +544 -0
  81. data/vendor/assets/javascripts/highstock/es-modules/indicators/tema.src.js +247 -0
  82. data/vendor/assets/javascripts/highstock/es-modules/indicators/trix.src.js +96 -0
  83. data/vendor/assets/javascripts/highstock/es-modules/indicators/volume-by-price.src.js +671 -0
  84. data/vendor/assets/javascripts/highstock/es-modules/indicators/vwap.src.js +189 -0
  85. data/vendor/assets/javascripts/highstock/es-modules/indicators/williams-r.src.js +128 -0
  86. data/vendor/assets/javascripts/highstock/es-modules/indicators/wma.src.js +146 -0
  87. data/vendor/assets/javascripts/highstock/es-modules/indicators/zigzag.src.js +221 -0
  88. data/vendor/assets/javascripts/highstock/es-modules/masters/highcharts-3d.src.js +17 -0
  89. data/vendor/assets/javascripts/highstock/es-modules/masters/highcharts-more.src.js +22 -0
  90. data/vendor/assets/javascripts/highstock/es-modules/masters/highstock.src.js +11 -0
  91. data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/acceleration-bands.src.js +11 -0
  92. data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/accumulation-distribution.src.js +11 -0
  93. data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/ao.src.js +11 -0
  94. data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/apo.src.js +11 -0
  95. data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/aroon-oscillator.src.js +11 -0
  96. data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/aroon.src.js +11 -0
  97. data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/atr.src.js +11 -0
  98. data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/bollinger-bands.src.js +11 -0
  99. data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/cci.src.js +11 -0
  100. data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/chaikin.src.js +11 -0
  101. data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/cmf.src.js +10 -0
  102. data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/dema.src.js +11 -0
  103. data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/dpo.src.js +11 -0
  104. data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/ema.src.js +11 -0
  105. data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/ichimoku-kinko-hyo.src.js +11 -0
  106. data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/indicators-all.src.js +49 -0
  107. data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/indicators.src.js +11 -0
  108. data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/keltner-channels.src.js +11 -0
  109. data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/macd.src.js +11 -0
  110. data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/mfi.src.js +11 -0
  111. data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/momentum.src.js +11 -0
  112. data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/natr.src.js +11 -0
  113. data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/pivot-points.src.js +11 -0
  114. data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/ppo.src.js +11 -0
  115. data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/price-channel.src.js +11 -0
  116. data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/price-envelopes.src.js +11 -0
  117. data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/psar.src.js +11 -0
  118. data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/regressions.src.js +11 -0
  119. data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/roc.src.js +11 -0
  120. data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/rsi.src.js +11 -0
  121. data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/stochastic.src.js +11 -0
  122. data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/supertrend.src.js +11 -0
  123. data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/tema.src.js +11 -0
  124. data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/trix.src.js +11 -0
  125. data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/volume-by-price.src.js +11 -0
  126. data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/vwap.src.js +11 -0
  127. data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/williams-r.src.js +11 -0
  128. data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/wma.src.js +11 -0
  129. data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/zigzag.src.js +11 -0
  130. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/accessibility.src.js +13 -0
  131. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/annotations-advanced.src.js +20 -0
  132. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/annotations.src.js +12 -0
  133. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/arrow-symbols.src.js +10 -0
  134. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/boost-canvas.src.js +11 -0
  135. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/boost.src.js +11 -0
  136. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/bullet.src.js +11 -0
  137. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/current-date-indicator.src.js +10 -0
  138. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/cylinder.src.js +10 -0
  139. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/data.src.js +10 -0
  140. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/datagrouping.src.js +12 -0
  141. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/debugger.src.js +13 -0
  142. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/dependency-wheel.src.js +10 -0
  143. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/drag-panes.src.js +11 -0
  144. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/draggable-points.src.js +9 -0
  145. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/drilldown.src.js +10 -0
  146. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/export-data.src.js +10 -0
  147. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/exporting.src.js +10 -0
  148. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/full-screen.src.js +11 -0
  149. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/funnel.src.js +10 -0
  150. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/grid-axis.src.js +10 -0
  151. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/heatmap.src.js +11 -0
  152. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/histogram-bellcurve.src.js +11 -0
  153. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/item-series.src.js +11 -0
  154. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/networkgraph.src.js +10 -0
  155. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/no-data-to-display.src.js +11 -0
  156. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/offline-exporting.src.js +10 -0
  157. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/oldie-polyfills.src.js +11 -0
  158. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/oldie.src.js +11 -0
  159. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/overlapping-datalabels.src.js +9 -0
  160. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/parallel-coordinates.src.js +11 -0
  161. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/pareto.src.js +11 -0
  162. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/pathfinder.src.js +10 -0
  163. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/pattern-fill.src.js +11 -0
  164. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/price-indicator.src.js +11 -0
  165. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/sankey.src.js +10 -0
  166. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/series-label.src.js +9 -0
  167. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/solid-gauge.src.js +10 -0
  168. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/sonification.src.js +12 -0
  169. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/static-scale.src.js +10 -0
  170. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/stock-tools.src.js +12 -0
  171. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/stock.src.js +19 -0
  172. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/streamgraph.src.js +10 -0
  173. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/sunburst.src.js +10 -0
  174. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/tilemap.src.js +10 -0
  175. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/timeline.src.js +11 -0
  176. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/treegrid.src.js +10 -0
  177. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/treemap.src.js +10 -0
  178. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/variable-pie.src.js +11 -0
  179. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/variwide.src.js +10 -0
  180. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/vector.src.js +10 -0
  181. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/venn.src.js +10 -0
  182. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/windbarb.src.js +10 -0
  183. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/wordcloud.src.js +10 -0
  184. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/xrange.src.js +10 -0
  185. data/vendor/assets/javascripts/highstock/es-modules/masters/themes/avocado.js +9 -0
  186. data/vendor/assets/javascripts/highstock/es-modules/masters/themes/avocado.src.js +9 -0
  187. data/vendor/assets/javascripts/highstock/es-modules/masters/themes/dark-blue.src.js +9 -0
  188. data/vendor/assets/javascripts/highstock/es-modules/masters/themes/dark-green.src.js +9 -0
  189. data/vendor/assets/javascripts/highstock/es-modules/masters/themes/dark-unica.src.js +9 -0
  190. data/vendor/assets/javascripts/highstock/es-modules/masters/themes/gray.src.js +9 -0
  191. data/vendor/assets/javascripts/highstock/es-modules/masters/themes/grid-light.src.js +9 -0
  192. data/vendor/assets/javascripts/highstock/es-modules/masters/themes/grid.src.js +9 -0
  193. data/vendor/assets/javascripts/highstock/es-modules/masters/themes/sand-signika.src.js +9 -0
  194. data/vendor/assets/javascripts/highstock/es-modules/masters/themes/skies.src.js +9 -0
  195. data/vendor/assets/javascripts/highstock/es-modules/masters/themes/sunset.js +9 -0
  196. data/vendor/assets/javascripts/highstock/es-modules/masters/themes/sunset.src.js +9 -0
  197. data/vendor/assets/javascripts/highstock/es-modules/mixins/ajax.js +123 -0
  198. data/vendor/assets/javascripts/highstock/es-modules/mixins/centered-series.js +116 -0
  199. data/vendor/assets/javascripts/highstock/es-modules/mixins/derived-series.js +150 -0
  200. data/vendor/assets/javascripts/highstock/es-modules/mixins/download-url.js +103 -0
  201. data/vendor/assets/javascripts/highstock/es-modules/mixins/draw-point.js +51 -0
  202. data/vendor/assets/javascripts/highstock/es-modules/mixins/geometry-circles.js +300 -0
  203. data/vendor/assets/javascripts/highstock/es-modules/mixins/geometry.js +50 -0
  204. data/vendor/assets/javascripts/highstock/es-modules/mixins/indicator-required.js +49 -0
  205. data/vendor/assets/javascripts/highstock/es-modules/mixins/multipe-lines.js +223 -0
  206. data/vendor/assets/javascripts/highstock/es-modules/mixins/navigation.js +59 -0
  207. data/vendor/assets/javascripts/highstock/es-modules/mixins/nodes.js +76 -0
  208. data/vendor/assets/javascripts/highstock/es-modules/mixins/on-series.js +167 -0
  209. data/vendor/assets/javascripts/highstock/es-modules/mixins/polygon.js +293 -0
  210. data/vendor/assets/javascripts/highstock/es-modules/mixins/reduce-array.js +53 -0
  211. data/vendor/assets/javascripts/highstock/es-modules/mixins/tree-series.js +256 -0
  212. data/vendor/assets/javascripts/highstock/es-modules/modules/a11y-i18n.src.js +524 -0
  213. data/vendor/assets/javascripts/highstock/es-modules/modules/annotations-legacy.src.js +1951 -0
  214. data/vendor/assets/javascripts/highstock/es-modules/modules/bellcurve.src.js +173 -0
  215. data/vendor/assets/javascripts/highstock/es-modules/modules/boost-canvas.src.js +732 -0
  216. data/vendor/assets/javascripts/highstock/es-modules/modules/boost.src.js +3730 -0
  217. data/vendor/assets/javascripts/highstock/es-modules/modules/bullet.src.js +361 -0
  218. data/vendor/assets/javascripts/highstock/es-modules/modules/cylinder.src.js +389 -0
  219. data/vendor/assets/javascripts/highstock/es-modules/modules/data.src.js +2417 -0
  220. data/vendor/assets/javascripts/highstock/es-modules/modules/debugger.src.js +109 -0
  221. data/vendor/assets/javascripts/highstock/es-modules/modules/dependency-wheel.src.js +199 -0
  222. data/vendor/assets/javascripts/highstock/es-modules/modules/drag-panes.src.js +624 -0
  223. data/vendor/assets/javascripts/highstock/es-modules/modules/draggable-points.src.js +2625 -0
  224. data/vendor/assets/javascripts/highstock/es-modules/modules/drilldown.src.js +1300 -0
  225. data/vendor/assets/javascripts/highstock/es-modules/modules/export-data.src.js +983 -0
  226. data/vendor/assets/javascripts/highstock/es-modules/modules/exporting.src.js +2149 -0
  227. data/vendor/assets/javascripts/highstock/es-modules/modules/full-screen.src.js +40 -0
  228. data/vendor/assets/javascripts/highstock/es-modules/modules/funnel.src.js +552 -0
  229. data/vendor/assets/javascripts/highstock/es-modules/modules/histogram.src.js +229 -0
  230. data/vendor/assets/javascripts/highstock/es-modules/modules/item-series.src.js +150 -0
  231. data/vendor/assets/javascripts/highstock/es-modules/modules/keyboard-navigation.src.js +1606 -0
  232. data/vendor/assets/javascripts/highstock/es-modules/modules/networkgraph/QuadTree.js +175 -0
  233. data/vendor/assets/javascripts/highstock/es-modules/modules/networkgraph/layouts.js +506 -0
  234. data/vendor/assets/javascripts/highstock/es-modules/modules/networkgraph/networkgraph.src.js +740 -0
  235. data/vendor/assets/javascripts/highstock/es-modules/modules/no-data-to-display.src.js +260 -0
  236. data/vendor/assets/javascripts/highstock/es-modules/modules/offline-exporting.src.js +710 -0
  237. data/vendor/assets/javascripts/highstock/es-modules/modules/oldie-polyfills.src.js +121 -0
  238. data/vendor/assets/javascripts/highstock/es-modules/modules/oldie.src.js +1556 -0
  239. data/vendor/assets/javascripts/highstock/es-modules/modules/overlapping-datalabels.src.js +250 -0
  240. data/vendor/assets/javascripts/highstock/es-modules/modules/parallel-coordinates.src.js +492 -0
  241. data/vendor/assets/javascripts/highstock/es-modules/modules/pareto.src.js +152 -0
  242. data/vendor/assets/javascripts/highstock/es-modules/modules/pattern-fill.src.js +607 -0
  243. data/vendor/assets/javascripts/highstock/es-modules/modules/price-indicator.src.js +149 -0
  244. data/vendor/assets/javascripts/highstock/es-modules/modules/sankey.src.js +809 -0
  245. data/vendor/assets/javascripts/highstock/es-modules/modules/screen-reader.src.js +954 -0
  246. data/vendor/assets/javascripts/highstock/es-modules/modules/series-label.src.js +1042 -0
  247. data/vendor/assets/javascripts/highstock/es-modules/modules/solid-gauge.src.js +486 -0
  248. data/vendor/assets/javascripts/highstock/es-modules/modules/sonification/Earcon.js +184 -0
  249. data/vendor/assets/javascripts/highstock/es-modules/modules/sonification/Instrument.js +582 -0
  250. data/vendor/assets/javascripts/highstock/es-modules/modules/sonification/Timeline.js +702 -0
  251. data/vendor/assets/javascripts/highstock/es-modules/modules/sonification/chartSonify.js +1026 -0
  252. data/vendor/assets/javascripts/highstock/es-modules/modules/sonification/instrumentDefinitions.js +37 -0
  253. data/vendor/assets/javascripts/highstock/es-modules/modules/sonification/musicalFrequencies.js +113 -0
  254. data/vendor/assets/javascripts/highstock/es-modules/modules/sonification/pointSonify.js +385 -0
  255. data/vendor/assets/javascripts/highstock/es-modules/modules/sonification/sonification.js +107 -0
  256. data/vendor/assets/javascripts/highstock/es-modules/modules/sonification/utilities.js +178 -0
  257. data/vendor/assets/javascripts/highstock/es-modules/modules/static-scale.src.js +88 -0
  258. data/vendor/assets/javascripts/highstock/es-modules/modules/stock-tools-bindings.js +1950 -0
  259. data/vendor/assets/javascripts/highstock/es-modules/modules/stock-tools-gui.js +1458 -0
  260. data/vendor/assets/javascripts/highstock/es-modules/modules/streamgraph.src.js +132 -0
  261. data/vendor/assets/javascripts/highstock/es-modules/modules/sunburst.src.js +1041 -0
  262. data/vendor/assets/javascripts/highstock/es-modules/modules/tilemap.src.js +769 -0
  263. data/vendor/assets/javascripts/highstock/es-modules/modules/timeline.src.js +750 -0
  264. data/vendor/assets/javascripts/highstock/es-modules/modules/treemap.src.js +1803 -0
  265. data/vendor/assets/javascripts/highstock/es-modules/modules/variable-pie.src.js +459 -0
  266. data/vendor/assets/javascripts/highstock/es-modules/modules/variwide.src.js +350 -0
  267. data/vendor/assets/javascripts/highstock/es-modules/modules/vector.src.js +354 -0
  268. data/vendor/assets/javascripts/highstock/es-modules/modules/venn.src.js +1192 -0
  269. data/vendor/assets/javascripts/highstock/es-modules/modules/windbarb.src.js +380 -0
  270. data/vendor/assets/javascripts/highstock/es-modules/modules/wordcloud.src.js +1103 -0
  271. data/vendor/assets/javascripts/highstock/es-modules/modules/xrange.src.js +761 -0
  272. data/vendor/assets/javascripts/highstock/es-modules/parts-3d/Axis.js +669 -0
  273. data/vendor/assets/javascripts/highstock/es-modules/parts-3d/Chart.js +1753 -0
  274. data/vendor/assets/javascripts/highstock/es-modules/parts-3d/Column.js +437 -0
  275. data/vendor/assets/javascripts/highstock/es-modules/parts-3d/Math.js +206 -0
  276. data/vendor/assets/javascripts/highstock/es-modules/parts-3d/Pie.js +207 -0
  277. data/vendor/assets/javascripts/highstock/es-modules/parts-3d/SVGRenderer.js +1002 -0
  278. data/vendor/assets/javascripts/highstock/es-modules/parts-3d/Scatter.js +154 -0
  279. data/vendor/assets/javascripts/highstock/es-modules/parts-3d/Series.js +73 -0
  280. data/vendor/assets/javascripts/highstock/es-modules/parts-3d/VMLRenderer.js +62 -0
  281. data/vendor/assets/javascripts/highstock/es-modules/parts-gantt/ArrowSymbols.js +198 -0
  282. data/vendor/assets/javascripts/highstock/es-modules/parts-gantt/CurrentDateIndicator.js +100 -0
  283. data/vendor/assets/javascripts/highstock/es-modules/parts-gantt/GanttChart.js +140 -0
  284. data/vendor/assets/javascripts/highstock/es-modules/parts-gantt/GanttSeries.js +415 -0
  285. data/vendor/assets/javascripts/highstock/es-modules/parts-gantt/GridAxis.js +961 -0
  286. data/vendor/assets/javascripts/highstock/es-modules/parts-gantt/Pathfinder.js +1298 -0
  287. data/vendor/assets/javascripts/highstock/es-modules/parts-gantt/PathfinderAlgorithms.js +816 -0
  288. data/vendor/assets/javascripts/highstock/es-modules/parts-gantt/Tree.js +158 -0
  289. data/vendor/assets/javascripts/highstock/es-modules/parts-gantt/TreeGrid.js +1003 -0
  290. data/vendor/assets/javascripts/highstock/es-modules/parts-map/ColorAxis.js +1103 -0
  291. data/vendor/assets/javascripts/highstock/es-modules/parts-map/ColorSeriesMixin.js +138 -0
  292. data/vendor/assets/javascripts/highstock/es-modules/parts-map/GeoJSON.js +435 -0
  293. data/vendor/assets/javascripts/highstock/es-modules/parts-map/HeatmapSeries.js +474 -0
  294. data/vendor/assets/javascripts/highstock/es-modules/parts-map/Map.js +477 -0
  295. data/vendor/assets/javascripts/highstock/es-modules/parts-map/MapAxis.js +124 -0
  296. data/vendor/assets/javascripts/highstock/es-modules/parts-map/MapBubbleSeries.js +274 -0
  297. data/vendor/assets/javascripts/highstock/es-modules/parts-map/MapLineSeries.js +143 -0
  298. data/vendor/assets/javascripts/highstock/es-modules/parts-map/MapNavigation.js +357 -0
  299. data/vendor/assets/javascripts/highstock/es-modules/parts-map/MapPointSeries.js +187 -0
  300. data/vendor/assets/javascripts/highstock/es-modules/parts-map/MapPointer.js +132 -0
  301. data/vendor/assets/javascripts/highstock/es-modules/parts-map/MapSeries.js +1294 -0
  302. data/vendor/assets/javascripts/highstock/es-modules/parts-more/AreaRangeSeries.js +725 -0
  303. data/vendor/assets/javascripts/highstock/es-modules/parts-more/AreaSplineRangeSeries.js +98 -0
  304. data/vendor/assets/javascripts/highstock/es-modules/parts-more/BoxPlotSeries.js +617 -0
  305. data/vendor/assets/javascripts/highstock/es-modules/parts-more/BubbleLegend.js +1167 -0
  306. data/vendor/assets/javascripts/highstock/es-modules/parts-more/BubbleSeries.js +661 -0
  307. data/vendor/assets/javascripts/highstock/es-modules/parts-more/ColumnPyramidSeries.js +288 -0
  308. data/vendor/assets/javascripts/highstock/es-modules/parts-more/ColumnRangeSeries.js +278 -0
  309. data/vendor/assets/javascripts/highstock/es-modules/parts-more/ErrorBarSeries.js +172 -0
  310. data/vendor/assets/javascripts/highstock/es-modules/parts-more/GaugeSeries.js +618 -0
  311. data/vendor/assets/javascripts/highstock/es-modules/parts-more/PackedBubbleSeries.js +567 -0
  312. data/vendor/assets/javascripts/highstock/es-modules/parts-more/Pane.js +399 -0
  313. data/vendor/assets/javascripts/highstock/es-modules/parts-more/Polar.js +634 -0
  314. data/vendor/assets/javascripts/highstock/es-modules/parts-more/PolygonSeries.js +151 -0
  315. data/vendor/assets/javascripts/highstock/es-modules/parts-more/RadialAxis.js +685 -0
  316. data/vendor/assets/javascripts/highstock/es-modules/parts-more/WaterfallSeries.js +765 -0
  317. data/vendor/assets/javascripts/highstock/es-modules/parts.js +684 -0
  318. data/vendor/assets/javascripts/highstock/es-modules/parts/AreaSeries.js +578 -0
  319. data/vendor/assets/javascripts/highstock/es-modules/parts/AreaSplineSeries.js +122 -0
  320. data/vendor/assets/javascripts/highstock/es-modules/parts/Axis.js +6453 -0
  321. data/vendor/assets/javascripts/highstock/es-modules/parts/BarSeries.js +153 -0
  322. data/vendor/assets/javascripts/highstock/es-modules/parts/CandlestickSeries.js +358 -0
  323. data/vendor/assets/javascripts/highstock/es-modules/parts/Chart.js +2307 -0
  324. data/vendor/assets/javascripts/highstock/es-modules/parts/Color.js +301 -0
  325. data/vendor/assets/javascripts/highstock/es-modules/parts/ColumnSeries.js +1125 -0
  326. data/vendor/assets/javascripts/highstock/es-modules/parts/DataGrouping.js +1115 -0
  327. data/vendor/assets/javascripts/highstock/es-modules/parts/DataLabels.js +1431 -0
  328. data/vendor/assets/javascripts/highstock/es-modules/parts/DateTimeAxis.js +134 -0
  329. data/vendor/assets/javascripts/highstock/es-modules/parts/Dynamics.js +1301 -0
  330. data/vendor/assets/javascripts/highstock/es-modules/parts/FlagsSeries.js +739 -0
  331. data/vendor/assets/javascripts/highstock/es-modules/parts/Globals.js +75 -0
  332. data/vendor/assets/javascripts/highstock/es-modules/parts/Html.js +539 -0
  333. data/vendor/assets/javascripts/highstock/es-modules/parts/Interaction.js +1299 -0
  334. data/vendor/assets/javascripts/highstock/es-modules/parts/Legend.js +1411 -0
  335. data/vendor/assets/javascripts/highstock/es-modules/parts/LogarithmicAxis.js +168 -0
  336. data/vendor/assets/javascripts/highstock/es-modules/parts/MSPointer.js +176 -0
  337. data/vendor/assets/javascripts/highstock/es-modules/parts/Navigator.js +2486 -0
  338. data/vendor/assets/javascripts/highstock/es-modules/parts/OHLCSeries.js +412 -0
  339. data/vendor/assets/javascripts/highstock/es-modules/parts/Options.js +3732 -0
  340. data/vendor/assets/javascripts/highstock/es-modules/parts/OrdinalAxis.js +962 -0
  341. data/vendor/assets/javascripts/highstock/es-modules/parts/PieSeries.js +1328 -0
  342. data/vendor/assets/javascripts/highstock/es-modules/parts/PlotBandSeries.experimental.js +74 -0
  343. data/vendor/assets/javascripts/highstock/es-modules/parts/PlotLineOrBand.js +1061 -0
  344. data/vendor/assets/javascripts/highstock/es-modules/parts/Point.js +681 -0
  345. data/vendor/assets/javascripts/highstock/es-modules/parts/Pointer.js +1332 -0
  346. data/vendor/assets/javascripts/highstock/es-modules/parts/RangeSelector.js +2063 -0
  347. data/vendor/assets/javascripts/highstock/es-modules/parts/Responsive.js +295 -0
  348. data/vendor/assets/javascripts/highstock/es-modules/parts/ScatterSeries.js +278 -0
  349. data/vendor/assets/javascripts/highstock/es-modules/parts/ScrollablePlotArea.js +266 -0
  350. data/vendor/assets/javascripts/highstock/es-modules/parts/Scrollbar.js +1134 -0
  351. data/vendor/assets/javascripts/highstock/es-modules/parts/Series.js +5864 -0
  352. data/vendor/assets/javascripts/highstock/es-modules/parts/SplineSeries.js +267 -0
  353. data/vendor/assets/javascripts/highstock/es-modules/parts/Stacking.js +604 -0
  354. data/vendor/assets/javascripts/highstock/es-modules/parts/StockChart.js +951 -0
  355. data/vendor/assets/javascripts/highstock/es-modules/parts/SvgRenderer.js +5109 -0
  356. data/vendor/assets/javascripts/highstock/es-modules/parts/Tick.js +746 -0
  357. data/vendor/assets/javascripts/highstock/es-modules/parts/Time.js +881 -0
  358. data/vendor/assets/javascripts/highstock/es-modules/parts/Tooltip.js +1318 -0
  359. data/vendor/assets/javascripts/highstock/es-modules/parts/TouchPointer.js +404 -0
  360. data/vendor/assets/javascripts/highstock/es-modules/parts/Utilities.js +2751 -0
  361. data/vendor/assets/javascripts/highstock/es-modules/themes/avocado.js +37 -0
  362. data/vendor/assets/javascripts/highstock/es-modules/themes/dark-blue.js +259 -0
  363. data/vendor/assets/javascripts/highstock/es-modules/themes/dark-green.js +261 -0
  364. data/vendor/assets/javascripts/highstock/es-modules/themes/dark-unica.js +220 -0
  365. data/vendor/assets/javascripts/highstock/es-modules/themes/gray.js +267 -0
  366. data/vendor/assets/javascripts/highstock/es-modules/themes/grid-light.js +81 -0
  367. data/vendor/assets/javascripts/highstock/es-modules/themes/grid.js +110 -0
  368. data/vendor/assets/javascripts/highstock/es-modules/themes/sand-signika.js +111 -0
  369. data/vendor/assets/javascripts/highstock/es-modules/themes/skies.js +100 -0
  370. data/vendor/assets/javascripts/highstock/es-modules/themes/sunset.js +36 -0
  371. data/vendor/assets/javascripts/highstock/highcharts-3d.js +85 -0
  372. data/vendor/assets/javascripts/highstock/highcharts-3d.js.map +1 -0
  373. data/vendor/assets/javascripts/highstock/highcharts-more.js +101 -0
  374. data/vendor/assets/javascripts/highstock/highcharts-more.js.map +1 -0
  375. data/vendor/assets/javascripts/highstock/highstock.js +583 -0
  376. data/vendor/assets/javascripts/highstock/highstock.js.map +1 -0
  377. data/vendor/assets/javascripts/highstock/indicators/acceleration-bands.js +16 -0
  378. data/vendor/assets/javascripts/highstock/indicators/acceleration-bands.js.map +1 -0
  379. data/vendor/assets/javascripts/highstock/indicators/acceleration-bands.src.js +448 -0
  380. data/vendor/assets/javascripts/highstock/indicators/accumulation-distribution.js +12 -0
  381. data/vendor/assets/javascripts/highstock/indicators/accumulation-distribution.js.map +1 -0
  382. data/vendor/assets/javascripts/highstock/indicators/accumulation-distribution.src.js +156 -0
  383. data/vendor/assets/javascripts/highstock/indicators/ao.js +13 -0
  384. data/vendor/assets/javascripts/highstock/indicators/ao.js.map +1 -0
  385. data/vendor/assets/javascripts/highstock/indicators/ao.src.js +233 -0
  386. data/vendor/assets/javascripts/highstock/indicators/apo.js +13 -0
  387. data/vendor/assets/javascripts/highstock/indicators/apo.js.map +1 -0
  388. data/vendor/assets/javascripts/highstock/indicators/apo.src.js +223 -0
  389. data/vendor/assets/javascripts/highstock/indicators/aroon-oscillator.js +15 -0
  390. data/vendor/assets/javascripts/highstock/indicators/aroon-oscillator.js.map +1 -0
  391. data/vendor/assets/javascripts/highstock/indicators/aroon-oscillator.src.js +426 -0
  392. data/vendor/assets/javascripts/highstock/indicators/aroon.js +16 -0
  393. data/vendor/assets/javascripts/highstock/indicators/aroon.js.map +1 -0
  394. data/vendor/assets/javascripts/highstock/indicators/aroon.src.js +423 -0
  395. data/vendor/assets/javascripts/highstock/indicators/atr.js +12 -0
  396. data/vendor/assets/javascripts/highstock/indicators/atr.js.map +1 -0
  397. data/vendor/assets/javascripts/highstock/indicators/atr.src.js +178 -0
  398. data/vendor/assets/javascripts/highstock/indicators/bollinger-bands.js +16 -0
  399. data/vendor/assets/javascripts/highstock/indicators/bollinger-bands.js.map +1 -0
  400. data/vendor/assets/javascripts/highstock/indicators/bollinger-bands.src.js +458 -0
  401. data/vendor/assets/javascripts/highstock/indicators/cci.js +12 -0
  402. data/vendor/assets/javascripts/highstock/indicators/cci.js.map +1 -0
  403. data/vendor/assets/javascripts/highstock/indicators/cci.src.js +158 -0
  404. data/vendor/assets/javascripts/highstock/indicators/chaikin.js +15 -0
  405. data/vendor/assets/javascripts/highstock/indicators/chaikin.js.map +1 -0
  406. data/vendor/assets/javascripts/highstock/indicators/chaikin.src.js +370 -0
  407. data/vendor/assets/javascripts/highstock/indicators/cmf.js +12 -0
  408. data/vendor/assets/javascripts/highstock/indicators/cmf.js.map +1 -0
  409. data/vendor/assets/javascripts/highstock/indicators/cmf.src.js +273 -0
  410. data/vendor/assets/javascripts/highstock/indicators/dema.js +13 -0
  411. data/vendor/assets/javascripts/highstock/indicators/dema.js.map +1 -0
  412. data/vendor/assets/javascripts/highstock/indicators/dema.src.js +266 -0
  413. data/vendor/assets/javascripts/highstock/indicators/dpo.js +12 -0
  414. data/vendor/assets/javascripts/highstock/indicators/dpo.js.map +1 -0
  415. data/vendor/assets/javascripts/highstock/indicators/dpo.src.js +166 -0
  416. data/vendor/assets/javascripts/highstock/indicators/ema.js +12 -0
  417. data/vendor/assets/javascripts/highstock/indicators/ema.js.map +1 -0
  418. data/vendor/assets/javascripts/highstock/indicators/ema.src.js +193 -0
  419. data/vendor/assets/javascripts/highstock/indicators/ichimoku-kinko-hyo.js +22 -0
  420. data/vendor/assets/javascripts/highstock/indicators/ichimoku-kinko-hyo.js.map +1 -0
  421. data/vendor/assets/javascripts/highstock/indicators/ichimoku-kinko-hyo.src.js +877 -0
  422. data/vendor/assets/javascripts/highstock/indicators/indicators-all.js +117 -0
  423. data/vendor/assets/javascripts/highstock/indicators/indicators-all.js.map +1 -0
  424. data/vendor/assets/javascripts/highstock/indicators/indicators-all.src.js +9389 -0
  425. data/vendor/assets/javascripts/highstock/indicators/indicators.js +17 -0
  426. data/vendor/assets/javascripts/highstock/indicators/indicators.js.map +1 -0
  427. data/vendor/assets/javascripts/highstock/indicators/indicators.src.js +500 -0
  428. data/vendor/assets/javascripts/highstock/indicators/keltner-channels.js +16 -0
  429. data/vendor/assets/javascripts/highstock/indicators/keltner-channels.js.map +1 -0
  430. data/vendor/assets/javascripts/highstock/indicators/keltner-channels.src.js +442 -0
  431. data/vendor/assets/javascripts/highstock/indicators/macd.js +18 -0
  432. data/vendor/assets/javascripts/highstock/indicators/macd.js.map +1 -0
  433. data/vendor/assets/javascripts/highstock/indicators/macd.src.js +444 -0
  434. data/vendor/assets/javascripts/highstock/indicators/mfi.js +13 -0
  435. data/vendor/assets/javascripts/highstock/indicators/mfi.js.map +1 -0
  436. data/vendor/assets/javascripts/highstock/indicators/mfi.src.js +225 -0
  437. data/vendor/assets/javascripts/highstock/indicators/momentum.js +12 -0
  438. data/vendor/assets/javascripts/highstock/indicators/momentum.js.map +1 -0
  439. data/vendor/assets/javascripts/highstock/indicators/momentum.src.js +146 -0
  440. data/vendor/assets/javascripts/highstock/indicators/natr.js +12 -0
  441. data/vendor/assets/javascripts/highstock/indicators/natr.js.map +1 -0
  442. data/vendor/assets/javascripts/highstock/indicators/natr.src.js +101 -0
  443. data/vendor/assets/javascripts/highstock/indicators/pivot-points.js +16 -0
  444. data/vendor/assets/javascripts/highstock/indicators/pivot-points.js.map +1 -0
  445. data/vendor/assets/javascripts/highstock/indicators/pivot-points.src.js +387 -0
  446. data/vendor/assets/javascripts/highstock/indicators/ppo.js +13 -0
  447. data/vendor/assets/javascripts/highstock/indicators/ppo.js.map +1 -0
  448. data/vendor/assets/javascripts/highstock/indicators/ppo.src.js +227 -0
  449. data/vendor/assets/javascripts/highstock/indicators/price-channel.js +16 -0
  450. data/vendor/assets/javascripts/highstock/indicators/price-channel.js.map +1 -0
  451. data/vendor/assets/javascripts/highstock/indicators/price-channel.src.js +450 -0
  452. data/vendor/assets/javascripts/highstock/indicators/price-envelopes.js +15 -0
  453. data/vendor/assets/javascripts/highstock/indicators/price-envelopes.js.map +1 -0
  454. data/vendor/assets/javascripts/highstock/indicators/price-envelopes.src.js +278 -0
  455. data/vendor/assets/javascripts/highstock/indicators/psar.js +13 -0
  456. data/vendor/assets/javascripts/highstock/indicators/psar.js.map +1 -0
  457. data/vendor/assets/javascripts/highstock/indicators/psar.src.js +334 -0
  458. data/vendor/assets/javascripts/highstock/indicators/regressions.js +14 -0
  459. data/vendor/assets/javascripts/highstock/indicators/regressions.js.map +1 -0
  460. data/vendor/assets/javascripts/highstock/indicators/regressions.src.js +454 -0
  461. data/vendor/assets/javascripts/highstock/indicators/roc.js +12 -0
  462. data/vendor/assets/javascripts/highstock/indicators/roc.js.map +1 -0
  463. data/vendor/assets/javascripts/highstock/indicators/roc.src.js +176 -0
  464. data/vendor/assets/javascripts/highstock/indicators/rsi.js +12 -0
  465. data/vendor/assets/javascripts/highstock/indicators/rsi.js.map +1 -0
  466. data/vendor/assets/javascripts/highstock/indicators/rsi.src.js +190 -0
  467. data/vendor/assets/javascripts/highstock/indicators/stochastic.js +17 -0
  468. data/vendor/assets/javascripts/highstock/indicators/stochastic.js.map +1 -0
  469. data/vendor/assets/javascripts/highstock/indicators/stochastic.src.js +494 -0
  470. data/vendor/assets/javascripts/highstock/indicators/supertrend.js +17 -0
  471. data/vendor/assets/javascripts/highstock/indicators/supertrend.js.map +1 -0
  472. data/vendor/assets/javascripts/highstock/indicators/supertrend.src.js +571 -0
  473. data/vendor/assets/javascripts/highstock/indicators/tema.js +14 -0
  474. data/vendor/assets/javascripts/highstock/indicators/tema.js.map +1 -0
  475. data/vendor/assets/javascripts/highstock/indicators/tema.src.js +322 -0
  476. data/vendor/assets/javascripts/highstock/indicators/trix.js +12 -0
  477. data/vendor/assets/javascripts/highstock/indicators/trix.js.map +1 -0
  478. data/vendor/assets/javascripts/highstock/indicators/trix.src.js +171 -0
  479. data/vendor/assets/javascripts/highstock/indicators/volume-by-price.js +21 -0
  480. data/vendor/assets/javascripts/highstock/indicators/volume-by-price.js.map +1 -0
  481. data/vendor/assets/javascripts/highstock/indicators/volume-by-price.src.js +698 -0
  482. data/vendor/assets/javascripts/highstock/indicators/vwap.js +12 -0
  483. data/vendor/assets/javascripts/highstock/indicators/vwap.js.map +1 -0
  484. data/vendor/assets/javascripts/highstock/indicators/vwap.src.js +216 -0
  485. data/vendor/assets/javascripts/highstock/indicators/williams-r.js +13 -0
  486. data/vendor/assets/javascripts/highstock/indicators/williams-r.js.map +1 -0
  487. data/vendor/assets/javascripts/highstock/indicators/williams-r.src.js +207 -0
  488. data/vendor/assets/javascripts/highstock/indicators/wma.js +12 -0
  489. data/vendor/assets/javascripts/highstock/indicators/wma.js.map +1 -0
  490. data/vendor/assets/javascripts/highstock/indicators/wma.src.js +173 -0
  491. data/vendor/assets/javascripts/highstock/indicators/zigzag.js +13 -0
  492. data/vendor/assets/javascripts/highstock/indicators/zigzag.js.map +1 -0
  493. data/vendor/assets/javascripts/highstock/indicators/zigzag.src.js +248 -0
  494. data/vendor/assets/javascripts/highstock/lib/canvg.js +130 -0
  495. data/vendor/assets/javascripts/highstock/lib/canvg.src.js +3073 -0
  496. data/vendor/assets/javascripts/highstock/lib/jspdf.js +283 -0
  497. data/vendor/assets/javascripts/highstock/lib/jspdf.src.js +21627 -0
  498. data/vendor/assets/javascripts/highstock/lib/rgbcolor.js +17 -0
  499. data/vendor/assets/javascripts/highstock/lib/rgbcolor.src.js +299 -0
  500. data/vendor/assets/javascripts/highstock/lib/svg2pdf.js +38 -0
  501. data/vendor/assets/javascripts/highstock/lib/svg2pdf.src.js +4390 -0
  502. data/vendor/assets/javascripts/highstock/modules/accessibility.js +73 -0
  503. data/vendor/assets/javascripts/highstock/modules/accessibility.js.map +1 -0
  504. data/vendor/assets/javascripts/highstock/modules/accessibility.src.js +3103 -0
  505. data/vendor/assets/javascripts/highstock/modules/annotations-advanced.js +132 -0
  506. data/vendor/assets/javascripts/highstock/modules/annotations-advanced.js.map +1 -0
  507. data/vendor/assets/javascripts/highstock/modules/annotations-advanced.src.js +8230 -0
  508. data/vendor/assets/javascripts/highstock/modules/annotations.js +94 -0
  509. data/vendor/assets/javascripts/highstock/modules/annotations.js.map +1 -0
  510. data/vendor/assets/javascripts/highstock/modules/annotations.src.js +6001 -0
  511. data/vendor/assets/javascripts/highstock/modules/arrow-symbols.js +11 -0
  512. data/vendor/assets/javascripts/highstock/modules/arrow-symbols.js.map +1 -0
  513. data/vendor/assets/javascripts/highstock/modules/arrow-symbols.src.js +225 -0
  514. data/vendor/assets/javascripts/highstock/modules/boost-canvas.js +23 -0
  515. data/vendor/assets/javascripts/highstock/modules/boost-canvas.js.map +1 -0
  516. data/vendor/assets/javascripts/highstock/modules/boost-canvas.src.js +756 -0
  517. data/vendor/assets/javascripts/highstock/modules/boost.js +65 -0
  518. data/vendor/assets/javascripts/highstock/modules/boost.js.map +1 -0
  519. data/vendor/assets/javascripts/highstock/modules/boost.src.js +3752 -0
  520. data/vendor/assets/javascripts/highstock/modules/bullet.js +14 -0
  521. data/vendor/assets/javascripts/highstock/modules/bullet.js.map +1 -0
  522. data/vendor/assets/javascripts/highstock/modules/bullet.src.js +388 -0
  523. data/vendor/assets/javascripts/highstock/modules/current-date-indicator.js +11 -0
  524. data/vendor/assets/javascripts/highstock/modules/current-date-indicator.js.map +1 -0
  525. data/vendor/assets/javascripts/highstock/modules/current-date-indicator.src.js +127 -0
  526. data/vendor/assets/javascripts/highstock/modules/cylinder.js +14 -0
  527. data/vendor/assets/javascripts/highstock/modules/cylinder.js.map +1 -0
  528. data/vendor/assets/javascripts/highstock/modules/cylinder.src.js +413 -0
  529. data/vendor/assets/javascripts/highstock/modules/data.js +37 -0
  530. data/vendor/assets/javascripts/highstock/modules/data.js.map +1 -0
  531. data/vendor/assets/javascripts/highstock/modules/data.src.js +2565 -0
  532. data/vendor/assets/javascripts/highstock/modules/datagrouping.js +25 -0
  533. data/vendor/assets/javascripts/highstock/modules/datagrouping.js.map +1 -0
  534. data/vendor/assets/javascripts/highstock/modules/datagrouping.src.js +1140 -0
  535. data/vendor/assets/javascripts/highstock/modules/debugger.js +28 -0
  536. data/vendor/assets/javascripts/highstock/modules/debugger.js.map +1 -0
  537. data/vendor/assets/javascripts/highstock/modules/debugger.src.js +267 -0
  538. data/vendor/assets/javascripts/highstock/modules/dependency-wheel.js +15 -0
  539. data/vendor/assets/javascripts/highstock/modules/dependency-wheel.js.map +1 -0
  540. data/vendor/assets/javascripts/highstock/modules/dependency-wheel.src.js +301 -0
  541. data/vendor/assets/javascripts/highstock/modules/drag-panes.js +18 -0
  542. data/vendor/assets/javascripts/highstock/modules/drag-panes.js.map +1 -0
  543. data/vendor/assets/javascripts/highstock/modules/drag-panes.src.js +649 -0
  544. data/vendor/assets/javascripts/highstock/modules/draggable-points.js +40 -0
  545. data/vendor/assets/javascripts/highstock/modules/draggable-points.js.map +1 -0
  546. data/vendor/assets/javascripts/highstock/modules/draggable-points.src.js +2650 -0
  547. data/vendor/assets/javascripts/highstock/modules/drilldown.js +29 -0
  548. data/vendor/assets/javascripts/highstock/modules/drilldown.js.map +1 -0
  549. data/vendor/assets/javascripts/highstock/modules/drilldown.src.js +1321 -0
  550. data/vendor/assets/javascripts/highstock/modules/export-data.js +27 -0
  551. data/vendor/assets/javascripts/highstock/modules/export-data.js.map +1 -0
  552. data/vendor/assets/javascripts/highstock/modules/export-data.src.js +1234 -0
  553. data/vendor/assets/javascripts/highstock/modules/exporting.js +35 -0
  554. data/vendor/assets/javascripts/highstock/modules/exporting.js.map +1 -0
  555. data/vendor/assets/javascripts/highstock/modules/exporting.src.js +2233 -0
  556. data/vendor/assets/javascripts/highstock/modules/full-screen.js +11 -0
  557. data/vendor/assets/javascripts/highstock/modules/full-screen.js.map +1 -0
  558. data/vendor/assets/javascripts/highstock/modules/full-screen.src.js +68 -0
  559. data/vendor/assets/javascripts/highstock/modules/funnel.js +14 -0
  560. data/vendor/assets/javascripts/highstock/modules/funnel.js.map +1 -0
  561. data/vendor/assets/javascripts/highstock/modules/funnel.src.js +576 -0
  562. data/vendor/assets/javascripts/highstock/modules/grid-axis.js +23 -0
  563. data/vendor/assets/javascripts/highstock/modules/grid-axis.js.map +1 -0
  564. data/vendor/assets/javascripts/highstock/modules/grid-axis.src.js +988 -0
  565. data/vendor/assets/javascripts/highstock/modules/heatmap.js +28 -0
  566. data/vendor/assets/javascripts/highstock/modules/heatmap.js.map +1 -0
  567. data/vendor/assets/javascripts/highstock/modules/heatmap.src.js +1731 -0
  568. data/vendor/assets/javascripts/highstock/modules/histogram-bellcurve.js +16 -0
  569. data/vendor/assets/javascripts/highstock/modules/histogram-bellcurve.js.map +1 -0
  570. data/vendor/assets/javascripts/highstock/modules/histogram-bellcurve.src.js +570 -0
  571. data/vendor/assets/javascripts/highstock/modules/item-series.js +13 -0
  572. data/vendor/assets/javascripts/highstock/modules/item-series.js.map +1 -0
  573. data/vendor/assets/javascripts/highstock/modules/item-series.src.js +176 -0
  574. data/vendor/assets/javascripts/highstock/modules/networkgraph.js +31 -0
  575. data/vendor/assets/javascripts/highstock/modules/networkgraph.js.map +1 -0
  576. data/vendor/assets/javascripts/highstock/modules/networkgraph.src.js +1348 -0
  577. data/vendor/assets/javascripts/highstock/modules/no-data-to-display.js +13 -0
  578. data/vendor/assets/javascripts/highstock/modules/no-data-to-display.js.map +1 -0
  579. data/vendor/assets/javascripts/highstock/modules/no-data-to-display.src.js +285 -0
  580. data/vendor/assets/javascripts/highstock/modules/offline-exporting.js +22 -0
  581. data/vendor/assets/javascripts/highstock/modules/offline-exporting.js.map +1 -0
  582. data/vendor/assets/javascripts/highstock/modules/offline-exporting.src.js +838 -0
  583. data/vendor/assets/javascripts/highstock/modules/oldie-polyfills.js +13 -0
  584. data/vendor/assets/javascripts/highstock/modules/oldie-polyfills.js.map +1 -0
  585. data/vendor/assets/javascripts/highstock/modules/oldie-polyfills.src.js +150 -0
  586. data/vendor/assets/javascripts/highstock/modules/oldie.js +35 -0
  587. data/vendor/assets/javascripts/highstock/modules/oldie.js.map +1 -0
  588. data/vendor/assets/javascripts/highstock/modules/oldie.src.js +1582 -0
  589. data/vendor/assets/javascripts/highstock/modules/overlapping-datalabels.js +9 -0
  590. data/vendor/assets/javascripts/highstock/modules/overlapping-datalabels.js.map +1 -0
  591. data/vendor/assets/javascripts/highstock/modules/overlapping-datalabels.src.js +22 -0
  592. data/vendor/assets/javascripts/highstock/modules/parallel-coordinates.js +18 -0
  593. data/vendor/assets/javascripts/highstock/modules/parallel-coordinates.js.map +1 -0
  594. data/vendor/assets/javascripts/highstock/modules/parallel-coordinates.src.js +517 -0
  595. data/vendor/assets/javascripts/highstock/modules/pareto.js +14 -0
  596. data/vendor/assets/javascripts/highstock/modules/pareto.js.map +1 -0
  597. data/vendor/assets/javascripts/highstock/modules/pareto.src.js +327 -0
  598. data/vendor/assets/javascripts/highstock/modules/pathfinder.js +34 -0
  599. data/vendor/assets/javascripts/highstock/modules/pathfinder.js.map +1 -0
  600. data/vendor/assets/javascripts/highstock/modules/pathfinder.src.js +2336 -0
  601. data/vendor/assets/javascripts/highstock/modules/pattern-fill.js +21 -0
  602. data/vendor/assets/javascripts/highstock/modules/pattern-fill.js.map +1 -0
  603. data/vendor/assets/javascripts/highstock/modules/pattern-fill.src.js +634 -0
  604. data/vendor/assets/javascripts/highstock/modules/price-indicator.js +13 -0
  605. data/vendor/assets/javascripts/highstock/modules/price-indicator.js.map +1 -0
  606. data/vendor/assets/javascripts/highstock/modules/price-indicator.src.js +176 -0
  607. data/vendor/assets/javascripts/highstock/modules/sankey.js +22 -0
  608. data/vendor/assets/javascripts/highstock/modules/sankey.js.map +1 -0
  609. data/vendor/assets/javascripts/highstock/modules/sankey.src.js +911 -0
  610. data/vendor/assets/javascripts/highstock/modules/series-label.js +23 -0
  611. data/vendor/assets/javascripts/highstock/modules/series-label.js.map +1 -0
  612. data/vendor/assets/javascripts/highstock/modules/series-label.src.js +1065 -0
  613. data/vendor/assets/javascripts/highstock/modules/solid-gauge.js +15 -0
  614. data/vendor/assets/javascripts/highstock/modules/solid-gauge.js.map +1 -0
  615. data/vendor/assets/javascripts/highstock/modules/solid-gauge.src.js +510 -0
  616. data/vendor/assets/javascripts/highstock/modules/sonification.js +53 -0
  617. data/vendor/assets/javascripts/highstock/modules/sonification.js.map +1 -0
  618. data/vendor/assets/javascripts/highstock/modules/sonification.src.js +3341 -0
  619. data/vendor/assets/javascripts/highstock/modules/static-scale.js +12 -0
  620. data/vendor/assets/javascripts/highstock/modules/static-scale.js.map +1 -0
  621. data/vendor/assets/javascripts/highstock/modules/static-scale.src.js +114 -0
  622. data/vendor/assets/javascripts/highstock/modules/stock-tools.js +65 -0
  623. data/vendor/assets/javascripts/highstock/modules/stock-tools.js.map +1 -0
  624. data/vendor/assets/javascripts/highstock/modules/stock-tools.src.js +3437 -0
  625. data/vendor/assets/javascripts/highstock/modules/stock.js +151 -0
  626. data/vendor/assets/javascripts/highstock/modules/stock.js.map +1 -0
  627. data/vendor/assets/javascripts/highstock/modules/stock.src.js +10907 -0
  628. data/vendor/assets/javascripts/highstock/modules/streamgraph.js +10 -0
  629. data/vendor/assets/javascripts/highstock/modules/streamgraph.js.map +1 -0
  630. data/vendor/assets/javascripts/highstock/modules/streamgraph.src.js +158 -0
  631. data/vendor/assets/javascripts/highstock/modules/sunburst.js +52 -0
  632. data/vendor/assets/javascripts/highstock/modules/sunburst.js.map +1 -0
  633. data/vendor/assets/javascripts/highstock/modules/sunburst.src.js +3174 -0
  634. data/vendor/assets/javascripts/highstock/modules/tilemap.js +26 -0
  635. data/vendor/assets/javascripts/highstock/modules/tilemap.js.map +1 -0
  636. data/vendor/assets/javascripts/highstock/modules/tilemap.src.js +1402 -0
  637. data/vendor/assets/javascripts/highstock/modules/timeline.js +23 -0
  638. data/vendor/assets/javascripts/highstock/modules/timeline.js.map +1 -0
  639. data/vendor/assets/javascripts/highstock/modules/timeline.src.js +778 -0
  640. data/vendor/assets/javascripts/highstock/modules/treegrid.js +50 -0
  641. data/vendor/assets/javascripts/highstock/modules/treegrid.js.map +1 -0
  642. data/vendor/assets/javascripts/highstock/modules/treegrid.src.js +2917 -0
  643. data/vendor/assets/javascripts/highstock/modules/treemap.js +39 -0
  644. data/vendor/assets/javascripts/highstock/modules/treemap.js.map +1 -0
  645. data/vendor/assets/javascripts/highstock/modules/treemap.src.js +2083 -0
  646. data/vendor/assets/javascripts/highstock/modules/variable-pie.js +16 -0
  647. data/vendor/assets/javascripts/highstock/modules/variable-pie.js.map +1 -0
  648. data/vendor/assets/javascripts/highstock/modules/variable-pie.src.js +485 -0
  649. data/vendor/assets/javascripts/highstock/modules/variwide.js +15 -0
  650. data/vendor/assets/javascripts/highstock/modules/variwide.js.map +1 -0
  651. data/vendor/assets/javascripts/highstock/modules/variwide.src.js +376 -0
  652. data/vendor/assets/javascripts/highstock/modules/vector.js +13 -0
  653. data/vendor/assets/javascripts/highstock/modules/vector.js.map +1 -0
  654. data/vendor/assets/javascripts/highstock/modules/vector.src.js +381 -0
  655. data/vendor/assets/javascripts/highstock/modules/venn.js +30 -0
  656. data/vendor/assets/javascripts/highstock/modules/venn.js.map +1 -0
  657. data/vendor/assets/javascripts/highstock/modules/venn.src.js +1624 -0
  658. data/vendor/assets/javascripts/highstock/modules/windbarb.js +17 -0
  659. data/vendor/assets/javascripts/highstock/modules/windbarb.js.map +1 -0
  660. data/vendor/assets/javascripts/highstock/modules/windbarb.src.js +574 -0
  661. data/vendor/assets/javascripts/highstock/modules/wordcloud.js +25 -0
  662. data/vendor/assets/javascripts/highstock/modules/wordcloud.js.map +1 -0
  663. data/vendor/assets/javascripts/highstock/modules/wordcloud.src.js +1475 -0
  664. data/vendor/assets/javascripts/highstock/modules/xrange.js +20 -0
  665. data/vendor/assets/javascripts/highstock/modules/xrange.js.map +1 -0
  666. data/vendor/assets/javascripts/highstock/modules/xrange.src.js +788 -0
  667. data/vendor/assets/javascripts/highstock/themes/avocado.js +9 -0
  668. data/vendor/assets/javascripts/highstock/themes/avocado.js.map +1 -0
  669. data/vendor/assets/javascripts/highstock/themes/avocado.src.js +63 -0
  670. data/vendor/assets/javascripts/highstock/themes/dark-blue.js +15 -0
  671. data/vendor/assets/javascripts/highstock/themes/dark-blue.js.map +1 -0
  672. data/vendor/assets/javascripts/highstock/themes/dark-blue.src.js +285 -0
  673. data/vendor/assets/javascripts/highstock/themes/dark-green.js +15 -0
  674. data/vendor/assets/javascripts/highstock/themes/dark-green.js.map +1 -0
  675. data/vendor/assets/javascripts/highstock/themes/dark-green.src.js +287 -0
  676. data/vendor/assets/javascripts/highstock/themes/dark-unica.js +14 -0
  677. data/vendor/assets/javascripts/highstock/themes/dark-unica.js.map +1 -0
  678. data/vendor/assets/javascripts/highstock/themes/dark-unica.src.js +246 -0
  679. data/vendor/assets/javascripts/highstock/themes/gray.js +15 -0
  680. data/vendor/assets/javascripts/highstock/themes/gray.js.map +1 -0
  681. data/vendor/assets/javascripts/highstock/themes/gray.src.js +293 -0
  682. data/vendor/assets/javascripts/highstock/themes/grid-light.js +11 -0
  683. data/vendor/assets/javascripts/highstock/themes/grid-light.js.map +1 -0
  684. data/vendor/assets/javascripts/highstock/themes/grid-light.src.js +107 -0
  685. data/vendor/assets/javascripts/highstock/themes/grid.js +11 -0
  686. data/vendor/assets/javascripts/highstock/themes/grid.js.map +1 -0
  687. data/vendor/assets/javascripts/highstock/themes/grid.src.js +136 -0
  688. data/vendor/assets/javascripts/highstock/themes/sand-signika.js +11 -0
  689. data/vendor/assets/javascripts/highstock/themes/sand-signika.js.map +1 -0
  690. data/vendor/assets/javascripts/highstock/themes/sand-signika.src.js +137 -0
  691. data/vendor/assets/javascripts/highstock/themes/skies.js +11 -0
  692. data/vendor/assets/javascripts/highstock/themes/skies.js.map +1 -0
  693. data/vendor/assets/javascripts/highstock/themes/skies.src.js +126 -0
  694. data/vendor/assets/javascripts/highstock/themes/sunset.js +9 -0
  695. data/vendor/assets/javascripts/highstock/themes/sunset.js.map +1 -0
  696. data/vendor/assets/javascripts/highstock/themes/sunset.src.js +62 -0
  697. metadata +781 -0
@@ -0,0 +1,1299 @@
1
+ /**
2
+ * (c) 2010-2019 Torstein Honsi
3
+ *
4
+ * License: www.highcharts.com/license
5
+ */
6
+
7
+ 'use strict';
8
+
9
+ import H from './Globals.js';
10
+ import './Utilities.js';
11
+ import './Chart.js';
12
+ import './Options.js';
13
+ import './Legend.js';
14
+ import './Point.js';
15
+ import './Series.js';
16
+
17
+ var addEvent = H.addEvent,
18
+ Chart = H.Chart,
19
+ createElement = H.createElement,
20
+ css = H.css,
21
+ defaultOptions = H.defaultOptions,
22
+ defaultPlotOptions = H.defaultPlotOptions,
23
+ extend = H.extend,
24
+ fireEvent = H.fireEvent,
25
+ hasTouch = H.hasTouch,
26
+ isObject = H.isObject,
27
+ Legend = H.Legend,
28
+ merge = H.merge,
29
+ pick = H.pick,
30
+ Point = H.Point,
31
+ Series = H.Series,
32
+ seriesTypes = H.seriesTypes,
33
+ svg = H.svg,
34
+ TrackerMixin;
35
+
36
+ /**
37
+ * TrackerMixin for points and graphs.
38
+ *
39
+ * @private
40
+ * @mixin Highcharts.TrackerMixin
41
+ */
42
+ TrackerMixin = H.TrackerMixin = {
43
+
44
+ /**
45
+ * Draw the tracker for a point.
46
+ *
47
+ * @private
48
+ * @function Highcharts.TrackerMixin.drawTrackerPoint
49
+ *
50
+ * @fires Highcharts.Series#event:afterDrawTracker
51
+ */
52
+ drawTrackerPoint: function () {
53
+ var series = this,
54
+ chart = series.chart,
55
+ pointer = chart.pointer,
56
+ onMouseOver = function (e) {
57
+ var point = pointer.getPointFromEvent(e);
58
+
59
+ // undefined on graph in scatterchart
60
+ if (point !== undefined) {
61
+ pointer.isDirectTouch = true;
62
+ point.onMouseOver(e);
63
+ }
64
+ };
65
+
66
+ // Add reference to the point
67
+ series.points.forEach(function (point) {
68
+ if (point.graphic) {
69
+ point.graphic.element.point = point;
70
+ }
71
+ if (point.dataLabel) {
72
+ if (point.dataLabel.div) {
73
+ point.dataLabel.div.point = point;
74
+ } else {
75
+ point.dataLabel.element.point = point;
76
+ }
77
+ }
78
+ });
79
+
80
+ // Add the event listeners, we need to do this only once
81
+ if (!series._hasTracking) {
82
+ series.trackerGroups.forEach(function (key) {
83
+ if (series[key]) { // we don't always have dataLabelsGroup
84
+ series[key]
85
+ .addClass('highcharts-tracker')
86
+ .on('mouseover', onMouseOver)
87
+ .on('mouseout', function (e) {
88
+ pointer.onTrackerMouseOut(e);
89
+ });
90
+ if (hasTouch) {
91
+ series[key].on('touchstart', onMouseOver);
92
+ }
93
+
94
+ if (!chart.styledMode && series.options.cursor) {
95
+ series[key]
96
+ .css(css)
97
+ .css({ cursor: series.options.cursor });
98
+ }
99
+ }
100
+ });
101
+ series._hasTracking = true;
102
+ }
103
+
104
+ fireEvent(this, 'afterDrawTracker');
105
+ },
106
+
107
+ /**
108
+ * Draw the tracker object that sits above all data labels and markers to
109
+ * track mouse events on the graph or points. For the line type charts
110
+ * the tracker uses the same graphPath, but with a greater stroke width
111
+ * for better control.
112
+ *
113
+ * @private
114
+ * @function Highcharts.TrackerMixin.drawTrackerGraph
115
+ *
116
+ * @fires Highcharts.Series#event:afterDrawTracker
117
+ */
118
+ drawTrackerGraph: function () {
119
+ var series = this,
120
+ options = series.options,
121
+ trackByArea = options.trackByArea,
122
+ trackerPath = [].concat(
123
+ trackByArea ? series.areaPath : series.graphPath
124
+ ),
125
+ trackerPathLength = trackerPath.length,
126
+ chart = series.chart,
127
+ pointer = chart.pointer,
128
+ renderer = chart.renderer,
129
+ snap = chart.options.tooltip.snap,
130
+ tracker = series.tracker,
131
+ i,
132
+ onMouseOver = function () {
133
+ if (chart.hoverSeries !== series) {
134
+ series.onMouseOver();
135
+ }
136
+ },
137
+ /*
138
+ * Empirical lowest possible opacities for TRACKER_FILL for an
139
+ * element to stay invisible but clickable
140
+ * IE6: 0.002
141
+ * IE7: 0.002
142
+ * IE8: 0.002
143
+ * IE9: 0.00000000001 (unlimited)
144
+ * IE10: 0.0001 (exporting only)
145
+ * FF: 0.00000000001 (unlimited)
146
+ * Chrome: 0.000001
147
+ * Safari: 0.000001
148
+ * Opera: 0.00000000001 (unlimited)
149
+ */
150
+ TRACKER_FILL = 'rgba(192,192,192,' + (svg ? 0.0001 : 0.002) + ')';
151
+
152
+ // Extend end points. A better way would be to use round linecaps,
153
+ // but those are not clickable in VML.
154
+ if (trackerPathLength && !trackByArea) {
155
+ i = trackerPathLength + 1;
156
+ while (i--) {
157
+ if (trackerPath[i] === 'M') { // extend left side
158
+ trackerPath.splice(
159
+ i + 1, 0,
160
+ trackerPath[i + 1] - snap,
161
+ trackerPath[i + 2],
162
+ 'L'
163
+ );
164
+ }
165
+ if (
166
+ (i && trackerPath[i] === 'M') ||
167
+ i === trackerPathLength
168
+ ) { // extend right side
169
+ trackerPath.splice(
170
+ i,
171
+ 0,
172
+ 'L',
173
+ trackerPath[i - 2] + snap,
174
+ trackerPath[i - 1]
175
+ );
176
+ }
177
+ }
178
+ }
179
+
180
+ // draw the tracker
181
+ if (tracker) {
182
+ tracker.attr({ d: trackerPath });
183
+ } else if (series.graph) { // create
184
+
185
+ series.tracker = renderer.path(trackerPath)
186
+ .attr({
187
+ visibility: series.visible ? 'visible' : 'hidden',
188
+ zIndex: 2
189
+ })
190
+ .addClass(
191
+ trackByArea ?
192
+ 'highcharts-tracker-area' :
193
+ 'highcharts-tracker-line'
194
+ )
195
+ .add(series.group);
196
+
197
+ if (!chart.styledMode) {
198
+ series.tracker.attr({
199
+ 'stroke-linejoin': 'round', // #1225
200
+ stroke: TRACKER_FILL,
201
+ fill: trackByArea ? TRACKER_FILL : 'none',
202
+ 'stroke-width': series.graph.strokeWidth() +
203
+ (trackByArea ? 0 : 2 * snap)
204
+ });
205
+ }
206
+
207
+ // The tracker is added to the series group, which is clipped, but
208
+ // is covered by the marker group. So the marker group also needs to
209
+ // capture events.
210
+ [series.tracker, series.markerGroup].forEach(function (tracker) {
211
+ tracker.addClass('highcharts-tracker')
212
+ .on('mouseover', onMouseOver)
213
+ .on('mouseout', function (e) {
214
+ pointer.onTrackerMouseOut(e);
215
+ });
216
+
217
+ if (options.cursor && !chart.styledMode) {
218
+ tracker.css({ cursor: options.cursor });
219
+ }
220
+
221
+ if (hasTouch) {
222
+ tracker.on('touchstart', onMouseOver);
223
+ }
224
+ });
225
+ }
226
+ fireEvent(this, 'afterDrawTracker');
227
+ }
228
+ };
229
+ /* End TrackerMixin */
230
+
231
+
232
+ /*
233
+ * Add tracking event listener to the series group, so the point graphics
234
+ * themselves act as trackers
235
+ */
236
+
237
+ if (seriesTypes.column) {
238
+ /**
239
+ * @private
240
+ * @borrows Highcharts.TrackerMixin.drawTrackerPoint as Highcharts.seriesTypes.column#drawTracker
241
+ */
242
+ seriesTypes.column.prototype.drawTracker = TrackerMixin.drawTrackerPoint;
243
+ }
244
+
245
+ if (seriesTypes.pie) {
246
+ /**
247
+ * @private
248
+ * @borrows Highcharts.TrackerMixin.drawTrackerPoint as Highcharts.seriesTypes.pie#drawTracker
249
+ */
250
+ seriesTypes.pie.prototype.drawTracker = TrackerMixin.drawTrackerPoint;
251
+ }
252
+
253
+ if (seriesTypes.scatter) {
254
+ /**
255
+ * @private
256
+ * @borrows Highcharts.TrackerMixin.drawTrackerPoint as Highcharts.seriesTypes.scatter#drawTracker
257
+ */
258
+ seriesTypes.scatter.prototype.drawTracker = TrackerMixin.drawTrackerPoint;
259
+ }
260
+
261
+ // Extend Legend for item events.
262
+ extend(Legend.prototype, {
263
+
264
+ /**
265
+ * @private
266
+ * @function Highcharts.Legend#setItemEvents
267
+ *
268
+ * @param {Highcharts.Point|Highcharts.Series} item
269
+ *
270
+ * @param {Highcharts.SVGElement} legendItem
271
+ *
272
+ * @param {boolean} [useHTML=false]
273
+ *
274
+ * @fires Highcharts.Point#event:legendItemClick
275
+ * @fires Highcharts.Series#event:legendItemClick
276
+ */
277
+ setItemEvents: function (item, legendItem, useHTML) {
278
+ var legend = this,
279
+ boxWrapper = legend.chart.renderer.boxWrapper,
280
+ activeClass = 'highcharts-legend-' +
281
+ (item instanceof Point ? 'point' : 'series') + '-active',
282
+ styledMode = legend.chart.styledMode;
283
+
284
+ // Set the events on the item group, or in case of useHTML, the item
285
+ // itself (#1249)
286
+ (useHTML ? legendItem : item.legendGroup).on('mouseover', function () {
287
+ item.setState('hover');
288
+
289
+ // A CSS class to dim or hide other than the hovered series
290
+ boxWrapper.addClass(activeClass);
291
+
292
+ if (!styledMode) {
293
+ legendItem.css(legend.options.itemHoverStyle);
294
+ }
295
+ })
296
+ .on('mouseout', function () {
297
+ if (!legend.styledMode) {
298
+ legendItem.css(
299
+ merge(
300
+ item.visible ?
301
+ legend.itemStyle :
302
+ legend.itemHiddenStyle
303
+ )
304
+ );
305
+ }
306
+
307
+ // A CSS class to dim or hide other than the hovered series
308
+ boxWrapper.removeClass(activeClass);
309
+
310
+ item.setState();
311
+ })
312
+ .on('click', function (event) {
313
+ var strLegendItemClick = 'legendItemClick',
314
+ fnLegendItemClick = function () {
315
+ if (item.setVisible) {
316
+ item.setVisible();
317
+ }
318
+ };
319
+
320
+ // A CSS class to dim or hide other than the hovered series.
321
+ // Event handling in iOS causes the activeClass to be added
322
+ // prior to click in some cases (#7418).
323
+ boxWrapper.removeClass(activeClass);
324
+
325
+ // Pass over the click/touch event. #4.
326
+ event = {
327
+ browserEvent: event
328
+ };
329
+
330
+ // click the name or symbol
331
+ if (item.firePointEvent) { // point
332
+ item.firePointEvent(
333
+ strLegendItemClick,
334
+ event,
335
+ fnLegendItemClick
336
+ );
337
+ } else {
338
+ fireEvent(
339
+ item, strLegendItemClick, event, fnLegendItemClick
340
+ );
341
+ }
342
+ });
343
+ },
344
+
345
+ /**
346
+ * @private
347
+ * @function Highcharts.Legend#createCheckboxForItem
348
+ *
349
+ * @param {Highcharts.Point|Highcharts.Series} item
350
+ *
351
+ * @fires Highcharts.Series#event:checkboxClick
352
+ */
353
+ createCheckboxForItem: function (item) {
354
+ var legend = this;
355
+
356
+ item.checkbox = createElement('input', {
357
+ type: 'checkbox',
358
+ className: 'highcharts-legend-checkbox',
359
+ checked: item.selected,
360
+ defaultChecked: item.selected // required by IE7
361
+ }, legend.options.itemCheckboxStyle, legend.chart.container);
362
+
363
+ addEvent(item.checkbox, 'click', function (event) {
364
+ var target = event.target;
365
+
366
+ fireEvent(
367
+ item.series || item,
368
+ 'checkboxClick',
369
+ { // #3712
370
+ checked: target.checked,
371
+ item: item
372
+ },
373
+ function () {
374
+ item.select();
375
+ }
376
+ );
377
+ });
378
+ }
379
+ });
380
+
381
+ /*
382
+ * Extend the Chart object with interaction
383
+ */
384
+
385
+ extend(Chart.prototype, /** @lends Chart.prototype */ {
386
+
387
+ /**
388
+ * Display the zoom button.
389
+ *
390
+ * @private
391
+ * @function Highcharts.Chart#showResetZoom
392
+ *
393
+ * @fires Highcharts.Chart#event:beforeShowResetZoom
394
+ */
395
+ showResetZoom: function () {
396
+ var chart = this,
397
+ lang = defaultOptions.lang,
398
+ btnOptions = chart.options.chart.resetZoomButton,
399
+ theme = btnOptions.theme,
400
+ states = theme.states,
401
+ alignTo = btnOptions.relativeTo === 'chart' ? null : 'plotBox';
402
+
403
+ function zoomOut() {
404
+ chart.zoomOut();
405
+ }
406
+
407
+ fireEvent(this, 'beforeShowResetZoom', null, function () {
408
+ chart.resetZoomButton = chart.renderer.button(
409
+ lang.resetZoom,
410
+ null,
411
+ null,
412
+ zoomOut,
413
+ theme,
414
+ states && states.hover
415
+ )
416
+ .attr({
417
+ align: btnOptions.position.align,
418
+ title: lang.resetZoomTitle
419
+ })
420
+ .addClass('highcharts-reset-zoom')
421
+ .add()
422
+ .align(btnOptions.position, false, alignTo);
423
+ });
424
+
425
+ },
426
+
427
+ /**
428
+ * Zoom the chart out after a user has zoomed in. See also
429
+ * [Axis.setExtremes](/class-reference/Highcharts.Axis#setExtremes).
430
+ *
431
+ * @function Highcharts.Chart#zoomOut
432
+ *
433
+ * @fires Highcharts.Chart#event:selection
434
+ */
435
+ zoomOut: function () {
436
+ fireEvent(this, 'selection', { resetSelection: true }, this.zoom);
437
+ },
438
+
439
+ /**
440
+ * Zoom into a given portion of the chart given by axis coordinates.
441
+ *
442
+ * @private
443
+ * @function Highcharts.Chart#zoom
444
+ *
445
+ * @param {Highcharts.SelectEventObject} event
446
+ */
447
+ zoom: function (event) {
448
+ var chart = this,
449
+ hasZoomed,
450
+ pointer = chart.pointer,
451
+ displayButton = false,
452
+ resetZoomButton;
453
+
454
+ // If zoom is called with no arguments, reset the axes
455
+ if (!event || event.resetSelection) {
456
+ chart.axes.forEach(function (axis) {
457
+ hasZoomed = axis.zoom();
458
+ });
459
+ pointer.initiated = false; // #6804
460
+
461
+ } else { // else, zoom in on all axes
462
+ event.xAxis.concat(event.yAxis).forEach(function (axisData) {
463
+ var axis = axisData.axis,
464
+ isXAxis = axis.isXAxis;
465
+
466
+ // don't zoom more than minRange
467
+ if (pointer[isXAxis ? 'zoomX' : 'zoomY']) {
468
+ hasZoomed = axis.zoom(axisData.min, axisData.max);
469
+ if (axis.displayBtn) {
470
+ displayButton = true;
471
+ }
472
+ }
473
+ });
474
+ }
475
+
476
+ // Show or hide the Reset zoom button
477
+ resetZoomButton = chart.resetZoomButton;
478
+ if (displayButton && !resetZoomButton) {
479
+ chart.showResetZoom();
480
+ } else if (!displayButton && isObject(resetZoomButton)) {
481
+ chart.resetZoomButton = resetZoomButton.destroy();
482
+ }
483
+
484
+
485
+ // Redraw
486
+ if (hasZoomed) {
487
+ chart.redraw(
488
+ pick(
489
+ chart.options.chart.animation,
490
+ event && event.animation,
491
+ chart.pointCount < 100
492
+ )
493
+ );
494
+ }
495
+ },
496
+
497
+ /**
498
+ * Pan the chart by dragging the mouse across the pane. This function is
499
+ * called on mouse move, and the distance to pan is computed from chartX
500
+ * compared to the first chartX position in the dragging operation.
501
+ *
502
+ * @private
503
+ * @function Highcharts.Chart#pan
504
+ *
505
+ * @param {Highcharts.PointerEventObject} e
506
+ *
507
+ * @param {string} panning
508
+ */
509
+ pan: function (e, panning) {
510
+
511
+ var chart = this,
512
+ hoverPoints = chart.hoverPoints,
513
+ doRedraw;
514
+
515
+ fireEvent(this, 'pan', { originalEvent: e }, function () {
516
+
517
+ // remove active points for shared tooltip
518
+ if (hoverPoints) {
519
+ hoverPoints.forEach(function (point) {
520
+ point.setState();
521
+ });
522
+ }
523
+
524
+ // xy is used in maps
525
+ (panning === 'xy' ? [1, 0] : [1]).forEach(function (isX) {
526
+ var axis = chart[isX ? 'xAxis' : 'yAxis'][0],
527
+ horiz = axis.horiz,
528
+ mousePos = e[horiz ? 'chartX' : 'chartY'],
529
+ mouseDown = horiz ? 'mouseDownX' : 'mouseDownY',
530
+ startPos = chart[mouseDown],
531
+ halfPointRange = (axis.pointRange || 0) / 2,
532
+ pointRangeDirection =
533
+ (axis.reversed && !chart.inverted) ||
534
+ (!axis.reversed && chart.inverted) ?
535
+ -1 :
536
+ 1,
537
+ extremes = axis.getExtremes(),
538
+ panMin = axis.toValue(startPos - mousePos, true) +
539
+ halfPointRange * pointRangeDirection,
540
+ panMax =
541
+ axis.toValue(
542
+ startPos + axis.len - mousePos, true
543
+ ) -
544
+ halfPointRange * pointRangeDirection,
545
+ flipped = panMax < panMin,
546
+ newMin = flipped ? panMax : panMin,
547
+ newMax = flipped ? panMin : panMax,
548
+ paddedMin = Math.min(
549
+ extremes.dataMin,
550
+ halfPointRange ?
551
+ extremes.min :
552
+ axis.toValue(
553
+ axis.toPixels(extremes.min) -
554
+ axis.minPixelPadding
555
+ )
556
+ ),
557
+ paddedMax = Math.max(
558
+ extremes.dataMax,
559
+ halfPointRange ?
560
+ extremes.max :
561
+ axis.toValue(
562
+ axis.toPixels(extremes.max) +
563
+ axis.minPixelPadding
564
+ )
565
+ ),
566
+ spill;
567
+
568
+ // If the new range spills over, either to the min or max,
569
+ // adjust the new range.
570
+ spill = paddedMin - newMin;
571
+ if (spill > 0) {
572
+ newMax += spill;
573
+ newMin = paddedMin;
574
+ }
575
+ spill = newMax - paddedMax;
576
+ if (spill > 0) {
577
+ newMax = paddedMax;
578
+ newMin -= spill;
579
+ }
580
+
581
+ // Set new extremes if they are actually new
582
+ if (
583
+ axis.series.length &&
584
+ newMin !== extremes.min &&
585
+ newMax !== extremes.max
586
+ ) {
587
+ axis.setExtremes(
588
+ newMin,
589
+ newMax,
590
+ false,
591
+ false,
592
+ { trigger: 'pan' }
593
+ );
594
+ doRedraw = true;
595
+ }
596
+
597
+ chart[mouseDown] = mousePos; // set new reference for next run
598
+ });
599
+
600
+ if (doRedraw) {
601
+ chart.redraw(false);
602
+ }
603
+ css(chart.container, { cursor: 'move' });
604
+ });
605
+ }
606
+ });
607
+
608
+ // Extend the Point object with interaction
609
+ extend(Point.prototype, /** @lends Highcharts.Point.prototype */ {
610
+
611
+ /**
612
+ * Toggle the selection status of a point.
613
+ *
614
+ * @see Highcharts.Chart#getSelectedPoints
615
+ *
616
+ * @sample highcharts/members/point-select/
617
+ * Select a point from a button
618
+ * @sample highcharts/chart/events-selection-points/
619
+ * Select a range of points through a drag selection
620
+ * @sample maps/series/data-id/
621
+ * Select a point in Highmaps
622
+ *
623
+ * @function Highcharts.Point#select
624
+ *
625
+ * @param {boolean} [selected]
626
+ * When `true`, the point is selected. When `false`, the point is
627
+ * unselected. When `null` or `undefined`, the selection state is
628
+ * toggled.
629
+ *
630
+ * @param {boolean} [accumulate=false]
631
+ * When `true`, the selection is added to other selected points.
632
+ * When `false`, other selected points are deselected. Internally in
633
+ * Highcharts, when
634
+ * [allowPointSelect](http://api.highcharts.com/highcharts/plotOptions.series.allowPointSelect)
635
+ * is `true`, selected points are accumulated on Control, Shift or
636
+ * Cmd clicking the point.
637
+ *
638
+ * @fires Highcharts.Point#event:select
639
+ * @fires Highcharts.Point#event:unselect
640
+ */
641
+ select: function (selected, accumulate) {
642
+ var point = this,
643
+ series = point.series,
644
+ chart = series.chart;
645
+
646
+ selected = pick(selected, !point.selected);
647
+
648
+ // fire the event with the default handler
649
+ point.firePointEvent(
650
+ selected ? 'select' : 'unselect',
651
+ { accumulate: accumulate },
652
+ function () {
653
+
654
+ /**
655
+ * Whether the point is selected or not.
656
+ *
657
+ * @see Point#select
658
+ * @see Chart#getSelectedPoints
659
+ *
660
+ * @name Highcharts.Point#selected
661
+ * @type {boolean}
662
+ */
663
+ point.selected = point.options.selected = selected;
664
+ series.options.data[series.data.indexOf(point)] =
665
+ point.options;
666
+
667
+ point.setState(selected && 'select');
668
+
669
+ // unselect all other points unless Ctrl or Cmd + click
670
+ if (!accumulate) {
671
+ chart.getSelectedPoints().forEach(function (loopPoint) {
672
+ if (loopPoint.selected && loopPoint !== point) {
673
+ loopPoint.selected = loopPoint.options.selected =
674
+ false;
675
+ series.options.data[
676
+ series.data.indexOf(loopPoint)
677
+ ] = loopPoint.options;
678
+ loopPoint.setState('');
679
+ loopPoint.firePointEvent('unselect');
680
+ }
681
+ });
682
+ }
683
+ }
684
+ );
685
+ },
686
+
687
+ /**
688
+ * Runs on mouse over the point. Called internally from mouse and touch
689
+ * events.
690
+ *
691
+ * @function Highcharts.Point#onMouseOver
692
+ *
693
+ * @param {Highcharts.PointerEventObject} e
694
+ * The event arguments.
695
+ */
696
+ onMouseOver: function (e) {
697
+ var point = this,
698
+ series = point.series,
699
+ chart = series.chart,
700
+ pointer = chart.pointer;
701
+
702
+ e = e ?
703
+ pointer.normalize(e) :
704
+ // In cases where onMouseOver is called directly without an event
705
+ pointer.getChartCoordinatesFromPoint(point, chart.inverted);
706
+ pointer.runPointActions(e, point);
707
+ },
708
+
709
+ /**
710
+ * Runs on mouse out from the point. Called internally from mouse and touch
711
+ * events.
712
+ *
713
+ * @function Highcharts.Point#onMouseOut
714
+ *
715
+ * @fires Highcharts.Point#event:mouseOut
716
+ */
717
+ onMouseOut: function () {
718
+ var point = this,
719
+ chart = point.series.chart;
720
+
721
+ point.firePointEvent('mouseOut');
722
+ (chart.hoverPoints || []).forEach(function (p) {
723
+ p.setState();
724
+ });
725
+ chart.hoverPoints = chart.hoverPoint = null;
726
+ },
727
+
728
+ /**
729
+ * Import events from the series' and point's options. Only do it on
730
+ * demand, to save processing time on hovering.
731
+ *
732
+ * @private
733
+ * @function Highcharts.Point#importEvents
734
+ */
735
+ importEvents: function () {
736
+ if (!this.hasImportedEvents) {
737
+ var point = this,
738
+ options = merge(point.series.options.point, point.options),
739
+ events = options.events;
740
+
741
+ point.events = events;
742
+
743
+ H.objectEach(events, function (event, eventType) {
744
+ addEvent(point, eventType, event);
745
+ });
746
+ this.hasImportedEvents = true;
747
+
748
+ }
749
+ },
750
+
751
+ /**
752
+ * Set the point's state.
753
+ *
754
+ * @function Highcharts.Point#setState
755
+ *
756
+ * @param {string} [state]
757
+ * The new state, can be one of `''` (an empty string), `hover` or
758
+ * `select`.
759
+ *
760
+ * @param {boolean} [move]
761
+ * State for animation.
762
+ *
763
+ * @fires Highcharts.Point#event:afterSetState
764
+ */
765
+ setState: function (state, move) {
766
+ var point = this,
767
+ plotX = Math.floor(point.plotX), // #4586
768
+ plotY = point.plotY,
769
+ series = point.series,
770
+ stateOptions = series.options.states[state || 'normal'] || {},
771
+ markerOptions = defaultPlotOptions[series.type].marker &&
772
+ series.options.marker,
773
+ normalDisabled = markerOptions && markerOptions.enabled === false,
774
+ markerStateOptions = (
775
+ markerOptions &&
776
+ markerOptions.states &&
777
+ markerOptions.states[state || 'normal']
778
+ ) || {},
779
+ stateDisabled = markerStateOptions.enabled === false,
780
+ stateMarkerGraphic = series.stateMarkerGraphic,
781
+ pointMarker = point.marker || {},
782
+ chart = series.chart,
783
+ halo = series.halo,
784
+ haloOptions,
785
+ markerAttribs,
786
+ hasMarkers = markerOptions && series.markerAttribs,
787
+ newSymbol;
788
+
789
+ state = state || ''; // empty string
790
+
791
+ if (
792
+ // already has this state
793
+ (state === point.state && !move) ||
794
+
795
+ // selected points don't respond to hover
796
+ (point.selected && state !== 'select') ||
797
+
798
+ // series' state options is disabled
799
+ (stateOptions.enabled === false) ||
800
+
801
+ // general point marker's state options is disabled
802
+ (state && (
803
+ stateDisabled ||
804
+ (normalDisabled && markerStateOptions.enabled === false)
805
+ )) ||
806
+
807
+ // individual point marker's state options is disabled
808
+ (
809
+ state &&
810
+ pointMarker.states &&
811
+ pointMarker.states[state] &&
812
+ pointMarker.states[state].enabled === false
813
+ ) // #1610
814
+
815
+ ) {
816
+ return;
817
+ }
818
+
819
+ if (hasMarkers) {
820
+ markerAttribs = series.markerAttribs(point, state);
821
+ }
822
+
823
+ // Apply hover styles to the existing point
824
+ if (point.graphic) {
825
+
826
+ if (point.state) {
827
+ point.graphic.removeClass('highcharts-point-' + point.state);
828
+ }
829
+ if (state) {
830
+ point.graphic.addClass('highcharts-point-' + state);
831
+ }
832
+
833
+ if (!chart.styledMode) {
834
+ point.graphic.animate(
835
+ series.pointAttribs(point, state),
836
+ pick(
837
+ chart.options.chart.animation,
838
+ stateOptions.animation
839
+ )
840
+ );
841
+ }
842
+
843
+ if (markerAttribs) {
844
+ point.graphic.animate(
845
+ markerAttribs,
846
+ pick(
847
+ chart.options.chart.animation, // Turn off globally
848
+ markerStateOptions.animation,
849
+ markerOptions.animation
850
+ )
851
+ );
852
+ }
853
+
854
+ // Zooming in from a range with no markers to a range with markers
855
+ if (stateMarkerGraphic) {
856
+ stateMarkerGraphic.hide();
857
+ }
858
+ } else {
859
+ // if a graphic is not applied to each point in the normal state,
860
+ // create a shared graphic for the hover state
861
+ if (state && markerStateOptions) {
862
+ newSymbol = pointMarker.symbol || series.symbol;
863
+
864
+ // If the point has another symbol than the previous one, throw
865
+ // away the state marker graphic and force a new one (#1459)
866
+ if (
867
+ stateMarkerGraphic &&
868
+ stateMarkerGraphic.currentSymbol !== newSymbol
869
+ ) {
870
+ stateMarkerGraphic = stateMarkerGraphic.destroy();
871
+ }
872
+
873
+ // Add a new state marker graphic
874
+ if (!stateMarkerGraphic) {
875
+ if (newSymbol) {
876
+ series.stateMarkerGraphic = stateMarkerGraphic =
877
+ chart.renderer.symbol(
878
+ newSymbol,
879
+ markerAttribs.x,
880
+ markerAttribs.y,
881
+ markerAttribs.width,
882
+ markerAttribs.height
883
+ )
884
+ .add(series.markerGroup);
885
+ stateMarkerGraphic.currentSymbol = newSymbol;
886
+ }
887
+
888
+ // Move the existing graphic
889
+ } else {
890
+ stateMarkerGraphic[move ? 'animate' : 'attr']({ // #1054
891
+ x: markerAttribs.x,
892
+ y: markerAttribs.y
893
+ });
894
+ }
895
+
896
+ if (!chart.styledMode && stateMarkerGraphic) {
897
+ stateMarkerGraphic.attr(series.pointAttribs(point, state));
898
+ }
899
+ }
900
+
901
+ if (stateMarkerGraphic) {
902
+ stateMarkerGraphic[
903
+ state && chart.isInsidePlot(plotX, plotY, chart.inverted) ?
904
+ 'show' :
905
+ 'hide'
906
+ ](); // #2450
907
+ stateMarkerGraphic.element.point = point; // #4310
908
+ }
909
+ }
910
+
911
+ // Show me your halo
912
+ haloOptions = stateOptions.halo;
913
+ if (haloOptions && haloOptions.size) {
914
+ if (!halo) {
915
+ series.halo = halo = chart.renderer.path()
916
+ // #5818, #5903, #6705
917
+ .add((point.graphic || stateMarkerGraphic).parentGroup);
918
+ }
919
+ halo.show()[move ? 'animate' : 'attr']({
920
+ d: point.haloPath(haloOptions.size)
921
+ });
922
+ halo.attr({
923
+ 'class': 'highcharts-halo highcharts-color-' +
924
+ pick(point.colorIndex, series.colorIndex) +
925
+ (point.className ? ' ' + point.className : ''),
926
+ 'zIndex': -1 // #4929, #8276
927
+ });
928
+ halo.point = point; // #6055
929
+
930
+ if (!chart.styledMode) {
931
+ halo.attr(extend({
932
+ 'fill': point.color || series.color,
933
+ 'fill-opacity': haloOptions.opacity
934
+ }, haloOptions.attributes));
935
+ }
936
+
937
+ } else if (halo && halo.point && halo.point.haloPath) {
938
+ // Animate back to 0 on the current halo point (#6055)
939
+ halo.animate(
940
+ { d: halo.point.haloPath(0) },
941
+ null,
942
+ // Hide after unhovering. The `complete` callback runs in the
943
+ // halo's context (#7681).
944
+ halo.hide
945
+ );
946
+ }
947
+
948
+ point.state = state;
949
+
950
+ fireEvent(point, 'afterSetState');
951
+ },
952
+
953
+ /**
954
+ * Get the path definition for the halo, which is usually a shadow-like
955
+ * circle around the currently hovered point.
956
+ *
957
+ * @function Highcharts.Point#haloPath
958
+ *
959
+ * @param {number} size
960
+ * The radius of the circular halo.
961
+ *
962
+ * @return {Highcharts.SVGPathArray}
963
+ * The path definition.
964
+ */
965
+ haloPath: function (size) {
966
+ var series = this.series,
967
+ chart = series.chart;
968
+
969
+ return chart.renderer.symbols.circle(
970
+ Math.floor(this.plotX) - size,
971
+ this.plotY - size,
972
+ size * 2,
973
+ size * 2
974
+ );
975
+ }
976
+ });
977
+
978
+ // Extend the Series object with interaction
979
+ extend(Series.prototype, /** @lends Highcharts.Series.prototype */ {
980
+
981
+ /**
982
+ * Runs on mouse over the series graphical items.
983
+ *
984
+ * @function Highcharts.Series#onMouseOver
985
+ *
986
+ * @fires Highcharts.Series#event:mouseOver
987
+ */
988
+ onMouseOver: function () {
989
+ var series = this,
990
+ chart = series.chart,
991
+ hoverSeries = chart.hoverSeries;
992
+
993
+ // set normal state to previous series
994
+ if (hoverSeries && hoverSeries !== series) {
995
+ hoverSeries.onMouseOut();
996
+ }
997
+
998
+ // trigger the event, but to save processing time,
999
+ // only if defined
1000
+ if (series.options.events.mouseOver) {
1001
+ fireEvent(series, 'mouseOver');
1002
+ }
1003
+
1004
+ // hover this
1005
+ series.setState('hover');
1006
+ chart.hoverSeries = series;
1007
+ },
1008
+
1009
+ /**
1010
+ * Runs on mouse out of the series graphical items.
1011
+ *
1012
+ * @function Highcharts.Series#onMouseOut
1013
+ *
1014
+ * @fires Highcharts.Series#event:mouseOut
1015
+ */
1016
+ onMouseOut: function () {
1017
+ // trigger the event only if listeners exist
1018
+ var series = this,
1019
+ options = series.options,
1020
+ chart = series.chart,
1021
+ tooltip = chart.tooltip,
1022
+ hoverPoint = chart.hoverPoint;
1023
+
1024
+ // #182, set to null before the mouseOut event fires
1025
+ chart.hoverSeries = null;
1026
+
1027
+ // trigger mouse out on the point, which must be in this series
1028
+ if (hoverPoint) {
1029
+ hoverPoint.onMouseOut();
1030
+ }
1031
+
1032
+ // fire the mouse out event
1033
+ if (series && options.events.mouseOut) {
1034
+ fireEvent(series, 'mouseOut');
1035
+ }
1036
+
1037
+
1038
+ // hide the tooltip
1039
+ if (
1040
+ tooltip &&
1041
+ !series.stickyTracking &&
1042
+ (!tooltip.shared || series.noSharedTooltip)
1043
+ ) {
1044
+ tooltip.hide();
1045
+ }
1046
+
1047
+ // set normal state
1048
+ series.setState();
1049
+ },
1050
+
1051
+ /**
1052
+ * Set the state of the series. Called internally on mouse interaction
1053
+ * operations, but it can also be called directly to visually
1054
+ * highlight a series.
1055
+ *
1056
+ * @function Highcharts.Series#setState
1057
+ *
1058
+ * @param {string} [state]
1059
+ * Can be either `hover` or undefined to set to normal state.
1060
+ */
1061
+ setState: function (state) {
1062
+ var series = this,
1063
+ options = series.options,
1064
+ graph = series.graph,
1065
+ stateOptions = options.states,
1066
+ lineWidth = options.lineWidth,
1067
+ attribs,
1068
+ i = 0;
1069
+
1070
+ state = state || '';
1071
+
1072
+ if (series.state !== state) {
1073
+
1074
+ // Toggle class names
1075
+ [
1076
+ series.group,
1077
+ series.markerGroup,
1078
+ series.dataLabelsGroup
1079
+ ].forEach(function (group) {
1080
+ if (group) {
1081
+ // Old state
1082
+ if (series.state) {
1083
+ group.removeClass('highcharts-series-' + series.state);
1084
+ }
1085
+ // New state
1086
+ if (state) {
1087
+ group.addClass('highcharts-series-' + state);
1088
+ }
1089
+ }
1090
+ });
1091
+
1092
+ series.state = state;
1093
+
1094
+ if (!series.chart.styledMode) {
1095
+
1096
+ if (
1097
+ stateOptions[state] &&
1098
+ stateOptions[state].enabled === false
1099
+ ) {
1100
+ return;
1101
+ }
1102
+
1103
+ if (state) {
1104
+ lineWidth = (
1105
+ stateOptions[state].lineWidth ||
1106
+ lineWidth + (stateOptions[state].lineWidthPlus || 0)
1107
+ ); // #4035
1108
+ }
1109
+
1110
+ if (graph && !graph.dashstyle) {
1111
+ attribs = {
1112
+ 'stroke-width': lineWidth
1113
+ };
1114
+
1115
+ // Animate the graph stroke-width. By default a quick
1116
+ // animation to hover, slower to un-hover.
1117
+ graph.animate(
1118
+ attribs,
1119
+ pick(
1120
+ (
1121
+ stateOptions[state || 'normal'] &&
1122
+ stateOptions[state || 'normal'].animation
1123
+ ),
1124
+ series.chart.options.chart.animation
1125
+ )
1126
+ );
1127
+ while (series['zone-graph-' + i]) {
1128
+ series['zone-graph-' + i].attr(attribs);
1129
+ i = i + 1;
1130
+ }
1131
+ }
1132
+ }
1133
+ }
1134
+ },
1135
+
1136
+ /**
1137
+ * Show or hide the series.
1138
+ *
1139
+ * @function Highcharts.Series#setVisible
1140
+ *
1141
+ * @param {boolean} [visible]
1142
+ * True to show the series, false to hide. If undefined, the
1143
+ * visibility is toggled.
1144
+ *
1145
+ * @param {boolean} [redraw=true]
1146
+ * Whether to redraw the chart after the series is altered. If doing
1147
+ * more operations on the chart, it is a good idea to set redraw to
1148
+ * false and call {@link Chart#redraw|chart.redraw()} after.
1149
+ *
1150
+ * @fires Highcharts.Series#event:hide
1151
+ * @fires Highcharts.Series#event:show
1152
+ */
1153
+ setVisible: function (vis, redraw) {
1154
+ var series = this,
1155
+ chart = series.chart,
1156
+ legendItem = series.legendItem,
1157
+ showOrHide,
1158
+ ignoreHiddenSeries = chart.options.chart.ignoreHiddenSeries,
1159
+ oldVisibility = series.visible;
1160
+
1161
+ // if called without an argument, toggle visibility
1162
+ series.visible =
1163
+ vis =
1164
+ series.options.visible =
1165
+ series.userOptions.visible =
1166
+ vis === undefined ? !oldVisibility : vis; // #5618
1167
+ showOrHide = vis ? 'show' : 'hide';
1168
+
1169
+ // show or hide elements
1170
+ [
1171
+ 'group',
1172
+ 'dataLabelsGroup',
1173
+ 'markerGroup',
1174
+ 'tracker',
1175
+ 'tt'
1176
+ ].forEach(function (key) {
1177
+ if (series[key]) {
1178
+ series[key][showOrHide]();
1179
+ }
1180
+ });
1181
+
1182
+
1183
+ // hide tooltip (#1361)
1184
+ if (
1185
+ chart.hoverSeries === series ||
1186
+ (chart.hoverPoint && chart.hoverPoint.series) === series
1187
+ ) {
1188
+ series.onMouseOut();
1189
+ }
1190
+
1191
+
1192
+ if (legendItem) {
1193
+ chart.legend.colorizeItem(series, vis);
1194
+ }
1195
+
1196
+
1197
+ // rescale or adapt to resized chart
1198
+ series.isDirty = true;
1199
+ // in a stack, all other series are affected
1200
+ if (series.options.stacking) {
1201
+ chart.series.forEach(function (otherSeries) {
1202
+ if (otherSeries.options.stacking && otherSeries.visible) {
1203
+ otherSeries.isDirty = true;
1204
+ }
1205
+ });
1206
+ }
1207
+
1208
+ // show or hide linked series
1209
+ series.linkedSeries.forEach(function (otherSeries) {
1210
+ otherSeries.setVisible(vis, false);
1211
+ });
1212
+
1213
+ if (ignoreHiddenSeries) {
1214
+ chart.isDirtyBox = true;
1215
+ }
1216
+
1217
+ fireEvent(series, showOrHide);
1218
+
1219
+ if (redraw !== false) {
1220
+ chart.redraw();
1221
+ }
1222
+ },
1223
+
1224
+ /**
1225
+ * Show the series if hidden.
1226
+ *
1227
+ * @sample highcharts/members/series-hide/
1228
+ * Toggle visibility from a button
1229
+ *
1230
+ * @function Highcharts.Series#show
1231
+ *
1232
+ * @fires Highcharts.Series#event:show
1233
+ */
1234
+ show: function () {
1235
+ this.setVisible(true);
1236
+ },
1237
+
1238
+ /**
1239
+ * Hide the series if visible. If the {@link
1240
+ * https://api.highcharts.com/highcharts/chart.ignoreHiddenSeries|
1241
+ * chart.ignoreHiddenSeries} option is true, the chart is redrawn without
1242
+ * this series.
1243
+ *
1244
+ * @sample highcharts/members/series-hide/
1245
+ * Toggle visibility from a button
1246
+ *
1247
+ * @function Highcharts.Series#hide
1248
+ *
1249
+ * @fires Highcharts.Series#event:hide
1250
+ */
1251
+ hide: function () {
1252
+ this.setVisible(false);
1253
+ },
1254
+
1255
+
1256
+ /**
1257
+ * Select or unselect the series. This means its
1258
+ * {@link Highcharts.Series.selected|selected}
1259
+ * property is set, the checkbox in the legend is toggled and when selected,
1260
+ * the series is returned by the
1261
+ * {@link Highcharts.Chart#getSelectedSeries}
1262
+ * function.
1263
+ *
1264
+ * @sample highcharts/members/series-select/
1265
+ * Select a series from a button
1266
+ *
1267
+ * @function Highcharts.Series#select
1268
+ *
1269
+ * @param {boolean} [selected]
1270
+ * True to select the series, false to unselect. If undefined, the
1271
+ * selection state is toggled.
1272
+ *
1273
+ * @fires Highcharts.Series#event:select
1274
+ * @fires Highcharts.Series#event:unselect
1275
+ */
1276
+ select: function (selected) {
1277
+ var series = this;
1278
+
1279
+ series.selected =
1280
+ selected =
1281
+ this.options.selected = (
1282
+ selected === undefined ?
1283
+ !series.selected :
1284
+ selected
1285
+ );
1286
+
1287
+ if (series.checkbox) {
1288
+ series.checkbox.checked = selected;
1289
+ }
1290
+
1291
+ fireEvent(series, selected ? 'select' : 'unselect');
1292
+ },
1293
+
1294
+ /**
1295
+ * @private
1296
+ * @borrows Highcharts.TrackerMixin.drawTrackerGraph as Highcharts.Series#drawTracker
1297
+ */
1298
+ drawTracker: TrackerMixin.drawTrackerGraph
1299
+ });