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
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Highcharts JS v7.1.1 (2019-04-09)
2
+ * @license Highcharts JS v7.1.2 (2019-06-04)
3
3
  *
4
4
  * Tree Grid
5
5
  *
@@ -53,9 +53,50 @@
53
53
  merge = H.merge,
54
54
  pick = H.pick,
55
55
  wrap = H.wrap,
56
+ Chart = H.Chart,
56
57
  Axis = H.Axis,
57
58
  Tick = H.Tick;
58
59
 
60
+ var applyGridOptions = function applyGridOptions(axis) {
61
+ var options = axis.options,
62
+ gridOptions = options && isObject(options.grid) ? options.grid : {},
63
+ // TODO: Consider using cell margins defined in % of font size?
64
+ // 25 is optimal height for default fontSize (11px)
65
+ // 25 / 11 ≈ 2.28
66
+ fontSizeToCellHeightRatio = 25 / 11,
67
+ fontSize = options.labels.style.fontSize,
68
+ fontMetrics = axis.chart.renderer.fontMetrics(fontSize);
69
+
70
+ // Center-align by default
71
+ if (!options.labels) {
72
+ options.labels = {};
73
+ }
74
+ options.labels.align = pick(options.labels.align, 'center');
75
+
76
+ // @todo: Check against tickLabelPlacement between/on etc
77
+
78
+ /* Prevents adding the last tick label if the axis is not a category
79
+ axis.
80
+ Since numeric labels are normally placed at starts and ends of a
81
+ range of value, and this module makes the label point at the value,
82
+ an "extra" label would appear. */
83
+ if (!axis.categories) {
84
+ options.showLastLabel = false;
85
+ }
86
+
87
+ // Make tick marks taller, creating cell walls of a grid. Use cellHeight
88
+ // axis option if set
89
+ if (axis.horiz) {
90
+ options.tickLength = gridOptions.cellHeight ||
91
+ fontMetrics.h * fontSizeToCellHeightRatio;
92
+ }
93
+
94
+ // Prevents rotation of labels when squished, as rotating them would not
95
+ // help.
96
+ axis.labelRotation = 0;
97
+ options.labels.rotation = 0;
98
+ };
99
+
59
100
  /**
60
101
  * Set grid options for the axis labels. Requires Highcharts Gantt.
61
102
  *
@@ -172,6 +213,13 @@
172
213
  }
173
214
  }
174
215
  });
216
+
217
+ if (isOuter && isNumber(axis.columnIndex)) {
218
+ var columns = axis.linkedParent && axis.linkedParent.columns ||
219
+ axis.columns;
220
+ isOuter = columns.length === axis.columnIndex;
221
+ }
222
+
175
223
  // There were either no other axes on the same side,
176
224
  // or the other axes were not farther from the chart
177
225
  return isOuter;
@@ -209,6 +257,9 @@
209
257
 
210
258
  // Find width and height of tick
211
259
  tickHeight = label.getBBox ? label.getBBox().height : 0;
260
+ if (label.textStr && !isNumber(label.textPxLength)) {
261
+ label.textPxLength = label.getBBox().width;
262
+ }
212
263
  tickWidth = isNumber(label.textPxLength) ? label.textPxLength : 0;
213
264
 
214
265
  // Update the result if width and/or height are larger
@@ -724,8 +775,6 @@
724
775
  min = linkedMin || axis.min,
725
776
  max = linkedMax || axis.max,
726
777
  tickInterval = axis.tickInterval,
727
- moreThanMin = firstPos > min,
728
- lessThanMax = lastPos < max,
729
778
  endMoreThanMin = firstPos < min && firstPos + tickInterval > min,
730
779
  startLessThanMax = lastPos > max && lastPos - tickInterval < max;
731
780
 
@@ -734,11 +783,11 @@
734
783
  !categoryAxis &&
735
784
  (axis.horiz || axis.isLinked)
736
785
  ) {
737
- if ((moreThanMin || endMoreThanMin) && !options.startOnTick) {
786
+ if (endMoreThanMin && !options.startOnTick) {
738
787
  tickPositions[0] = min;
739
788
  }
740
789
 
741
- if ((lessThanMax || startLessThanMax) && !options.endOnTick) {
790
+ if (startLessThanMax && !options.endOnTick) {
742
791
  tickPositions[tickPositions.length - 1] = max;
743
792
  }
744
793
  }
@@ -870,122 +919,155 @@
870
919
  }
871
920
  }
872
921
 
922
+ (axis.columns || []).forEach(function (column) {
923
+ column.render();
924
+ });
873
925
  }
874
926
  }
875
927
  );
876
928
 
877
- // Wraps axis init to draw cell walls on vertical axes.
878
- addEvent(Axis, 'init', function (e) {
929
+ // Handle columns and getOffset
930
+ var onGridAxisAfterGetOffset = function onGridAxisAfterGetOffset() {
931
+ (this.columns || []).forEach(function (column) {
932
+ column.getOffset();
933
+ });
934
+ };
935
+
936
+ var onGridAxisAfterInit = function onGridAxisAfterInit() {
879
937
  var axis = this,
880
938
  chart = axis.chart,
881
- userOptions = e.userOptions,
882
- gridOptions = (
883
- (userOptions && isObject(userOptions.grid)) ?
884
- userOptions.grid :
885
- {}
886
- ),
887
- columnOptions,
888
- column,
889
- columnIndex,
890
- i;
891
-
892
- function applyGridOptions() {
893
- var options = axis.options,
894
- // TODO: Consider using cell margins defined in % of font size?
895
- // 25 is optimal height for default fontSize (11px)
896
- // 25 / 11 ≈ 2.28
897
- fontSizeToCellHeightRatio = 25 / 11,
898
- fontSize = options.labels.style.fontSize,
899
- fontMetrics = axis.chart.renderer.fontMetrics(fontSize);
900
-
901
- // Center-align by default
902
- if (!options.labels) {
903
- options.labels = {};
904
- }
905
- options.labels.align = pick(options.labels.align, 'center');
906
-
907
- // @todo: Check against tickLabelPlacement between/on etc
939
+ userOptions = axis.userOptions,
940
+ options = axis.options,
941
+ gridOptions = options && isObject(options.grid) ? options.grid : {};
908
942
 
909
- /* Prevents adding the last tick label if the axis is not a category
910
- axis.
911
- Since numeric labels are normally placed at starts and ends of a
912
- range of value, and this module makes the label point at the value,
913
- an "extra" label would appear. */
914
- if (!axis.categories) {
915
- options.showLastLabel = false;
916
- }
943
+ if (gridOptions.enabled) {
944
+ applyGridOptions(axis);
945
+
946
+ // TODO: wrap the axis instead
947
+ wrap(axis, 'labelFormatter', function (proceed) {
948
+ var axis = this.axis,
949
+ tickPos = axis.tickPositions,
950
+ value = this.value,
951
+ series = (axis.isLinked ? axis.linkedParent : axis)
952
+ .series[0],
953
+ isFirst = value === tickPos[0],
954
+ isLast = value === tickPos[tickPos.length - 1],
955
+ point = series && H.find(series.options.data, function (p) {
956
+ return p[axis.isXAxis ? 'x' : 'y'] === value;
957
+ });
917
958
 
918
- // Make tick marks taller, creating cell walls of a grid. Use cellHeight
919
- // axis option if set
920
- if (axis.horiz) {
921
- options.tickLength = gridOptions.cellHeight ||
922
- fontMetrics.h * fontSizeToCellHeightRatio;
923
- }
959
+ // Make additional properties available for the
960
+ // formatter
961
+ this.isFirst = isFirst;
962
+ this.isLast = isLast;
963
+ this.point = point;
924
964
 
925
- // Prevents rotation of labels when squished, as rotating them would not
926
- // help.
927
- axis.labelRotation = 0;
928
- options.labels.rotation = 0;
965
+ // Call original labelFormatter
966
+ return proceed.call(this);
967
+ });
929
968
  }
930
969
 
931
- if (gridOptions.enabled) {
932
- if (defined(gridOptions.borderColor)) {
933
- userOptions.tickColor =
934
- userOptions.lineColor = gridOptions.borderColor;
935
- }
970
+ if (gridOptions.columns) {
971
+ var columns = axis.columns = [],
972
+ columnIndex = axis.columnIndex = 0;
936
973
 
937
974
  // Handle columns, each column is a grid axis
938
- if (isArray(gridOptions.columns)) {
939
- columnIndex = 0;
940
- i = gridOptions.columns.length;
941
- while (i--) {
942
- columnOptions = merge(
943
- userOptions,
944
- gridOptions.columns[i],
945
- {
946
- // Force to behave like category axis
947
- type: 'category'
948
- }
949
- );
950
-
951
- delete columnOptions.grid.columns; // Prevent recursion
952
-
953
- column = new Axis(axis.chart, columnOptions);
954
- column.isColumn = true;
955
- column.columnIndex = columnIndex;
956
-
957
- wrap(column, 'labelFormatter', function (proceed) {
958
- var axis = this.axis,
959
- tickPos = axis.tickPositions,
960
- value = this.value,
961
- series = axis.series[0],
962
- isFirst = value === tickPos[0],
963
- isLast = value === tickPos[tickPos.length - 1],
964
- point = H.find(series.options.data, function (p) {
965
- return p[axis.isXAxis ? 'x' : 'y'] === value;
966
- });
975
+ while (++columnIndex < gridOptions.columns.length) {
976
+ var columnOptions = merge(
977
+ userOptions,
978
+ gridOptions.columns[
979
+ gridOptions.columns.length - columnIndex - 1
980
+ ],
981
+ {
982
+ linkedTo: 0,
983
+ // Force to behave like category axis
984
+ type: 'category'
985
+ }
986
+ );
967
987
 
968
- // Make additional properties available for the formatter
969
- this.isFirst = isFirst;
970
- this.isLast = isLast;
971
- this.point = point;
988
+ delete columnOptions.grid.columns; // Prevent recursion
972
989
 
973
- // Call original labelFormatter
974
- return proceed.call(this);
975
- });
990
+ var column = new Axis(axis.chart, columnOptions, true);
991
+ column.isColumn = true;
992
+ column.columnIndex = columnIndex;
976
993
 
977
- columnIndex++;
978
- }
979
- // This axis should not be shown, instead the column axes take over
980
- addEvent(this, 'afterInit', function () {
981
- H.erase(chart.axes, this);
982
- H.erase(chart[axis.coll], this);
983
- });
984
- } else {
985
- addEvent(this, 'afterInit', applyGridOptions);
994
+ // Remove column axis from chart axes array, and place it
995
+ // in the columns array.
996
+ H.erase(chart.axes, column);
997
+ H.erase(chart[axis.coll], column);
998
+ columns.push(column);
986
999
  }
987
1000
  }
1001
+ };
1002
+
1003
+ var onGridAxisAfterSetChartSize = function onGridAxisAfterSetChartSize() {
1004
+ this.axes.forEach(function (axis) {
1005
+ (axis.columns || []).forEach(function (column) {
1006
+ column.setAxisSize();
1007
+ column.setAxisTranslation();
1008
+ });
1009
+ });
1010
+ };
1011
+
1012
+ // Handle columns and setScale
1013
+ var onGridAxisAfterSetScale = function onGridAxisAfterSetScale() {
1014
+ (this.columns || []).forEach(function (column) {
1015
+ column.setScale();
1016
+ });
1017
+ };
1018
+
1019
+ var onGridAxisDestroy = function onGridAxisDestroy(e) {
1020
+ (this.columns || []).forEach(function (column) {
1021
+ column.destroy(e.keepEvents);
1022
+ });
1023
+ };
1024
+
1025
+ // Wraps axis init to draw cell walls on vertical axes.
1026
+ var onGridAxisInit = function onGridAxisInit(e) {
1027
+ var userOptions = e.userOptions,
1028
+ gridOptions = (
1029
+ (userOptions && isObject(userOptions.grid)) ?
1030
+ userOptions.grid :
1031
+ {}
1032
+ );
1033
+
1034
+ if (gridOptions.enabled && defined(gridOptions.borderColor)) {
1035
+ userOptions.tickColor = userOptions.lineColor = gridOptions.borderColor;
1036
+ }
1037
+ };
1038
+
1039
+ var onGridAxisAfterSetOptions = function onGridAxisAfterSetOptions(e) {
1040
+ var axis = this,
1041
+ userOptions = e.userOptions,
1042
+ gridOptions = (
1043
+ (userOptions && isObject(userOptions.grid)) ?
1044
+ userOptions.grid :
1045
+ {}
1046
+ ),
1047
+ columns = gridOptions.columns;
1048
+
1049
+ // Add column options to the parent axis.
1050
+ // Children has their column options set on init in onGridAxisAfterInit.
1051
+ if (gridOptions.enabled && columns) {
1052
+ merge(true, axis.options, columns[columns.length - 1]);
1053
+ }
1054
+ };
1055
+
1056
+
1057
+ var axisEvents = {
1058
+ afterGetOffset: onGridAxisAfterGetOffset,
1059
+ afterInit: onGridAxisAfterInit,
1060
+ afterSetOptions: onGridAxisAfterSetOptions,
1061
+ afterSetScale: onGridAxisAfterSetScale,
1062
+ destroy: onGridAxisDestroy,
1063
+ init: onGridAxisInit
1064
+ };
1065
+
1066
+ // Add event handlers
1067
+ Object.keys(axisEvents).forEach(function (event) {
1068
+ addEvent(Axis, event, axisEvents[event]);
988
1069
  });
1070
+ addEvent(Chart, 'afterSetChartSize', onGridAxisAfterSetChartSize);
989
1071
 
990
1072
  });
991
1073
  _registerModule(_modules, 'parts-gantt/Tree.js', [_modules['parts/Globals.js']], function (H) {
@@ -1405,7 +1487,7 @@
1405
1487
  return result;
1406
1488
  });
1407
1489
  _registerModule(_modules, 'modules/broken-axis.src.js', [_modules['parts/Globals.js']], function (H) {
1408
- /**
1490
+ /* *
1409
1491
  * (c) 2009-2019 Torstein Honsi
1410
1492
  *
1411
1493
  * License: www.highcharts.com/license
@@ -2423,6 +2505,19 @@
2423
2505
  removeFoundExtremesEvent,
2424
2506
  uniqueNames = options.uniqueNames,
2425
2507
  numberOfSeries = 0,
2508
+ isDirty,
2509
+ data,
2510
+ treeGrid;
2511
+ // Check whether any of series is rendering for the first time,
2512
+ // visibility has changed, or its data is dirty,
2513
+ // and only then update. #10570, #10580
2514
+ isDirty = axis.series.some(function (series) {
2515
+ return !series.hasRendered ||
2516
+ series.isDirtyData ||
2517
+ series.isDirty;
2518
+ });
2519
+
2520
+ if (isDirty) {
2426
2521
  // Concatenate data from all series assigned to this axis.
2427
2522
  data = axis.series.reduce(function (arr, s) {
2428
2523
  if (s.visible) {
@@ -2442,7 +2537,7 @@
2442
2537
  }
2443
2538
  }
2444
2539
  return arr;
2445
- }, []),
2540
+ }, []);
2446
2541
  // setScale is fired after all the series is initialized,
2447
2542
  // which is an ideal time to update the axis.categories.
2448
2543
  treeGrid = getTreeGridFromData(
@@ -2451,48 +2546,52 @@
2451
2546
  (uniqueNames === true) ? numberOfSeries : 1
2452
2547
  );
2453
2548
 
2454
- // Assign values to the axis.
2455
- axis.categories = treeGrid.categories;
2456
- axis.mapOfPosToGridNode = treeGrid.mapOfPosToGridNode;
2457
- axis.hasNames = true;
2458
- axis.tree = treeGrid.tree;
2459
-
2460
- // Update yData now that we have calculated the y values
2461
- axis.series.forEach(function (series) {
2462
- var data = series.options.data.map(function (d) {
2463
- return isObject(d) ? merge(d) : d;
2464
- });
2465
-
2466
- // Avoid destroying points when series is not visible
2467
- if (series.visible) {
2468
- series.setData(data, false);
2469
- }
2470
- });
2549
+ // Assign values to the axis.
2550
+ axis.categories = treeGrid.categories;
2551
+ axis.mapOfPosToGridNode = treeGrid.mapOfPosToGridNode;
2552
+ axis.hasNames = true;
2553
+ axis.tree = treeGrid.tree;
2471
2554
 
2472
- // Calculate the label options for each level in the tree.
2473
- axis.mapOptionsToLevel = getLevelOptions({
2474
- defaults: labelOptions,
2475
- from: 1,
2476
- levels: labelOptions.levels,
2477
- to: axis.tree.height
2478
- });
2555
+ // Update yData now that we have calculated the y values
2556
+ axis.series.forEach(function (series) {
2557
+ var data = series.options.data.map(function (d) {
2558
+ return isObject(d) ? merge(d) : d;
2559
+ });
2479
2560
 
2480
- // Collapse all the nodes belonging to a point where collapsed
2481
- // equals true.
2482
- // Can be called from beforeRender, if getBreakFromNode removes
2483
- // its dependency on axis.max.
2484
- removeFoundExtremesEvent =
2485
- H.addEvent(axis, 'foundExtremes', function () {
2486
- treeGrid.collapsedNodes.forEach(function (node) {
2487
- var breaks = collapse(axis, node);
2561
+ // Avoid destroying points when series is not visible
2562
+ if (series.visible) {
2563
+ series.setData(data, false);
2564
+ }
2565
+ });
2488
2566
 
2489
- axis.setBreaks(breaks, false);
2490
- });
2491
- removeFoundExtremesEvent();
2567
+ // Calculate the label options for each level in the tree.
2568
+ axis.mapOptionsToLevel = getLevelOptions({
2569
+ defaults: labelOptions,
2570
+ from: 1,
2571
+ levels: labelOptions.levels,
2572
+ to: axis.tree.height
2492
2573
  });
2574
+
2575
+ // Collapse all the nodes belonging to a point where collapsed
2576
+ // equals true. Only do this on init.
2577
+ // Can be called from beforeRender, if getBreakFromNode removes
2578
+ // its dependency on axis.max.
2579
+ if (e.type === 'beforeRender') {
2580
+ removeFoundExtremesEvent =
2581
+ H.addEvent(axis, 'foundExtremes', function () {
2582
+ treeGrid.collapsedNodes.forEach(function (node) {
2583
+ var breaks = collapse(axis, node);
2584
+
2585
+ axis.setBreaks(breaks, false);
2586
+ });
2587
+ removeFoundExtremesEvent();
2588
+ });
2589
+ }
2590
+ }
2493
2591
  });
2494
2592
  };
2495
2593
 
2594
+
2496
2595
  override(GridAxis.prototype, {
2497
2596
  init: function (proceed, chart, userOptions) {
2498
2597
  var axis = this,
@@ -1,5 +1,5 @@
1
1
  /*
2
- Highcharts JS v7.1.1 (2019-04-09)
2
+ Highcharts JS v7.1.2 (2019-06-03)
3
3
 
4
4
  (c) 2014-2019 Highsoft AS
5
5
  Authors: Jon Arild Nygard / Oystein Moseng
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Highcharts JS v7.1.1 (2019-04-09)
2
+ * @license Highcharts JS v7.1.2 (2019-06-04)
3
3
  *
4
4
  * (c) 2014-2019 Highsoft AS
5
5
  * Authors: Jon Arild Nygard / Oystein Moseng
@@ -2071,12 +2071,12 @@
2071
2071
  },
2072
2072
 
2073
2073
  /**
2074
- * Workaround for `inactive` state. Since `series.opacity` option is
2075
- * already reserved, don't use that state at all by disabling
2076
- * `inactiveOtherPoints` and not inheriting states by points.
2077
- *
2078
- * @private
2079
- */
2074
+ * Workaround for `inactive` state. Since `series.opacity` option is
2075
+ * already reserved, don't use that state at all by disabling
2076
+ * `inactiveOtherPoints` and not inheriting states by points.
2077
+ *
2078
+ * @private
2079
+ */
2080
2080
  setState: function (state) {
2081
2081
  this.options.inactiveOtherPoints = true;
2082
2082
  Series.prototype.setState.call(this, state, false);
@@ -1,5 +1,5 @@
1
1
  /*
2
- Highcharts JS v7.1.1 (2019-04-09)
2
+ Highcharts JS v7.1.2 (2019-06-03)
3
3
 
4
4
  Variable Pie module for Highcharts
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Highcharts JS v7.1.1 (2019-04-09)
2
+ * @license Highcharts JS v7.1.2 (2019-06-04)
3
3
  *
4
4
  * Variable Pie module for Highcharts
5
5
  *
@@ -1,5 +1,5 @@
1
1
  /*
2
- Highcharts JS v7.1.1 (2019-04-09)
2
+ Highcharts JS v7.1.2 (2019-06-03)
3
3
 
4
4
  Highcharts variwide module
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Highcharts JS v7.1.1 (2019-04-09)
2
+ * @license Highcharts JS v7.1.2 (2019-06-04)
3
3
  *
4
4
  * Highcharts variwide module
5
5
  *
@@ -54,33 +54,33 @@
54
54
  seriesType('variwide', 'column'
55
55
 
56
56
  /**
57
- * A variwide chart (related to marimekko chart) is a column chart with a
58
- * variable width expressing a third dimension.
59
- *
60
- * @sample {highcharts} highcharts/demo/variwide/
61
- * Variwide chart
62
- * @sample {highcharts} highcharts/series-variwide/inverted/
63
- * Inverted variwide chart
64
- * @sample {highcharts} highcharts/series-variwide/datetime/
65
- * Variwide columns on a datetime axis
66
- *
67
- * @extends plotOptions.column
68
- * @since 6.0.0
69
- * @product highcharts
70
- * @excluding boostThreshold, crisp, depth, edgeColor, edgeWidth,
71
- * groupZPadding
72
- * @optionparent plotOptions.variwide
73
- */
74
- , {
75
- /**
76
- * In a variwide chart, the point padding is 0 in order to express the
77
- * horizontal stacking of items.
57
+ * A variwide chart (related to marimekko chart) is a column chart with a
58
+ * variable width expressing a third dimension.
59
+ *
60
+ * @sample {highcharts} highcharts/demo/variwide/
61
+ * Variwide chart
62
+ * @sample {highcharts} highcharts/series-variwide/inverted/
63
+ * Inverted variwide chart
64
+ * @sample {highcharts} highcharts/series-variwide/datetime/
65
+ * Variwide columns on a datetime axis
66
+ *
67
+ * @extends plotOptions.column
68
+ * @since 6.0.0
69
+ * @product highcharts
70
+ * @excluding boostThreshold, crisp, depth, edgeColor, edgeWidth,
71
+ * groupZPadding
72
+ * @optionparent plotOptions.variwide
78
73
  */
74
+ , {
75
+ /**
76
+ * In a variwide chart, the point padding is 0 in order to express the
77
+ * horizontal stacking of items.
78
+ */
79
79
  pointPadding: 0,
80
80
  /**
81
- * In a variwide chart, the group padding is 0 in order to express the
82
- * horizontal stacking of items.
83
- */
81
+ * In a variwide chart, the group padding is 0 in order to express the
82
+ * horizontal stacking of items.
83
+ */
84
84
  groupPadding: 0
85
85
  }, {
86
86
  pointArrayMap: ['y', 'z'],
@@ -107,21 +107,21 @@
107
107
  },
108
108
 
109
109
  /**
110
- * Translate an x value inside a given category index into the distorted
111
- * axis translation.
112
- *
113
- * @private
114
- * @function Highcharts.Series#postTranslate
115
- *
116
- * @param {number} index
117
- * The category index
118
- *
119
- * @param {number} x
120
- * The X pixel position in undistorted axis pixels
121
- *
122
- * @return {number}
123
- * Distorted X position
124
- */
110
+ * Translate an x value inside a given category index into the distorted
111
+ * axis translation.
112
+ *
113
+ * @private
114
+ * @function Highcharts.Series#postTranslate
115
+ *
116
+ * @param {number} index
117
+ * The category index
118
+ *
119
+ * @param {number} x
120
+ * The X pixel position in undistorted axis pixels
121
+ *
122
+ * @return {number}
123
+ * Distorted X position
124
+ */
125
125
  postTranslate: function (index, x, point) {
126
126
 
127
127
  var axis = this.xAxis,
package/modules/vector.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /*
2
- Highcharts JS v7.1.1 (2019-04-09)
2
+ Highcharts JS v7.1.2 (2019-06-03)
3
3
 
4
4
  Vector plot series module
5
5