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,132 @@
1
+ /**
2
+ * (c) 2010-2019 Torstein Honsi
3
+ *
4
+ * License: www.highcharts.com/license
5
+ */
6
+
7
+ 'use strict';
8
+
9
+ import H from '../parts/Globals.js';
10
+ import '../parts/Utilities.js';
11
+ import '../parts/Pointer.js';
12
+
13
+ var extend = H.extend,
14
+ pick = H.pick,
15
+ Pointer = H.Pointer,
16
+ wrap = H.wrap;
17
+
18
+ // Extend the Pointer
19
+ extend(Pointer.prototype, {
20
+
21
+ // The event handler for the doubleclick event
22
+ onContainerDblClick: function (e) {
23
+ var chart = this.chart;
24
+
25
+ e = this.normalize(e);
26
+
27
+ if (chart.options.mapNavigation.enableDoubleClickZoomTo) {
28
+ if (
29
+ chart.pointer.inClass(e.target, 'highcharts-tracker') &&
30
+ chart.hoverPoint
31
+ ) {
32
+ chart.hoverPoint.zoomTo();
33
+ }
34
+ } else if (
35
+ chart.isInsidePlot(
36
+ e.chartX - chart.plotLeft,
37
+ e.chartY - chart.plotTop
38
+ )
39
+ ) {
40
+ chart.mapZoom(
41
+ 0.5,
42
+ chart.xAxis[0].toValue(e.chartX),
43
+ chart.yAxis[0].toValue(e.chartY),
44
+ e.chartX,
45
+ e.chartY
46
+ );
47
+ }
48
+ },
49
+
50
+ // The event handler for the mouse scroll event
51
+ onContainerMouseWheel: function (e) {
52
+ var chart = this.chart,
53
+ delta;
54
+
55
+ e = this.normalize(e);
56
+
57
+ // Firefox uses e.detail, WebKit and IE uses wheelDelta
58
+ delta = e.detail || -(e.wheelDelta / 120);
59
+ if (chart.isInsidePlot(
60
+ e.chartX - chart.plotLeft,
61
+ e.chartY - chart.plotTop
62
+ )) {
63
+ chart.mapZoom(
64
+ Math.pow(
65
+ chart.options.mapNavigation.mouseWheelSensitivity,
66
+ delta
67
+ ),
68
+ chart.xAxis[0].toValue(e.chartX),
69
+ chart.yAxis[0].toValue(e.chartY),
70
+ e.chartX,
71
+ e.chartY
72
+ );
73
+ }
74
+ }
75
+ });
76
+
77
+ // The pinchType is inferred from mapNavigation options.
78
+ wrap(Pointer.prototype, 'zoomOption', function (proceed) {
79
+
80
+
81
+ var mapNavigation = this.chart.options.mapNavigation;
82
+
83
+ // Pinch status
84
+ if (pick(mapNavigation.enableTouchZoom, mapNavigation.enabled)) {
85
+ this.chart.options.chart.pinchType = 'xy';
86
+ }
87
+
88
+ proceed.apply(this, [].slice.call(arguments, 1));
89
+
90
+ });
91
+
92
+ // Extend the pinchTranslate method to preserve fixed ratio when zooming
93
+ wrap(
94
+ Pointer.prototype,
95
+ 'pinchTranslate',
96
+ function (
97
+ proceed,
98
+ pinchDown,
99
+ touches,
100
+ transform,
101
+ selectionMarker,
102
+ clip,
103
+ lastValidTouch
104
+ ) {
105
+ var xBigger;
106
+
107
+ proceed.call(
108
+ this,
109
+ pinchDown,
110
+ touches,
111
+ transform,
112
+ selectionMarker,
113
+ clip,
114
+ lastValidTouch
115
+ );
116
+
117
+ // Keep ratio
118
+ if (this.chart.options.chart.type === 'map' && this.hasZoom) {
119
+ xBigger = transform.scaleX > transform.scaleY;
120
+ this.pinchTranslateDirection(
121
+ !xBigger,
122
+ pinchDown,
123
+ touches,
124
+ transform,
125
+ selectionMarker,
126
+ clip,
127
+ lastValidTouch,
128
+ xBigger ? transform.scaleX : transform.scaleY
129
+ );
130
+ }
131
+ }
132
+ );
@@ -0,0 +1,1294 @@
1
+ /* *
2
+ * (c) 2010-2019 Torstein Honsi
3
+ *
4
+ * License: www.highcharts.com/license
5
+ */
6
+
7
+ /**
8
+ * Map data object.
9
+ *
10
+ * @interface Highcharts.MapDataObject
11
+ *//**
12
+ * The SVG path.
13
+ * @name Highcharts.MapDataObject#path
14
+ * @type {Highcharts.SVGPathArray}
15
+ *//**
16
+ * The name of the data.
17
+ * @name Highcharts.MapDataObject#name
18
+ * @type {string|undefined}
19
+ *//**
20
+ * The GeoJSON meta data.
21
+ * @name Highcharts.MapDataObject#properties
22
+ * @type {object|undefined}
23
+ */
24
+
25
+ 'use strict';
26
+
27
+ import H from '../parts/Globals.js';
28
+ import '../parts/Utilities.js';
29
+ import '../parts/Color.js';
30
+ import '../parts/Options.js';
31
+ import '../parts/Legend.js';
32
+ import '../parts/Point.js';
33
+ import '../parts/Series.js';
34
+ import '../parts/ScatterSeries.js';
35
+
36
+ var colorPointMixin = H.colorPointMixin,
37
+ colorSeriesMixin = H.colorSeriesMixin,
38
+ extend = H.extend,
39
+ isNumber = H.isNumber,
40
+ LegendSymbolMixin = H.LegendSymbolMixin,
41
+ merge = H.merge,
42
+ noop = H.noop,
43
+ pick = H.pick,
44
+ isArray = H.isArray,
45
+ Point = H.Point,
46
+ Series = H.Series,
47
+ seriesType = H.seriesType,
48
+ seriesTypes = H.seriesTypes,
49
+ splat = H.splat;
50
+
51
+ /**
52
+ * @private
53
+ * @class
54
+ * @name Highcharts.seriesTypes.map
55
+ *
56
+ * @augments Highcharts.Series
57
+ */
58
+ seriesType(
59
+ 'map',
60
+ 'scatter',
61
+ /**
62
+ * The map series is used for basic choropleth maps, where each map area has
63
+ * a color based on its value.
64
+ *
65
+ * @sample maps/demo/all-maps/
66
+ * Choropleth map
67
+ *
68
+ * @extends plotOptions.scatter
69
+ * @excluding marker
70
+ * @product highmaps
71
+ * @optionparent plotOptions.map
72
+ */
73
+ {
74
+
75
+ animation: false, // makes the complex shapes slow
76
+
77
+ dataLabels: {
78
+ crop: false,
79
+ formatter: function () { // #2945
80
+ return this.point.value;
81
+ },
82
+ inside: true, // for the color
83
+ overflow: false,
84
+ padding: 0,
85
+ verticalAlign: 'middle'
86
+ },
87
+
88
+ /** @ignore-option */
89
+ marker: null,
90
+
91
+ /**
92
+ * The color to apply to null points.
93
+ *
94
+ * In styled mode, the null point fill is set in the
95
+ * `.highcharts-null-point` class.
96
+ *
97
+ * @sample maps/demo/all-areas-as-null/
98
+ * Null color
99
+ *
100
+ * @type {Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject}
101
+ */
102
+ nullColor: '#f7f7f7',
103
+
104
+ /**
105
+ * Whether to allow pointer interaction like tooltips and mouse events
106
+ * on null points.
107
+ *
108
+ * @type {boolean}
109
+ * @since 4.2.7
110
+ * @apioption plotOptions.map.nullInteraction
111
+ */
112
+
113
+ stickyTracking: false,
114
+
115
+ tooltip: {
116
+ followPointer: true,
117
+ pointFormat: '{point.name}: {point.value}<br/>'
118
+ },
119
+
120
+ /** @ignore-option */
121
+ turboThreshold: 0,
122
+
123
+ /**
124
+ * Whether all areas of the map defined in `mapData` should be rendered.
125
+ * If `true`, areas which don't correspond to a data point, are rendered
126
+ * as `null` points. If `false`, those areas are skipped.
127
+ *
128
+ * @sample maps/plotoptions/series-allareas-false/
129
+ * All areas set to false
130
+ *
131
+ * @type {boolean}
132
+ * @default true
133
+ * @product highmaps
134
+ * @apioption plotOptions.series.allAreas
135
+ */
136
+ allAreas: true,
137
+
138
+ /**
139
+ * The border color of the map areas.
140
+ *
141
+ * In styled mode, the border stroke is given in the `.highcharts-point`
142
+ * class.
143
+ *
144
+ * @sample {highmaps} maps/plotoptions/series-border/
145
+ * Borders demo
146
+ *
147
+ * @type {Highcharts.ColorString}
148
+ * @default '#cccccc'
149
+ * @product highmaps
150
+ * @apioption plotOptions.series.borderColor
151
+ */
152
+ borderColor: '#cccccc',
153
+
154
+ /**
155
+ * The border width of each map area.
156
+ *
157
+ * In styled mode, the border stroke width is given in the
158
+ * `.highcharts-point` class.
159
+ *
160
+ * @sample maps/plotoptions/series-border/
161
+ * Borders demo
162
+ *
163
+ * @type {number}
164
+ * @default 1
165
+ * @product highmaps
166
+ * @apioption plotOptions.series.borderWidth
167
+ */
168
+ borderWidth: 1,
169
+
170
+ /**
171
+ * Set this option to `false` to prevent a series from connecting to
172
+ * the global color axis. This will cause the series to have its own
173
+ * legend item.
174
+ *
175
+ * @type {boolean}
176
+ * @product highmaps
177
+ * @apioption plotOptions.series.colorAxis
178
+ */
179
+
180
+ /**
181
+ * What property to join the `mapData` to the value data. For example,
182
+ * if joinBy is "code", the mapData items with a specific code is merged
183
+ * into the data with the same code. For maps loaded from GeoJSON, the
184
+ * keys may be held in each point's `properties` object.
185
+ *
186
+ * The joinBy option can also be an array of two values, where the first
187
+ * points to a key in the `mapData`, and the second points to another
188
+ * key in the `data`.
189
+ *
190
+ * When joinBy is `null`, the map items are joined by their position in
191
+ * the array, which performs much better in maps with many data points.
192
+ * This is the recommended option if you are printing more than a
193
+ * thousand data points and have a backend that can preprocess the data
194
+ * into a parallel array of the mapData.
195
+ *
196
+ * @sample maps/plotoptions/series-border/
197
+ * Joined by "code"
198
+ * @sample maps/demo/geojson/
199
+ * GeoJSON joined by an array
200
+ * @sample maps/series/joinby-null/
201
+ * Simple data joined by null
202
+ *
203
+ * @type {string|Array<string>}
204
+ * @default hc-key
205
+ * @product highmaps
206
+ * @apioption plotOptions.series.joinBy
207
+ */
208
+ joinBy: 'hc-key',
209
+
210
+ /**
211
+ * Define the z index of the series.
212
+ *
213
+ * @type {number}
214
+ * @product highmaps
215
+ * @apioption plotOptions.series.zIndex
216
+ */
217
+
218
+ states: {
219
+
220
+ hover: {
221
+
222
+ halo: null,
223
+
224
+ /**
225
+ * The color of the shape in this state.
226
+ *
227
+ * @sample maps/plotoptions/series-states-hover/
228
+ * Hover options
229
+ *
230
+ * @type {Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject}
231
+ * @product highmaps
232
+ * @apioption plotOptions.series.states.hover.color
233
+ */
234
+
235
+ /**
236
+ * The border color of the point in this state.
237
+ *
238
+ * @type {Highcharts.ColorString}
239
+ * @product highmaps
240
+ * @apioption plotOptions.series.states.hover.borderColor
241
+ */
242
+
243
+ /**
244
+ * The border width of the point in this state
245
+ *
246
+ * @type {number}
247
+ * @product highmaps
248
+ * @apioption plotOptions.series.states.hover.borderWidth
249
+ */
250
+
251
+ /**
252
+ * The relative brightness of the point when hovered, relative
253
+ * to the normal point color.
254
+ *
255
+ * @type {number}
256
+ * @product highmaps
257
+ * @default 0.2
258
+ * @apioption plotOptions.series.states.hover.brightness
259
+ */
260
+ brightness: 0.2
261
+
262
+ },
263
+
264
+ /**
265
+ * Overrides for the normal state.
266
+ *
267
+ * @product highmaps
268
+ * @apioption plotOptions.series.states.normal
269
+ */
270
+ normal: {
271
+
272
+ /**
273
+ * Animation options for the fill color when returning from
274
+ * hover state to normal state. The animation adds some latency
275
+ * in order to reduce the effect of flickering when hovering in
276
+ * and out of for example an uneven coastline.
277
+ *
278
+ * @sample maps/plotoptions/series-states-animation-false/
279
+ * No animation of fill color
280
+ *
281
+ * @type {boolean|Highcharts.AnimationOptionsObject}
282
+ * @default true
283
+ * @product highmaps
284
+ * @apioption plotOptions.series.states.normal.animation
285
+ */
286
+ animation: true
287
+ },
288
+
289
+ select: {
290
+ color: '#cccccc'
291
+ }
292
+ }
293
+
294
+ // Prototype members
295
+ }, merge(colorSeriesMixin, {
296
+ type: 'map',
297
+ getExtremesFromAll: true,
298
+ useMapGeometry: true, // get axis extremes from paths, not values
299
+ forceDL: true,
300
+ searchPoint: noop,
301
+ // When tooltip is not shared, this series (and derivatives) requires
302
+ // direct touch/hover. KD-tree does not apply.
303
+ directTouch: true,
304
+ // X axis and Y axis must have same translation slope
305
+ preserveAspectRatio: true,
306
+ pointArrayMap: ['value'],
307
+
308
+ // Get the bounding box of all paths in the map combined.
309
+ getBox: function (paths) {
310
+ var MAX_VALUE = Number.MAX_VALUE,
311
+ maxX = -MAX_VALUE,
312
+ minX = MAX_VALUE,
313
+ maxY = -MAX_VALUE,
314
+ minY = MAX_VALUE,
315
+ minRange = MAX_VALUE,
316
+ xAxis = this.xAxis,
317
+ yAxis = this.yAxis,
318
+ hasBox;
319
+
320
+ // Find the bounding box
321
+ (paths || []).forEach(function (point) {
322
+
323
+ if (point.path) {
324
+ if (typeof point.path === 'string') {
325
+ point.path = H.splitPath(point.path);
326
+ }
327
+
328
+ var path = point.path || [],
329
+ i = path.length,
330
+ even = false, // while loop reads from the end
331
+ pointMaxX = -MAX_VALUE,
332
+ pointMinX = MAX_VALUE,
333
+ pointMaxY = -MAX_VALUE,
334
+ pointMinY = MAX_VALUE,
335
+ properties = point.properties;
336
+
337
+ // The first time a map point is used, analyze its box
338
+ if (!point._foundBox) {
339
+ while (i--) {
340
+ if (isNumber(path[i])) {
341
+ if (even) { // even = x
342
+ pointMaxX = Math.max(pointMaxX, path[i]);
343
+ pointMinX = Math.min(pointMinX, path[i]);
344
+ } else { // odd = Y
345
+ pointMaxY = Math.max(pointMaxY, path[i]);
346
+ pointMinY = Math.min(pointMinY, path[i]);
347
+ }
348
+ even = !even;
349
+ }
350
+ }
351
+ // Cache point bounding box for use to position data
352
+ // labels, bubbles etc
353
+ point._midX = (
354
+ pointMinX + (pointMaxX - pointMinX) * pick(
355
+ point.middleX,
356
+ properties && properties['hc-middle-x'],
357
+ 0.5
358
+ )
359
+ );
360
+ point._midY = (
361
+ pointMinY + (pointMaxY - pointMinY) * pick(
362
+ point.middleY,
363
+ properties && properties['hc-middle-y'],
364
+ 0.5
365
+ )
366
+ );
367
+ point._maxX = pointMaxX;
368
+ point._minX = pointMinX;
369
+ point._maxY = pointMaxY;
370
+ point._minY = pointMinY;
371
+ point.labelrank = pick(
372
+ point.labelrank,
373
+ (pointMaxX - pointMinX) * (pointMaxY - pointMinY)
374
+ );
375
+ point._foundBox = true;
376
+ }
377
+
378
+ maxX = Math.max(maxX, point._maxX);
379
+ minX = Math.min(minX, point._minX);
380
+ maxY = Math.max(maxY, point._maxY);
381
+ minY = Math.min(minY, point._minY);
382
+ minRange = Math.min(
383
+ point._maxX - point._minX,
384
+ point._maxY - point._minY, minRange
385
+ );
386
+ hasBox = true;
387
+ }
388
+ });
389
+
390
+ // Set the box for the whole series
391
+ if (hasBox) {
392
+ this.minY = Math.min(minY, pick(this.minY, MAX_VALUE));
393
+ this.maxY = Math.max(maxY, pick(this.maxY, -MAX_VALUE));
394
+ this.minX = Math.min(minX, pick(this.minX, MAX_VALUE));
395
+ this.maxX = Math.max(maxX, pick(this.maxX, -MAX_VALUE));
396
+
397
+ // If no minRange option is set, set the default minimum zooming
398
+ // range to 5 times the size of the smallest element
399
+ if (xAxis && xAxis.options.minRange === undefined) {
400
+ xAxis.minRange = Math.min(
401
+ 5 * minRange,
402
+ (this.maxX - this.minX) / 5,
403
+ xAxis.minRange || MAX_VALUE
404
+ );
405
+ }
406
+ if (yAxis && yAxis.options.minRange === undefined) {
407
+ yAxis.minRange = Math.min(
408
+ 5 * minRange,
409
+ (this.maxY - this.minY) / 5,
410
+ yAxis.minRange || MAX_VALUE
411
+ );
412
+ }
413
+ }
414
+ },
415
+
416
+ getExtremes: function () {
417
+ // Get the actual value extremes for colors
418
+ Series.prototype.getExtremes.call(this, this.valueData);
419
+
420
+ // Recalculate box on updated data
421
+ if (this.chart.hasRendered && this.isDirtyData) {
422
+ this.getBox(this.options.data);
423
+ }
424
+
425
+ this.valueMin = this.dataMin;
426
+ this.valueMax = this.dataMax;
427
+
428
+ // Extremes for the mock Y axis
429
+ this.dataMin = this.minY;
430
+ this.dataMax = this.maxY;
431
+ },
432
+
433
+ // Translate the path, so it automatically fits into the plot area box
434
+ translatePath: function (path) {
435
+
436
+ var series = this,
437
+ even = false, // while loop reads from the end
438
+ xAxis = series.xAxis,
439
+ yAxis = series.yAxis,
440
+ xMin = xAxis.min,
441
+ xTransA = xAxis.transA,
442
+ xMinPixelPadding = xAxis.minPixelPadding,
443
+ yMin = yAxis.min,
444
+ yTransA = yAxis.transA,
445
+ yMinPixelPadding = yAxis.minPixelPadding,
446
+ i,
447
+ ret = []; // Preserve the original
448
+
449
+ // Do the translation
450
+ if (path) {
451
+ i = path.length;
452
+ while (i--) {
453
+ if (isNumber(path[i])) {
454
+ ret[i] = even ?
455
+ (path[i] - xMin) * xTransA + xMinPixelPadding :
456
+ (path[i] - yMin) * yTransA + yMinPixelPadding;
457
+ even = !even;
458
+ } else {
459
+ ret[i] = path[i];
460
+ }
461
+ }
462
+ }
463
+
464
+ return ret;
465
+ },
466
+
467
+ // Extend setData to join in mapData. If the allAreas option is true,
468
+ // all areas from the mapData are used, and those that don't correspond
469
+ // to a data value are given null values.
470
+ setData: function (data, redraw, animation, updatePoints) {
471
+ var options = this.options,
472
+ chartOptions = this.chart.options.chart,
473
+ globalMapData = chartOptions && chartOptions.map,
474
+ mapData = options.mapData,
475
+ joinBy = options.joinBy,
476
+ joinByNull = joinBy === null,
477
+ pointArrayMap = options.keys || this.pointArrayMap,
478
+ dataUsed = [],
479
+ mapMap = {},
480
+ mapPoint,
481
+ mapTransforms = this.chart.mapTransforms,
482
+ props,
483
+ i;
484
+
485
+ // Collect mapData from chart options if not defined on series
486
+ if (!mapData && globalMapData) {
487
+ mapData = typeof globalMapData === 'string' ?
488
+ H.maps[globalMapData] :
489
+ globalMapData;
490
+ }
491
+
492
+ if (joinByNull) {
493
+ joinBy = '_i';
494
+ }
495
+ joinBy = this.joinBy = splat(joinBy);
496
+ if (!joinBy[1]) {
497
+ joinBy[1] = joinBy[0];
498
+ }
499
+
500
+ // Pick up numeric values, add index
501
+ // Convert Array point definitions to objects using pointArrayMap
502
+ if (data) {
503
+ data.forEach(function (val, i) {
504
+ var ix = 0;
505
+
506
+ if (isNumber(val)) {
507
+ data[i] = {
508
+ value: val
509
+ };
510
+ } else if (isArray(val)) {
511
+ data[i] = {};
512
+ // Automatically copy first item to hc-key if there is
513
+ // an extra leading string
514
+ if (
515
+ !options.keys &&
516
+ val.length > pointArrayMap.length &&
517
+ typeof val[0] === 'string'
518
+ ) {
519
+ data[i]['hc-key'] = val[0];
520
+ ++ix;
521
+ }
522
+ // Run through pointArrayMap and what's left of the
523
+ // point data array in parallel, copying over the values
524
+ for (var j = 0; j < pointArrayMap.length; ++j, ++ix) {
525
+ if (pointArrayMap[j] && val[ix] !== undefined) {
526
+ if (pointArrayMap[j].indexOf('.') > 0) {
527
+ H.Point.prototype.setNestedProperty(
528
+ data[i], val[ix], pointArrayMap[j]
529
+ );
530
+ } else {
531
+ data[i][pointArrayMap[j]] = val[ix];
532
+ }
533
+ }
534
+ }
535
+ }
536
+ if (joinByNull) {
537
+ data[i]._i = i;
538
+ }
539
+ });
540
+ }
541
+
542
+ this.getBox(data);
543
+
544
+ // Pick up transform definitions for chart
545
+ this.chart.mapTransforms = mapTransforms =
546
+ chartOptions && chartOptions.mapTransforms ||
547
+ mapData && mapData['hc-transform'] ||
548
+ mapTransforms;
549
+
550
+ // Cache cos/sin of transform rotation angle
551
+ if (mapTransforms) {
552
+ H.objectEach(mapTransforms, function (transform) {
553
+ if (transform.rotation) {
554
+ transform.cosAngle = Math.cos(transform.rotation);
555
+ transform.sinAngle = Math.sin(transform.rotation);
556
+ }
557
+ });
558
+ }
559
+
560
+ if (mapData) {
561
+ if (mapData.type === 'FeatureCollection') {
562
+ this.mapTitle = mapData.title;
563
+ mapData = H.geojson(mapData, this.type, this);
564
+ }
565
+
566
+ this.mapData = mapData;
567
+ this.mapMap = {};
568
+
569
+ for (i = 0; i < mapData.length; i++) {
570
+ mapPoint = mapData[i];
571
+ props = mapPoint.properties;
572
+
573
+ mapPoint._i = i;
574
+ // Copy the property over to root for faster access
575
+ if (joinBy[0] && props && props[joinBy[0]]) {
576
+ mapPoint[joinBy[0]] = props[joinBy[0]];
577
+ }
578
+ mapMap[mapPoint[joinBy[0]]] = mapPoint;
579
+ }
580
+ this.mapMap = mapMap;
581
+
582
+ // Registered the point codes that actually hold data
583
+ if (data && joinBy[1]) {
584
+ data.forEach(function (point) {
585
+ if (mapMap[point[joinBy[1]]]) {
586
+ dataUsed.push(mapMap[point[joinBy[1]]]);
587
+ }
588
+ });
589
+ }
590
+
591
+ if (options.allAreas) {
592
+ this.getBox(mapData);
593
+ data = data || [];
594
+
595
+ // Registered the point codes that actually hold data
596
+ if (joinBy[1]) {
597
+ data.forEach(function (point) {
598
+ dataUsed.push(point[joinBy[1]]);
599
+ });
600
+ }
601
+
602
+ // Add those map points that don't correspond to data, which
603
+ // will be drawn as null points
604
+ dataUsed = '|' + dataUsed.map(function (point) {
605
+ return point && point[joinBy[0]];
606
+ }).join('|') + '|'; // Faster than array.indexOf
607
+
608
+ mapData.forEach(function (mapPoint) {
609
+ if (
610
+ !joinBy[0] ||
611
+ dataUsed.indexOf(
612
+ '|' + mapPoint[joinBy[0]] + '|'
613
+ ) === -1
614
+ ) {
615
+ data.push(merge(mapPoint, { value: null }));
616
+ // #5050 - adding all areas causes the update
617
+ // optimization of setData to kick in, even though
618
+ // the point order has changed
619
+ updatePoints = false;
620
+ }
621
+ });
622
+ } else {
623
+ this.getBox(dataUsed); // Issue #4784
624
+ }
625
+ }
626
+ Series.prototype.setData.call(
627
+ this,
628
+ data,
629
+ redraw,
630
+ animation,
631
+ updatePoints
632
+ );
633
+ },
634
+
635
+ // No graph for the map series
636
+ drawGraph: noop,
637
+
638
+ // We need the points' bounding boxes in order to draw the data labels,
639
+ // so we skip it now and call it from drawPoints instead.
640
+ drawDataLabels: noop,
641
+
642
+ // Allow a quick redraw by just translating the area group. Used for
643
+ // zooming and panning in capable browsers.
644
+ doFullTranslate: function () {
645
+ return (
646
+ this.isDirtyData ||
647
+ this.chart.isResizing ||
648
+ this.chart.renderer.isVML ||
649
+ !this.baseTrans
650
+ );
651
+ },
652
+
653
+ // Add the path option for data points. Find the max value for color
654
+ // calculation.
655
+ translate: function () {
656
+ var series = this,
657
+ xAxis = series.xAxis,
658
+ yAxis = series.yAxis,
659
+ doFullTranslate = series.doFullTranslate();
660
+
661
+ series.generatePoints();
662
+
663
+ series.data.forEach(function (point) {
664
+
665
+ // Record the middle point (loosely based on centroid),
666
+ // determined by the middleX and middleY options.
667
+ point.plotX = xAxis.toPixels(point._midX, true);
668
+ point.plotY = yAxis.toPixels(point._midY, true);
669
+
670
+ if (doFullTranslate) {
671
+
672
+ point.shapeType = 'path';
673
+ point.shapeArgs = {
674
+ d: series.translatePath(point.path)
675
+ };
676
+ }
677
+ });
678
+
679
+ series.translateColors();
680
+ },
681
+
682
+ // Get presentational attributes. In the maps series this runs in both
683
+ // styled and non-styled mode, because colors hold data when a colorAxis
684
+ // is used.
685
+ pointAttribs: function (point, state) {
686
+ var attr = point.series.chart.styledMode ?
687
+ this.colorAttribs(point) :
688
+ seriesTypes.column.prototype.pointAttribs.call(
689
+ this, point, state
690
+ );
691
+
692
+ // Set the stroke-width on the group element and let all point
693
+ // graphics inherit. That way we don't have to iterate over all
694
+ // points to update the stroke-width on zooming.
695
+ attr['stroke-width'] = pick(
696
+ point.options[
697
+ (
698
+ this.pointAttrToOptions &&
699
+ this.pointAttrToOptions['stroke-width']
700
+ ) || 'borderWidth'
701
+ ],
702
+ 'inherit'
703
+ );
704
+
705
+ return attr;
706
+ },
707
+
708
+ // Use the drawPoints method of column, that is able to handle simple
709
+ // shapeArgs. Extend it by assigning the tooltip position.
710
+ drawPoints: function () {
711
+ var series = this,
712
+ xAxis = series.xAxis,
713
+ yAxis = series.yAxis,
714
+ group = series.group,
715
+ chart = series.chart,
716
+ renderer = chart.renderer,
717
+ scaleX,
718
+ scaleY,
719
+ translateX,
720
+ translateY,
721
+ baseTrans = this.baseTrans,
722
+ transformGroup,
723
+ startTranslateX,
724
+ startTranslateY,
725
+ startScaleX,
726
+ startScaleY;
727
+
728
+ // Set a group that handles transform during zooming and panning in
729
+ // order to preserve clipping on series.group
730
+ if (!series.transformGroup) {
731
+ series.transformGroup = renderer.g()
732
+ .attr({
733
+ scaleX: 1,
734
+ scaleY: 1
735
+ })
736
+ .add(group);
737
+ series.transformGroup.survive = true;
738
+ }
739
+
740
+ // Draw the shapes again
741
+ if (series.doFullTranslate()) {
742
+
743
+ // Individual point actions.
744
+ if (chart.hasRendered && !chart.styledMode) {
745
+ series.points.forEach(function (point) {
746
+
747
+ // Restore state color on update/redraw (#3529)
748
+ if (point.shapeArgs) {
749
+ point.shapeArgs.fill = series.pointAttribs(
750
+ point,
751
+ point.state
752
+ ).fill;
753
+ }
754
+ });
755
+ }
756
+
757
+ // Draw them in transformGroup
758
+ series.group = series.transformGroup;
759
+ seriesTypes.column.prototype.drawPoints.apply(series);
760
+ series.group = group; // Reset
761
+
762
+ // Add class names
763
+ series.points.forEach(function (point) {
764
+ if (point.graphic) {
765
+ if (point.name) {
766
+ point.graphic.addClass(
767
+ 'highcharts-name-' +
768
+ point.name.replace(/ /g, '-').toLowerCase()
769
+ );
770
+ }
771
+ if (point.properties && point.properties['hc-key']) {
772
+ point.graphic.addClass(
773
+ 'highcharts-key-' +
774
+ point.properties['hc-key'].toLowerCase()
775
+ );
776
+ }
777
+
778
+ // In styled mode, apply point colors by CSS
779
+ if (chart.styledMode) {
780
+ point.graphic.css(
781
+ series.pointAttribs(
782
+ point,
783
+ point.selected && 'select'
784
+ )
785
+ );
786
+ }
787
+ }
788
+ });
789
+
790
+ // Set the base for later scale-zooming. The originX and originY
791
+ // properties are the axis values in the plot area's upper left
792
+ // corner.
793
+ this.baseTrans = {
794
+ originX: xAxis.min - xAxis.minPixelPadding / xAxis.transA,
795
+ originY: (
796
+ yAxis.min -
797
+ yAxis.minPixelPadding / yAxis.transA +
798
+ (yAxis.reversed ? 0 : yAxis.len / yAxis.transA)
799
+ ),
800
+ transAX: xAxis.transA,
801
+ transAY: yAxis.transA
802
+ };
803
+
804
+ // Reset transformation in case we're doing a full translate
805
+ // (#3789)
806
+ this.transformGroup.animate({
807
+ translateX: 0,
808
+ translateY: 0,
809
+ scaleX: 1,
810
+ scaleY: 1
811
+ });
812
+
813
+ // Just update the scale and transform for better performance
814
+ } else {
815
+ scaleX = xAxis.transA / baseTrans.transAX;
816
+ scaleY = yAxis.transA / baseTrans.transAY;
817
+ translateX = xAxis.toPixels(baseTrans.originX, true);
818
+ translateY = yAxis.toPixels(baseTrans.originY, true);
819
+
820
+ // Handle rounding errors in normal view (#3789)
821
+ if (
822
+ scaleX > 0.99 &&
823
+ scaleX < 1.01 &&
824
+ scaleY > 0.99 &&
825
+ scaleY < 1.01
826
+ ) {
827
+ scaleX = 1;
828
+ scaleY = 1;
829
+ translateX = Math.round(translateX);
830
+ translateY = Math.round(translateY);
831
+ }
832
+
833
+ /* Animate or move to the new zoom level. In order to prevent
834
+ flickering as the different transform components are set out
835
+ of sync (#5991), we run a fake animator attribute and set
836
+ scale and translation synchronously in the same step.
837
+
838
+ A possible improvement to the API would be to handle this in
839
+ the renderer or animation engine itself, to ensure that when
840
+ we are animating multiple properties, we make sure that each
841
+ step for each property is performed in the same step. Also,
842
+ for symbols and for transform properties, it should induce a
843
+ single updateTransform and symbolAttr call. */
844
+ transformGroup = this.transformGroup;
845
+ if (chart.renderer.globalAnimation) {
846
+ startTranslateX = transformGroup.attr('translateX');
847
+ startTranslateY = transformGroup.attr('translateY');
848
+ startScaleX = transformGroup.attr('scaleX');
849
+ startScaleY = transformGroup.attr('scaleY');
850
+ transformGroup
851
+ .attr({ animator: 0 })
852
+ .animate({
853
+ animator: 1
854
+ }, {
855
+ step: function (now, fx) {
856
+ transformGroup.attr({
857
+ translateX: startTranslateX +
858
+ (translateX - startTranslateX) * fx.pos,
859
+ translateY: startTranslateY +
860
+ (translateY - startTranslateY) * fx.pos,
861
+ scaleX: startScaleX +
862
+ (scaleX - startScaleX) * fx.pos,
863
+ scaleY: startScaleY +
864
+ (scaleY - startScaleY) * fx.pos
865
+ });
866
+
867
+ }
868
+ });
869
+
870
+ // When dragging, animation is off.
871
+ } else {
872
+ transformGroup.attr({
873
+ translateX: translateX,
874
+ translateY: translateY,
875
+ scaleX: scaleX,
876
+ scaleY: scaleY
877
+ });
878
+ }
879
+
880
+ }
881
+
882
+ /* Set the stroke-width directly on the group element so the
883
+ children inherit it. We need to use setAttribute directly,
884
+ because the stroke-widthSetter method expects a stroke color also
885
+ to be set. */
886
+ if (!chart.styledMode) {
887
+ group.element.setAttribute(
888
+ 'stroke-width',
889
+ (
890
+ series.options[
891
+ (
892
+ series.pointAttrToOptions &&
893
+ series.pointAttrToOptions['stroke-width']
894
+ ) || 'borderWidth'
895
+ ] ||
896
+ 1 // Styled mode
897
+ ) / (scaleX || 1)
898
+ );
899
+ }
900
+
901
+ this.drawMapDataLabels();
902
+
903
+ },
904
+
905
+ // Draw the data labels. Special for maps is the time that the data
906
+ // labels are drawn (after points), and the clipping of the
907
+ // dataLabelsGroup.
908
+ drawMapDataLabels: function () {
909
+
910
+ Series.prototype.drawDataLabels.call(this);
911
+ if (this.dataLabelsGroup) {
912
+ this.dataLabelsGroup.clip(this.chart.clipRect);
913
+ }
914
+ },
915
+
916
+ // Override render to throw in an async call in IE8. Otherwise it chokes
917
+ // on the US counties demo.
918
+ render: function () {
919
+ var series = this,
920
+ render = Series.prototype.render;
921
+
922
+ // Give IE8 some time to breathe.
923
+ if (series.chart.renderer.isVML && series.data.length > 3000) {
924
+ setTimeout(function () {
925
+ render.call(series);
926
+ });
927
+ } else {
928
+ render.call(series);
929
+ }
930
+ },
931
+
932
+ // The initial animation for the map series. By default, animation is
933
+ // disabled. Animation of map shapes is not at all supported in VML
934
+ // browsers.
935
+ animate: function (init) {
936
+ var chart = this.chart,
937
+ animation = this.options.animation,
938
+ group = this.group,
939
+ xAxis = this.xAxis,
940
+ yAxis = this.yAxis,
941
+ left = xAxis.pos,
942
+ top = yAxis.pos;
943
+
944
+ if (chart.renderer.isSVG) {
945
+
946
+ if (animation === true) {
947
+ animation = {
948
+ duration: 1000
949
+ };
950
+ }
951
+
952
+ // Initialize the animation
953
+ if (init) {
954
+
955
+ // Scale down the group and place it in the center
956
+ group.attr({
957
+ translateX: left + xAxis.len / 2,
958
+ translateY: top + yAxis.len / 2,
959
+ scaleX: 0.001, // #1499
960
+ scaleY: 0.001
961
+ });
962
+
963
+ // Run the animation
964
+ } else {
965
+ group.animate({
966
+ translateX: left,
967
+ translateY: top,
968
+ scaleX: 1,
969
+ scaleY: 1
970
+ }, animation);
971
+
972
+ // Delete this function to allow it only once
973
+ this.animate = null;
974
+ }
975
+ }
976
+ },
977
+
978
+ // Animate in the new series from the clicked point in the old series.
979
+ // Depends on the drilldown.js module
980
+ animateDrilldown: function (init) {
981
+ var toBox = this.chart.plotBox,
982
+ level = this.chart.drilldownLevels[
983
+ this.chart.drilldownLevels.length - 1
984
+ ],
985
+ fromBox = level.bBox,
986
+ animationOptions = this.chart.options.drilldown.animation,
987
+ scale;
988
+
989
+ if (!init) {
990
+
991
+ scale = Math.min(
992
+ fromBox.width / toBox.width,
993
+ fromBox.height / toBox.height
994
+ );
995
+ level.shapeArgs = {
996
+ scaleX: scale,
997
+ scaleY: scale,
998
+ translateX: fromBox.x,
999
+ translateY: fromBox.y
1000
+ };
1001
+
1002
+ this.points.forEach(function (point) {
1003
+ if (point.graphic) {
1004
+ point.graphic
1005
+ .attr(level.shapeArgs)
1006
+ .animate({
1007
+ scaleX: 1,
1008
+ scaleY: 1,
1009
+ translateX: 0,
1010
+ translateY: 0
1011
+ }, animationOptions);
1012
+ }
1013
+ });
1014
+
1015
+ this.animate = null;
1016
+ }
1017
+
1018
+ },
1019
+
1020
+ drawLegendSymbol: LegendSymbolMixin.drawRectangle,
1021
+
1022
+ // When drilling up, pull out the individual point graphics from the
1023
+ // lower series and animate them into the origin point in the upper
1024
+ // series.
1025
+ animateDrillupFrom: function (level) {
1026
+ seriesTypes.column.prototype.animateDrillupFrom.call(this, level);
1027
+ },
1028
+
1029
+
1030
+ // When drilling up, keep the upper series invisible until the lower
1031
+ // series has moved into place
1032
+ animateDrillupTo: function (init) {
1033
+ seriesTypes.column.prototype.animateDrillupTo.call(this, init);
1034
+ }
1035
+
1036
+ // Point class
1037
+ }), extend({
1038
+
1039
+ // Extend the Point object to split paths
1040
+ applyOptions: function (options, x) {
1041
+
1042
+ var point = Point.prototype.applyOptions.call(this, options, x),
1043
+ series = this.series,
1044
+ joinBy = series.joinBy,
1045
+ mapPoint;
1046
+
1047
+ if (series.mapData) {
1048
+ mapPoint = point[joinBy[1]] !== undefined &&
1049
+ series.mapMap[point[joinBy[1]]];
1050
+ if (mapPoint) {
1051
+ // This applies only to bubbles
1052
+ if (series.xyFromShape) {
1053
+ point.x = mapPoint._midX;
1054
+ point.y = mapPoint._midY;
1055
+ }
1056
+ extend(point, mapPoint); // copy over properties
1057
+ } else {
1058
+ point.value = point.value || null;
1059
+ }
1060
+ }
1061
+
1062
+ return point;
1063
+ },
1064
+
1065
+ // Stop the fade-out
1066
+ onMouseOver: function (e) {
1067
+ H.clearTimeout(this.colorInterval);
1068
+ if (this.value !== null || this.series.options.nullInteraction) {
1069
+ Point.prototype.onMouseOver.call(this, e);
1070
+ } else {
1071
+ // #3401 Tooltip doesn't hide when hovering over null points
1072
+ this.series.onMouseOut(e);
1073
+ }
1074
+ },
1075
+
1076
+ /**
1077
+ * Highmaps only. Zoom in on the point using the global animation.
1078
+ *
1079
+ * @sample maps/members/point-zoomto/
1080
+ * Zoom to points from butons
1081
+ *
1082
+ * @requires module:modules/map
1083
+ *
1084
+ * @function Highcharts.Point#zoomTo
1085
+ */
1086
+ zoomTo: function () {
1087
+ var point = this,
1088
+ series = point.series;
1089
+
1090
+ series.xAxis.setExtremes(
1091
+ point._minX,
1092
+ point._maxX,
1093
+ false
1094
+ );
1095
+ series.yAxis.setExtremes(
1096
+ point._minY,
1097
+ point._maxY,
1098
+ false
1099
+ );
1100
+ series.chart.redraw();
1101
+ }
1102
+ }, colorPointMixin)
1103
+ );
1104
+
1105
+ /**
1106
+ * A map data object containing a `path` definition and optionally additional
1107
+ * properties to join in the data as per the `joinBy` option.
1108
+ *
1109
+ * @sample maps/demo/category-map/
1110
+ * Map data and joinBy
1111
+ *
1112
+ * @type {Highcharts.MapDataObject|Array<Highcharts.MapDataObject>}
1113
+ * @product highmaps
1114
+ * @apioption series.mapData
1115
+ */
1116
+
1117
+ /**
1118
+ * A `map` series. If the [type](#series.map.type) option is not specified, it
1119
+ * is inherited from [chart.type](#chart.type).
1120
+ *
1121
+ * @extends series,plotOptions.map
1122
+ * @excluding dataParser, dataURL, marker
1123
+ * @product highmaps
1124
+ * @apioption series.map
1125
+ */
1126
+
1127
+ /**
1128
+ * An array of data points for the series. For the `map` series type, points can
1129
+ * be given in the following ways:
1130
+ *
1131
+ * 1. An array of numerical values. In this case, the numerical values will be
1132
+ * interpreted as `value` options. Example:
1133
+ *
1134
+ * ```js
1135
+ * data: [0, 5, 3, 5]
1136
+ * ```
1137
+ *
1138
+ * 2. An array of arrays with 2 values. In this case, the values correspond to
1139
+ * `[hc-key, value]`. Example:
1140
+ *
1141
+ * ```js
1142
+ * data: [
1143
+ * ['us-ny', 0],
1144
+ * ['us-mi', 5],
1145
+ * ['us-tx', 3],
1146
+ * ['us-ak', 5]
1147
+ * ]
1148
+ * ```
1149
+ *
1150
+ * 3. An array of objects with named values. The following snippet shows only a
1151
+ * few settings, see the complete options set below. If the total number of data
1152
+ * points exceeds the series' [turboThreshold](#series.map.turboThreshold), this
1153
+ * option is not available.
1154
+ *
1155
+ * ```js
1156
+ * data: [{
1157
+ * value: 6,
1158
+ * name: "Point2",
1159
+ * color: "#00FF00"
1160
+ * }, {
1161
+ * value: 6,
1162
+ * name: "Point1",
1163
+ * color: "#FF00FF"
1164
+ * }]
1165
+ * ```
1166
+ *
1167
+ * @type {Array<number|Array<string,number>|*>}
1168
+ * @apioption series.map.data
1169
+ */
1170
+
1171
+ /**
1172
+ * Individual color for the point. By default the color is either used
1173
+ * to denote the value, or pulled from the global `colors` array.
1174
+ *
1175
+ * @type {Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject}
1176
+ * @product highmaps
1177
+ * @apioption series.map.data.color
1178
+ */
1179
+
1180
+ /**
1181
+ * Individual data label for each point. The options are the same as
1182
+ * the ones for [plotOptions.series.dataLabels](
1183
+ * #plotOptions.series.dataLabels).
1184
+ *
1185
+ * @sample maps/series/data-datalabels/
1186
+ * Disable data labels for individual areas
1187
+ *
1188
+ * @type {Object}
1189
+ * @product highmaps
1190
+ * @apioption series.map.data.dataLabels
1191
+ */
1192
+
1193
+ /**
1194
+ * The `id` of a series in the [drilldown.series](#drilldown.series)
1195
+ * array to use for a drilldown for this point.
1196
+ *
1197
+ * @sample maps/demo/map-drilldown/
1198
+ * Basic drilldown
1199
+ *
1200
+ * @type {string}
1201
+ * @product highmaps
1202
+ * @apioption series.map.data.drilldown
1203
+ */
1204
+
1205
+ /**
1206
+ * An id for the point. This can be used after render time to get a
1207
+ * pointer to the point object through `chart.get()`.
1208
+ *
1209
+ * @sample maps/series/data-id/
1210
+ * Highlight a point by id
1211
+ *
1212
+ * @type {string}
1213
+ * @product highmaps
1214
+ * @apioption series.map.data.id
1215
+ */
1216
+
1217
+ /**
1218
+ * When data labels are laid out on a map, Highmaps runs a simplified
1219
+ * algorithm to detect collision. When two labels collide, the one with
1220
+ * the lowest rank is hidden. By default the rank is computed from the
1221
+ * area.
1222
+ *
1223
+ * @type {number}
1224
+ * @product highmaps
1225
+ * @apioption series.map.data.labelrank
1226
+ */
1227
+
1228
+ /**
1229
+ * The relative mid point of an area, used to place the data label.
1230
+ * Ranges from 0 to 1\. When `mapData` is used, middleX can be defined
1231
+ * there.
1232
+ *
1233
+ * @type {number}
1234
+ * @default 0.5
1235
+ * @product highmaps
1236
+ * @apioption series.map.data.middleX
1237
+ */
1238
+
1239
+ /**
1240
+ * The relative mid point of an area, used to place the data label.
1241
+ * Ranges from 0 to 1\. When `mapData` is used, middleY can be defined
1242
+ * there.
1243
+ *
1244
+ * @type {number}
1245
+ * @default 0.5
1246
+ * @product highmaps
1247
+ * @apioption series.map.data.middleY
1248
+ */
1249
+
1250
+ /**
1251
+ * The name of the point as shown in the legend, tooltip, dataLabel
1252
+ * etc.
1253
+ *
1254
+ * @sample maps/series/data-datalabels/
1255
+ * Point names
1256
+ *
1257
+ * @type {string}
1258
+ * @product highmaps
1259
+ * @apioption series.map.data.name
1260
+ */
1261
+
1262
+ /**
1263
+ * For map and mapline series types, the SVG path for the shape. For
1264
+ * compatibily with old IE, not all SVG path definitions are supported,
1265
+ * but M, L and C operators are safe.
1266
+ *
1267
+ * To achieve a better separation between the structure and the data,
1268
+ * it is recommended to use `mapData` to define that paths instead
1269
+ * of defining them on the data points themselves.
1270
+ *
1271
+ * @sample maps/series/data-path/
1272
+ * Paths defined in data
1273
+ *
1274
+ * @type {string}
1275
+ * @product highmaps
1276
+ * @apioption series.map.data.path
1277
+ */
1278
+
1279
+ /**
1280
+ * The numeric value of the data point.
1281
+ *
1282
+ * @type {number}
1283
+ * @product highmaps
1284
+ * @apioption series.map.data.value
1285
+ */
1286
+
1287
+
1288
+ /**
1289
+ * Individual point events
1290
+ *
1291
+ * @extends plotOptions.series.point.events
1292
+ * @product highmaps
1293
+ * @apioption series.map.data.events
1294
+ */