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,1328 @@
1
+ /* *
2
+ * (c) 2010-2019 Torstein Honsi
3
+ *
4
+ * License: www.highcharts.com/license
5
+ */
6
+
7
+ 'use strict';
8
+
9
+ import H from './Globals.js';
10
+ import './Utilities.js';
11
+ import './ColumnSeries.js';
12
+ import '../mixins/centered-series.js';
13
+ import './Legend.js';
14
+ import './Options.js';
15
+ import './Point.js';
16
+ import './Series.js';
17
+
18
+ var addEvent = H.addEvent,
19
+ CenteredSeriesMixin = H.CenteredSeriesMixin,
20
+ defined = H.defined,
21
+ extend = H.extend,
22
+ getStartAndEndRadians = CenteredSeriesMixin.getStartAndEndRadians,
23
+ LegendSymbolMixin = H.LegendSymbolMixin,
24
+ noop = H.noop,
25
+ pick = H.pick,
26
+ Point = H.Point,
27
+ Series = H.Series,
28
+ seriesType = H.seriesType,
29
+ seriesTypes = H.seriesTypes,
30
+ setAnimation = H.setAnimation;
31
+
32
+ /**
33
+ * Pie series type.
34
+ *
35
+ * @private
36
+ * @class
37
+ * @name Highcharts.seriesTypes.pie
38
+ *
39
+ * @augments Highcharts.Series
40
+ */
41
+ seriesType('pie', 'line',
42
+
43
+ /**
44
+ * A pie chart is a circular graphic which is divided into slices to
45
+ * illustrate numerical proportion.
46
+ *
47
+ * @sample highcharts/demo/pie-basic/
48
+ * Pie chart
49
+ *
50
+ * @extends plotOptions.line
51
+ * @excluding animationLimit, boostThreshold, connectEnds, connectNulls,
52
+ * cropThreshold, dashStyle, findNearestPointBy,
53
+ * getExtremesFromAll, lineWidth, marker, negativeColor,
54
+ * pointInterval, pointIntervalUnit, pointPlacement,
55
+ * pointStart, softThreshold, stacking, step, threshold,
56
+ * turboThreshold, zoneAxis, zones
57
+ * @product highcharts
58
+ * @optionparent plotOptions.pie
59
+ */
60
+ {
61
+
62
+ /**
63
+ * @excluding legendItemClick
64
+ * @apioption plotOptions.pie.events
65
+ */
66
+
67
+ /**
68
+ * Fires when the checkbox next to the point name in the legend is
69
+ * clicked. One parameter, event, is passed to the function. The state
70
+ * of the checkbox is found by event.checked. The checked item is found
71
+ * by event.item. Return false to prevent the default action which is to
72
+ * toggle the select state of the series.
73
+ *
74
+ * @sample {highcharts} highcharts/plotoptions/series-events-checkboxclick/
75
+ * Alert checkbox status
76
+ *
77
+ * @type {Function}
78
+ * @since 1.2.0
79
+ * @product highcharts
80
+ * @context Highcharts.Point
81
+ * @apioption plotOptions.pie.events.checkboxClick
82
+ */
83
+
84
+ /**
85
+ * The center of the pie chart relative to the plot area. Can be
86
+ * percentages or pixel values. The default behaviour (as of 3.0) is to
87
+ * center the pie so that all slices and data labels are within the plot
88
+ * area. As a consequence, the pie may actually jump around in a chart
89
+ * with dynamic values, as the data labels move. In that case, the
90
+ * center should be explicitly set, for example to `["50%", "50%"]`.
91
+ *
92
+ * @sample {highcharts} highcharts/plotoptions/pie-center/
93
+ * Centered at 100, 100
94
+ *
95
+ * @type {Array<number|string|null>}
96
+ * @default [null, null]
97
+ * @product highcharts
98
+ */
99
+ center: [null, null],
100
+
101
+ /**
102
+ * @product highcharts
103
+ */
104
+ clip: false,
105
+
106
+ /** @ignore */
107
+ colorByPoint: true, // always true for pies
108
+
109
+ /**
110
+ * A series specific or series type specific color set to use instead
111
+ * of the global [colors](#colors).
112
+ *
113
+ * @sample {highcharts} highcharts/demo/pie-monochrome/
114
+ * Set default colors for all pies
115
+ *
116
+ * @type {Array<Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject>}
117
+ * @since 3.0
118
+ * @product highcharts
119
+ * @apioption plotOptions.pie.colors
120
+ */
121
+
122
+ /**
123
+ * @extends plotOptions.series.dataLabels
124
+ * @excluding align, allowOverlap, inside, staggerLines, step,
125
+ * verticalAlign
126
+ * @product highcharts
127
+ */
128
+ dataLabels: {
129
+
130
+ allowOverlap: true,
131
+
132
+ /**
133
+ * The color of the line connecting the data label to the pie slice.
134
+ * The default color is the same as the point's color.
135
+ *
136
+ * In styled mode, the connector stroke is given in the
137
+ * `.highcharts-data-label-connector` class.
138
+ *
139
+ * @sample {highcharts} highcharts/plotoptions/pie-datalabels-connectorcolor/
140
+ * Blue connectors
141
+ * @sample {highcharts} highcharts/css/pie-point/
142
+ * Styled connectors
143
+ *
144
+ * @type {Highcharts.ColorString}
145
+ * @since 2.1
146
+ * @product highcharts
147
+ * @apioption plotOptions.pie.dataLabels.connectorColor
148
+ */
149
+
150
+ /**
151
+ * The distance from the data label to the connector. Note that data
152
+ * labels also have a default `padding`, so in order for the
153
+ * connector to touch the text, the `padding` must also be 0.
154
+ *
155
+ * @sample {highcharts} highcharts/plotoptions/pie-datalabels-connectorpadding/
156
+ * No padding
157
+ *
158
+ * @since 2.1
159
+ * @product highcharts
160
+ * @apioption plotOptions.pie.dataLabels.connectorPadding
161
+ */
162
+ connectorPadding: 5,
163
+
164
+ /**
165
+ * The width of the line connecting the data label to the pie slice.
166
+ *
167
+ *
168
+ * In styled mode, the connector stroke width is given in the
169
+ * `.highcharts-data-label-connector` class.
170
+ *
171
+ * @sample {highcharts} highcharts/plotoptions/pie-datalabels-connectorwidth-disabled/
172
+ * Disable the connector
173
+ * @sample {highcharts} highcharts/css/pie-point/
174
+ * Styled connectors
175
+ *
176
+ * @type {number}
177
+ * @default 1
178
+ * @since 2.1
179
+ * @product highcharts
180
+ * @apioption plotOptions.pie.dataLabels.connectorWidth
181
+ */
182
+
183
+ /**
184
+ * @sample {highcharts} highcharts/plotOptions/pie-datalabels-overflow
185
+ * Long labels truncated with an ellipsis
186
+ * @sample {highcharts} highcharts/plotOptions/pie-datalabels-overflow-wrap
187
+ * Long labels are wrapped
188
+ *
189
+ * @type {Highcharts.CSSObject}
190
+ * @apioption plotOptions.pie.dataLabels.style
191
+ */
192
+
193
+ /**
194
+ * The distance of the data label from the pie's edge. Negative
195
+ * numbers put the data label on top of the pie slices. Connectors
196
+ * are only shown for data labels outside the pie.
197
+ *
198
+ * @sample {highcharts} highcharts/plotoptions/pie-datalabels-distance/
199
+ * Data labels on top of the pie
200
+ *
201
+ * @since 2.1
202
+ * @product highcharts
203
+ */
204
+ distance: 30,
205
+
206
+ /**
207
+ * Enable or disable the data labels.
208
+ *
209
+ * @since 2.1
210
+ * @product highcharts
211
+ */
212
+ enabled: true,
213
+
214
+ /**
215
+ * @type {Highcharts.FormatterCallbackFunction<Highcharts.SeriesDataLabelsFormatterContextObject>}
216
+ * @default function () { return this.point.name; }
217
+ * @apioption plotOptions.pie.dataLabels.formatter
218
+ */
219
+ formatter: function () { // #2945
220
+ return this.point.isNull ? undefined : this.point.name;
221
+ },
222
+
223
+ /**
224
+ * Whether to render the connector as a soft arc or a line with
225
+ * sharp break. Works only if `connectorShape` equals to
226
+ * `fixedOffset`.
227
+ *
228
+ * @sample {highcharts} highcharts/plotoptions/pie-datalabels-softconnector-true/
229
+ * Soft
230
+ * @sample {highcharts} highcharts/plotoptions/pie-datalabels-softconnector-false/
231
+ * Non soft
232
+ *
233
+ * @type {number}
234
+ * @since 2.1.7
235
+ * @product highcharts
236
+ * @apioption plotOptions.pie.dataLabels.softConnector
237
+ */
238
+ softConnector: true,
239
+
240
+ /**
241
+ * Alignment method for data labels. Possible values are:
242
+ * `'toPlotEdges'` (each label touches the nearest vertical edge of
243
+ * the plot area) or `'connectors'` (connectors have the same x
244
+ * position and the widest label of each half (left & right) touches
245
+ * the nearest vertical edge of the plot area).
246
+ *
247
+ * @type {String}
248
+ * @sample {highcharts} highcharts/plotoptions/pie-datalabels-alignto-connectors/ alignTo: connectors
249
+ * @sample {highcharts} highcharts/plotoptions/pie-datalabels-alignto-plotedges/ alignTo: plotEdges
250
+ * @since 7.0.0
251
+ * @default undefined
252
+ * @product highcharts
253
+ * @apioption plotOptions.pie.dataLabels.alignTo
254
+ */
255
+
256
+ x: 0,
257
+
258
+ /**
259
+ * Specifies the method that is used to generate the connector path.
260
+ * Highcharts provides 3 built-in connector shapes: `'fixedOffset'`
261
+ * (default), `'straight'` and `'crookedLine'`. Using
262
+ * `'crookedLine'` has the most sense (in most of the cases) when
263
+ * `'alignTo'` is set.
264
+ *
265
+ * Users can provide their own method by passing a function instead
266
+ * of a String. 3 arguments are passed to the callback:
267
+ *
268
+ * - Object that holds the information about the coordinates of the
269
+ * label (`x` & `y` properties) and how the label is located in
270
+ * relation to the pie (`alignment` property). `alignment` can by
271
+ * one of the following:
272
+ * `'left'` (pie on the left side of the data label),
273
+ * `'right'` (pie on the right side of the data label) or
274
+ * `'center'` (data label overlaps the pie).
275
+ * - Object that holds the information about the position of the
276
+ * connector. Its `touchingSliceAt` porperty tells the position
277
+ * of the place where the connector touches the slice.
278
+ * - Data label options
279
+ *
280
+ * The function has to return an SVG path definition in array form
281
+ * (see the example).
282
+ *
283
+ * @sample {highcharts} highcharts/plotoptions/pie-datalabels-connectorshape-string/
284
+ * connectorShape is a String
285
+ * @sample {highcharts} highcharts/plotoptions/pie-datalabels-connectorshape-function/
286
+ * connectorShape is a function
287
+ *
288
+ * @type {string|Function}
289
+ * @since 7.0.0
290
+ * @product highcharts
291
+ * @apioption plotOptions.pie.dataLabels.connectorShape
292
+ */
293
+ connectorShape: 'fixedOffset',
294
+
295
+ /**
296
+ * Works only if `connectorShape` is `'crookedLine'`. It defines how
297
+ * far from the vertical plot edge the coonnector path should be
298
+ * crooked.
299
+ *
300
+ * @sample {highcharts} highcharts/plotoptions/pie-datalabels-crookdistance/
301
+ * crookDistance set to 90%
302
+ *
303
+ * @type {string}
304
+ * @since 7.0.0
305
+ * @product highcharts
306
+ * @apioption plotOptions.pie.dataLabels.crookDistance
307
+ */
308
+ crookDistance: '70%'
309
+ },
310
+
311
+ /**
312
+ * The end angle of the pie in degrees where 0 is top and 90 is right.
313
+ * Defaults to `startAngle` plus 360.
314
+ *
315
+ * @sample {highcharts} highcharts/demo/pie-semi-circle/
316
+ * Semi-circle donut
317
+ *
318
+ * @type {number}
319
+ * @since 1.3.6
320
+ * @product highcharts
321
+ * @apioption plotOptions.pie.endAngle
322
+ */
323
+
324
+ /**
325
+ * Equivalent to [chart.ignoreHiddenSeries](#chart.ignoreHiddenSeries),
326
+ * this option tells whether the series shall be redrawn as if the
327
+ * hidden point were `null`.
328
+ *
329
+ * The default value changed from `false` to `true` with Highcharts
330
+ * 3.0.
331
+ *
332
+ * @sample {highcharts} highcharts/plotoptions/pie-ignorehiddenpoint/
333
+ * True, the hiddden point is ignored
334
+ *
335
+ * @since 2.3.0
336
+ * @product highcharts
337
+ */
338
+ ignoreHiddenPoint: true,
339
+
340
+ /**
341
+ * The size of the inner diameter for the pie. A size greater than 0
342
+ * renders a donut chart. Can be a percentage or pixel value.
343
+ * Percentages are relative to the pie size. Pixel values are given as
344
+ * integers.
345
+ *
346
+ *
347
+ * Note: in Highcharts < 4.1.2, the percentage was relative to the plot
348
+ * area, not the pie size.
349
+ *
350
+ * @sample {highcharts} highcharts/plotoptions/pie-innersize-80px/
351
+ * 80px inner size
352
+ * @sample {highcharts} highcharts/plotoptions/pie-innersize-50percent/
353
+ * 50% of the plot area
354
+ * @sample {highcharts} highcharts/demo/3d-pie-donut/
355
+ * 3D donut
356
+ *
357
+ * @type {number|string}
358
+ * @default 0
359
+ * @since 2.0
360
+ * @product highcharts
361
+ * @apioption plotOptions.pie.innerSize
362
+ */
363
+
364
+ /** @ignore-option */
365
+ legendType: 'point',
366
+
367
+ /** @ignore-option */
368
+ marker: null, // point options are specified in the base options
369
+
370
+ /**
371
+ * The minimum size for a pie in response to auto margins. The pie will
372
+ * try to shrink to make room for data labels in side the plot area,
373
+ * but only to this size.
374
+ *
375
+ * @type {number}
376
+ * @default 80
377
+ * @since 3.0
378
+ * @product highcharts
379
+ * @apioption plotOptions.pie.minSize
380
+ */
381
+
382
+ /**
383
+ * The diameter of the pie relative to the plot area. Can be a
384
+ * percentage or pixel value. Pixel values are given as integers. The
385
+ * default behaviour (as of 3.0) is to scale to the plot area and give
386
+ * room for data labels within the plot area.
387
+ * [slicedOffset](#plotOptions.pie.slicedOffset) is also included in the
388
+ * default size calculation. As a consequence, the size of the pie may
389
+ * vary when points are updated and data labels more around. In that
390
+ * case it is best to set a fixed value, for example `"75%"`.
391
+ *
392
+ * @sample {highcharts} highcharts/plotoptions/pie-size/
393
+ * Smaller pie
394
+ *
395
+ * @type {number|string|null}
396
+ * @product highcharts
397
+ */
398
+ size: null,
399
+
400
+ /**
401
+ * Whether to display this particular series or series type in the
402
+ * legend. Since 2.1, pies are not shown in the legend by default.
403
+ *
404
+ * @sample {highcharts} highcharts/plotoptions/series-showinlegend/
405
+ * One series in the legend, one hidden
406
+ *
407
+ * @product highcharts
408
+ */
409
+ showInLegend: false,
410
+
411
+ /**
412
+ * If a point is sliced, moved out from the center, how many pixels
413
+ * should it be moved?.
414
+ *
415
+ * @sample {highcharts} highcharts/plotoptions/pie-slicedoffset-20/
416
+ * 20px offset
417
+ *
418
+ * @product highcharts
419
+ */
420
+ slicedOffset: 10,
421
+
422
+ /**
423
+ * The start angle of the pie slices in degrees where 0 is top and 90
424
+ * right.
425
+ *
426
+ * @sample {highcharts} highcharts/plotoptions/pie-startangle-90/
427
+ * Start from right
428
+ *
429
+ * @type {number}
430
+ * @default 0
431
+ * @since 2.3.4
432
+ * @product highcharts
433
+ * @apioption plotOptions.pie.startAngle
434
+ */
435
+
436
+ /**
437
+ * Sticky tracking of mouse events. When true, the `mouseOut` event
438
+ * on a series isn't triggered until the mouse moves over another
439
+ * series, or out of the plot area. When false, the `mouseOut` event on
440
+ * a series is triggered when the mouse leaves the area around the
441
+ * series' graph or markers. This also implies the tooltip. When
442
+ * `stickyTracking` is false and `tooltip.shared` is false, the tooltip
443
+ * will be hidden when moving the mouse between series.
444
+ *
445
+ * @product highcharts
446
+ */
447
+ stickyTracking: false,
448
+
449
+ tooltip: {
450
+ followPointer: true
451
+ },
452
+
453
+ /**
454
+ * The color of the border surrounding each slice. When `null`, the
455
+ * border takes the same color as the slice fill. This can be used
456
+ * together with a `borderWidth` to fill drawing gaps created by
457
+ * antialiazing artefacts in borderless pies.
458
+ *
459
+ * In styled mode, the border stroke is given in the `.highcharts-point`
460
+ * class.
461
+ *
462
+ * @sample {highcharts} highcharts/plotoptions/pie-bordercolor-black/
463
+ * Black border
464
+ *
465
+ * @type {Highcharts.ColorString}
466
+ * @default #ffffff
467
+ * @product highcharts
468
+ */
469
+ borderColor: '#ffffff',
470
+
471
+ /**
472
+ * The width of the border surrounding each slice.
473
+ *
474
+ * When setting the border width to 0, there may be small gaps between
475
+ * the slices due to SVG antialiasing artefacts. To work around this,
476
+ * keep the border width at 0.5 or 1, but set the `borderColor` to
477
+ * `null` instead.
478
+ *
479
+ * In styled mode, the border stroke width is given in the
480
+ * `.highcharts-point` class.
481
+ *
482
+ * @sample {highcharts} highcharts/plotoptions/pie-borderwidth/
483
+ * 3px border
484
+ *
485
+ * @product highcharts
486
+ */
487
+ borderWidth: 1,
488
+
489
+ states: {
490
+
491
+ /**
492
+ * @extends plotOptions.series.states.hover
493
+ * @excluding marker, lineWidth, lineWidthPlus
494
+ * @product highcharts
495
+ */
496
+ hover: {
497
+
498
+ /**
499
+ * How much to brighten the point on interaction. Requires the main
500
+ * color to be defined in hex or rgb(a) format.
501
+ *
502
+ * In styled mode, the hover brightness is by default replaced
503
+ * by a fill-opacity given in the `.highcharts-point-hover` class.
504
+ *
505
+ * @sample {highcharts} highcharts/plotoptions/pie-states-hover-brightness/
506
+ * Brightened by 0.5
507
+ *
508
+ * @product highcharts
509
+ */
510
+ brightness: 0.1
511
+ }
512
+ }
513
+
514
+ }, /** @lends seriesTypes.pie.prototype */ {
515
+
516
+ isCartesian: false,
517
+ requireSorting: false,
518
+ directTouch: true,
519
+ noSharedTooltip: true,
520
+ trackerGroups: ['group', 'dataLabelsGroup'],
521
+ axisTypes: [],
522
+ pointAttribs: seriesTypes.column.prototype.pointAttribs,
523
+
524
+ /**
525
+ * Animate the pies in
526
+ *
527
+ * @private
528
+ * @function Highcharts.seriesTypes.pie#animate
529
+ *
530
+ * @param {boolean} [init=false]
531
+ */
532
+ animate: function (init) {
533
+ var series = this,
534
+ points = series.points,
535
+ startAngleRad = series.startAngleRad;
536
+
537
+ if (!init) {
538
+ points.forEach(function (point) {
539
+ var graphic = point.graphic,
540
+ args = point.shapeArgs;
541
+
542
+ if (graphic) {
543
+ // start values
544
+ graphic.attr({
545
+ // animate from inner radius (#779)
546
+ r: point.startR || (series.center[3] / 2),
547
+ start: startAngleRad,
548
+ end: startAngleRad
549
+ });
550
+
551
+ // animate
552
+ graphic.animate({
553
+ r: args.r,
554
+ start: args.start,
555
+ end: args.end
556
+ }, series.options.animation);
557
+ }
558
+ });
559
+
560
+ // delete this function to allow it only once
561
+ series.animate = null;
562
+ }
563
+ },
564
+
565
+ /**
566
+ * Recompute total chart sum and update percentages of points.
567
+ *
568
+ * @private
569
+ * @function Highcharts.seriesTypes.pie#updateTotals
570
+ */
571
+ updateTotals: function () {
572
+ var i,
573
+ total = 0,
574
+ points = this.points,
575
+ len = points.length,
576
+ point,
577
+ ignoreHiddenPoint = this.options.ignoreHiddenPoint;
578
+
579
+ // Get the total sum
580
+ for (i = 0; i < len; i++) {
581
+ point = points[i];
582
+ total += (ignoreHiddenPoint && !point.visible) ?
583
+ 0 :
584
+ point.isNull ? 0 : point.y;
585
+ }
586
+ this.total = total;
587
+
588
+ // Set each point's properties
589
+ for (i = 0; i < len; i++) {
590
+ point = points[i];
591
+ point.percentage =
592
+ (total > 0 && (point.visible || !ignoreHiddenPoint)) ?
593
+ point.y / total * 100 :
594
+ 0;
595
+ point.total = total;
596
+ }
597
+ },
598
+
599
+ /**
600
+ * Extend the generatePoints method by adding total and percentage
601
+ * properties to each point
602
+ *
603
+ * @private
604
+ * @function Highcharts.seriesTypes.pie#generatePoints
605
+ */
606
+ generatePoints: function () {
607
+ Series.prototype.generatePoints.call(this);
608
+ this.updateTotals();
609
+ },
610
+
611
+ // Utility for getting the x value from a given y, used for
612
+ // anticollision logic in data labels. Added point for using specific
613
+ // points' label distance.
614
+ getX: function (y, left, point) {
615
+ var center = this.center,
616
+ // Variable pie has individual radius
617
+ radius = this.radii ? this.radii[point.index] : center[2] / 2,
618
+ angle,
619
+ x;
620
+
621
+ angle = Math.asin(
622
+ Math.max(
623
+ Math.min(
624
+ (
625
+ (y - center[1]) /
626
+ (radius + point.labelDistance)
627
+ ),
628
+ 1
629
+ ),
630
+ -1
631
+ )
632
+ );
633
+ x = center[0] +
634
+ (left ? -1 : 1) *
635
+ (Math.cos(angle) * (radius + point.labelDistance)) +
636
+ (
637
+ point.labelDistance > 0 ?
638
+ (left ? -1 : 1) * this.options.dataLabels.padding :
639
+ 0
640
+ );
641
+
642
+ return x;
643
+ },
644
+
645
+ /**
646
+ * Do translation for pie slices
647
+ *
648
+ * @private
649
+ * @function Highcharts.seriesTypes.pie#translate
650
+ *
651
+ * @param {Array<number>} positions
652
+ */
653
+ translate: function (positions) {
654
+ this.generatePoints();
655
+
656
+ var series = this,
657
+ cumulative = 0,
658
+ precision = 1000, // issue #172
659
+ options = series.options,
660
+ slicedOffset = options.slicedOffset,
661
+ connectorOffset = slicedOffset + (options.borderWidth || 0),
662
+ finalConnectorOffset,
663
+ start,
664
+ end,
665
+ angle,
666
+ radians = getStartAndEndRadians(
667
+ options.startAngle,
668
+ options.endAngle
669
+ ),
670
+ startAngleRad = series.startAngleRad = radians.start,
671
+ endAngleRad = series.endAngleRad = radians.end,
672
+ circ = endAngleRad - startAngleRad, // 2 * Math.PI,
673
+ points = series.points,
674
+ // the x component of the radius vector for a given point
675
+ radiusX,
676
+ radiusY,
677
+ labelDistance = options.dataLabels.distance,
678
+ ignoreHiddenPoint = options.ignoreHiddenPoint,
679
+ i,
680
+ len = points.length,
681
+ point;
682
+
683
+ // Get positions - either an integer or a percentage string must be
684
+ // given. If positions are passed as a parameter, we're in a
685
+ // recursive loop for adjusting space for data labels.
686
+ if (!positions) {
687
+ series.center = positions = series.getCenter();
688
+ }
689
+
690
+ // Calculate the geometry for each point
691
+ for (i = 0; i < len; i++) {
692
+
693
+ point = points[i];
694
+
695
+ // Used for distance calculation for specific point.
696
+ point.labelDistance = pick(
697
+ (
698
+ point.options.dataLabels &&
699
+ point.options.dataLabels.distance
700
+ ),
701
+ labelDistance
702
+ );
703
+
704
+ // Saved for later dataLabels distance calculation.
705
+ series.maxLabelDistance = Math.max(
706
+ series.maxLabelDistance || 0,
707
+ point.labelDistance
708
+ );
709
+
710
+ // set start and end angle
711
+ start = startAngleRad + (cumulative * circ);
712
+ if (!ignoreHiddenPoint || point.visible) {
713
+ cumulative += point.percentage / 100;
714
+ }
715
+ end = startAngleRad + (cumulative * circ);
716
+
717
+ // set the shape
718
+ point.shapeType = 'arc';
719
+ point.shapeArgs = {
720
+ x: positions[0],
721
+ y: positions[1],
722
+ r: positions[2] / 2,
723
+ innerR: positions[3] / 2,
724
+ start: Math.round(start * precision) / precision,
725
+ end: Math.round(end * precision) / precision
726
+ };
727
+
728
+ // The angle must stay within -90 and 270 (#2645)
729
+ angle = (end + start) / 2;
730
+ if (angle > 1.5 * Math.PI) {
731
+ angle -= 2 * Math.PI;
732
+ } else if (angle < -Math.PI / 2) {
733
+ angle += 2 * Math.PI;
734
+ }
735
+
736
+ // Center for the sliced out slice
737
+ point.slicedTranslation = {
738
+ translateX: Math.round(Math.cos(angle) * slicedOffset),
739
+ translateY: Math.round(Math.sin(angle) * slicedOffset)
740
+ };
741
+
742
+ // set the anchor point for tooltips
743
+ radiusX = Math.cos(angle) * positions[2] / 2;
744
+ radiusY = Math.sin(angle) * positions[2] / 2;
745
+ point.tooltipPos = [
746
+ positions[0] + radiusX * 0.7,
747
+ positions[1] + radiusY * 0.7
748
+ ];
749
+
750
+ point.half = angle < -Math.PI / 2 || angle > Math.PI / 2 ?
751
+ 1 :
752
+ 0;
753
+ point.angle = angle;
754
+
755
+ // Set the anchor point for data labels. Use point.labelDistance
756
+ // instead of labelDistance // #1174
757
+ // finalConnectorOffset - not override connectorOffset value.
758
+
759
+ finalConnectorOffset = Math.min(
760
+ connectorOffset,
761
+ point.labelDistance / 5
762
+ ); // #1678
763
+
764
+ point.labelPosition = {
765
+ natural: {
766
+ // initial position of the data label - it's utilized for
767
+ // finding the final position for the label
768
+ x: positions[0] + radiusX + Math.cos(angle) *
769
+ point.labelDistance,
770
+ y: positions[1] + radiusY + Math.sin(angle) *
771
+ point.labelDistance
772
+ },
773
+ 'final': {
774
+ // used for generating connector path -
775
+ // initialized later in drawDataLabels function
776
+ // x: undefined,
777
+ // y: undefined
778
+ },
779
+ // left - pie on the left side of the data label
780
+ // right - pie on the right side of the data label
781
+ // center - data label overlaps the pie
782
+ alignment: point.labelDistance < 0 ?
783
+ 'center' : point.half ? 'right' : 'left',
784
+ connectorPosition: {
785
+ breakAt: { // used in connectorShapes.fixedOffset
786
+ x: positions[0] + radiusX + Math.cos(angle) *
787
+ finalConnectorOffset,
788
+ y: positions[1] + radiusY + Math.sin(angle) *
789
+ finalConnectorOffset
790
+ },
791
+ touchingSliceAt: { // middle of the arc
792
+ x: positions[0] + radiusX,
793
+ y: positions[1] + radiusY
794
+ }
795
+ }
796
+ };
797
+ }
798
+ },
799
+
800
+ /**
801
+ * @private
802
+ * @deprecated
803
+ * @name Highcharts.seriesTypes.pie#drawGraph
804
+ * @type {null}
805
+ */
806
+ drawGraph: null,
807
+
808
+ /**
809
+ * Draw the data points
810
+ *
811
+ * @private
812
+ * @function Highcharts.seriesTypes.pie#drawPoints
813
+ */
814
+ drawPoints: function () {
815
+ var series = this,
816
+ chart = series.chart,
817
+ renderer = chart.renderer,
818
+ groupTranslation,
819
+ graphic,
820
+ pointAttr,
821
+ shapeArgs,
822
+ shadow = series.options.shadow;
823
+
824
+ if (shadow && !series.shadowGroup && !chart.styledMode) {
825
+ series.shadowGroup = renderer.g('shadow')
826
+ .add(series.group);
827
+ }
828
+
829
+ // draw the slices
830
+ series.points.forEach(function (point) {
831
+ graphic = point.graphic;
832
+ if (!point.isNull) {
833
+ shapeArgs = point.shapeArgs;
834
+
835
+
836
+ // If the point is sliced, use special translation, else use
837
+ // plot area traslation
838
+ groupTranslation = point.getTranslate();
839
+
840
+ if (!chart.styledMode) {
841
+ // Put the shadow behind all points
842
+ var shadowGroup = point.shadowGroup;
843
+
844
+ if (shadow && !shadowGroup) {
845
+ shadowGroup = point.shadowGroup = renderer
846
+ .g('shadow')
847
+ .add(series.shadowGroup);
848
+ }
849
+
850
+ if (shadowGroup) {
851
+ shadowGroup.attr(groupTranslation);
852
+ }
853
+ pointAttr = series.pointAttribs(
854
+ point,
855
+ point.selected && 'select'
856
+ );
857
+ }
858
+
859
+ // Draw the slice
860
+ if (graphic) {
861
+ graphic
862
+ .setRadialReference(series.center);
863
+
864
+ if (!chart.styledMode) {
865
+ graphic.attr(pointAttr);
866
+ }
867
+ graphic.animate(extend(shapeArgs, groupTranslation));
868
+ } else {
869
+
870
+ point.graphic = graphic = renderer[point.shapeType](
871
+ shapeArgs
872
+ )
873
+ .setRadialReference(series.center)
874
+ .attr(groupTranslation)
875
+ .add(series.group);
876
+
877
+ if (!chart.styledMode) {
878
+ graphic
879
+ .attr(pointAttr)
880
+ .attr({ 'stroke-linejoin': 'round' })
881
+ .shadow(shadow, shadowGroup);
882
+ }
883
+ }
884
+
885
+ graphic.attr({
886
+ visibility: point.visible ? 'inherit' : 'hidden'
887
+ });
888
+
889
+ graphic.addClass(point.getClassName());
890
+
891
+ } else if (graphic) {
892
+ point.graphic = graphic.destroy();
893
+ }
894
+ });
895
+
896
+ },
897
+
898
+ /**
899
+ * @private
900
+ * @deprecated
901
+ * @function Highcharts.seriesTypes.pie#searchPoint
902
+ */
903
+ searchPoint: noop,
904
+
905
+ /**
906
+ * Utility for sorting data labels
907
+ *
908
+ * @private
909
+ * @function Highcharts.seriesTypes.pie#sortByAngle
910
+ *
911
+ * @param {Array<Highcharts.Point>} points
912
+ *
913
+ * @param {number} sign
914
+ */
915
+ sortByAngle: function (points, sign) {
916
+ points.sort(function (a, b) {
917
+ return a.angle !== undefined && (b.angle - a.angle) * sign;
918
+ });
919
+ },
920
+
921
+ /**
922
+ * Use a simple symbol from LegendSymbolMixin.
923
+ *
924
+ * @private
925
+ * @borrows Highcharts.LegendSymbolMixin.drawRectangle as Highcharts.seriesTypes.pie#drawLegendSymbol
926
+ */
927
+ drawLegendSymbol: LegendSymbolMixin.drawRectangle,
928
+
929
+ /**
930
+ * Use the getCenter method from drawLegendSymbol.
931
+ *
932
+ * @private
933
+ * @borrows Highcharts.CenteredSeriesMixin.getCenter as Highcharts.seriesTypes.pie#getCenter
934
+ */
935
+ getCenter: CenteredSeriesMixin.getCenter,
936
+
937
+ /**
938
+ * Pies don't have point marker symbols.
939
+ *
940
+ * @deprecated
941
+ * @private
942
+ * @function Highcharts.seriesTypes.pie#getSymbol
943
+ */
944
+ getSymbol: noop
945
+
946
+
947
+ }, /** @lends seriesTypes.pie.prototype.pointClass.prototype */ {
948
+
949
+ /**
950
+ * Initialize the pie slice
951
+ *
952
+ * @private
953
+ * @function Highcharts.seriesTypes.pie#pointClass#init
954
+ *
955
+ * @return {Highcharts.Point}
956
+ */
957
+ init: function () {
958
+
959
+ Point.prototype.init.apply(this, arguments);
960
+
961
+ var point = this,
962
+ toggleSlice;
963
+
964
+ point.name = pick(point.name, 'Slice');
965
+
966
+ // add event listener for select
967
+ toggleSlice = function (e) {
968
+ point.slice(e.type === 'select');
969
+ };
970
+ addEvent(point, 'select', toggleSlice);
971
+ addEvent(point, 'unselect', toggleSlice);
972
+
973
+ return point;
974
+ },
975
+
976
+ /**
977
+ * Negative points are not valid (#1530, #3623, #5322)
978
+ *
979
+ * @private
980
+ * @function Highcharts.seriesTypes.pie#pointClass#isValid
981
+ *
982
+ * @return {boolean}
983
+ */
984
+ isValid: function () {
985
+ return H.isNumber(this.y, true) && this.y >= 0;
986
+ },
987
+
988
+ /**
989
+ * Toggle the visibility of the pie slice
990
+ *
991
+ * @private
992
+ * @function Highcharts.seriesTypes.pie#pointClass#setVisible
993
+ *
994
+ * @param {boolean} vis
995
+ * Whether to show the slice or not. If undefined, the visibility is
996
+ * toggled.
997
+ *
998
+ * @param {boolean} [redraw=false]
999
+ */
1000
+ setVisible: function (vis, redraw) {
1001
+ var point = this,
1002
+ series = point.series,
1003
+ chart = series.chart,
1004
+ ignoreHiddenPoint = series.options.ignoreHiddenPoint;
1005
+
1006
+ redraw = pick(redraw, ignoreHiddenPoint);
1007
+
1008
+ if (vis !== point.visible) {
1009
+
1010
+ // If called without an argument, toggle visibility
1011
+ point.visible = point.options.visible = vis =
1012
+ vis === undefined ? !point.visible : vis;
1013
+ // update userOptions.data
1014
+ series.options.data[series.data.indexOf(point)] = point.options;
1015
+
1016
+ // Show and hide associated elements. This is performed
1017
+ // regardless of redraw or not, because chart.redraw only
1018
+ // handles full series.
1019
+ ['graphic', 'dataLabel', 'connector', 'shadowGroup'].forEach(
1020
+ function (key) {
1021
+ if (point[key]) {
1022
+ point[key][vis ? 'show' : 'hide'](true);
1023
+ }
1024
+ }
1025
+ );
1026
+
1027
+ if (point.legendItem) {
1028
+ chart.legend.colorizeItem(point, vis);
1029
+ }
1030
+
1031
+ // #4170, hide halo after hiding point
1032
+ if (!vis && point.state === 'hover') {
1033
+ point.setState('');
1034
+ }
1035
+
1036
+ // Handle ignore hidden slices
1037
+ if (ignoreHiddenPoint) {
1038
+ series.isDirty = true;
1039
+ }
1040
+
1041
+ if (redraw) {
1042
+ chart.redraw();
1043
+ }
1044
+ }
1045
+ },
1046
+
1047
+ /**
1048
+ * Set or toggle whether the slice is cut out from the pie
1049
+ *
1050
+ * @private
1051
+ * @function Highcharts.seriesTypes.pie#pointClass#slice
1052
+ *
1053
+ * @param {boolean} sliced
1054
+ * When undefined, the slice state is toggled.
1055
+ *
1056
+ * @param {boolean} redraw
1057
+ * Whether to redraw the chart. True by default.
1058
+ */
1059
+ slice: function (sliced, redraw, animation) {
1060
+ var point = this,
1061
+ series = point.series,
1062
+ chart = series.chart;
1063
+
1064
+ setAnimation(animation, chart);
1065
+
1066
+ // redraw is true by default
1067
+ redraw = pick(redraw, true);
1068
+
1069
+ // if called without an argument, toggle
1070
+ point.sliced = point.options.sliced = sliced =
1071
+ defined(sliced) ? sliced : !point.sliced;
1072
+ // update userOptions.data
1073
+ series.options.data[series.data.indexOf(point)] = point.options;
1074
+
1075
+ point.graphic.animate(this.getTranslate());
1076
+
1077
+ if (point.shadowGroup) {
1078
+ point.shadowGroup.animate(this.getTranslate());
1079
+ }
1080
+ },
1081
+
1082
+ /**
1083
+ * @private
1084
+ * @function Highcharts.seriesTypes.pie#pointClass#getTranslate
1085
+ *
1086
+ * @return {*}
1087
+ */
1088
+ getTranslate: function () {
1089
+ return this.sliced ? this.slicedTranslation : {
1090
+ translateX: 0,
1091
+ translateY: 0
1092
+ };
1093
+ },
1094
+
1095
+ /**
1096
+ * @private
1097
+ * @function Highcharts.seriesTypes.pie#pointClass#haloPath
1098
+ *
1099
+ * @param {number} size
1100
+ *
1101
+ * @return {Highcharts.SVGPathArray}
1102
+ */
1103
+ haloPath: function (size) {
1104
+ var shapeArgs = this.shapeArgs;
1105
+
1106
+ return this.sliced || !this.visible ?
1107
+ [] :
1108
+ this.series.chart.renderer.symbols.arc(
1109
+ shapeArgs.x,
1110
+ shapeArgs.y,
1111
+ shapeArgs.r + size,
1112
+ shapeArgs.r + size, {
1113
+ // Substract 1px to ensure the background is not bleeding
1114
+ // through between the halo and the slice (#7495).
1115
+ innerR: this.shapeArgs.r - 1,
1116
+ start: shapeArgs.start,
1117
+ end: shapeArgs.end
1118
+ }
1119
+ );
1120
+ },
1121
+
1122
+ connectorShapes: {
1123
+ // only one available before v7.0.0
1124
+ fixedOffset: function (labelPosition, connectorPosition, options) {
1125
+ var breakAt = connectorPosition.breakAt,
1126
+ touchingSliceAt = connectorPosition.touchingSliceAt,
1127
+ linePath = options.softConnector ? [
1128
+ 'C', // soft break
1129
+ // 1st control point (of the curve)
1130
+ labelPosition.x +
1131
+ // 5 gives the connector a little horizontal bend
1132
+ (labelPosition.alignment === 'left' ? -5 : 5),
1133
+ labelPosition.y, //
1134
+ 2 * breakAt.x - touchingSliceAt.x, // 2nd control point
1135
+ 2 * breakAt.y - touchingSliceAt.y, //
1136
+ breakAt.x, // end of the curve
1137
+ breakAt.y //
1138
+ ] : [
1139
+ 'L', // pointy break
1140
+ breakAt.x,
1141
+ breakAt.y
1142
+ ];
1143
+
1144
+ // assemble the path
1145
+ return [
1146
+ 'M',
1147
+ labelPosition.x,
1148
+ labelPosition.y
1149
+ ].concat(linePath).concat([
1150
+ 'L',
1151
+ touchingSliceAt.x,
1152
+ touchingSliceAt.y
1153
+ ]);
1154
+ },
1155
+
1156
+ straight: function (labelPosition, connectorPosition) {
1157
+ var touchingSliceAt = connectorPosition.touchingSliceAt;
1158
+
1159
+ // direct line to the slice
1160
+ return [
1161
+ 'M',
1162
+ labelPosition.x,
1163
+ labelPosition.y,
1164
+ 'L',
1165
+ touchingSliceAt.x,
1166
+ touchingSliceAt.y
1167
+ ];
1168
+ },
1169
+
1170
+ crookedLine: function (labelPosition, connectorPosition,
1171
+ options) {
1172
+
1173
+ var touchingSliceAt = connectorPosition.touchingSliceAt,
1174
+ series = this.series,
1175
+ pieCenterX = series.center[0],
1176
+ plotWidth = series.chart.plotWidth,
1177
+ plotLeft = series.chart.plotLeft,
1178
+ alignment = labelPosition.alignment,
1179
+ radius = this.shapeArgs.r,
1180
+ crookDistance =
1181
+ H.relativeLength(options.crookDistance, 1), // % to fraction
1182
+ crookX = alignment === 'left' ?
1183
+ pieCenterX + radius + (plotWidth + plotLeft -
1184
+ pieCenterX - radius) * (1 - crookDistance) :
1185
+ plotLeft + (pieCenterX - radius) * crookDistance,
1186
+ segmentWithCrook = ['L',
1187
+ crookX,
1188
+ labelPosition.y];
1189
+
1190
+ // crookedLine formula doesn't make sense if the path overlaps
1191
+ // the label - use straight line instead in that case
1192
+ if (alignment === 'left' ?
1193
+ (crookX > labelPosition.x || crookX < touchingSliceAt.x) :
1194
+ (crookX < labelPosition.x || crookX > touchingSliceAt.x)) {
1195
+ segmentWithCrook = []; // remove the crook
1196
+ }
1197
+
1198
+ // assemble the path
1199
+ return [
1200
+ 'M',
1201
+ labelPosition.x,
1202
+ labelPosition.y
1203
+ ].concat(segmentWithCrook).concat(['L',
1204
+ touchingSliceAt.x,
1205
+ touchingSliceAt.y
1206
+ ]);
1207
+
1208
+ }
1209
+ },
1210
+
1211
+ /**
1212
+ * Extendable method for getting the path of the connector between the data
1213
+ * label and the pie slice.
1214
+ */
1215
+ getConnectorPath: function () {
1216
+ var labelPosition = this.labelPosition,
1217
+ options = this.series.options.dataLabels,
1218
+ connectorShape = options.connectorShape,
1219
+ predefinedShapes = this.connectorShapes;
1220
+
1221
+ // find out whether to use the predefined shape
1222
+ if (predefinedShapes[connectorShape]) {
1223
+ connectorShape = predefinedShapes[connectorShape];
1224
+ }
1225
+
1226
+ return connectorShape.call(this, {
1227
+ // pass simplified label position object for user's convenience
1228
+ x: labelPosition.final.x,
1229
+ y: labelPosition.final.y,
1230
+ alignment: labelPosition.alignment
1231
+ }, labelPosition.connectorPosition, options);
1232
+ }
1233
+ });
1234
+
1235
+ /**
1236
+ * A `pie` series. If the [type](#series.pie.type) option is not specified,
1237
+ * it is inherited from [chart.type](#chart.type).
1238
+ *
1239
+ * @extends series,plotOptions.pie
1240
+ * @excluding dataParser, dataURL, stack, xAxis, yAxis
1241
+ * @product highcharts
1242
+ * @apioption series.pie
1243
+ */
1244
+
1245
+ /**
1246
+ * An array of data points for the series. For the `pie` series type,
1247
+ * points can be given in the following ways:
1248
+ *
1249
+ * 1. An array of numerical values. In this case, the numerical values
1250
+ * will be interpreted as `y` options. Example:
1251
+ *
1252
+ * ```js
1253
+ * data: [0, 5, 3, 5]
1254
+ * ```
1255
+ *
1256
+ * 2. An array of objects with named values. The following snippet shows only a
1257
+ * few settings, see the complete options set below. If the total number of data
1258
+ * points exceeds the series' [turboThreshold](#series.pie.turboThreshold),
1259
+ * this option is not available.
1260
+ *
1261
+ * ```js
1262
+ * data: [{
1263
+ * y: 1,
1264
+ * name: "Point2",
1265
+ * color: "#00FF00"
1266
+ * }, {
1267
+ * y: 7,
1268
+ * name: "Point1",
1269
+ * color: "#FF00FF"
1270
+ * }]</pre>
1271
+ *
1272
+ * @sample {highcharts} highcharts/chart/reflow-true/
1273
+ * Numerical values
1274
+ * @sample {highcharts} highcharts/series/data-array-of-arrays/
1275
+ * Arrays of numeric x and y
1276
+ * @sample {highcharts} highcharts/series/data-array-of-arrays-datetime/
1277
+ * Arrays of datetime x and y
1278
+ * @sample {highcharts} highcharts/series/data-array-of-name-value/
1279
+ * Arrays of point.name and y
1280
+ * @sample {highcharts} highcharts/series/data-array-of-objects/
1281
+ * Config objects
1282
+ *
1283
+ * @type {Array<number|Array<string,number>|*>}
1284
+ * @extends series.line.data
1285
+ * @excluding marker, x
1286
+ * @product highcharts
1287
+ * @apioption series.pie.data
1288
+ */
1289
+
1290
+ /**
1291
+ * The sequential index of the data point in the legend.
1292
+ *
1293
+ * @type {number}
1294
+ * @product highcharts
1295
+ * @apioption series.pie.data.legendIndex
1296
+ */
1297
+
1298
+ /**
1299
+ * Fires when the legend item belonging to the pie point (slice) is
1300
+ * clicked. The `this` keyword refers to the point itself. One parameter,
1301
+ * `event`, is passed to the function, containing common event information. The
1302
+ * default action is to toggle the visibility of the point. This can be
1303
+ * prevented by calling `event.preventDefault()`.
1304
+ *
1305
+ * @sample {highcharts} highcharts/plotoptions/pie-point-events-legenditemclick/
1306
+ * Confirm toggle visibility
1307
+ *
1308
+ * @type {Function}
1309
+ * @since 1.2.0
1310
+ * @product highcharts
1311
+ * @apioption plotOptions.pie.point.events.legendItemClick
1312
+ */
1313
+
1314
+ /**
1315
+ * Whether to display a slice offset from the center.
1316
+ *
1317
+ * @sample {highcharts} highcharts/point/sliced/
1318
+ * One sliced point
1319
+ *
1320
+ * @type {boolean}
1321
+ * @product highcharts
1322
+ * @apioption series.pie.data.sliced
1323
+ */
1324
+
1325
+ /**
1326
+ * @excluding legendItemClick
1327
+ * @apioption series.pie.events
1328
+ */