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,23 @@
1
+ /*
2
+ Highcharts JS v7.0.3 (2019-02-06)
3
+
4
+ (c) 2009-2019 Torstein Honsi
5
+
6
+ License: www.highcharts.com/license
7
+ */
8
+ (function(n){"object"===typeof module&&module.exports?(n["default"]=n,module.exports=n):"function"===typeof define&&define.amd?define(function(){return n}):n("undefined"!==typeof Highcharts?Highcharts:void 0)})(function(n){(function(r){function n(d,c,a,g,e,f){d=(f-c)*(a-d)-(g-c)*(e-d);return 0<d?!0:!(0>d)}function w(d,c,a,g,e,f,b,h){return n(d,c,e,f,b,h)!==n(a,g,e,f,b,h)&&n(d,c,a,g,e,f)!==n(d,c,a,g,b,h)}function B(d,c,a,g,e,f,b,h){return w(d,c,d+a,c,e,f,b,h)||w(d+a,c,d+a,c+g,e,f,b,h)||w(d,c+g,d+a,
9
+ c+g,e,f,b,h)||w(d,c,d,c+g,e,f,b,h)}function C(d){var c=this,a=Math.max(r.animObject(c.renderer.globalAnimation).duration,250);c.labelSeries=[];c.labelSeriesMaxSum=0;r.clearTimeout(c.seriesLabelTimer);c.series.forEach(function(g){var e=g.options.label,f=g.labelBySeries,b=f&&f.closest;e.enabled&&g.visible&&(g.graph||g.area)&&!g.isSeriesBoosting&&(c.labelSeries.push(g),e.minFontSize&&e.maxFontSize&&(g.sum=g.yData.reduce(function(a,b){return(a||0)+(b||0)},0),c.labelSeriesMaxSum=Math.max(c.labelSeriesMaxSum,
10
+ g.sum)),"load"===d.type&&(a=Math.max(a,r.animObject(g.options.animation).duration)),b&&(void 0!==b[0].plotX?f.animate({x:b[0].plotX+b[1],y:b[0].plotY+b[2]}):f.attr({opacity:0})))});c.seriesLabelTimer=r.syncTimeout(function(){c.series&&c.labelSeries&&c.drawSeriesLabels()},c.renderer.forExport?0:a)}var D=r.addEvent,E=r.extend,x=r.isNumber,y=r.pick,z=r.Series,F=r.SVGRenderer,A=r.Chart;r.setOptions({plotOptions:{series:{label:{enabled:!0,connectorAllowed:!1,connectorNeighbourDistance:24,minFontSize:null,
11
+ maxFontSize:null,onArea:null,style:{fontWeight:"bold"},boxesToAvoid:[]}}}});F.prototype.symbols.connector=function(d,c,a,g,e){var f=e&&e.anchorX;e=e&&e.anchorY;var b,h,k=a/2;x(f)&&x(e)&&(b=["M",f,e],h=c-e,0>h&&(h=-g-h),h<a&&(k=f<d+a/2?h:a-h),e>c+g?b.push("L",d+k,c+g):e<c?b.push("L",d+k,c):f<d?b.push("L",d,c+g/2):f>d+a&&b.push("L",d+a,c+g/2));return b||[]};z.prototype.getPointsOnGraph=function(){function d(a){var b=Math.round(a.plotX/8)+","+Math.round(a.plotY/8);n[b]||(n[b]=1,e.push(a))}if(this.xAxis||
12
+ this.yAxis){var c=this.points,a,g,e=[],f,b,h,k;b=this.graph||this.area;h=b.element;var q=this.chart.inverted,v=this.xAxis;a=this.yAxis;var t=q?a.pos:v.pos,q=q?v.pos:a.pos,v=y(this.options.label.onArea,!!this.area),l=a.getThreshold(this.options.threshold),n={};if(this.getPointSpline&&h.getPointAtLength&&!v&&c.length<this.chart.plotSizeX/16){b.toD&&(g=b.attr("d"),b.attr({d:b.toD}));k=h.getTotalLength();for(f=0;f<k;f+=16)a=h.getPointAtLength(f),d({chartX:t+a.x,chartY:q+a.y,plotX:a.x,plotY:a.y});g&&b.attr({d:g});
13
+ a=c[c.length-1];a.chartX=t+a.plotX;a.chartY=q+a.plotY;d(a)}else for(k=c.length,f=0;f<k;f+=1){a=c[f];g=c[f-1];a.chartX=t+a.plotX;a.chartY=q+a.plotY;v&&(a.chartCenterY=q+(a.plotY+y(a.yBottom,l))/2);if(0<f&&(b=Math.abs(a.chartX-g.chartX),h=Math.abs(a.chartY-g.chartY),b=Math.max(b,h),16<b))for(b=Math.ceil(b/16),h=1;h<b;h+=1)d({chartX:g.chartX+h/b*(a.chartX-g.chartX),chartY:g.chartY+h/b*(a.chartY-g.chartY),chartCenterY:g.chartCenterY+h/b*(a.chartCenterY-g.chartCenterY),plotX:g.plotX+h/b*(a.plotX-g.plotX),
14
+ plotY:g.plotY+h/b*(a.plotY-g.plotY)});x(a.plotY)&&d(a)}return e}};z.prototype.labelFontSize=function(d,c){return d+this.sum/this.chart.labelSeriesMaxSum*(c-d)+"px"};z.prototype.checkClearPoint=function(d,c,a,g){var e=Number.MAX_VALUE,f=Number.MAX_VALUE,b,h,k=y(this.options.label.onArea,!!this.area),q=k||this.options.label.connectorAllowed,v=this.chart,t,l,n,r,p,m;for(p=0;p<v.boxesToAvoid.length;p+=1)if(l=v.boxesToAvoid[p],m=d+a.width,t=c,n=c+a.height,!(d>l.right||m<l.left||t>l.bottom||n<l.top))return!1;
15
+ for(p=0;p<v.series.length;p+=1)if(t=v.series[p],l=t.interpolatedPoints,t.visible&&l){for(m=1;m<l.length;m+=1){if(l[m].chartX>=d-16&&l[m-1].chartX<=d+a.width+16){if(B(d,c,a.width,a.height,l[m-1].chartX,l[m-1].chartY,l[m].chartX,l[m].chartY))return!1;this===t&&!b&&g&&(b=B(d-16,c-16,a.width+32,a.height+32,l[m-1].chartX,l[m-1].chartY,l[m].chartX,l[m].chartY))}!q&&!b||this===t&&!k||(n=d+a.width/2-l[m].chartX,r=c+a.height/2-l[m].chartY,e=Math.min(e,n*n+r*r))}if(!k&&q&&this===t&&(g&&!b||e<Math.pow(this.options.label.connectorNeighbourDistance,
16
+ 2))){for(m=1;m<l.length;m+=1)b=Math.min(Math.pow(d+a.width/2-l[m].chartX,2)+Math.pow(c+a.height/2-l[m].chartY,2),Math.pow(d-l[m].chartX,2)+Math.pow(c-l[m].chartY,2),Math.pow(d+a.width-l[m].chartX,2)+Math.pow(c-l[m].chartY,2),Math.pow(d+a.width-l[m].chartX,2)+Math.pow(c+a.height-l[m].chartY,2),Math.pow(d-l[m].chartX,2)+Math.pow(c+a.height-l[m].chartY,2)),b<f&&(f=b,h=l[m]);b=!0}}return!g||b?{x:d,y:c,weight:e-(h?f:0),connectorPoint:h}:!1};A.prototype.drawSeriesLabels=function(){var d=this,c=this.labelSeries;
17
+ d.boxesToAvoid=[];c.forEach(function(a){a.interpolatedPoints=a.getPointsOnGraph();(a.options.label.boxesToAvoid||[]).forEach(function(a){d.boxesToAvoid.push(a)})});d.series.forEach(function(a){function c(a,b,c){var d=Math.max(t,y(x,-Infinity)),e=Math.min(t+r,y(z,Infinity));return a>d&&a<=e-c.width&&b>=l&&b<=l+w-c.height}if(a.xAxis||a.yAxis){var e,f,b,h=[],k,q,n=a.options.label,t=(b=d.inverted)?a.yAxis.pos:a.xAxis.pos,l=b?a.xAxis.pos:a.yAxis.pos,r=d.inverted?a.yAxis.len:a.xAxis.len,w=d.inverted?a.xAxis.len:
18
+ a.yAxis.len,p=a.interpolatedPoints,m=y(n.onArea,!!a.area),u=a.labelBySeries;e=n.minFontSize;f=n.maxFontSize;var x,z;m&&!b&&(b=[a.xAxis.toPixels(a.xData[0]),a.xAxis.toPixels(a.xData[a.xData.length-1])],x=Math.min.apply(Math,b),z=Math.max.apply(Math,b));if(a.visible&&!a.isSeriesBoosting&&p){u||(a.labelBySeries=u=d.renderer.label(a.name,0,-9999,"connector").addClass("highcharts-series-label highcharts-series-label-"+a.index+" "+(a.options.className||"")).css(E({color:m?d.renderer.getContrast(a.color):
19
+ a.color},a.options.label.style)),e&&f&&u.css({fontSize:a.labelFontSize(e,f)}),u.attr({padding:0,opacity:d.renderer.forExport?1:0,stroke:a.color,"stroke-width":1,zIndex:3}).add().animate({opacity:1},{duration:200}));e=u.getBBox();e.width=Math.round(e.width);for(q=p.length-1;0<q;--q)m?(f=p[q].chartX-e.width/2,b=p[q].chartCenterY-e.height/2,c(f,b,e)&&(k=a.checkClearPoint(f,b,e))):(f=p[q].chartX+3,b=p[q].chartY-e.height-3,c(f,b,e)&&(k=a.checkClearPoint(f,b,e,!0)),k&&h.push(k),f=p[q].chartX+3,b=p[q].chartY+
20
+ 3,c(f,b,e)&&(k=a.checkClearPoint(f,b,e,!0)),k&&h.push(k),f=p[q].chartX-e.width-3,b=p[q].chartY+3,c(f,b,e)&&(k=a.checkClearPoint(f,b,e,!0)),k&&h.push(k),f=p[q].chartX-e.width-3,b=p[q].chartY-e.height-3,c(f,b,e)&&(k=a.checkClearPoint(f,b,e,!0))),k&&h.push(k);if(n.connectorAllowed&&!h.length&&!m)for(f=t+r-e.width;f>=t;f-=16)for(b=l;b<l+w-e.height;b+=16)(k=a.checkClearPoint(f,b,e,!0))&&h.push(k);if(h.length){if(h.sort(function(a,b){return b.weight-a.weight}),k=h[0],d.boxesToAvoid.push({left:k.x,right:k.x+
21
+ e.width,top:k.y,bottom:k.y+e.height}),h=Math.sqrt(Math.pow(Math.abs(k.x-u.x),2),Math.pow(Math.abs(k.y-u.y),2)))n={opacity:d.renderer.forExport?1:0,x:k.x,y:k.y},p={opacity:1},10>=h&&(p={x:n.x,y:n.y},n={}),a.labelBySeries.attr(E(n,{anchorX:k.connectorPoint&&k.connectorPoint.plotX+t,anchorY:k.connectorPoint&&k.connectorPoint.plotY+l})).animate(p),a.options.kdNow=!0,a.buildKDTree(),a=a.searchPoint({chartX:k.x,chartY:k.y},!0),u.closest=[a,k.x-a.plotX,k.y-a.plotY]}else u&&(a.labelBySeries=u.destroy())}else u&&
22
+ (a.labelBySeries=u.destroy())}})};D(A,"load",C);D(A,"redraw",C)})(n)});
23
+ //# sourceMappingURL=series-label.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"series-label.js.map","lineCount":22,"mappings":"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","sources":["series-label.src.js"],"names":["factory","module","exports","define","amd","Highcharts","undefined","H","ccw","x1","y1","x2","y2","x3","y3","cw","intersectLine","x4","y4","boxIntersectLine","x","y","w","h","drawLabels","e","chart","delay","Math","max","animObject","renderer","globalAnimation","duration","labelSeries","labelSeriesMaxSum","clearTimeout","seriesLabelTimer","series","forEach","options","label","labelBySeries","closest","enabled","visible","graph","area","isSeriesBoosting","push","minFontSize","maxFontSize","sum","yData","reduce","pv","cv","type","animation","plotX","animate","plotY","attr","opacity","syncTimeout","drawSeriesLabels","forExport","addEvent","extend","isNumber","pick","Series","SVGRenderer","Chart","setOptions","plotOptions","connectorAllowed","connectorNeighbourDistance","onArea","style","fontWeight","boxesToAvoid","prototype","symbols","connector","SVGRenderer.prototype.symbols.connector","anchorX","anchorY","path","yOffset","lateral","getPointsOnGraph","Series.prototype.getPointsOnGraph","pushDiscrete","point","key","round","cellSize","grid","interpolated","xAxis","yAxis","points","last","i","deltaX","deltaY","len","node","element","inverted","paneLeft","pos","paneTop","translatedThreshold","getThreshold","threshold","getPointSpline","getPointAtLength","length","plotSizeX","distance","toD","d","getTotalLength","chartX","chartY","chartCenterY","yBottom","abs","delta","n","ceil","j","labelFontSize","Series.prototype.labelFontSize","checkClearPoint","Series.prototype.checkClearPoint","bBox","checkDistance","distToOthersSquared","Number","MAX_VALUE","distToPointSquared","dist","connectorPoint","findDistanceToOthers","xDist","yDist","width","height","r1","right","left","top","bottom","interpolatedPoints","leastDistance","withinRange","min","pow","weight","Chart.prototype.drawSeriesLabels","box","insidePane","leftBound","areaMin","Infinity","rightBound","paneWidth","areaMax","paneHeight","results","clearPoint","labelOptions","dataExtremes","toPixels","xData","apply","name","addClass","index","className","css","color","getContrast","fontSize","padding","stroke","zIndex","add","getBBox","best","labelDistance","sort","a","b","sqrt","anim","kdNow","buildKDTree","searchPoint","destroy"]}
@@ -0,0 +1,1065 @@
1
+ /**
2
+ * @license Highcharts JS v7.0.3 (2019-02-06)
3
+ *
4
+ * (c) 2009-2019 Torstein Honsi
5
+ *
6
+ * License: www.highcharts.com/license
7
+ */
8
+ 'use strict';
9
+ (function (factory) {
10
+ if (typeof module === 'object' && module.exports) {
11
+ factory['default'] = factory;
12
+ module.exports = factory;
13
+ } else if (typeof define === 'function' && define.amd) {
14
+ define(function () {
15
+ return factory;
16
+ });
17
+ } else {
18
+ factory(typeof Highcharts !== 'undefined' ? Highcharts : undefined);
19
+ }
20
+ }(function (Highcharts) {
21
+ (function (H) {
22
+ /**
23
+ * (c) 2009-2019 Torstein Honsi
24
+ *
25
+ * License: www.highcharts.com/license
26
+ */
27
+
28
+ /**
29
+ * Containing the position of a box that should be avoided by labels.
30
+ *
31
+ * @interface Highcharts.LabelIntersectBoxObject
32
+ *//**
33
+ * @name Highcharts.LabelIntersectBoxObject#bottom
34
+ * @type {number}
35
+ *//**
36
+ * @name Highcharts.LabelIntersectBoxObject#left
37
+ * @type {number}
38
+ *//**
39
+ * @name Highcharts.LabelIntersectBoxObject#right
40
+ * @type {number}
41
+ *//**
42
+ * @name Highcharts.LabelIntersectBoxObject#top
43
+ * @type {number}
44
+ */
45
+
46
+ /*
47
+ * Highcharts module to place labels next to a series in a natural position.
48
+ *
49
+ * TODO:
50
+ * - add column support (box collision detection, boxesToAvoid logic)
51
+ * - avoid data labels, when data labels above, show series label below.
52
+ * - add more options (connector, format, formatter)
53
+ *
54
+ * https://jsfiddle.net/highcharts/L2u9rpwr/
55
+ * https://jsfiddle.net/highcharts/y5A37/
56
+ * https://jsfiddle.net/highcharts/264Nm/
57
+ * https://jsfiddle.net/highcharts/y5A37/
58
+ */
59
+
60
+
61
+
62
+ var labelDistance = 3,
63
+ addEvent = H.addEvent,
64
+ extend = H.extend,
65
+ isNumber = H.isNumber,
66
+ pick = H.pick,
67
+ Series = H.Series,
68
+ SVGRenderer = H.SVGRenderer,
69
+ Chart = H.Chart;
70
+
71
+ H.setOptions({
72
+
73
+ /**
74
+ * @optionparent plotOptions
75
+ */
76
+ plotOptions: {
77
+
78
+ series: {
79
+ /**
80
+ * Series labels are placed as close to the series as possible in a
81
+ * natural way, seeking to avoid other series. The goal of this
82
+ * feature is to make the chart more easily readable, like if a
83
+ * human designer placed the labels in the optimal position.
84
+ *
85
+ * The series labels currently work with series types having a
86
+ * `graph` or an `area`.
87
+ *
88
+ * Requires the `series-label.js` module.
89
+ *
90
+ * @sample highcharts/series-label/line-chart
91
+ * Line chart
92
+ * @sample highcharts/demo/streamgraph
93
+ * Stream graph
94
+ * @sample highcharts/series-label/stock-chart
95
+ * Stock chart
96
+ *
97
+ * @since 6.0.0
98
+ * @product highcharts highstock gantt
99
+ */
100
+ label: {
101
+
102
+ /**
103
+ * Enable the series label per series.
104
+ */
105
+ enabled: true,
106
+
107
+ /**
108
+ * Allow labels to be placed distant to the graph if necessary,
109
+ * and draw a connector line to the graph. Setting this option
110
+ * to true may decrease the performance significantly, since the
111
+ * algorithm with systematically search for open spaces in the
112
+ * whole plot area. Visually, it may also result in a more
113
+ * cluttered chart, though more of the series will be labeled.
114
+ */
115
+ connectorAllowed: false,
116
+
117
+ /**
118
+ * If the label is closer than this to a neighbour graph, draw a
119
+ * connector.
120
+ */
121
+ connectorNeighbourDistance: 24,
122
+
123
+ /**
124
+ * For area-like series, allow the font size to vary so that
125
+ * small areas get a smaller font size. The default applies this
126
+ * effect to area-like series but not line-like series.
127
+ *
128
+ * @type {number|null}
129
+ */
130
+ minFontSize: null,
131
+
132
+ /**
133
+ * For area-like series, allow the font size to vary so that
134
+ * small areas get a smaller font size. The default applies this
135
+ * effect to area-like series but not line-like series.
136
+ *
137
+ * @type {number|null}
138
+ */
139
+ maxFontSize: null,
140
+
141
+ /**
142
+ * Draw the label on the area of an area series. By default it
143
+ * is drawn on the area. Set it to `false` to draw it next to
144
+ * the graph instead.
145
+ *
146
+ * @type {boolean|null}
147
+ */
148
+ onArea: null,
149
+
150
+ /**
151
+ * Styles for the series label. The color defaults to the series
152
+ * color, or a contrast color if `onArea`.
153
+ *
154
+ * @type {Highcharts.CSSObject}
155
+ * @default {"font-weight": "bold"}
156
+ */
157
+ style: {
158
+
159
+ /**
160
+ * @ignore
161
+ */
162
+ fontWeight: 'bold'
163
+
164
+ },
165
+
166
+ /**
167
+ * An array of boxes to avoid when laying out the labels. Each
168
+ * item has a `left`, `right`, `top` and `bottom` property.
169
+ *
170
+ * @type {Array<Highcharts.LabelIntersectBoxObject>}
171
+ */
172
+ boxesToAvoid: []
173
+
174
+ }
175
+
176
+ }
177
+
178
+ }
179
+
180
+ });
181
+
182
+ /**
183
+ * Counter-clockwise, part of the fast line intersection logic.
184
+ *
185
+ * @private
186
+ * @function ccw
187
+ *
188
+ * @param {number} x1
189
+ *
190
+ * @param {number} y1
191
+ *
192
+ * @param {number} x2
193
+ *
194
+ * @param {number} y2
195
+ *
196
+ * @param {number} x3
197
+ *
198
+ * @param {number} y3
199
+ *
200
+ * @return {boolean}
201
+ */
202
+ function ccw(x1, y1, x2, y2, x3, y3) {
203
+ var cw = ((y3 - y1) * (x2 - x1)) - ((y2 - y1) * (x3 - x1));
204
+
205
+ return cw > 0 ? true : !(cw < 0);
206
+ }
207
+
208
+ /**
209
+ * Detect if two lines intersect.
210
+ *
211
+ * @private
212
+ * @function ccw
213
+ *
214
+ * @param {number} x1
215
+ *
216
+ * @param {number} y1
217
+ *
218
+ * @param {number} x2
219
+ *
220
+ * @param {number} y2
221
+ *
222
+ * @param {number} x3
223
+ *
224
+ * @param {number} y3
225
+ *
226
+ * @param {number} x4
227
+ *
228
+ * @param {number} y4
229
+ *
230
+ * @return {boolean}
231
+ */
232
+ function intersectLine(x1, y1, x2, y2, x3, y3, x4, y4) {
233
+ return ccw(x1, y1, x3, y3, x4, y4) !== ccw(x2, y2, x3, y3, x4, y4) &&
234
+ ccw(x1, y1, x2, y2, x3, y3) !== ccw(x1, y1, x2, y2, x4, y4);
235
+ }
236
+
237
+ /**
238
+ * Detect if a box intersects with a line.
239
+ *
240
+ * @private
241
+ * @function boxIntersectLine
242
+ *
243
+ * @param {number} x
244
+ *
245
+ * @param {number} y
246
+ *
247
+ * @param {number} w
248
+ *
249
+ * @param {number} h
250
+ *
251
+ * @param {number} x1
252
+ *
253
+ * @param {number} y1
254
+ *
255
+ * @param {number} x2
256
+ *
257
+ * @param {number} y2
258
+ *
259
+ * @return {boolean}
260
+ */
261
+ function boxIntersectLine(x, y, w, h, x1, y1, x2, y2) {
262
+ return (
263
+ intersectLine(x, y, x + w, y, x1, y1, x2, y2) || // top of label
264
+ intersectLine(x + w, y, x + w, y + h, x1, y1, x2, y2) || // right
265
+ intersectLine(x, y + h, x + w, y + h, x1, y1, x2, y2) || // bottom
266
+ intersectLine(x, y, x, y + h, x1, y1, x2, y2) // left of label
267
+ );
268
+ }
269
+
270
+ /**
271
+ * General symbol definition for labels with connector.
272
+ *
273
+ * @private
274
+ * @function Highcharts.SVGRenderer#symbols.connector
275
+ *
276
+ * @param {number} x
277
+ *
278
+ * @param {number} y
279
+ *
280
+ * @param {number} w
281
+ *
282
+ * @param {number} h
283
+ *
284
+ * @param {Highcharts.SymbolOptionsObject} options
285
+ *
286
+ * @return {Highcharts.SVGPathArray}
287
+ */
288
+ SVGRenderer.prototype.symbols.connector = function (x, y, w, h, options) {
289
+ var anchorX = options && options.anchorX,
290
+ anchorY = options && options.anchorY,
291
+ path,
292
+ yOffset,
293
+ lateral = w / 2;
294
+
295
+ if (isNumber(anchorX) && isNumber(anchorY)) {
296
+
297
+ path = ['M', anchorX, anchorY];
298
+
299
+ // Prefer 45 deg connectors
300
+ yOffset = y - anchorY;
301
+ if (yOffset < 0) {
302
+ yOffset = -h - yOffset;
303
+ }
304
+ if (yOffset < w) {
305
+ lateral = anchorX < x + (w / 2) ? yOffset : w - yOffset;
306
+ }
307
+
308
+ // Anchor below label
309
+ if (anchorY > y + h) {
310
+ path.push('L', x + lateral, y + h);
311
+
312
+ // Anchor above label
313
+ } else if (anchorY < y) {
314
+ path.push('L', x + lateral, y);
315
+
316
+ // Anchor left of label
317
+ } else if (anchorX < x) {
318
+ path.push('L', x, y + h / 2);
319
+
320
+ // Anchor right of label
321
+ } else if (anchorX > x + w) {
322
+ path.push('L', x + w, y + h / 2);
323
+ }
324
+ }
325
+ return path || [];
326
+ };
327
+
328
+ /**
329
+ * Points to avoid. In addition to actual data points, the label should avoid
330
+ * interpolated positions.
331
+ *
332
+ * @private
333
+ * @function Highcharts.Series#getPointsOnGraph
334
+ *
335
+ * @return {Array<Highcharts.Point>}
336
+ */
337
+ Series.prototype.getPointsOnGraph = function () {
338
+
339
+ if (!this.xAxis && !this.yAxis) {
340
+ return;
341
+ }
342
+
343
+ var distance = 16,
344
+ points = this.points,
345
+ point,
346
+ last,
347
+ interpolated = [],
348
+ i,
349
+ deltaX,
350
+ deltaY,
351
+ delta,
352
+ len,
353
+ n,
354
+ j,
355
+ d,
356
+ graph = this.graph || this.area,
357
+ node = graph.element,
358
+ inverted = this.chart.inverted,
359
+ xAxis = this.xAxis,
360
+ yAxis = this.yAxis,
361
+ paneLeft = inverted ? yAxis.pos : xAxis.pos,
362
+ paneTop = inverted ? xAxis.pos : yAxis.pos,
363
+ onArea = pick(this.options.label.onArea, !!this.area),
364
+ translatedThreshold = yAxis.getThreshold(this.options.threshold),
365
+ grid = {};
366
+
367
+ // Push the point to the interpolated points, but only if that position in
368
+ // the grid has not been occupied. As a performance optimization, we divide
369
+ // the plot area into a grid and only add one point per series (#9815).
370
+ function pushDiscrete(point) {
371
+ var cellSize = 8,
372
+ key = Math.round(point.plotX / cellSize) + ',' +
373
+ Math.round(point.plotY / cellSize);
374
+
375
+ if (!grid[key]) {
376
+ grid[key] = 1;
377
+ interpolated.push(point);
378
+ }
379
+ }
380
+
381
+ // For splines, get the point at length (possible caveat: peaks are not
382
+ // correctly detected)
383
+ if (
384
+ this.getPointSpline &&
385
+ node.getPointAtLength &&
386
+ !onArea &&
387
+ // Not performing well on complex series, node.getPointAtLength is too
388
+ // heavy (#9815)
389
+ points.length < this.chart.plotSizeX / distance
390
+ ) {
391
+ // If it is animating towards a path definition, use that briefly, and
392
+ // reset
393
+ if (graph.toD) {
394
+ d = graph.attr('d');
395
+ graph.attr({ d: graph.toD });
396
+ }
397
+ len = node.getTotalLength();
398
+ for (i = 0; i < len; i += distance) {
399
+ point = node.getPointAtLength(i);
400
+ pushDiscrete({
401
+ chartX: paneLeft + point.x,
402
+ chartY: paneTop + point.y,
403
+ plotX: point.x,
404
+ plotY: point.y
405
+ });
406
+ }
407
+ if (d) {
408
+ graph.attr({ d: d });
409
+ }
410
+ // Last point
411
+ point = points[points.length - 1];
412
+ point.chartX = paneLeft + point.plotX;
413
+ point.chartY = paneTop + point.plotY;
414
+ pushDiscrete(point);
415
+
416
+ // Interpolate
417
+ } else {
418
+ len = points.length;
419
+ for (i = 0; i < len; i += 1) {
420
+
421
+ point = points[i];
422
+ last = points[i - 1];
423
+
424
+ // Absolute coordinates so we can compare different panes
425
+ point.chartX = paneLeft + point.plotX;
426
+ point.chartY = paneTop + point.plotY;
427
+ if (onArea) {
428
+ // Vertically centered inside area
429
+ point.chartCenterY = paneTop + (
430
+ point.plotY +
431
+ pick(point.yBottom, translatedThreshold)
432
+ ) / 2;
433
+ }
434
+
435
+ // Add interpolated points
436
+ if (i > 0) {
437
+ deltaX = Math.abs(point.chartX - last.chartX);
438
+ deltaY = Math.abs(point.chartY - last.chartY);
439
+ delta = Math.max(deltaX, deltaY);
440
+ if (delta > distance) {
441
+
442
+ n = Math.ceil(delta / distance);
443
+
444
+ for (j = 1; j < n; j += 1) {
445
+ pushDiscrete({
446
+ chartX: last.chartX +
447
+ (point.chartX - last.chartX) * (j / n),
448
+ chartY: last.chartY +
449
+ (point.chartY - last.chartY) * (j / n),
450
+ chartCenterY: last.chartCenterY +
451
+ (point.chartCenterY - last.chartCenterY) *
452
+ (j / n),
453
+ plotX: last.plotX +
454
+ (point.plotX - last.plotX) * (j / n),
455
+ plotY: last.plotY +
456
+ (point.plotY - last.plotY) * (j / n)
457
+ });
458
+ }
459
+ }
460
+ }
461
+
462
+ // Add the real point in order to find positive and negative peaks
463
+ if (isNumber(point.plotY)) {
464
+ pushDiscrete(point);
465
+ }
466
+ }
467
+ }
468
+
469
+ // Get the bounding box so we can do a quick check first if the bounding
470
+ // boxes overlap.
471
+ /*
472
+ interpolated.bBox = node.getBBox();
473
+ interpolated.bBox.x += paneLeft;
474
+ interpolated.bBox.y += paneTop;
475
+ */
476
+ return interpolated;
477
+ };
478
+
479
+ /**
480
+ * Overridable function to return series-specific font sizes for the labels. By
481
+ * default it returns bigger font sizes for series with the greater sum of y
482
+ * values.
483
+ *
484
+ * @private
485
+ * @function Highcharts.Series#labelFontSize
486
+ *
487
+ * @param {number} minFontSize
488
+ *
489
+ * @param {number} maxFontSize
490
+ *
491
+ * @return {string}
492
+ */
493
+ Series.prototype.labelFontSize = function (minFontSize, maxFontSize) {
494
+ return minFontSize + (
495
+ (this.sum / this.chart.labelSeriesMaxSum) *
496
+ (maxFontSize - minFontSize)
497
+ ) + 'px';
498
+ };
499
+
500
+ /**
501
+ * Check whether a proposed label position is clear of other elements.
502
+ *
503
+ * @private
504
+ * @function Highcharts.Series#checkClearPoint
505
+ *
506
+ * @param {number} x
507
+ *
508
+ * @param {number} y
509
+ *
510
+ * @param {Highcharts.BBoxObject}
511
+ *
512
+ * @param {boolean} [checkDistance]
513
+ *
514
+ * @return {false|*}
515
+ */
516
+ Series.prototype.checkClearPoint = function (x, y, bBox, checkDistance) {
517
+ var distToOthersSquared = Number.MAX_VALUE, // distance to other graphs
518
+ distToPointSquared = Number.MAX_VALUE,
519
+ dist,
520
+ connectorPoint,
521
+ onArea = pick(this.options.label.onArea, !!this.area),
522
+ findDistanceToOthers = onArea || this.options.label.connectorAllowed,
523
+ chart = this.chart,
524
+ series,
525
+ points,
526
+ leastDistance = 16,
527
+ withinRange,
528
+ xDist,
529
+ yDist,
530
+ i,
531
+ j;
532
+
533
+ function intersectRect(r1, r2) {
534
+ return !(r2.left > r1.right ||
535
+ r2.right < r1.left ||
536
+ r2.top > r1.bottom ||
537
+ r2.bottom < r1.top);
538
+ }
539
+
540
+ /**
541
+ * Get the weight in order to determine the ideal position. Larger distance
542
+ * to other series gives more weight. Smaller distance to the actual point
543
+ * (connector points only) gives more weight.
544
+ */
545
+ function getWeight(distToOthersSquared, distToPointSquared) {
546
+ return distToOthersSquared - distToPointSquared;
547
+ }
548
+
549
+ // First check for collision with existing labels
550
+ for (i = 0; i < chart.boxesToAvoid.length; i += 1) {
551
+ if (intersectRect(chart.boxesToAvoid[i], {
552
+ left: x,
553
+ right: x + bBox.width,
554
+ top: y,
555
+ bottom: y + bBox.height
556
+ })) {
557
+ return false;
558
+ }
559
+ }
560
+
561
+ // For each position, check if the lines around the label intersect with any
562
+ // of the graphs.
563
+ for (i = 0; i < chart.series.length; i += 1) {
564
+ series = chart.series[i];
565
+ points = series.interpolatedPoints;
566
+ if (series.visible && points) {
567
+ for (j = 1; j < points.length; j += 1) {
568
+
569
+ if (
570
+ // To avoid processing, only check intersection if the X
571
+ // values are close to the box.
572
+ points[j].chartX >= x - leastDistance &&
573
+ points[j - 1].chartX <= x + bBox.width + leastDistance
574
+ ) {
575
+ // If any of the box sides intersect with the line, return.
576
+ if (boxIntersectLine(
577
+ x,
578
+ y,
579
+ bBox.width,
580
+ bBox.height,
581
+ points[j - 1].chartX,
582
+ points[j - 1].chartY,
583
+ points[j].chartX,
584
+ points[j].chartY
585
+ )) {
586
+ return false;
587
+ }
588
+
589
+ // But if it is too far away (a padded box doesn't
590
+ // intersect), also return.
591
+ if (this === series && !withinRange && checkDistance) {
592
+ withinRange = boxIntersectLine(
593
+ x - leastDistance,
594
+ y - leastDistance,
595
+ bBox.width + 2 * leastDistance,
596
+ bBox.height + 2 * leastDistance,
597
+ points[j - 1].chartX,
598
+ points[j - 1].chartY,
599
+ points[j].chartX,
600
+ points[j].chartY
601
+ );
602
+ }
603
+ }
604
+
605
+ // Find the squared distance from the center of the label. On
606
+ // area series, avoid its own graph.
607
+ if (
608
+ (findDistanceToOthers || withinRange) &&
609
+ (this !== series || onArea)
610
+ ) {
611
+ xDist = x + bBox.width / 2 - points[j].chartX;
612
+ yDist = y + bBox.height / 2 - points[j].chartY;
613
+ distToOthersSquared = Math.min(
614
+ distToOthersSquared,
615
+ xDist * xDist + yDist * yDist
616
+ );
617
+ }
618
+ }
619
+
620
+ // Do we need a connector?
621
+ if (
622
+ !onArea &&
623
+ findDistanceToOthers &&
624
+ this === series &&
625
+ (
626
+ (checkDistance && !withinRange) ||
627
+ distToOthersSquared < Math.pow(
628
+ this.options.label.connectorNeighbourDistance,
629
+ 2
630
+ )
631
+ )
632
+ ) {
633
+ for (j = 1; j < points.length; j += 1) {
634
+ dist = Math.min(
635
+ (
636
+ Math.pow(x + bBox.width / 2 - points[j].chartX, 2) +
637
+ Math.pow(y + bBox.height / 2 - points[j].chartY, 2)
638
+ ),
639
+ (
640
+ Math.pow(x - points[j].chartX, 2) +
641
+ Math.pow(y - points[j].chartY, 2)
642
+ ),
643
+ (
644
+ Math.pow(x + bBox.width - points[j].chartX, 2) +
645
+ Math.pow(y - points[j].chartY, 2)
646
+ ),
647
+ (
648
+ Math.pow(x + bBox.width - points[j].chartX, 2) +
649
+ Math.pow(y + bBox.height - points[j].chartY, 2)
650
+ ),
651
+ (
652
+ Math.pow(x - points[j].chartX, 2) +
653
+ Math.pow(y + bBox.height - points[j].chartY, 2)
654
+ )
655
+ );
656
+ if (dist < distToPointSquared) {
657
+ distToPointSquared = dist;
658
+ connectorPoint = points[j];
659
+ }
660
+ }
661
+ withinRange = true;
662
+ }
663
+ }
664
+ }
665
+
666
+ return !checkDistance || withinRange ? {
667
+ x: x,
668
+ y: y,
669
+ weight: getWeight(
670
+ distToOthersSquared,
671
+ connectorPoint ? distToPointSquared : 0
672
+ ),
673
+ connectorPoint: connectorPoint
674
+ } : false;
675
+
676
+ };
677
+
678
+ /**
679
+ * The main initialize method that runs on chart level after initialization and
680
+ * redraw. It runs in a timeout to prevent locking, and loops over all series,
681
+ * taking all series and labels into account when placing the labels.
682
+ *
683
+ * @private
684
+ * @function Highcharts.Chart#drawSeriesLabels
685
+ */
686
+ Chart.prototype.drawSeriesLabels = function () {
687
+
688
+ // console.time('drawSeriesLabels');
689
+
690
+ var chart = this,
691
+ labelSeries = this.labelSeries;
692
+
693
+ chart.boxesToAvoid = [];
694
+
695
+ // Build the interpolated points
696
+ labelSeries.forEach(function (series) {
697
+ series.interpolatedPoints = series.getPointsOnGraph();
698
+
699
+ (series.options.label.boxesToAvoid || []).forEach(function (box) {
700
+ chart.boxesToAvoid.push(box);
701
+ });
702
+ });
703
+
704
+ chart.series.forEach(function (series) {
705
+
706
+ if (!series.xAxis && !series.yAxis) {
707
+ return;
708
+ }
709
+
710
+ var bBox,
711
+ x,
712
+ y,
713
+ results = [],
714
+ clearPoint,
715
+ i,
716
+ best,
717
+ labelOptions = series.options.label,
718
+ inverted = chart.inverted,
719
+ paneLeft = inverted ? series.yAxis.pos : series.xAxis.pos,
720
+ paneTop = inverted ? series.xAxis.pos : series.yAxis.pos,
721
+ paneWidth = chart.inverted ? series.yAxis.len : series.xAxis.len,
722
+ paneHeight = chart.inverted ? series.xAxis.len : series.yAxis.len,
723
+ points = series.interpolatedPoints,
724
+ onArea = pick(labelOptions.onArea, !!series.area),
725
+ label = series.labelBySeries,
726
+ minFontSize = labelOptions.minFontSize,
727
+ maxFontSize = labelOptions.maxFontSize,
728
+ dataExtremes,
729
+ areaMin,
730
+ areaMax;
731
+
732
+ // Stay within the area data bounds (#10038)
733
+ if (onArea && !inverted) {
734
+ dataExtremes = [
735
+ series.xAxis.toPixels(series.xData[0]),
736
+ series.xAxis.toPixels(
737
+ series.xData[series.xData.length - 1]
738
+ )
739
+ ];
740
+ areaMin = Math.min.apply(Math, dataExtremes);
741
+ areaMax = Math.max.apply(Math, dataExtremes);
742
+ }
743
+
744
+ function insidePane(x, y, bBox) {
745
+ var leftBound = Math.max(paneLeft, pick(areaMin, -Infinity)),
746
+ rightBound = Math.min(
747
+ paneLeft + paneWidth,
748
+ pick(areaMax, Infinity)
749
+ );
750
+ return (
751
+ x > leftBound &&
752
+ x <= rightBound - bBox.width &&
753
+ y >= paneTop &&
754
+ y <= paneTop + paneHeight - bBox.height
755
+ );
756
+ }
757
+
758
+ function destroyLabel() {
759
+ if (label) {
760
+ series.labelBySeries = label.destroy();
761
+ }
762
+ }
763
+
764
+ if (series.visible && !series.isSeriesBoosting && points) {
765
+ if (!label) {
766
+ series.labelBySeries = label = chart.renderer
767
+ .label(series.name, 0, -9999, 'connector')
768
+ .addClass(
769
+ 'highcharts-series-label ' +
770
+ 'highcharts-series-label-' + series.index + ' ' +
771
+ (series.options.className || '')
772
+ )
773
+ .css(extend({
774
+ color: onArea ?
775
+ chart.renderer.getContrast(series.color) :
776
+ series.color
777
+ }, series.options.label.style));
778
+
779
+ // Adapt label sizes to the sum of the data
780
+ if (minFontSize && maxFontSize) {
781
+ label.css({
782
+ fontSize: series.labelFontSize(minFontSize, maxFontSize)
783
+ });
784
+ }
785
+
786
+ label
787
+ .attr({
788
+ padding: 0,
789
+ opacity: chart.renderer.forExport ? 1 : 0,
790
+ stroke: series.color,
791
+ 'stroke-width': 1,
792
+ zIndex: 3
793
+ })
794
+ .add()
795
+ .animate({ opacity: 1 }, { duration: 200 });
796
+ }
797
+
798
+ bBox = label.getBBox();
799
+ bBox.width = Math.round(bBox.width);
800
+
801
+ // Ideal positions are centered above or below a point on right side
802
+ // of chart
803
+ for (i = points.length - 1; i > 0; i -= 1) {
804
+
805
+ if (onArea) {
806
+
807
+ // Centered
808
+ x = points[i].chartX - bBox.width / 2;
809
+ y = points[i].chartCenterY - bBox.height / 2;
810
+ if (insidePane(x, y, bBox)) {
811
+ best = series.checkClearPoint(
812
+ x,
813
+ y,
814
+ bBox
815
+ );
816
+ }
817
+ if (best) {
818
+ results.push(best);
819
+ }
820
+
821
+
822
+ } else {
823
+
824
+ // Right - up
825
+ x = points[i].chartX + labelDistance;
826
+ y = points[i].chartY - bBox.height - labelDistance;
827
+ if (insidePane(x, y, bBox)) {
828
+ best = series.checkClearPoint(
829
+ x,
830
+ y,
831
+ bBox,
832
+ true
833
+ );
834
+ }
835
+ if (best) {
836
+ results.push(best);
837
+ }
838
+
839
+ // Right - down
840
+ x = points[i].chartX + labelDistance;
841
+ y = points[i].chartY + labelDistance;
842
+ if (insidePane(x, y, bBox)) {
843
+ best = series.checkClearPoint(
844
+ x,
845
+ y,
846
+ bBox,
847
+ true
848
+ );
849
+ }
850
+ if (best) {
851
+ results.push(best);
852
+ }
853
+
854
+ // Left - down
855
+ x = points[i].chartX - bBox.width - labelDistance;
856
+ y = points[i].chartY + labelDistance;
857
+ if (insidePane(x, y, bBox)) {
858
+ best = series.checkClearPoint(
859
+ x,
860
+ y,
861
+ bBox,
862
+ true
863
+ );
864
+ }
865
+ if (best) {
866
+ results.push(best);
867
+ }
868
+
869
+ // Left - up
870
+ x = points[i].chartX - bBox.width - labelDistance;
871
+ y = points[i].chartY - bBox.height - labelDistance;
872
+ if (insidePane(x, y, bBox)) {
873
+ best = series.checkClearPoint(
874
+ x,
875
+ y,
876
+ bBox,
877
+ true
878
+ );
879
+ }
880
+ if (best) {
881
+ results.push(best);
882
+ }
883
+ }
884
+ }
885
+
886
+ // Brute force, try all positions on the chart in a 16x16 grid
887
+ if (labelOptions.connectorAllowed && !results.length && !onArea) {
888
+ for (
889
+ x = paneLeft + paneWidth - bBox.width;
890
+ x >= paneLeft;
891
+ x -= 16
892
+ ) {
893
+ for (
894
+ y = paneTop;
895
+ y < paneTop + paneHeight - bBox.height;
896
+ y += 16
897
+ ) {
898
+ clearPoint = series.checkClearPoint(x, y, bBox, true);
899
+ if (clearPoint) {
900
+ results.push(clearPoint);
901
+ }
902
+ }
903
+ }
904
+ }
905
+
906
+ if (results.length) {
907
+
908
+ results.sort(function (a, b) {
909
+ return b.weight - a.weight;
910
+ });
911
+
912
+ best = results[0];
913
+
914
+ chart.boxesToAvoid.push({
915
+ left: best.x,
916
+ right: best.x + bBox.width,
917
+ top: best.y,
918
+ bottom: best.y + bBox.height
919
+ });
920
+
921
+ // Move it if needed
922
+ var dist = Math.sqrt(
923
+ Math.pow(Math.abs(best.x - label.x), 2),
924
+ Math.pow(Math.abs(best.y - label.y), 2)
925
+ );
926
+
927
+ if (dist) {
928
+
929
+ // Move fast and fade in - pure animation movement is
930
+ // distractive...
931
+ var attr = {
932
+ opacity: chart.renderer.forExport ? 1 : 0,
933
+ x: best.x,
934
+ y: best.y
935
+ },
936
+ anim = {
937
+ opacity: 1
938
+ };
939
+
940
+ // ... unless we're just moving a short distance
941
+ if (dist <= 10) {
942
+ anim = {
943
+ x: attr.x,
944
+ y: attr.y
945
+ };
946
+ attr = {};
947
+ }
948
+ series.labelBySeries
949
+ .attr(extend(attr, {
950
+ anchorX: best.connectorPoint &&
951
+ best.connectorPoint.plotX + paneLeft,
952
+ anchorY: best.connectorPoint &&
953
+ best.connectorPoint.plotY + paneTop
954
+ }))
955
+ .animate(anim);
956
+
957
+ // Record closest point to stick to for sync redraw
958
+ series.options.kdNow = true;
959
+ series.buildKDTree();
960
+ var closest = series.searchPoint({
961
+ chartX: best.x,
962
+ chartY: best.y
963
+ }, true);
964
+
965
+ label.closest = [
966
+ closest,
967
+ best.x - closest.plotX,
968
+ best.y - closest.plotY
969
+ ];
970
+
971
+ }
972
+
973
+ } else {
974
+ destroyLabel();
975
+ }
976
+ } else {
977
+ destroyLabel();
978
+ }
979
+ });
980
+ // console.timeEnd('drawSeriesLabels');
981
+ };
982
+
983
+ /**
984
+ * Prepare drawing series labels.
985
+ *
986
+ * @private
987
+ * @function drawLabels
988
+ */
989
+ function drawLabels(e) {
990
+
991
+ var chart = this,
992
+ delay = Math.max(
993
+ H.animObject(chart.renderer.globalAnimation).duration,
994
+ 250
995
+ );
996
+
997
+ chart.labelSeries = [];
998
+ chart.labelSeriesMaxSum = 0;
999
+
1000
+ H.clearTimeout(chart.seriesLabelTimer);
1001
+
1002
+ // Which series should have labels
1003
+ chart.series.forEach(function (series) {
1004
+ var options = series.options.label,
1005
+ label = series.labelBySeries,
1006
+ closest = label && label.closest;
1007
+
1008
+ if (
1009
+ options.enabled &&
1010
+ series.visible &&
1011
+ (series.graph || series.area) &&
1012
+ !series.isSeriesBoosting
1013
+ ) {
1014
+ chart.labelSeries.push(series);
1015
+
1016
+ if (options.minFontSize && options.maxFontSize) {
1017
+ series.sum = series.yData.reduce(function (pv, cv) {
1018
+ return (pv || 0) + (cv || 0);
1019
+ }, 0);
1020
+ chart.labelSeriesMaxSum = Math.max(
1021
+ chart.labelSeriesMaxSum,
1022
+ series.sum
1023
+ );
1024
+ }
1025
+
1026
+ // The labels are processing heavy, wait until the animation is done
1027
+ if (e.type === 'load') {
1028
+ delay = Math.max(
1029
+ delay,
1030
+ H.animObject(series.options.animation).duration
1031
+ );
1032
+ }
1033
+
1034
+ // Keep the position updated to the axis while redrawing
1035
+ if (closest) {
1036
+ if (closest[0].plotX !== undefined) {
1037
+ label.animate({
1038
+ x: closest[0].plotX + closest[1],
1039
+ y: closest[0].plotY + closest[2]
1040
+ });
1041
+ } else {
1042
+ label.attr({ opacity: 0 });
1043
+ }
1044
+ }
1045
+ }
1046
+ });
1047
+
1048
+ chart.seriesLabelTimer = H.syncTimeout(function () {
1049
+ if (chart.series && chart.labelSeries) { // #7931, chart destroyed
1050
+ chart.drawSeriesLabels();
1051
+ }
1052
+ }, chart.renderer.forExport ? 0 : delay);
1053
+
1054
+ }
1055
+
1056
+ // Leave both events, we handle animation differently (#9815)
1057
+ addEvent(Chart, 'load', drawLabels);
1058
+ addEvent(Chart, 'redraw', drawLabels);
1059
+
1060
+ }(Highcharts));
1061
+ return (function () {
1062
+
1063
+
1064
+ }());
1065
+ }));