@amcharts/amcharts5 5.5.7 → 5.6.0

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 (275) hide show
  1. package/.internal/charts/hierarchy/Hierarchy.d.ts.map +1 -1
  2. package/.internal/charts/hierarchy/Hierarchy.js +3 -1
  3. package/.internal/charts/hierarchy/Hierarchy.js.map +1 -1
  4. package/.internal/charts/hierarchy/Treemap.d.ts.map +1 -1
  5. package/.internal/charts/hierarchy/Treemap.js +4 -1
  6. package/.internal/charts/hierarchy/Treemap.js.map +1 -1
  7. package/.internal/charts/stock/indicators/ChartIndicator.d.ts.map +1 -1
  8. package/.internal/charts/stock/indicators/ChartIndicator.js +2 -0
  9. package/.internal/charts/stock/indicators/ChartIndicator.js.map +1 -1
  10. package/.internal/charts/stock/toolbar/Dropdown.d.ts +1 -1
  11. package/.internal/charts/stock/toolbar/Dropdown.js +1 -1
  12. package/.internal/charts/stock/toolbar/Dropdown.js.map +1 -1
  13. package/.internal/charts/stock/toolbar/DropdownList.d.ts +1 -1
  14. package/.internal/charts/stock/toolbar/DropdownList.js +1 -1
  15. package/.internal/charts/stock/toolbar/DropdownList.js.map +1 -1
  16. package/.internal/charts/stock/toolbar/StockControl.d.ts +1 -1
  17. package/.internal/charts/stock/toolbar/StockControl.js +1 -1
  18. package/.internal/charts/stock/toolbar/StockControl.js.map +1 -1
  19. package/.internal/charts/stock/toolbar/StockToolbar.d.ts +3 -1
  20. package/.internal/charts/stock/toolbar/StockToolbar.d.ts.map +1 -1
  21. package/.internal/charts/stock/toolbar/StockToolbar.js +3 -1
  22. package/.internal/charts/stock/toolbar/StockToolbar.js.map +1 -1
  23. package/.internal/charts/xy/XYChartDefaultTheme.d.ts.map +1 -1
  24. package/.internal/charts/xy/XYChartDefaultTheme.js +12 -0
  25. package/.internal/charts/xy/XYChartDefaultTheme.js.map +1 -1
  26. package/.internal/charts/xy/axes/Axis.d.ts +5 -1
  27. package/.internal/charts/xy/axes/Axis.d.ts.map +1 -1
  28. package/.internal/charts/xy/axes/Axis.js +79 -5
  29. package/.internal/charts/xy/axes/Axis.js.map +1 -1
  30. package/.internal/charts/xy/axes/AxisRenderer.d.ts +17 -0
  31. package/.internal/charts/xy/axes/AxisRenderer.d.ts.map +1 -1
  32. package/.internal/charts/xy/axes/AxisRenderer.js.map +1 -1
  33. package/.internal/charts/xy/axes/CategoryAxis.d.ts.map +1 -1
  34. package/.internal/charts/xy/axes/CategoryAxis.js +22 -2
  35. package/.internal/charts/xy/axes/CategoryAxis.js.map +1 -1
  36. package/.internal/charts/xy/axes/DateAxis.d.ts +10 -0
  37. package/.internal/charts/xy/axes/DateAxis.d.ts.map +1 -1
  38. package/.internal/charts/xy/axes/DateAxis.js +100 -1
  39. package/.internal/charts/xy/axes/DateAxis.js.map +1 -1
  40. package/.internal/charts/xy/axes/GaplessDateAxis.d.ts +7 -0
  41. package/.internal/charts/xy/axes/GaplessDateAxis.d.ts.map +1 -1
  42. package/.internal/charts/xy/axes/GaplessDateAxis.js +215 -48
  43. package/.internal/charts/xy/axes/GaplessDateAxis.js.map +1 -1
  44. package/.internal/charts/xy/axes/ValueAxis.d.ts +4 -0
  45. package/.internal/charts/xy/axes/ValueAxis.d.ts.map +1 -1
  46. package/.internal/charts/xy/axes/ValueAxis.js +68 -8
  47. package/.internal/charts/xy/axes/ValueAxis.js.map +1 -1
  48. package/.internal/charts/xy/series/XYSeries.d.ts +3 -0
  49. package/.internal/charts/xy/series/XYSeries.d.ts.map +1 -1
  50. package/.internal/charts/xy/series/XYSeries.js +116 -25
  51. package/.internal/charts/xy/series/XYSeries.js.map +1 -1
  52. package/.internal/core/Registry.js +1 -1
  53. package/.internal/core/Registry.js.map +1 -1
  54. package/.internal/core/Root.d.ts +7 -0
  55. package/.internal/core/Root.d.ts.map +1 -1
  56. package/.internal/core/Root.js +5 -4
  57. package/.internal/core/Root.js.map +1 -1
  58. package/.internal/core/render/Bullet.d.ts +24 -0
  59. package/.internal/core/render/Bullet.d.ts.map +1 -1
  60. package/.internal/core/render/Bullet.js.map +1 -1
  61. package/.internal/core/render/Polygon.d.ts.map +1 -1
  62. package/.internal/core/render/Polygon.js +4 -0
  63. package/.internal/core/render/Polygon.js.map +1 -1
  64. package/.internal/core/render/Series.d.ts +16 -0
  65. package/.internal/core/render/Series.d.ts.map +1 -1
  66. package/.internal/core/render/Series.js +52 -27
  67. package/.internal/core/render/Series.js.map +1 -1
  68. package/.internal/core/render/backend/CanvasRenderer.js +17 -17
  69. package/.internal/core/render/backend/CanvasRenderer.js.map +1 -1
  70. package/.internal/core/util/Time.d.ts.map +1 -1
  71. package/.internal/core/util/Time.js +14 -11
  72. package/.internal/core/util/Time.js.map +1 -1
  73. package/.internal/plugins/json/Json.d.ts.map +1 -1
  74. package/.internal/plugins/json/Json.js +1 -1
  75. package/.internal/plugins/json/Json.js.map +1 -1
  76. package/.internal/themes/ResponsiveTheme.d.ts +6 -1
  77. package/.internal/themes/ResponsiveTheme.d.ts.map +1 -1
  78. package/.internal/themes/ResponsiveTheme.js +50 -24
  79. package/.internal/themes/ResponsiveTheme.js.map +1 -1
  80. package/CHANGELOG.md +22 -1
  81. package/examples/javascript/flow-arc-horizontal/package.json +1 -1
  82. package/examples/javascript/flow-arc-vertical/package.json +1 -1
  83. package/examples/javascript/flow-chord/package.json +1 -1
  84. package/examples/javascript/flow-chord-directed/package.json +1 -1
  85. package/examples/javascript/flow-chord-non-ribbon/package.json +1 -1
  86. package/examples/javascript/flow-sankey/package.json +1 -1
  87. package/examples/javascript/gauge/package.json +1 -1
  88. package/examples/javascript/gauge-bands/package.json +1 -1
  89. package/examples/javascript/hierarchy-force-directed/package.json +1 -1
  90. package/examples/javascript/hierarchy-pack/package.json +1 -1
  91. package/examples/javascript/hierarchy-partition/package.json +1 -1
  92. package/examples/javascript/hierarchy-sunburst/package.json +1 -1
  93. package/examples/javascript/hierarchy-tree/package.json +1 -1
  94. package/examples/javascript/hierarchy-treemap/package.json +1 -1
  95. package/examples/javascript/hierarchy-voronoi-treemap/package.json +1 -1
  96. package/examples/javascript/jest/package.json +1 -1
  97. package/examples/javascript/json-pie/package.json +1 -1
  98. package/examples/javascript/json-xy/index.js +3 -2
  99. package/examples/javascript/json-xy/package.json +1 -1
  100. package/examples/javascript/map-animating-along-lines/package.json +1 -1
  101. package/examples/javascript/map-clustered-points/package.json +1 -1
  102. package/examples/javascript/map-day-and-night/package.json +1 -1
  103. package/examples/javascript/map-globe-rotate-to-country/package.json +1 -1
  104. package/examples/javascript/map-globe-with-projected-circles/package.json +1 -1
  105. package/examples/javascript/map-with-bubbles/package.json +1 -1
  106. package/examples/javascript/map-zoom-to-country/package.json +1 -1
  107. package/examples/javascript/misc-40-charts/package.json +1 -1
  108. package/examples/javascript/misc-microchart-grid/package.json +1 -1
  109. package/examples/javascript/pie-chart/package.json +1 -1
  110. package/examples/javascript/pie-donut-chart/package.json +1 -1
  111. package/examples/javascript/pie-variable-radius/package.json +1 -1
  112. package/examples/javascript/radar-column-iwatch-style/package.json +1 -1
  113. package/examples/javascript/radar-heat-map/package.json +1 -1
  114. package/examples/javascript/radar-line/package.json +1 -1
  115. package/examples/javascript/radar-time-line/index.js +2 -1
  116. package/examples/javascript/radar-time-line/package.json +1 -1
  117. package/examples/javascript/sliced-funnel/package.json +1 -1
  118. package/examples/javascript/sliced-pictorial-stacked/package.json +1 -1
  119. package/examples/javascript/sliced-pyramid/package.json +1 -1
  120. package/examples/javascript/stock-chart/index.js +3 -1
  121. package/examples/javascript/stock-chart/package.json +1 -1
  122. package/examples/javascript/stock-chart-comparing-stocks/index.js +3 -1
  123. package/examples/javascript/stock-chart-comparing-stocks/package.json +1 -1
  124. package/examples/javascript/stock-chart-data-granularity/index.js +3 -1
  125. package/examples/javascript/stock-chart-data-granularity/package.json +1 -1
  126. package/examples/javascript/stock-chart-data-grouping/index.js +6 -2
  127. package/examples/javascript/stock-chart-data-grouping/package.json +1 -1
  128. package/examples/javascript/stock-chart-intraday/index.js +3 -1
  129. package/examples/javascript/stock-chart-intraday/package.json +1 -1
  130. package/examples/javascript/stock-chart-live/index.js +3 -1
  131. package/examples/javascript/stock-chart-live/package.json +1 -1
  132. package/examples/javascript/stock-chart-volume-separate-panel/index.js +6 -2
  133. package/examples/javascript/stock-chart-volume-separate-panel/package.json +1 -1
  134. package/examples/javascript/venn-diagram/package.json +1 -1
  135. package/examples/javascript/wordcloud-with-data/package.json +1 -1
  136. package/examples/javascript/wordcloud-with-text/package.json +1 -1
  137. package/examples/javascript/xy-100-percent-stacked-column/package.json +1 -1
  138. package/examples/javascript/xy-animated-bullet-at-the-end-of-the-series/index.js +3 -1
  139. package/examples/javascript/xy-animated-bullet-at-the-end-of-the-series/package.json +1 -1
  140. package/examples/javascript/xy-bubble/package.json +1 -1
  141. package/examples/javascript/xy-candlestick/index.js +1 -0
  142. package/examples/javascript/xy-candlestick/package.json +1 -1
  143. package/examples/javascript/xy-clustered-column/package.json +1 -1
  144. package/examples/javascript/xy-column/index.js +3 -1
  145. package/examples/javascript/xy-column/package.json +1 -1
  146. package/examples/javascript/xy-comparing-series-google-analytics-style/index.js +3 -1
  147. package/examples/javascript/xy-comparing-series-google-analytics-style/package.json +1 -1
  148. package/examples/javascript/xy-data-grouping/index.js +1 -0
  149. package/examples/javascript/xy-data-grouping/package.json +1 -1
  150. package/examples/javascript/xy-draggable-range/index.js +3 -1
  151. package/examples/javascript/xy-draggable-range/package.json +1 -1
  152. package/examples/javascript/xy-drawing-series-with-mouse-or-touch/index.js +3 -1
  153. package/examples/javascript/xy-drawing-series-with-mouse-or-touch/package.json +1 -1
  154. package/examples/javascript/xy-dumbbell plot/index.js +2 -1
  155. package/examples/javascript/xy-dumbbell plot/package.json +1 -1
  156. package/examples/javascript/xy-evenly-spaced-date-axis/index.js +4 -5
  157. package/examples/javascript/xy-evenly-spaced-date-axis/package.json +1 -1
  158. package/examples/javascript/xy-line/index.js +1 -0
  159. package/examples/javascript/xy-line/package.json +1 -1
  160. package/examples/javascript/xy-line-highlight-on-legend-hover/index.js +3 -1
  161. package/examples/javascript/xy-line-highlight-on-legend-hover/package.json +1 -1
  162. package/examples/javascript/xy-live-data/package.json +1 -1
  163. package/examples/javascript/xy-multiple-synced-value-axes/index.js +4 -2
  164. package/examples/javascript/xy-multiple-synced-value-axes/package.json +1 -1
  165. package/examples/javascript/xy-ohlc/index.js +3 -1
  166. package/examples/javascript/xy-ohlc/package.json +1 -1
  167. package/examples/javascript/xy-real-time-data-sorting/package.json +1 -1
  168. package/examples/javascript/xy-smoothed-line/index.js +3 -1
  169. package/examples/javascript/xy-smoothed-line/package.json +1 -1
  170. package/examples/javascript/xy-stacked-and-clustered-column/package.json +1 -1
  171. package/examples/javascript/xy-stacked-column/package.json +1 -1
  172. package/examples/javascript/xy-stacked-step/index.js +7 -2
  173. package/examples/javascript/xy-stacked-step/package.json +1 -1
  174. package/examples/javascript/xy-stock/index.js +4 -1
  175. package/examples/javascript/xy-stock/package.json +1 -1
  176. package/examples/javascript/xy-stock-comparing/index.js +3 -1
  177. package/examples/javascript/xy-stock-comparing/package.json +1 -1
  178. package/examples/typescript/flow-arc-horizontal/package.json +1 -1
  179. package/examples/typescript/flow-arc-vertical/package.json +1 -1
  180. package/examples/typescript/flow-chord/package.json +1 -1
  181. package/examples/typescript/flow-chord-directed/package.json +1 -1
  182. package/examples/typescript/flow-chord-non-ribbon/package.json +1 -1
  183. package/examples/typescript/flow-sankey/package.json +1 -1
  184. package/examples/typescript/gauge/package.json +1 -1
  185. package/examples/typescript/gauge-bands/package.json +1 -1
  186. package/examples/typescript/hierarchy-force-directed/package.json +1 -1
  187. package/examples/typescript/hierarchy-pack/package.json +1 -1
  188. package/examples/typescript/hierarchy-partition/package.json +1 -1
  189. package/examples/typescript/hierarchy-sunburst/package.json +1 -1
  190. package/examples/typescript/hierarchy-tree/package.json +1 -1
  191. package/examples/typescript/hierarchy-treemap/package.json +1 -1
  192. package/examples/typescript/hierarchy-voronoi-treemap/package.json +1 -1
  193. package/examples/typescript/jest/package.json +1 -1
  194. package/examples/typescript/json-pie/package.json +1 -1
  195. package/examples/typescript/json-xy/index.ts +3 -2
  196. package/examples/typescript/json-xy/package.json +1 -1
  197. package/examples/typescript/map-animating-along-lines/package.json +1 -1
  198. package/examples/typescript/map-clustered-points/package.json +1 -1
  199. package/examples/typescript/map-day-and-night/package.json +1 -1
  200. package/examples/typescript/map-globe-rotate-to-country/package.json +1 -1
  201. package/examples/typescript/map-globe-with-projected-circles/package.json +1 -1
  202. package/examples/typescript/map-with-bubbles/package.json +1 -1
  203. package/examples/typescript/map-zoom-to-country/package.json +1 -1
  204. package/examples/typescript/misc-40-charts/package.json +1 -1
  205. package/examples/typescript/misc-microchart-grid/package.json +1 -1
  206. package/examples/typescript/pie-chart/package.json +1 -1
  207. package/examples/typescript/pie-donut-chart/package.json +1 -1
  208. package/examples/typescript/pie-variable-radius/package.json +1 -1
  209. package/examples/typescript/radar-column-iwatch-style/package.json +1 -1
  210. package/examples/typescript/radar-heat-map/package.json +1 -1
  211. package/examples/typescript/radar-line/package.json +1 -1
  212. package/examples/typescript/radar-time-line/index.ts +2 -1
  213. package/examples/typescript/radar-time-line/package.json +1 -1
  214. package/examples/typescript/sliced-funnel/package.json +1 -1
  215. package/examples/typescript/sliced-pictorial-stacked/package.json +1 -1
  216. package/examples/typescript/sliced-pyramid/package.json +1 -1
  217. package/examples/typescript/stock-chart/index.ts +3 -1
  218. package/examples/typescript/stock-chart/package.json +1 -1
  219. package/examples/typescript/stock-chart-comparing-stocks/index.ts +3 -1
  220. package/examples/typescript/stock-chart-comparing-stocks/package.json +1 -1
  221. package/examples/typescript/stock-chart-data-granularity/index.ts +3 -1
  222. package/examples/typescript/stock-chart-data-granularity/package.json +1 -1
  223. package/examples/typescript/stock-chart-data-grouping/index.ts +6 -2
  224. package/examples/typescript/stock-chart-data-grouping/package.json +1 -1
  225. package/examples/typescript/stock-chart-intraday/index.ts +3 -1
  226. package/examples/typescript/stock-chart-intraday/package.json +1 -1
  227. package/examples/typescript/stock-chart-live/index.ts +3 -1
  228. package/examples/typescript/stock-chart-live/package.json +1 -1
  229. package/examples/typescript/stock-chart-volume-separate-panel/index.ts +6 -2
  230. package/examples/typescript/stock-chart-volume-separate-panel/package.json +1 -1
  231. package/examples/typescript/venn-diagram/package.json +1 -1
  232. package/examples/typescript/wordcloud-with-data/package.json +1 -1
  233. package/examples/typescript/wordcloud-with-text/package.json +1 -1
  234. package/examples/typescript/xy-100-percent-stacked-column/package.json +1 -1
  235. package/examples/typescript/xy-animated-bullet-at-the-end-of-the-series/index.ts +3 -1
  236. package/examples/typescript/xy-animated-bullet-at-the-end-of-the-series/package.json +1 -1
  237. package/examples/typescript/xy-bubble/package.json +1 -1
  238. package/examples/typescript/xy-candlestick/index.ts +1 -0
  239. package/examples/typescript/xy-candlestick/package.json +1 -1
  240. package/examples/typescript/xy-clustered-column/package.json +1 -1
  241. package/examples/typescript/xy-column/index.ts +3 -1
  242. package/examples/typescript/xy-column/package.json +1 -1
  243. package/examples/typescript/xy-comparing-series-google-analytics-style/index.ts +3 -1
  244. package/examples/typescript/xy-comparing-series-google-analytics-style/package.json +1 -1
  245. package/examples/typescript/xy-data-grouping/index.ts +1 -0
  246. package/examples/typescript/xy-data-grouping/package.json +1 -1
  247. package/examples/typescript/xy-draggable-range/index.ts +3 -1
  248. package/examples/typescript/xy-draggable-range/package.json +1 -1
  249. package/examples/typescript/xy-drawing-series-with-mouse-or-touch/index.ts +3 -1
  250. package/examples/typescript/xy-drawing-series-with-mouse-or-touch/package.json +1 -1
  251. package/examples/typescript/xy-dumbbell plot/index.ts +2 -1
  252. package/examples/typescript/xy-dumbbell plot/package.json +1 -1
  253. package/examples/typescript/xy-evenly-spaced-date-axis/index.ts +4 -5
  254. package/examples/typescript/xy-evenly-spaced-date-axis/package.json +1 -1
  255. package/examples/typescript/xy-line/index.ts +1 -0
  256. package/examples/typescript/xy-line/package.json +1 -1
  257. package/examples/typescript/xy-line-highlight-on-legend-hover/index.ts +3 -1
  258. package/examples/typescript/xy-line-highlight-on-legend-hover/package.json +1 -1
  259. package/examples/typescript/xy-live-data/package.json +1 -1
  260. package/examples/typescript/xy-multiple-synced-value-axes/index.ts +4 -2
  261. package/examples/typescript/xy-multiple-synced-value-axes/package.json +1 -1
  262. package/examples/typescript/xy-ohlc/index.ts +3 -1
  263. package/examples/typescript/xy-ohlc/package.json +1 -1
  264. package/examples/typescript/xy-real-time-data-sorting/package.json +1 -1
  265. package/examples/typescript/xy-smoothed-line/index.ts +3 -1
  266. package/examples/typescript/xy-smoothed-line/package.json +1 -1
  267. package/examples/typescript/xy-stacked-and-clustered-column/package.json +1 -1
  268. package/examples/typescript/xy-stacked-column/package.json +1 -1
  269. package/examples/typescript/xy-stacked-step/index.ts +7 -2
  270. package/examples/typescript/xy-stacked-step/package.json +1 -1
  271. package/examples/typescript/xy-stock/index.ts +4 -1
  272. package/examples/typescript/xy-stock/package.json +1 -1
  273. package/examples/typescript/xy-stock-comparing/index.ts +3 -1
  274. package/examples/typescript/xy-stock-comparing/package.json +1 -1
  275. package/package.json +1 -1
@@ -140,6 +140,12 @@ export class XYSeries extends Series {
140
140
  writable: true,
141
141
  value: 0
142
142
  });
143
+ Object.defineProperty(this, "_bullets", {
144
+ enumerable: true,
145
+ configurable: true,
146
+ writable: true,
147
+ value: {}
148
+ });
143
149
  /**
144
150
  * A [[Container]] that us used to put series' elements in.
145
151
  *
@@ -438,6 +444,7 @@ export class XYSeries extends Series {
438
444
  }
439
445
  _dispose() {
440
446
  super._dispose();
447
+ this._bullets = {};
441
448
  const chart = this.chart;
442
449
  if (chart) {
443
450
  chart.series.removeValue(this);
@@ -559,6 +566,7 @@ export class XYSeries extends Series {
559
566
  }
560
567
  _prepareChildren() {
561
568
  super._prepareChildren();
569
+ this._bullets = {};
562
570
  if (this.isDirty("valueYShow") || this.isDirty("valueXShow") || this.isDirty("openValueYShow") || this.isDirty("openValueXShow") || this.isDirty("lowValueYShow") || this.isDirty("lowValueXShow") || this.isDirty("highValueYShow") || this.isDirty("highValueXShow")) {
563
571
  this._updateFields();
564
572
  this._makeFieldNames();
@@ -990,30 +998,115 @@ export class XYSeries extends Series {
990
998
  let locationY = bullet.get("locationY", dataItem.get("locationY", 0.5));
991
999
  let xAxis = this.get("xAxis");
992
1000
  let yAxis = this.get("yAxis");
993
- const positionX = xAxis.getDataItemPositionX(dataItem, this._xField, locationX, this.get("vcx", 1));
994
- const positionY = yAxis.getDataItemPositionY(dataItem, this._yField, locationY, this.get("vcy", 1));
1001
+ let positionX = xAxis.getDataItemPositionX(dataItem, this._xField, locationX, this.get("vcx", 1));
1002
+ let positionY = yAxis.getDataItemPositionY(dataItem, this._yField, locationY, this.get("vcy", 1));
995
1003
  let point = this.getPoint(positionX, positionY);
996
1004
  let left = dataItem.get("left", point.x);
997
1005
  let right = dataItem.get("right", point.x);
998
1006
  let top = dataItem.get("top", point.y);
999
1007
  let bottom = dataItem.get("bottom", point.y);
1008
+ let x = 0;
1009
+ let y = 0;
1010
+ let w = right - left;
1011
+ let h = bottom - top;
1000
1012
  if (this._shouldShowBullet(positionX, positionY)) {
1001
- if (!bullet.getPrivate("hidden")) {
1002
- sprite.setPrivate("visible", true);
1013
+ sprite.setPrivate("visible", !bullet.getPrivate("hidden"));
1014
+ let field = bullet.get("field");
1015
+ const baseAxis = this.get("baseAxis");
1016
+ const xAxis = this.get("xAxis");
1017
+ const yAxis = this.get("yAxis");
1018
+ if (field != undefined) {
1019
+ let realField;
1020
+ if (baseAxis == xAxis) {
1021
+ if (field == "value") {
1022
+ realField = this._yField;
1023
+ }
1024
+ else if (field == "open") {
1025
+ realField = this._yOpenField;
1026
+ }
1027
+ else if (field == "high") {
1028
+ realField = this._yHighField;
1029
+ }
1030
+ else if (field == "low") {
1031
+ realField = this._yLowField;
1032
+ }
1033
+ if (realField) {
1034
+ positionY = yAxis.getDataItemPositionY(dataItem, realField, 0, this.get("vcy", 1));
1035
+ point = yAxis.get("renderer").positionToPoint(positionY);
1036
+ y = point.y;
1037
+ x = left + w * locationX;
1038
+ }
1039
+ }
1040
+ else {
1041
+ if (field == "value") {
1042
+ realField = this._xField;
1043
+ }
1044
+ else if (field == "open") {
1045
+ realField = this._xOpenField;
1046
+ }
1047
+ else if (field == "high") {
1048
+ realField = this._xHighField;
1049
+ }
1050
+ else if (field == "low") {
1051
+ realField = this._xLowField;
1052
+ }
1053
+ if (realField) {
1054
+ positionX = xAxis.getDataItemPositionX(dataItem, realField, 0, this.get("vcx", 1));
1055
+ point = xAxis.get("renderer").positionToPoint(positionX);
1056
+ x = point.x;
1057
+ y = bottom - h * locationY;
1058
+ }
1059
+ }
1003
1060
  }
1004
1061
  else {
1005
- sprite.setPrivate("visible", false);
1062
+ x = left + w * locationX;
1063
+ y = bottom - h * locationY;
1064
+ }
1065
+ const stacked = bullet.get("stacked");
1066
+ if (stacked) {
1067
+ const chart = this.chart;
1068
+ if (baseAxis == xAxis) {
1069
+ let previousBullet = this._bullets[positionX + "_" + positionY];
1070
+ let d = -1;
1071
+ if (stacked == "down") {
1072
+ d = 1;
1073
+ }
1074
+ else if (stacked == "auto") {
1075
+ if (chart) {
1076
+ if (y < chart.plotContainer.height() / 2) {
1077
+ d = 1;
1078
+ }
1079
+ }
1080
+ }
1081
+ if (previousBullet) {
1082
+ y = previousBullet.y() + previousBullet.height() * d;
1083
+ }
1084
+ this._bullets[positionX + "_" + positionY] = sprite;
1085
+ }
1086
+ else {
1087
+ let previousBullet = this._bullets[positionX + "_" + positionY];
1088
+ let d = -1;
1089
+ if (stacked == "down") {
1090
+ d = 1;
1091
+ }
1092
+ else if (stacked == "auto") {
1093
+ if (chart) {
1094
+ if (x < chart.plotContainer.width() / 2) {
1095
+ d = 1;
1096
+ }
1097
+ }
1098
+ }
1099
+ if (previousBullet) {
1100
+ x = previousBullet.x() + previousBullet.width() * d;
1101
+ }
1102
+ this._bullets[positionX + "_" + positionY] = sprite;
1103
+ }
1006
1104
  }
1007
- let w = right - left;
1008
- let h = bottom - top;
1009
1105
  if (sprite.isType("Label")) {
1010
1106
  sprite.setPrivate("maxWidth", Math.abs(w));
1011
1107
  sprite.setPrivate("maxHeight", Math.abs(h));
1012
1108
  }
1013
- let x = left + w * locationX;
1014
- let y = bottom - h * locationY;
1015
- sprite.set("x", x);
1016
- sprite.set("y", y);
1109
+ sprite.setAll({ x, y });
1017
1110
  }
1018
1111
  else {
1019
1112
  sprite.setPrivate("visible", false);
@@ -1053,21 +1146,19 @@ export class XYSeries extends Series {
1053
1146
  this._dataItems = this.mainDataItems;
1054
1147
  }
1055
1148
  _handleDataSetChange() {
1056
- if (this.bullets.length > 0) {
1057
- $array.each(this._dataItems, (dataItem) => {
1058
- let bullets = dataItem.bullets;
1059
- if (bullets) {
1060
- $array.each(bullets, (bullet) => {
1061
- if (bullet) {
1062
- let sprite = bullet.get("sprite");
1063
- if (sprite) {
1064
- sprite.setPrivate("visible", false);
1065
- }
1149
+ $array.each(this._dataItems, (dataItem) => {
1150
+ let bullets = dataItem.bullets;
1151
+ if (bullets) {
1152
+ $array.each(bullets, (bullet) => {
1153
+ if (bullet) {
1154
+ let sprite = bullet.get("sprite");
1155
+ if (sprite) {
1156
+ sprite.setPrivate("visible", false);
1066
1157
  }
1067
- });
1068
- }
1069
- });
1070
- }
1158
+ }
1159
+ });
1160
+ }
1161
+ });
1071
1162
  this._selectionProcessed = false; // for totals to be calculated
1072
1163
  }
1073
1164
  /**