highcharts 7.1.1 → 7.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (415) hide show
  1. package/bower.json +1 -1
  2. package/css/annotations/popup.css +3 -3
  3. package/css/annotations/popup.scss +1 -1
  4. package/css/stocktools/gui.css +5 -5
  5. package/css/stocktools/gui.scss +1 -1
  6. package/es-modules/annotations/ControlPoint.js +1 -1
  7. package/es-modules/annotations/MockPoint.js +45 -12
  8. package/es-modules/annotations/annotations.src.js +203 -166
  9. package/es-modules/annotations/controllable/ControllableCircle.js +2 -10
  10. package/es-modules/annotations/controllable/ControllableImage.js +2 -10
  11. package/es-modules/annotations/controllable/ControllableLabel.js +54 -9
  12. package/es-modules/annotations/controllable/ControllableRect.js +2 -10
  13. package/es-modules/annotations/controllable/controllableMixin.js +32 -4
  14. package/es-modules/annotations/controllable/markerMixin.js +1 -0
  15. package/es-modules/annotations/eventEmitterMixin.js +1 -0
  16. package/es-modules/annotations/navigationBindings.js +15 -11
  17. package/es-modules/annotations/popup.js +59 -81
  18. package/es-modules/annotations/types/CrookedLine.js +19 -7
  19. package/es-modules/annotations/types/ElliottWave.js +7 -6
  20. package/es-modules/annotations/types/Fibonacci.js +14 -14
  21. package/es-modules/annotations/types/InfinityLine.js +4 -4
  22. package/es-modules/annotations/types/Measure.js +41 -41
  23. package/es-modules/annotations/types/Pitchfork.js +5 -4
  24. package/es-modules/annotations/types/VerticalLine.js +6 -5
  25. package/es-modules/error-messages.js +6 -1
  26. package/es-modules/indicators/indicators.src.js +5 -3
  27. package/es-modules/mixins/nodes.js +16 -8
  28. package/es-modules/modules/accessibility/AccessibilityComponent.js +4 -4
  29. package/es-modules/modules/accessibility/KeyboardNavigation.js +17 -4
  30. package/es-modules/modules/accessibility/components/RangeSelectorComponent.js +3 -2
  31. package/es-modules/modules/accessibility/components/SeriesComponent.js +110 -2
  32. package/es-modules/modules/accessibility/components/ZoomComponent.js +1 -1
  33. package/es-modules/modules/accessibility/options.js +2 -1
  34. package/es-modules/modules/bellcurve.src.js +27 -29
  35. package/es-modules/modules/boost/boost-init.js +14 -0
  36. package/es-modules/modules/boost/boost-overrides.js +13 -3
  37. package/es-modules/modules/boost/wgl-renderer.js +30 -15
  38. package/es-modules/modules/boost/wgl-shader.js +33 -16
  39. package/es-modules/modules/boost/wgl-vbuffer.js +8 -4
  40. package/es-modules/modules/broken-axis.src.js +1 -1
  41. package/es-modules/modules/bullet.src.js +68 -68
  42. package/es-modules/modules/cylinder.src.js +3 -1
  43. package/es-modules/modules/data.src.js +9 -5
  44. package/es-modules/modules/draggable-points.src.js +1 -1
  45. package/es-modules/modules/drilldown.src.js +1 -1
  46. package/es-modules/modules/export-data.src.js +7 -8
  47. package/es-modules/modules/exporting.src.js +9 -1
  48. package/es-modules/modules/full-screen.src.js +1 -1
  49. package/es-modules/modules/funnel3d.src.js +10 -3
  50. package/es-modules/modules/histogram.src.js +162 -164
  51. package/es-modules/modules/item-series.src.js +10 -10
  52. package/es-modules/modules/networkgraph/layouts.js +16 -12
  53. package/es-modules/modules/networkgraph/networkgraph.src.js +147 -51
  54. package/es-modules/modules/offline-exporting.src.js +15 -2
  55. package/es-modules/modules/oldie-polyfills.src.js +1 -1
  56. package/es-modules/modules/organization.src.js +65 -20
  57. package/es-modules/modules/pareto.src.js +52 -51
  58. package/es-modules/modules/pattern-fill.src.js +1 -1
  59. package/es-modules/modules/price-indicator.src.js +1 -1
  60. package/es-modules/modules/pyramid3d.src.js +1 -1
  61. package/es-modules/modules/sankey.src.js +22 -10
  62. package/es-modules/modules/series-label.src.js +16 -8
  63. package/es-modules/modules/solid-gauge.src.js +128 -79
  64. package/es-modules/modules/static-scale.src.js +8 -1
  65. package/es-modules/modules/stock-tools-gui.js +1 -1
  66. package/es-modules/modules/streamgraph.src.js +11 -11
  67. package/es-modules/modules/sunburst.src.js +23 -2
  68. package/es-modules/modules/tilemap.src.js +58 -57
  69. package/es-modules/modules/timeline.src.js +17 -12
  70. package/es-modules/modules/treemap.src.js +6 -6
  71. package/es-modules/modules/variwide.src.js +39 -39
  72. package/es-modules/modules/vector.src.js +108 -107
  73. package/es-modules/modules/venn.src.js +4 -2
  74. package/es-modules/modules/windbarb.src.js +43 -43
  75. package/es-modules/modules/wordcloud.src.js +1 -0
  76. package/es-modules/modules/xrange.src.js +112 -104
  77. package/es-modules/parts/AreaSeries.js +4 -1
  78. package/es-modules/parts/Axis.js +809 -1870
  79. package/es-modules/parts/Chart.js +254 -743
  80. package/es-modules/parts/Color.js +160 -113
  81. package/es-modules/parts/ColumnSeries.js +9 -3
  82. package/es-modules/parts/DataLabels.js +31 -2
  83. package/es-modules/parts/Dynamics.js +73 -26
  84. package/es-modules/parts/FlagsSeries.js +6 -4
  85. package/es-modules/parts/Globals.js +20 -36
  86. package/es-modules/parts/Html.js +116 -235
  87. package/es-modules/parts/Interaction.js +17 -7
  88. package/es-modules/parts/Legend.js +277 -632
  89. package/es-modules/parts/MSPointer.js +62 -106
  90. package/es-modules/parts/Options.js +128 -367
  91. package/es-modules/parts/OrdinalAxis.js +12 -0
  92. package/es-modules/parts/PieSeries.js +61 -44
  93. package/es-modules/parts/PlotLineOrBand.js +38 -3
  94. package/es-modules/parts/Point.js +117 -227
  95. package/es-modules/parts/Pointer.js +273 -558
  96. package/es-modules/parts/RangeSelector.js +5 -3
  97. package/es-modules/parts/Responsive.js +8 -4
  98. package/es-modules/parts/ScrollablePlotArea.js +215 -81
  99. package/es-modules/parts/Scrollbar.js +38 -23
  100. package/es-modules/parts/Series.js +151 -47
  101. package/es-modules/parts/Stacking.js +8 -3
  102. package/es-modules/parts/StockChart.js +42 -29
  103. package/es-modules/parts/SvgRenderer.js +1080 -2100
  104. package/es-modules/parts/Tick.js +11 -4
  105. package/es-modules/parts/Time.js +179 -363
  106. package/es-modules/parts/Tooltip.js +23 -12
  107. package/es-modules/parts/TouchPointer.js +69 -187
  108. package/es-modules/parts/Utilities.js +593 -846
  109. package/es-modules/parts-3d/Axis.js +2 -2
  110. package/es-modules/parts-3d/Column.js +18 -8
  111. package/es-modules/parts-gantt/GanttSeries.js +17 -21
  112. package/es-modules/parts-gantt/GridAxis.js +183 -101
  113. package/es-modules/parts-gantt/PathfinderAlgorithms.js +2 -2
  114. package/es-modules/parts-gantt/TreeGrid.js +53 -36
  115. package/es-modules/parts-map/ColorAxis.js +35 -14
  116. package/es-modules/parts-map/MapBubbleSeries.js +2 -1
  117. package/es-modules/parts-map/MapSeries.js +29 -18
  118. package/es-modules/parts-more/AreaRangeSeries.js +13 -12
  119. package/es-modules/parts-more/ColumnRangeSeries.js +8 -2
  120. package/es-modules/parts-more/GaugeSeries.js +9 -9
  121. package/es-modules/parts-more/PackedBubbleSeries.js +152 -115
  122. package/es-modules/parts-more/RadialAxis.js +102 -8
  123. package/es-modules/parts-more/WaterfallSeries.js +148 -35
  124. package/highcharts-3d.js +68 -67
  125. package/highcharts-3d.js.map +1 -1
  126. package/highcharts-3d.src.js +21 -11
  127. package/highcharts-gantt.d.ts +5 -3
  128. package/highcharts-gantt.js +618 -610
  129. package/highcharts-gantt.js.map +1 -1
  130. package/highcharts-gantt.src.d.ts +5 -3
  131. package/highcharts-gantt.src.js +5185 -8892
  132. package/highcharts-more.js +144 -140
  133. package/highcharts-more.js.map +1 -1
  134. package/highcharts-more.src.js +449 -194
  135. package/highcharts.d.ts +3943 -5236
  136. package/highcharts.js +454 -449
  137. package/highcharts.js.map +1 -1
  138. package/highcharts.src.d.ts +3943 -5236
  139. package/highcharts.src.js +4767 -8601
  140. package/highmaps.d.ts +5 -3
  141. package/highmaps.js +498 -494
  142. package/highmaps.js.map +1 -1
  143. package/highmaps.src.d.ts +5 -3
  144. package/highmaps.src.js +4547 -8507
  145. package/highstock.d.ts +5 -3
  146. package/highstock.js +597 -590
  147. package/highstock.js.map +1 -1
  148. package/highstock.src.d.ts +5 -3
  149. package/highstock.src.js +4871 -8661
  150. package/indicators/acceleration-bands.js +1 -1
  151. package/indicators/acceleration-bands.src.js +1 -1
  152. package/indicators/accumulation-distribution.js +1 -1
  153. package/indicators/accumulation-distribution.src.js +1 -1
  154. package/indicators/ao.js +1 -1
  155. package/indicators/ao.src.js +1 -1
  156. package/indicators/apo.js +1 -1
  157. package/indicators/apo.src.js +1 -1
  158. package/indicators/aroon-oscillator.js +1 -1
  159. package/indicators/aroon-oscillator.src.js +1 -1
  160. package/indicators/aroon.js +1 -1
  161. package/indicators/aroon.src.js +1 -1
  162. package/indicators/atr.js +1 -1
  163. package/indicators/atr.src.js +1 -1
  164. package/indicators/bollinger-bands.js +1 -1
  165. package/indicators/bollinger-bands.src.js +1 -1
  166. package/indicators/cci.js +1 -1
  167. package/indicators/cci.src.js +1 -1
  168. package/indicators/chaikin.js +1 -1
  169. package/indicators/chaikin.src.js +1 -1
  170. package/indicators/cmf.js +1 -1
  171. package/indicators/cmf.src.js +1 -1
  172. package/indicators/dema.js +1 -1
  173. package/indicators/dema.src.js +1 -1
  174. package/indicators/dpo.js +1 -1
  175. package/indicators/dpo.src.js +1 -1
  176. package/indicators/ema.js +1 -1
  177. package/indicators/ema.src.js +1 -1
  178. package/indicators/ichimoku-kinko-hyo.js +1 -1
  179. package/indicators/ichimoku-kinko-hyo.src.js +1 -1
  180. package/indicators/indicators-all.js +105 -105
  181. package/indicators/indicators-all.js.map +1 -1
  182. package/indicators/indicators-all.src.js +6 -4
  183. package/indicators/indicators.js +9 -9
  184. package/indicators/indicators.js.map +1 -1
  185. package/indicators/indicators.src.js +6 -4
  186. package/indicators/keltner-channels.js +1 -1
  187. package/indicators/keltner-channels.src.js +1 -1
  188. package/indicators/macd.js +1 -1
  189. package/indicators/macd.src.js +1 -1
  190. package/indicators/mfi.js +1 -1
  191. package/indicators/mfi.src.js +1 -1
  192. package/indicators/momentum.js +1 -1
  193. package/indicators/momentum.src.js +1 -1
  194. package/indicators/natr.js +1 -1
  195. package/indicators/natr.src.js +1 -1
  196. package/indicators/pivot-points.js +1 -1
  197. package/indicators/pivot-points.src.js +1 -1
  198. package/indicators/ppo.js +1 -1
  199. package/indicators/ppo.src.js +1 -1
  200. package/indicators/price-channel.js +1 -1
  201. package/indicators/price-channel.src.js +1 -1
  202. package/indicators/price-envelopes.js +1 -1
  203. package/indicators/price-envelopes.src.js +1 -1
  204. package/indicators/psar.js +1 -1
  205. package/indicators/psar.src.js +1 -1
  206. package/indicators/regressions.js +1 -1
  207. package/indicators/regressions.src.js +1 -1
  208. package/indicators/roc.js +1 -1
  209. package/indicators/roc.src.js +1 -1
  210. package/indicators/rsi.js +1 -1
  211. package/indicators/rsi.src.js +1 -1
  212. package/indicators/stochastic.js +1 -1
  213. package/indicators/stochastic.src.js +1 -1
  214. package/indicators/supertrend.js +1 -1
  215. package/indicators/supertrend.src.js +1 -1
  216. package/indicators/tema.js +1 -1
  217. package/indicators/tema.src.js +1 -1
  218. package/indicators/trix.js +1 -1
  219. package/indicators/trix.src.js +1 -1
  220. package/indicators/volume-by-price.js +1 -1
  221. package/indicators/volume-by-price.src.js +1 -1
  222. package/indicators/vwap.js +1 -1
  223. package/indicators/vwap.src.js +1 -1
  224. package/indicators/williams-r.js +1 -1
  225. package/indicators/williams-r.src.js +1 -1
  226. package/indicators/wma.js +1 -1
  227. package/indicators/wma.src.js +1 -1
  228. package/indicators/zigzag.js +1 -1
  229. package/indicators/zigzag.src.js +1 -1
  230. package/modules/accessibility.js +92 -89
  231. package/modules/accessibility.js.map +1 -1
  232. package/modules/accessibility.src.js +138 -15
  233. package/modules/annotations-advanced.js +128 -127
  234. package/modules/annotations-advanced.js.map +1 -1
  235. package/modules/annotations-advanced.src.js +514 -396
  236. package/modules/annotations.d.ts +36 -0
  237. package/modules/annotations.js +81 -81
  238. package/modules/annotations.js.map +1 -1
  239. package/modules/annotations.src.d.ts +36 -0
  240. package/modules/annotations.src.js +418 -315
  241. package/modules/arrow-symbols.js +1 -1
  242. package/modules/arrow-symbols.src.js +1 -1
  243. package/modules/boost-canvas.js +1 -1
  244. package/modules/boost-canvas.src.js +1 -1
  245. package/modules/boost.js +63 -63
  246. package/modules/boost.js.map +1 -1
  247. package/modules/boost.src.js +99 -39
  248. package/modules/broken-axis.js +1 -1
  249. package/modules/broken-axis.src.js +2 -2
  250. package/modules/bullet.js +1 -1
  251. package/modules/bullet.src.js +69 -69
  252. package/modules/current-date-indicator.js +1 -1
  253. package/modules/current-date-indicator.src.js +1 -1
  254. package/modules/cylinder.js +1 -1
  255. package/modules/cylinder.js.map +1 -1
  256. package/modules/cylinder.src.js +4 -2
  257. package/modules/data.js +4 -4
  258. package/modules/data.js.map +1 -1
  259. package/modules/data.src.js +10 -6
  260. package/modules/datagrouping.js +1 -1
  261. package/modules/datagrouping.src.js +1 -1
  262. package/modules/debugger.js +4 -4
  263. package/modules/debugger.js.map +1 -1
  264. package/modules/debugger.src.js +7 -2
  265. package/modules/dependency-wheel.js +1 -1
  266. package/modules/dependency-wheel.src.js +1 -1
  267. package/modules/dotplot.js +1 -1
  268. package/modules/dotplot.src.js +1 -1
  269. package/modules/drag-panes.js +1 -1
  270. package/modules/drag-panes.src.js +1 -1
  271. package/modules/draggable-points.js +1 -1
  272. package/modules/draggable-points.src.js +2 -2
  273. package/modules/drilldown.js +1 -1
  274. package/modules/drilldown.src.js +2 -2
  275. package/modules/export-data.js +2 -2
  276. package/modules/export-data.js.map +1 -1
  277. package/modules/export-data.src.js +8 -9
  278. package/modules/exporting.js +25 -25
  279. package/modules/exporting.js.map +1 -1
  280. package/modules/exporting.src.js +11 -3
  281. package/modules/full-screen.js +1 -1
  282. package/modules/full-screen.src.js +2 -2
  283. package/modules/funnel.js +1 -1
  284. package/modules/funnel.src.js +1 -1
  285. package/modules/funnel3d.js +2 -2
  286. package/modules/funnel3d.js.map +1 -1
  287. package/modules/funnel3d.src.js +11 -4
  288. package/modules/gantt.js +166 -164
  289. package/modules/gantt.js.map +1 -1
  290. package/modules/gantt.src.js +422 -295
  291. package/modules/grid-axis.js +18 -16
  292. package/modules/grid-axis.js.map +1 -1
  293. package/modules/grid-axis.src.js +184 -102
  294. package/modules/heatmap.js +22 -22
  295. package/modules/heatmap.js.map +1 -1
  296. package/modules/heatmap.src.js +36 -15
  297. package/modules/histogram-bellcurve.js +1 -1
  298. package/modules/histogram-bellcurve.js.map +1 -1
  299. package/modules/histogram-bellcurve.src.js +186 -183
  300. package/modules/item-series.js +1 -1
  301. package/modules/item-series.src.js +11 -11
  302. package/modules/map-parser.js +1 -1
  303. package/modules/map-parser.src.js +1 -1
  304. package/modules/map.js +83 -83
  305. package/modules/map.js.map +1 -1
  306. package/modules/map.src.js +67 -34
  307. package/modules/networkgraph.js +10 -9
  308. package/modules/networkgraph.js.map +1 -1
  309. package/modules/networkgraph.src.js +180 -72
  310. package/modules/no-data-to-display.js +1 -1
  311. package/modules/no-data-to-display.src.js +1 -1
  312. package/modules/offline-exporting.js +15 -15
  313. package/modules/offline-exporting.js.map +1 -1
  314. package/modules/offline-exporting.src.js +17 -4
  315. package/modules/oldie-polyfills.js +1 -1
  316. package/modules/oldie-polyfills.src.js +2 -2
  317. package/modules/oldie.js +2 -2
  318. package/modules/oldie.src.js +2 -2
  319. package/modules/organization.js +1 -1
  320. package/modules/organization.js.map +1 -1
  321. package/modules/organization.src.js +66 -21
  322. package/modules/overlapping-datalabels.js +1 -1
  323. package/modules/overlapping-datalabels.src.js +1 -1
  324. package/modules/parallel-coordinates.js +1 -1
  325. package/modules/parallel-coordinates.src.js +1 -1
  326. package/modules/pareto.js +1 -1
  327. package/modules/pareto.js.map +1 -1
  328. package/modules/pareto.src.js +53 -52
  329. package/modules/pathfinder.js +3 -3
  330. package/modules/pathfinder.js.map +1 -1
  331. package/modules/pathfinder.src.js +3 -3
  332. package/modules/pattern-fill.js +1 -1
  333. package/modules/pattern-fill.src.js +2 -2
  334. package/modules/price-indicator.js +1 -1
  335. package/modules/price-indicator.src.js +2 -2
  336. package/modules/pyramid3d.js +1 -1
  337. package/modules/pyramid3d.src.js +2 -2
  338. package/modules/sankey.js +14 -14
  339. package/modules/sankey.js.map +1 -1
  340. package/modules/sankey.src.js +39 -19
  341. package/modules/series-label.js +16 -16
  342. package/modules/series-label.js.map +1 -1
  343. package/modules/series-label.src.js +17 -9
  344. package/modules/solid-gauge.js +5 -5
  345. package/modules/solid-gauge.js.map +1 -1
  346. package/modules/solid-gauge.src.js +129 -80
  347. package/modules/sonification.js +1 -1
  348. package/modules/sonification.src.js +1 -1
  349. package/modules/static-scale.js +4 -4
  350. package/modules/static-scale.js.map +1 -1
  351. package/modules/static-scale.src.js +9 -2
  352. package/modules/stock-tools.js +2 -2
  353. package/modules/stock-tools.src.js +3 -3
  354. package/modules/stock.js +146 -145
  355. package/modules/stock.js.map +1 -1
  356. package/modules/stock.src.js +105 -61
  357. package/modules/streamgraph.js +1 -1
  358. package/modules/streamgraph.src.js +12 -12
  359. package/modules/sunburst.js +40 -40
  360. package/modules/sunburst.js.map +1 -1
  361. package/modules/sunburst.src.js +30 -9
  362. package/modules/tilemap.js +1 -1
  363. package/modules/tilemap.js.map +1 -1
  364. package/modules/tilemap.src.js +59 -58
  365. package/modules/timeline.js +12 -11
  366. package/modules/timeline.js.map +1 -1
  367. package/modules/timeline.src.js +18 -13
  368. package/modules/treegrid.js +45 -43
  369. package/modules/treegrid.js.map +1 -1
  370. package/modules/treegrid.src.js +238 -139
  371. package/modules/treemap.js +1 -1
  372. package/modules/treemap.src.js +7 -7
  373. package/modules/variable-pie.js +1 -1
  374. package/modules/variable-pie.src.js +1 -1
  375. package/modules/variwide.js +1 -1
  376. package/modules/variwide.src.js +40 -40
  377. package/modules/vector.js +1 -1
  378. package/modules/vector.js.map +1 -1
  379. package/modules/vector.src.js +109 -108
  380. package/modules/venn.js +23 -23
  381. package/modules/venn.js.map +1 -1
  382. package/modules/venn.src.js +5 -3
  383. package/modules/windbarb.js +1 -1
  384. package/modules/windbarb.src.js +44 -44
  385. package/modules/wordcloud.js +10 -10
  386. package/modules/wordcloud.js.map +1 -1
  387. package/modules/wordcloud.src.js +2 -1
  388. package/modules/xrange.js +12 -12
  389. package/modules/xrange.js.map +1 -1
  390. package/modules/xrange.src.js +113 -105
  391. package/package.json +1 -1
  392. package/themes/avocado.js +21 -37
  393. package/themes/avocado.src.js +1 -1
  394. package/themes/dark-blue.js +1 -1
  395. package/themes/dark-blue.src.js +1 -1
  396. package/themes/dark-green.js +1 -1
  397. package/themes/dark-green.src.js +1 -1
  398. package/themes/dark-unica.js +1 -1
  399. package/themes/dark-unica.src.js +1 -1
  400. package/themes/gray.js +1 -1
  401. package/themes/gray.src.js +1 -1
  402. package/themes/grid-light.js +1 -1
  403. package/themes/grid-light.src.js +1 -1
  404. package/themes/grid.js +1 -1
  405. package/themes/grid.src.js +1 -1
  406. package/themes/sand-signika.js +1 -1
  407. package/themes/sand-signika.src.js +1 -1
  408. package/themes/skies.js +1 -1
  409. package/themes/skies.src.js +1 -1
  410. package/themes/sunset.js +21 -37
  411. package/themes/sunset.src.js +1 -1
  412. package/.DS_Store +0 -0
  413. package/es-modules/.DS_Store +0 -0
  414. package/es-modules/modules/annotations-legacy.src.js +0 -1977
  415. package/js/.DS_Store +0 -0
@@ -491,15 +491,11 @@ extend(ColorAxis.prototype, {
491
491
  this.coll = 'colorAxis';
492
492
 
493
493
  // Build the options
494
- options = merge(this.defaultColorAxisOptions, {
495
- side: horiz ? 2 : 1,
496
- reversed: !horiz
497
- }, userOptions, {
498
- opposite: !horiz,
499
- showEmpty: false,
500
- title: null,
501
- visible: chart.options.legend.enabled
502
- });
494
+ options = this.buildOptions.call(
495
+ chart,
496
+ this.defaultColorAxisOptions,
497
+ userOptions
498
+ );
503
499
 
504
500
  Axis.prototype.init.call(this, chart, options);
505
501
 
@@ -591,7 +587,29 @@ extend(ColorAxis.prototype, {
591
587
  stop.color = color(stop[1]);
592
588
  });
593
589
  },
590
+ /**
591
+ * Build options to keep layout params on init and update.
592
+ *
593
+ * @private
594
+ *
595
+ * @param {Object} options
596
+ * @param {Object} userOptions
597
+ *
598
+ */
599
+ buildOptions: function (options, userOptions) {
600
+ var legend = this.options.legend,
601
+ horiz = legend.layout !== 'vertical';
594
602
 
603
+ return merge(options, {
604
+ side: horiz ? 2 : 1,
605
+ reversed: !horiz
606
+ }, userOptions, {
607
+ opposite: !horiz,
608
+ showEmpty: false,
609
+ title: null,
610
+ visible: legend.enabled
611
+ });
612
+ },
595
613
  /**
596
614
  * Extend the setOptions method to process extreme colors and color
597
615
  * stops.
@@ -889,7 +907,9 @@ extend(ColorAxis.prototype, {
889
907
  }
890
908
  },
891
909
 
892
- getPlotLinePath: function (a, b, c, d, pos) {
910
+ getPlotLinePath: function (options) {
911
+ var pos = options.translatedValue;
912
+
893
913
  // crosshairs only
894
914
  return isNumber(pos) ? // pos can be 0 (#3969)
895
915
  (
@@ -909,12 +929,13 @@ extend(ColorAxis.prototype, {
909
929
  'Z'
910
930
  ]
911
931
  ) :
912
- Axis.prototype.getPlotLinePath.call(this, a, b, c, d);
932
+ Axis.prototype.getPlotLinePath.apply(this, arguments);
913
933
  },
914
934
 
915
935
  update: function (newOptions, redraw) {
916
936
  var chart = this.chart,
917
- legend = chart.legend;
937
+ legend = chart.legend,
938
+ updatedOptions = this.buildOptions.call(chart, {}, newOptions);
918
939
 
919
940
  this.series.forEach(function (series) {
920
941
  // Needed for Axis.update when choropleth colors change
@@ -934,9 +955,9 @@ extend(ColorAxis.prototype, {
934
955
 
935
956
  // Keep the options structure updated for export. Unlike xAxis and
936
957
  // yAxis, the colorAxis is not an array. (#3207)
937
- chart.options[this.coll] = merge(this.userOptions, newOptions);
958
+ chart.options[this.coll] = merge(this.userOptions, updatedOptions);
938
959
 
939
- Axis.prototype.update.call(this, newOptions, redraw);
960
+ Axis.prototype.update.call(this, updatedOptions, redraw);
940
961
  if (this.legendItem) {
941
962
  this.setLegendColor();
942
963
  legend.colorizeItem(this, true);
@@ -177,7 +177,8 @@ if (seriesTypes.bubble) {
177
177
  // Return the map area identified by the dataJoinBy option
178
178
  getMapData: seriesTypes.map.prototype.getMapData,
179
179
  getBox: seriesTypes.map.prototype.getBox,
180
- setData: seriesTypes.map.prototype.setData
180
+ setData: seriesTypes.map.prototype.setData,
181
+ setOptions: seriesTypes.map.prototype.setOptions
181
182
 
182
183
  // Point class
183
184
  }, {
@@ -349,6 +349,24 @@ seriesType(
349
349
  preserveAspectRatio: true,
350
350
  pointArrayMap: ['value'],
351
351
 
352
+ // Extend setOptions by picking up the joinBy option and applying it
353
+ // to a series property
354
+ setOptions: function (itemOptions) {
355
+ var options = Series.prototype.setOptions.call(this, itemOptions),
356
+ joinBy = options.joinBy,
357
+ joinByNull = joinBy === null;
358
+
359
+ if (joinByNull) {
360
+ joinBy = '_i';
361
+ }
362
+ joinBy = this.joinBy = splat(joinBy);
363
+ if (!joinBy[1]) {
364
+ joinBy[1] = joinBy[0];
365
+ }
366
+
367
+ return options;
368
+ },
369
+
352
370
  // Get the bounding box of all paths in the map combined.
353
371
  getBox: function (paths) {
354
372
  var MAX_VALUE = Number.MAX_VALUE,
@@ -522,8 +540,7 @@ seriesType(
522
540
  chartOptions = this.chart.options.chart,
523
541
  globalMapData = chartOptions && chartOptions.map,
524
542
  mapData = options.mapData,
525
- joinBy = options.joinBy,
526
- joinByNull = joinBy === null,
543
+ joinBy = this.joinBy,
527
544
  pointArrayMap = options.keys || this.pointArrayMap,
528
545
  dataUsed = [],
529
546
  mapMap = {},
@@ -539,14 +556,6 @@ seriesType(
539
556
  globalMapData;
540
557
  }
541
558
 
542
- if (joinByNull) {
543
- joinBy = '_i';
544
- }
545
- joinBy = this.joinBy = splat(joinBy);
546
- if (!joinBy[1]) {
547
- joinBy[1] = joinBy[0];
548
- }
549
-
550
559
  // Pick up numeric values, add index
551
560
  // Convert Array point definitions to objects using pointArrayMap
552
561
  if (data) {
@@ -583,7 +592,7 @@ seriesType(
583
592
  }
584
593
  }
585
594
  }
586
- if (joinByNull) {
595
+ if (joinBy && joinBy[0] === '_i') {
587
596
  data[i]._i = i;
588
597
  }
589
598
  });
@@ -812,17 +821,19 @@ seriesType(
812
821
  // Add class names
813
822
  series.points.forEach(function (point) {
814
823
  if (point.graphic) {
824
+ var className = '';
815
825
  if (point.name) {
816
- point.graphic.addClass(
826
+ className +=
817
827
  'highcharts-name-' +
818
- point.name.replace(/ /g, '-').toLowerCase()
819
- );
828
+ point.name.replace(/ /g, '-').toLowerCase();
820
829
  }
821
830
  if (point.properties && point.properties['hc-key']) {
822
- point.graphic.addClass(
823
- 'highcharts-key-' +
824
- point.properties['hc-key'].toLowerCase()
825
- );
831
+ className +=
832
+ ' highcharts-key-' +
833
+ point.properties['hc-key'].toLowerCase();
834
+ }
835
+ if (className) {
836
+ point.graphic.addClass(className);
826
837
  }
827
838
 
828
839
  // In styled mode, apply point colors by CSS
@@ -11,7 +11,7 @@
11
11
  * `x` and `y` options. Instead, they have `xLow`, `xHigh`, `yLow` and `yHigh`
12
12
  * options to allow the higher and lower data label sets individually.
13
13
  *
14
- * @interface Highcharts.PlotAreaRangeDataLabelsOptionsObject
14
+ * @interface Highcharts.SeriesAreaRangeDataLabelsOptionsObject
15
15
  * @extends Highcharts.DataLabelsOptionsObject
16
16
  * @since 2.3.0
17
17
  * @product highcharts highstock
@@ -23,7 +23,7 @@
23
23
  * @see {@link https://jsfiddle.net/gh/get/library/pure/highcharts/highcharts/tree/master/samples/highcharts/plotoptions/arearange-datalabels/|Highcharts-Demo:}
24
24
  * Data labels on range series
25
25
  *
26
- * @name Highcharts.PlotAreaRangeDataLabelsOptionsObject#xLow
26
+ * @name Highcharts.SeriesAreaRangeDataLabelsOptionsObject#xLow
27
27
  * @type {number|undefined}
28
28
  * @default 0
29
29
  * @since 2.3.0
@@ -34,7 +34,7 @@
34
34
  * @see {@link https://jsfiddle.net/gh/get/library/pure/highcharts/highcharts/tree/master/samples/highcharts/plotoptions/arearange-datalabels/|Highcharts-Demo:}
35
35
  * Data labels on range series
36
36
  *
37
- * @name Highcharts.PlotAreaRangeDataLabelsOptionsObject#xHigh
37
+ * @name Highcharts.SeriesAreaRangeDataLabelsOptionsObject#xHigh
38
38
  * @type {number|undefined}
39
39
  * @default 0
40
40
  * @since 2.3.0
@@ -45,7 +45,7 @@
45
45
  * @see {@link https://jsfiddle.net/gh/get/library/pure/highcharts/highcharts/tree/master/samples/highcharts/plotoptions/arearange-datalabels/|Highcharts-Demo:}
46
46
  * Data labels on range series
47
47
  *
48
- * @name Highcharts.PlotAreaRangeDataLabelsOptionsObject#yLow
48
+ * @name Highcharts.SeriesAreaRangeDataLabelsOptionsObject#yLow
49
49
  * @type {number|undefined}
50
50
  * @default 0
51
51
  * @since 2.3.0
@@ -56,7 +56,7 @@
56
56
  * @see {@link https://jsfiddle.net/gh/get/library/pure/highcharts/highcharts/tree/master/samples/highcharts/plotoptions/arearange-datalabels/|Highcharts-Demo:}
57
57
  * Data labels on range series
58
58
  *
59
- * @name Highcharts.PlotAreaRangeDataLabelsOptionsObject#yHigh
59
+ * @name Highcharts.SeriesAreaRangeDataLabelsOptionsObject#yHigh
60
60
  * @type {number|undefined}
61
61
  * @default 0
62
62
  * @since 2.3.0
@@ -136,7 +136,8 @@ seriesType('arearange', 'area', {
136
136
  trackByArea: true,
137
137
 
138
138
  /**
139
- * @type {Highcharts.DataLabelsOptionsObject|Highcharts.PlotAreaRangeDataLabelsOptionsObject}
139
+ * @type {Highcharts.SeriesAreaRangeDataLabelsOptionsObject|Array<Highcharts.SeriesAreaRangeDataLabelsOptionsObject>}
140
+ * @default {"xLow": 0, "xHigh": 0, "yLow": 0, "yHigh": 0}
140
141
  *
141
142
  * @private
142
143
  */
@@ -715,6 +716,12 @@ seriesType('arearange', 'area', {
715
716
  * @apioption series.arearange.data
716
717
  */
717
718
 
719
+ /**
720
+ * @type {Highcharts.SeriesAreaRangeDataLabelsOptionsObject|Array<Highcharts.SeriesAreaRangeDataLabelsOptionsObject>}
721
+ * @product highcharts highstock
722
+ * @apioption series.arearange.data.dataLabels
723
+ */
724
+
718
725
  /**
719
726
  * The high or maximum value for each data point.
720
727
  *
@@ -730,9 +737,3 @@ seriesType('arearange', 'area', {
730
737
  * @product highcharts highstock
731
738
  * @apioption series.arearange.data.low
732
739
  */
733
-
734
- /**
735
- * @excluding x, y
736
- * @product highcharts highstock
737
- * @apioption series.arearange.dataLabels
738
- */
@@ -40,9 +40,9 @@ var columnRangeOptions = {
40
40
  * `yLow` and `yHigh` options to allow the higher and lower data label
41
41
  * sets individually.
42
42
  *
43
- * @extends plotOptions.arearange.dataLabels
43
+ * @type {Highcharts.SeriesAreaRangeDataLabelsOptionsObject|Array<Highcharts.SeriesAreaRangeDataLabelsOptionsObject>}
44
+ * @default {"xLow": 0, "xHigh": 0, "yLow": 0, "yHigh": 0}
44
45
  * @since 2.3.0
45
- * @excluding x, y
46
46
  * @product highcharts highstock
47
47
  * @apioption plotOptions.columnrange.dataLabels
48
48
  */
@@ -265,6 +265,12 @@ seriesType('columnrange', 'arearange', merge(
265
265
  * @apioption series.columnrange.data
266
266
  */
267
267
 
268
+ /**
269
+ * @type {Highcharts.SeriesAreaRangeDataLabelsOptionsObject|Array<Highcharts.SeriesAreaRangeDataLabelsOptionsObject>}
270
+ * @product highcharts highstock
271
+ * @apioption series.columnrange.data.dataLabels
272
+ */
273
+
268
274
  /**
269
275
  * @excluding halo, lineWidth, lineWidthPlus, marker
270
276
  * @product highcharts highstock
@@ -414,16 +414,16 @@ seriesType('gauge', 'line', {
414
414
  })
415
415
  .addClass('highcharts-dial')
416
416
  .add(series.group);
417
+ }
417
418
 
418
- // Presentational attributes
419
- if (!chart.styledMode) {
420
- point.graphic.attr({
421
- stroke: dialOptions.borderColor || 'none',
422
- 'stroke-width': dialOptions.borderWidth || 0,
423
- fill: dialOptions.backgroundColor ||
424
- '#000000'
425
- });
426
- }
419
+ // Presentational attributes
420
+ if (!chart.styledMode) {
421
+ point.graphic[graphic ? 'animate' : 'attr']({
422
+ stroke: dialOptions.borderColor || 'none',
423
+ 'stroke-width': dialOptions.borderWidth || 0,
424
+ fill: dialOptions.backgroundColor ||
425
+ '#000000'
426
+ });
427
427
  }
428
428
  });
429
429