@amcharts/amcharts5 5.8.7 → 5.9.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 (318) hide show
  1. package/.internal/charts/hierarchy/Treemap.d.ts.map +1 -1
  2. package/.internal/charts/hierarchy/Treemap.js +5 -3
  3. package/.internal/charts/hierarchy/Treemap.js.map +1 -1
  4. package/.internal/charts/map/ClusteredPointSeries.d.ts +5 -1
  5. package/.internal/charts/map/ClusteredPointSeries.d.ts.map +1 -1
  6. package/.internal/charts/map/ClusteredPointSeries.js +3 -0
  7. package/.internal/charts/map/ClusteredPointSeries.js.map +1 -1
  8. package/.internal/charts/map/MapPointSeries.d.ts.map +1 -1
  9. package/.internal/charts/map/MapPointSeries.js.map +1 -1
  10. package/.internal/charts/map/MapPolygonSeries.d.ts +10 -1
  11. package/.internal/charts/map/MapPolygonSeries.d.ts.map +1 -1
  12. package/.internal/charts/map/MapPolygonSeries.js +51 -0
  13. package/.internal/charts/map/MapPolygonSeries.js.map +1 -1
  14. package/.internal/charts/stock/PanelControls.js.map +1 -1
  15. package/.internal/charts/stock/SettingsModal.d.ts +7 -0
  16. package/.internal/charts/stock/SettingsModal.d.ts.map +1 -1
  17. package/.internal/charts/stock/SettingsModal.js +42 -2
  18. package/.internal/charts/stock/SettingsModal.js.map +1 -1
  19. package/.internal/charts/stock/StockChart.d.ts +92 -7
  20. package/.internal/charts/stock/StockChart.d.ts.map +1 -1
  21. package/.internal/charts/stock/StockChart.js +136 -15
  22. package/.internal/charts/stock/StockChart.js.map +1 -1
  23. package/.internal/charts/stock/StockChartDefaultTheme.d.ts.map +1 -1
  24. package/.internal/charts/stock/StockChartDefaultTheme.js +29 -41
  25. package/.internal/charts/stock/StockChartDefaultTheme.js.map +1 -1
  26. package/.internal/charts/stock/StockLegend.js.map +1 -1
  27. package/.internal/charts/stock/StockPanel.d.ts +1 -1
  28. package/.internal/charts/stock/StockPanel.d.ts.map +1 -1
  29. package/.internal/charts/stock/StockPanel.js.map +1 -1
  30. package/.internal/charts/stock/drawing/AverageSeries.d.ts.map +1 -1
  31. package/.internal/charts/stock/drawing/AverageSeries.js.map +1 -1
  32. package/.internal/charts/stock/drawing/CalloutSeries.d.ts +4 -1
  33. package/.internal/charts/stock/drawing/CalloutSeries.d.ts.map +1 -1
  34. package/.internal/charts/stock/drawing/CalloutSeries.js +47 -3
  35. package/.internal/charts/stock/drawing/CalloutSeries.js.map +1 -1
  36. package/.internal/charts/stock/drawing/DoodleSeries.d.ts +1 -1
  37. package/.internal/charts/stock/drawing/DoodleSeries.d.ts.map +1 -1
  38. package/.internal/charts/stock/drawing/DoodleSeries.js +16 -7
  39. package/.internal/charts/stock/drawing/DoodleSeries.js.map +1 -1
  40. package/.internal/charts/stock/drawing/DrawingSeries.d.ts +95 -4
  41. package/.internal/charts/stock/drawing/DrawingSeries.d.ts.map +1 -1
  42. package/.internal/charts/stock/drawing/DrawingSeries.js +467 -47
  43. package/.internal/charts/stock/drawing/DrawingSeries.js.map +1 -1
  44. package/.internal/charts/stock/drawing/EllipseSeries.d.ts +3 -0
  45. package/.internal/charts/stock/drawing/EllipseSeries.d.ts.map +1 -1
  46. package/.internal/charts/stock/drawing/EllipseSeries.js +36 -6
  47. package/.internal/charts/stock/drawing/EllipseSeries.js.map +1 -1
  48. package/.internal/charts/stock/drawing/FibonacciSeries.d.ts +2 -0
  49. package/.internal/charts/stock/drawing/FibonacciSeries.d.ts.map +1 -1
  50. package/.internal/charts/stock/drawing/FibonacciSeries.js +49 -41
  51. package/.internal/charts/stock/drawing/FibonacciSeries.js.map +1 -1
  52. package/.internal/charts/stock/drawing/FibonacciTimezoneSeries.d.ts.map +1 -1
  53. package/.internal/charts/stock/drawing/FibonacciTimezoneSeries.js.map +1 -1
  54. package/.internal/charts/stock/drawing/HorizontalLineSeries.d.ts +3 -4
  55. package/.internal/charts/stock/drawing/HorizontalLineSeries.d.ts.map +1 -1
  56. package/.internal/charts/stock/drawing/HorizontalLineSeries.js +34 -22
  57. package/.internal/charts/stock/drawing/HorizontalLineSeries.js.map +1 -1
  58. package/.internal/charts/stock/drawing/HorizontalRaySeries.d.ts +3 -6
  59. package/.internal/charts/stock/drawing/HorizontalRaySeries.d.ts.map +1 -1
  60. package/.internal/charts/stock/drawing/HorizontalRaySeries.js +42 -32
  61. package/.internal/charts/stock/drawing/HorizontalRaySeries.js.map +1 -1
  62. package/.internal/charts/stock/drawing/IconSeries.d.ts +14 -4
  63. package/.internal/charts/stock/drawing/IconSeries.d.ts.map +1 -1
  64. package/.internal/charts/stock/drawing/IconSeries.js +100 -2
  65. package/.internal/charts/stock/drawing/IconSeries.js.map +1 -1
  66. package/.internal/charts/stock/drawing/LabelSeries.d.ts +10 -0
  67. package/.internal/charts/stock/drawing/LabelSeries.d.ts.map +1 -1
  68. package/.internal/charts/stock/drawing/LabelSeries.js +96 -2
  69. package/.internal/charts/stock/drawing/LabelSeries.js.map +1 -1
  70. package/.internal/charts/stock/drawing/Measure.d.ts.map +1 -1
  71. package/.internal/charts/stock/drawing/Measure.js +1 -0
  72. package/.internal/charts/stock/drawing/Measure.js.map +1 -1
  73. package/.internal/charts/stock/drawing/ParallelChannelSeries.d.ts +1 -1
  74. package/.internal/charts/stock/drawing/ParallelChannelSeries.d.ts.map +1 -1
  75. package/.internal/charts/stock/drawing/ParallelChannelSeries.js +5 -2
  76. package/.internal/charts/stock/drawing/ParallelChannelSeries.js.map +1 -1
  77. package/.internal/charts/stock/drawing/PolylineSeries.d.ts +27 -4
  78. package/.internal/charts/stock/drawing/PolylineSeries.d.ts.map +1 -1
  79. package/.internal/charts/stock/drawing/PolylineSeries.js +80 -27
  80. package/.internal/charts/stock/drawing/PolylineSeries.js.map +1 -1
  81. package/.internal/charts/stock/drawing/RectangleSeries.d.ts.map +1 -1
  82. package/.internal/charts/stock/drawing/RectangleSeries.js.map +1 -1
  83. package/.internal/charts/stock/drawing/RegressionSeries.js.map +1 -1
  84. package/.internal/charts/stock/drawing/SimpleLineSeries.d.ts +3 -2
  85. package/.internal/charts/stock/drawing/SimpleLineSeries.d.ts.map +1 -1
  86. package/.internal/charts/stock/drawing/SimpleLineSeries.js +23 -7
  87. package/.internal/charts/stock/drawing/SimpleLineSeries.js.map +1 -1
  88. package/.internal/charts/stock/drawing/TrendLineSeries.d.ts.map +1 -1
  89. package/.internal/charts/stock/drawing/TrendLineSeries.js.map +1 -1
  90. package/.internal/charts/stock/drawing/VerticalLineSeries.d.ts +2 -3
  91. package/.internal/charts/stock/drawing/VerticalLineSeries.d.ts.map +1 -1
  92. package/.internal/charts/stock/drawing/VerticalLineSeries.js +29 -15
  93. package/.internal/charts/stock/drawing/VerticalLineSeries.js.map +1 -1
  94. package/.internal/charts/stock/toolbar/ColorControl.d.ts +14 -0
  95. package/.internal/charts/stock/toolbar/ColorControl.d.ts.map +1 -1
  96. package/.internal/charts/stock/toolbar/ColorControl.js +31 -0
  97. package/.internal/charts/stock/toolbar/ColorControl.js.map +1 -1
  98. package/.internal/charts/stock/toolbar/DrawingControl.d.ts.map +1 -1
  99. package/.internal/charts/stock/toolbar/DrawingControl.js +117 -12
  100. package/.internal/charts/stock/toolbar/DrawingControl.js.map +1 -1
  101. package/.internal/charts/stock/toolbar/DrawingToolControl.d.ts +1 -1
  102. package/.internal/charts/stock/toolbar/DrawingToolControl.d.ts.map +1 -1
  103. package/.internal/charts/stock/toolbar/DrawingToolControl.js.map +1 -1
  104. package/.internal/charts/stock/toolbar/DropdownListControl.d.ts +15 -0
  105. package/.internal/charts/stock/toolbar/DropdownListControl.d.ts.map +1 -1
  106. package/.internal/charts/stock/toolbar/DropdownListControl.js +38 -0
  107. package/.internal/charts/stock/toolbar/DropdownListControl.js.map +1 -1
  108. package/.internal/charts/stock/toolbar/IconControl.d.ts +15 -0
  109. package/.internal/charts/stock/toolbar/IconControl.d.ts.map +1 -1
  110. package/.internal/charts/stock/toolbar/IconControl.js +37 -0
  111. package/.internal/charts/stock/toolbar/IconControl.js.map +1 -1
  112. package/.internal/charts/stock/toolbar/StockIcons.d.ts.map +1 -1
  113. package/.internal/charts/stock/toolbar/StockIcons.js +2 -0
  114. package/.internal/charts/stock/toolbar/StockIcons.js.map +1 -1
  115. package/.internal/charts/stock/toolbar/StockToolbarCSS.d.ts.map +1 -1
  116. package/.internal/charts/stock/toolbar/StockToolbarCSS.js +38 -14
  117. package/.internal/charts/stock/toolbar/StockToolbarCSS.js.map +1 -1
  118. package/.internal/charts/xy/XYCursor.d.ts +3 -3
  119. package/.internal/charts/xy/XYCursor.d.ts.map +1 -1
  120. package/.internal/charts/xy/XYCursor.js +41 -47
  121. package/.internal/charts/xy/XYCursor.js.map +1 -1
  122. package/.internal/charts/xy/axes/Axis.d.ts +5 -2
  123. package/.internal/charts/xy/axes/Axis.d.ts.map +1 -1
  124. package/.internal/charts/xy/axes/Axis.js +4 -4
  125. package/.internal/charts/xy/axes/Axis.js.map +1 -1
  126. package/.internal/charts/xy/axes/CategoryAxis.d.ts +4 -0
  127. package/.internal/charts/xy/axes/CategoryAxis.d.ts.map +1 -1
  128. package/.internal/charts/xy/axes/CategoryAxis.js +14 -0
  129. package/.internal/charts/xy/axes/CategoryAxis.js.map +1 -1
  130. package/.internal/charts/xy/axes/DateAxis.d.ts +2 -0
  131. package/.internal/charts/xy/axes/DateAxis.d.ts.map +1 -1
  132. package/.internal/charts/xy/axes/DateAxis.js +23 -0
  133. package/.internal/charts/xy/axes/DateAxis.js.map +1 -1
  134. package/.internal/charts/xy/axes/GaplessDateAxis.d.ts +1 -0
  135. package/.internal/charts/xy/axes/GaplessDateAxis.d.ts.map +1 -1
  136. package/.internal/charts/xy/axes/GaplessDateAxis.js +4 -0
  137. package/.internal/charts/xy/axes/GaplessDateAxis.js.map +1 -1
  138. package/.internal/charts/xy/axes/ValueAxis.d.ts +4 -0
  139. package/.internal/charts/xy/axes/ValueAxis.d.ts.map +1 -1
  140. package/.internal/charts/xy/axes/ValueAxis.js +15 -0
  141. package/.internal/charts/xy/axes/ValueAxis.js.map +1 -1
  142. package/.internal/charts/xy/series/LineSeries.js +4 -4
  143. package/.internal/charts/xy/series/LineSeries.js.map +1 -1
  144. package/.internal/core/Registry.js +1 -1
  145. package/.internal/core/Registry.js.map +1 -1
  146. package/.internal/core/Root.d.ts.map +1 -1
  147. package/.internal/core/Root.js +35 -26
  148. package/.internal/core/Root.js.map +1 -1
  149. package/.internal/core/render/Sprite.d.ts +5 -0
  150. package/.internal/core/render/Sprite.d.ts.map +1 -1
  151. package/.internal/core/render/Sprite.js +12 -1
  152. package/.internal/core/render/Sprite.js.map +1 -1
  153. package/.internal/core/render/SpriteResizer.d.ts.map +1 -1
  154. package/.internal/core/render/SpriteResizer.js +3 -0
  155. package/.internal/core/render/SpriteResizer.js.map +1 -1
  156. package/.internal/core/render/Tooltip.d.ts.map +1 -1
  157. package/.internal/core/render/Tooltip.js +4 -3
  158. package/.internal/core/render/Tooltip.js.map +1 -1
  159. package/.internal/core/util/Entity.d.ts +9 -0
  160. package/.internal/core/util/Entity.d.ts.map +1 -1
  161. package/.internal/core/util/Entity.js +23 -2
  162. package/.internal/core/util/Entity.js.map +1 -1
  163. package/.internal/core/util/Modal.js +1 -1
  164. package/.internal/core/util/Modal.js.map +1 -1
  165. package/.internal/core/util/Utils.d.ts +1 -0
  166. package/.internal/core/util/Utils.d.ts.map +1 -1
  167. package/.internal/core/util/Utils.js +19 -0
  168. package/.internal/core/util/Utils.js.map +1 -1
  169. package/.internal/plugins/exporting/ExportingMenu.d.ts.map +1 -1
  170. package/.internal/plugins/exporting/ExportingMenu.js +5 -4
  171. package/.internal/plugins/exporting/ExportingMenu.js.map +1 -1
  172. package/.internal/themes/DefaultTheme.d.ts.map +1 -1
  173. package/.internal/themes/DefaultTheme.js +2 -1
  174. package/.internal/themes/DefaultTheme.js.map +1 -1
  175. package/CHANGELOG.md +33 -0
  176. package/examples/javascript/flow-arc-horizontal/package.json +1 -1
  177. package/examples/javascript/flow-arc-vertical/package.json +1 -1
  178. package/examples/javascript/flow-chord/package.json +1 -1
  179. package/examples/javascript/flow-chord-directed/package.json +1 -1
  180. package/examples/javascript/flow-chord-non-ribbon/package.json +1 -1
  181. package/examples/javascript/flow-sankey/package.json +1 -1
  182. package/examples/javascript/gauge/package.json +1 -1
  183. package/examples/javascript/gauge-bands/package.json +1 -1
  184. package/examples/javascript/hierarchy-force-directed/package.json +1 -1
  185. package/examples/javascript/hierarchy-pack/package.json +1 -1
  186. package/examples/javascript/hierarchy-partition/package.json +1 -1
  187. package/examples/javascript/hierarchy-sunburst/package.json +1 -1
  188. package/examples/javascript/hierarchy-tree/package.json +1 -1
  189. package/examples/javascript/hierarchy-treemap/package.json +1 -1
  190. package/examples/javascript/hierarchy-voronoi-treemap/package.json +1 -1
  191. package/examples/javascript/jest/package.json +1 -1
  192. package/examples/javascript/json-pie/package.json +1 -1
  193. package/examples/javascript/json-xy/package.json +1 -1
  194. package/examples/javascript/map-animating-along-lines/package.json +1 -1
  195. package/examples/javascript/map-clustered-points/package.json +1 -1
  196. package/examples/javascript/map-day-and-night/package.json +1 -1
  197. package/examples/javascript/map-globe-rotate-to-country/package.json +1 -1
  198. package/examples/javascript/map-globe-with-projected-circles/package.json +1 -1
  199. package/examples/javascript/map-with-bubbles/package.json +1 -1
  200. package/examples/javascript/map-zoom-to-country/package.json +1 -1
  201. package/examples/javascript/misc-40-charts/package.json +1 -1
  202. package/examples/javascript/misc-microchart-grid/package.json +1 -1
  203. package/examples/javascript/pie-chart/package.json +1 -1
  204. package/examples/javascript/pie-donut-chart/package.json +1 -1
  205. package/examples/javascript/pie-variable-radius/package.json +1 -1
  206. package/examples/javascript/radar-column-iwatch-style/package.json +1 -1
  207. package/examples/javascript/radar-heat-map/package.json +1 -1
  208. package/examples/javascript/radar-line/package.json +1 -1
  209. package/examples/javascript/radar-time-line/package.json +1 -1
  210. package/examples/javascript/sliced-funnel/package.json +1 -1
  211. package/examples/javascript/sliced-pictorial-stacked/package.json +1 -1
  212. package/examples/javascript/sliced-pyramid/package.json +1 -1
  213. package/examples/javascript/stock-chart/package.json +1 -1
  214. package/examples/javascript/stock-chart-comparing-stocks/package.json +1 -1
  215. package/examples/javascript/stock-chart-data-granularity/package.json +1 -1
  216. package/examples/javascript/stock-chart-data-grouping/package.json +1 -1
  217. package/examples/javascript/stock-chart-intraday/package.json +1 -1
  218. package/examples/javascript/stock-chart-live/package.json +1 -1
  219. package/examples/javascript/stock-chart-volume-separate-panel/package.json +1 -1
  220. package/examples/javascript/venn-diagram/package.json +1 -1
  221. package/examples/javascript/wordcloud-with-data/package.json +1 -1
  222. package/examples/javascript/wordcloud-with-text/package.json +1 -1
  223. package/examples/javascript/xy-100-percent-stacked-column/package.json +1 -1
  224. package/examples/javascript/xy-animated-bullet-at-the-end-of-the-series/package.json +1 -1
  225. package/examples/javascript/xy-bubble/package.json +1 -1
  226. package/examples/javascript/xy-candlestick/package.json +1 -1
  227. package/examples/javascript/xy-clustered-column/package.json +1 -1
  228. package/examples/javascript/xy-column/package.json +1 -1
  229. package/examples/javascript/xy-comparing-series-google-analytics-style/package.json +1 -1
  230. package/examples/javascript/xy-data-grouping/package.json +1 -1
  231. package/examples/javascript/xy-draggable-range/package.json +1 -1
  232. package/examples/javascript/xy-drawing-series-with-mouse-or-touch/package.json +1 -1
  233. package/examples/javascript/xy-dumbbell plot/package.json +1 -1
  234. package/examples/javascript/xy-evenly-spaced-date-axis/package.json +1 -1
  235. package/examples/javascript/xy-line/package.json +1 -1
  236. package/examples/javascript/xy-line-highlight-on-legend-hover/package.json +1 -1
  237. package/examples/javascript/xy-live-data/package.json +1 -1
  238. package/examples/javascript/xy-multiple-synced-value-axes/package.json +1 -1
  239. package/examples/javascript/xy-ohlc/package.json +1 -1
  240. package/examples/javascript/xy-real-time-data-sorting/package.json +1 -1
  241. package/examples/javascript/xy-smoothed-line/package.json +1 -1
  242. package/examples/javascript/xy-stacked-and-clustered-column/package.json +1 -1
  243. package/examples/javascript/xy-stacked-column/package.json +1 -1
  244. package/examples/javascript/xy-stacked-step/package.json +1 -1
  245. package/examples/javascript/xy-stock/package.json +1 -1
  246. package/examples/javascript/xy-stock-comparing/package.json +1 -1
  247. package/examples/typescript/flow-arc-horizontal/package.json +1 -1
  248. package/examples/typescript/flow-arc-vertical/package.json +1 -1
  249. package/examples/typescript/flow-chord/package.json +1 -1
  250. package/examples/typescript/flow-chord-directed/package.json +1 -1
  251. package/examples/typescript/flow-chord-non-ribbon/package.json +1 -1
  252. package/examples/typescript/flow-sankey/package.json +1 -1
  253. package/examples/typescript/gauge/package.json +1 -1
  254. package/examples/typescript/gauge-bands/package.json +1 -1
  255. package/examples/typescript/hierarchy-force-directed/package.json +1 -1
  256. package/examples/typescript/hierarchy-pack/package.json +1 -1
  257. package/examples/typescript/hierarchy-partition/package.json +1 -1
  258. package/examples/typescript/hierarchy-sunburst/package.json +1 -1
  259. package/examples/typescript/hierarchy-tree/package.json +1 -1
  260. package/examples/typescript/hierarchy-treemap/package.json +1 -1
  261. package/examples/typescript/hierarchy-voronoi-treemap/package.json +1 -1
  262. package/examples/typescript/jest/package.json +1 -1
  263. package/examples/typescript/json-pie/package.json +1 -1
  264. package/examples/typescript/json-xy/package.json +1 -1
  265. package/examples/typescript/map-animating-along-lines/package.json +1 -1
  266. package/examples/typescript/map-clustered-points/package.json +1 -1
  267. package/examples/typescript/map-day-and-night/package.json +1 -1
  268. package/examples/typescript/map-globe-rotate-to-country/package.json +1 -1
  269. package/examples/typescript/map-globe-with-projected-circles/package.json +1 -1
  270. package/examples/typescript/map-with-bubbles/package.json +1 -1
  271. package/examples/typescript/map-zoom-to-country/package.json +1 -1
  272. package/examples/typescript/misc-40-charts/package.json +1 -1
  273. package/examples/typescript/misc-microchart-grid/package.json +1 -1
  274. package/examples/typescript/pie-chart/package.json +1 -1
  275. package/examples/typescript/pie-donut-chart/package.json +1 -1
  276. package/examples/typescript/pie-variable-radius/package.json +1 -1
  277. package/examples/typescript/radar-column-iwatch-style/package.json +1 -1
  278. package/examples/typescript/radar-heat-map/package.json +1 -1
  279. package/examples/typescript/radar-line/package.json +1 -1
  280. package/examples/typescript/radar-time-line/package.json +1 -1
  281. package/examples/typescript/sliced-funnel/package.json +1 -1
  282. package/examples/typescript/sliced-pictorial-stacked/package.json +1 -1
  283. package/examples/typescript/sliced-pyramid/package.json +1 -1
  284. package/examples/typescript/stock-chart/package.json +1 -1
  285. package/examples/typescript/stock-chart-comparing-stocks/package.json +1 -1
  286. package/examples/typescript/stock-chart-data-granularity/package.json +1 -1
  287. package/examples/typescript/stock-chart-data-grouping/package.json +1 -1
  288. package/examples/typescript/stock-chart-intraday/package.json +1 -1
  289. package/examples/typescript/stock-chart-live/package.json +1 -1
  290. package/examples/typescript/stock-chart-volume-separate-panel/package.json +1 -1
  291. package/examples/typescript/venn-diagram/package.json +1 -1
  292. package/examples/typescript/wordcloud-with-data/package.json +1 -1
  293. package/examples/typescript/wordcloud-with-text/package.json +1 -1
  294. package/examples/typescript/xy-100-percent-stacked-column/package.json +1 -1
  295. package/examples/typescript/xy-animated-bullet-at-the-end-of-the-series/package.json +1 -1
  296. package/examples/typescript/xy-bubble/package.json +1 -1
  297. package/examples/typescript/xy-candlestick/package.json +1 -1
  298. package/examples/typescript/xy-clustered-column/package.json +1 -1
  299. package/examples/typescript/xy-column/package.json +1 -1
  300. package/examples/typescript/xy-comparing-series-google-analytics-style/package.json +1 -1
  301. package/examples/typescript/xy-data-grouping/package.json +1 -1
  302. package/examples/typescript/xy-draggable-range/package.json +1 -1
  303. package/examples/typescript/xy-drawing-series-with-mouse-or-touch/package.json +1 -1
  304. package/examples/typescript/xy-dumbbell plot/package.json +1 -1
  305. package/examples/typescript/xy-evenly-spaced-date-axis/package.json +1 -1
  306. package/examples/typescript/xy-line/package.json +1 -1
  307. package/examples/typescript/xy-line-highlight-on-legend-hover/package.json +1 -1
  308. package/examples/typescript/xy-live-data/package.json +1 -1
  309. package/examples/typescript/xy-multiple-synced-value-axes/package.json +1 -1
  310. package/examples/typescript/xy-ohlc/package.json +1 -1
  311. package/examples/typescript/xy-real-time-data-sorting/package.json +1 -1
  312. package/examples/typescript/xy-smoothed-line/package.json +1 -1
  313. package/examples/typescript/xy-stacked-and-clustered-column/package.json +1 -1
  314. package/examples/typescript/xy-stacked-column/package.json +1 -1
  315. package/examples/typescript/xy-stacked-step/package.json +1 -1
  316. package/examples/typescript/xy-stock/package.json +1 -1
  317. package/examples/typescript/xy-stock-comparing/package.json +1 -1
  318. package/package.json +1 -1
@@ -1,6 +1,7 @@
1
1
  import { LineSeries } from "../../xy/series/LineSeries";
2
2
  import { Bullet } from "../../../core/render/Bullet";
3
3
  import { Circle } from "../../../core/render/Circle";
4
+ import { Rectangle } from "../../../core/render/Rectangle";
4
5
  import { Container } from "../../../core/render/Container";
5
6
  import { Template } from "../../../core/util/Template";
6
7
  import { ListTemplate } from "../../../core/util/List";
@@ -100,13 +101,13 @@ export class DrawingSeries extends LineSeries {
100
101
  enumerable: true,
101
102
  configurable: true,
102
103
  writable: true,
103
- value: {}
104
+ value: []
104
105
  });
105
106
  Object.defineProperty(this, "_dvY", {
106
107
  enumerable: true,
107
108
  configurable: true,
108
109
  writable: true,
109
- value: {}
110
+ value: []
110
111
  });
111
112
  Object.defineProperty(this, "_isHover", {
112
113
  enumerable: true,
@@ -132,6 +133,31 @@ export class DrawingSeries extends LineSeries {
132
133
  writable: true,
133
134
  value: { x: 0, y: 0 }
134
135
  });
136
+ Object.defineProperty(this, "selectorContainer", {
137
+ enumerable: true,
138
+ configurable: true,
139
+ writable: true,
140
+ value: this.children.push(Container.new(this.root, {}))
141
+ });
142
+ Object.defineProperty(this, "_selected", {
143
+ enumerable: true,
144
+ configurable: true,
145
+ writable: true,
146
+ value: []
147
+ });
148
+ Object.defineProperty(this, "_isSelecting", {
149
+ enumerable: true,
150
+ configurable: true,
151
+ writable: true,
152
+ value: false
153
+ });
154
+ // point index in segment
155
+ Object.defineProperty(this, "_pIndex", {
156
+ enumerable: true,
157
+ configurable: true,
158
+ writable: true,
159
+ value: 0
160
+ });
135
161
  Object.defineProperty(this, "grips", {
136
162
  enumerable: true,
137
163
  configurable: true,
@@ -156,6 +182,14 @@ export class DrawingSeries extends LineSeries {
156
182
  themeTags: ["outline"]
157
183
  }, [this.outerCircles.template]))
158
184
  });
185
+ Object.defineProperty(this, "selectors", {
186
+ enumerable: true,
187
+ configurable: true,
188
+ writable: true,
189
+ value: new ListTemplate(Template.new({}), () => Rectangle._new(this._root, {
190
+ themeTags: ["selector"]
191
+ }, [this.selectors.template]))
192
+ });
159
193
  }
160
194
  _afterNew() {
161
195
  this.addTag("drawing");
@@ -174,10 +208,6 @@ export class DrawingSeries extends LineSeries {
174
208
  strokesTemplate.set("templateField", "stroke");
175
209
  const fillsTemplate = this.fills.template;
176
210
  fillsTemplate.setAll({ templateField: "fill" });
177
- fillsTemplate.events.on("dragstart", (e) => {
178
- this._handleFillDragStart(e, this._getIndex(e.target));
179
- this._isPointerDown = true;
180
- });
181
211
  fillsTemplate.events.on("pointerdown", (e) => {
182
212
  const index = this._getIndex(e.target);
183
213
  if (this._erasingEnabled) {
@@ -194,25 +224,19 @@ export class DrawingSeries extends LineSeries {
194
224
  stroke.dragStart(e);
195
225
  }
196
226
  });
197
- strokesTemplate.events.on("pointerdown", (e) => {
198
- if (this._erasingEnabled) {
199
- this._disposeIndex(this._getIndex(e.target));
200
- }
201
- else {
202
- const originalEvent = e.originalEvent;
203
- if (!originalEvent.button && this._drawingEnabled) {
204
- this._handlePointerDown(e);
205
- }
227
+ fillsTemplate.events.on("dragstart", (e) => {
228
+ this.startDragItem(e, this._getIndex(e.target));
229
+ });
230
+ fillsTemplate.events.on("click", (e) => {
231
+ const index = this._getIndex(e.target);
232
+ const originalEvent = e.originalEvent;
233
+ if (!this._isDrawing) {
234
+ this._selectDrawing(index, originalEvent.ctrlKey);
206
235
  }
207
236
  });
208
237
  fillsTemplate.events.on("dragstop", (e) => {
209
- this._isPointerDown = false;
210
238
  const index = this._getIndex(e.target);
211
- this._handleFillDragStop(e, index);
212
- const stroke = this.strokes.getIndex(this._getStrokeIndex(index));
213
- if (stroke) {
214
- stroke.dragStop(e);
215
- }
239
+ this.stopDragItem(e, index);
216
240
  });
217
241
  fillsTemplate.events.on("pointerover", (e) => {
218
242
  const index = this._getIndex(e.target);
@@ -227,6 +251,17 @@ export class DrawingSeries extends LineSeries {
227
251
  this._isHover = false;
228
252
  this._hideAllBullets();
229
253
  });
254
+ strokesTemplate.events.on("pointerdown", (e) => {
255
+ const index = this._getIndex(e.target);
256
+ if (this._erasingEnabled) {
257
+ this._disposeIndex(index);
258
+ }
259
+ });
260
+ strokesTemplate.events.on("click", (e) => {
261
+ const index = this._getIndex(e.target);
262
+ const originalEvent = e.originalEvent;
263
+ this._selectDrawing(index, originalEvent.ctrlKey);
264
+ });
230
265
  strokesTemplate.events.on("pointerover", (e) => {
231
266
  this._isHover = true;
232
267
  this._showSegmentBullets(this._getIndex(e.target));
@@ -236,10 +271,10 @@ export class DrawingSeries extends LineSeries {
236
271
  this._hideAllBullets();
237
272
  });
238
273
  strokesTemplate.events.on("dragstop", (e) => {
239
- this._handleFillDragStop(e, this._getIndex(e.target));
274
+ this.stopDragItem(e, this._getIndex(e.target));
240
275
  });
241
276
  strokesTemplate.events.on("dragstart", (e) => {
242
- this._handleFillDragStart(e, this._getIndex(e.target));
277
+ this.startDragItem(e, this._getIndex(e.target));
243
278
  });
244
279
  this.bulletsContainer.states.create("hidden", { visible: true, opacity: 0 });
245
280
  this.bullets.push((_root, _series, dataItem) => {
@@ -322,10 +357,29 @@ export class DrawingSeries extends LineSeries {
322
357
  _disposeIndex(index) {
323
358
  const dataItems = this._di[index];
324
359
  if (dataItems) {
360
+ let drawingId;
361
+ let index;
325
362
  $object.each(dataItems, (_key, dataItem) => {
326
- this.data.removeValue(dataItem.dataContext);
363
+ const dataContext = dataItem.dataContext;
364
+ this.data.removeValue(dataContext);
365
+ if (dataContext) {
366
+ if (dataContext.drawingId) {
367
+ drawingId = dataContext.drawingId;
368
+ }
369
+ if (dataContext.index) {
370
+ index = dataContext.index;
371
+ }
372
+ }
327
373
  });
374
+ this._pIndex = 0;
375
+ delete this._di[index];
376
+ this._dispatchStockEvent("drawingremoved", drawingId, index);
377
+ }
378
+ const selector = this._getSprite(this.selectors, index);
379
+ if (selector) {
380
+ this.selectors.removeValue(selector);
328
381
  }
382
+ $array.remove(this._selected, index);
329
383
  }
330
384
  _afterDataChange() {
331
385
  $array.each(this.dataItems, (dataItem) => {
@@ -344,12 +398,17 @@ export class DrawingSeries extends LineSeries {
344
398
  }
345
399
  _createElements(_index, _dataItem) {
346
400
  }
401
+ _clearDirty() {
402
+ super._clearDirty();
403
+ this._isSelecting = false;
404
+ }
347
405
  clearDrawings() {
348
406
  $array.each(this._di, (_dataItems, index) => {
349
407
  this._disposeIndex(index);
350
408
  });
351
409
  this.data.setAll([]);
352
410
  this._index = 0;
411
+ this._selected = [];
353
412
  }
354
413
  _getIndex(sprite) {
355
414
  const userData = sprite.get("userData");
@@ -392,7 +451,7 @@ export class DrawingSeries extends LineSeries {
392
451
  $array.each(bullets, (bullet) => {
393
452
  const sprite = bullet.get("sprite");
394
453
  if (sprite) {
395
- sprite.show();
454
+ sprite.show(0);
396
455
  }
397
456
  });
398
457
  }
@@ -431,7 +490,40 @@ export class DrawingSeries extends LineSeries {
431
490
  }
432
491
  });
433
492
  }
493
+ _hideResizer(sprite) {
494
+ const spriteResizer = this._getStockChart().spriteResizer;
495
+ if (spriteResizer) {
496
+ const resizerSprite = spriteResizer.get("sprite");
497
+ if (resizerSprite) {
498
+ if (!sprite || sprite.dataItem != resizerSprite.dataItem) {
499
+ spriteResizer.set("sprite", undefined);
500
+ }
501
+ }
502
+ }
503
+ }
504
+ /**
505
+ * @ignore
506
+ */
507
+ startDragItem(event, index) {
508
+ const stockChart = this._getStockChart();
509
+ if (stockChart) {
510
+ stockChart._dragStartDrawing(event);
511
+ }
512
+ this._handleFillDragStart(event, index);
513
+ }
514
+ /**
515
+ * @ignore
516
+ */
517
+ stopDragItem(event, index) {
518
+ const stockChart = this._getStockChart();
519
+ if (stockChart) {
520
+ stockChart._dragStopDrawing(event);
521
+ }
522
+ this._handleFillDragStop(event, index);
523
+ }
434
524
  _handleFillDragStart(event, index) {
525
+ this._hideResizer(event.target);
526
+ this._isPointerDown = false;
435
527
  const chart = this.chart;
436
528
  if (chart) {
437
529
  const xAxis = this.get("xAxis");
@@ -441,15 +533,28 @@ export class DrawingSeries extends LineSeries {
441
533
  const valueXns = xAxis.positionToValue(this._dragStartPX);
442
534
  this._dragStartY = this._getYValue(yAxis.positionToValue(yAxis.coordinateToPosition(point.y)), valueXns);
443
535
  const dataItems = this._di[index];
536
+ this._dvpX[index] = {};
537
+ this._dvY[index] = {};
444
538
  if (dataItems) {
445
539
  $object.each(dataItems, (key, dataItem) => {
446
- this._dvpX[key] = xAxis.valueToPosition(dataItem.get("valueX", 0));
447
- this._dvY[key] = dataItem.get("valueY");
540
+ this._dvpX[index][key] = xAxis.valueToPosition(dataItem.get("valueX", 0));
541
+ this._dvY[index][key] = dataItem.get("valueY");
448
542
  });
449
543
  }
450
544
  }
451
545
  }
546
+ _dragStart(event) {
547
+ $array.each(this._selected, (index) => {
548
+ this._handleFillDragStart(event, index);
549
+ });
550
+ }
551
+ _dragStop(event) {
552
+ $array.each(this._selected, (index) => {
553
+ this._handleFillDragStop(event, index);
554
+ });
555
+ }
452
556
  _handleFillDragStop(event, index) {
557
+ this._isPointerDown = false;
453
558
  const chart = this.chart;
454
559
  if (chart) {
455
560
  const point = chart.plotContainer.toLocal(event.point);
@@ -466,8 +571,8 @@ export class DrawingSeries extends LineSeries {
466
571
  const dataItems = this._di[index];
467
572
  if (dataItems) {
468
573
  $object.each(dataItems, (key, dataItem) => {
469
- const dvpx = this._dvpX[key];
470
- const dvy = this._dvY[key];
574
+ const dvpx = this._dvpX[index][key];
575
+ const dvy = this._dvY[index][key];
471
576
  if ($type.isNumber(dvpx) && $type.isNumber(dvy)) {
472
577
  const vpx = dvpx + dpx;
473
578
  const vxns = xAxis.positionToValue(vpx);
@@ -480,10 +585,16 @@ export class DrawingSeries extends LineSeries {
480
585
  this._setContext(dataItem, "valueX", vx);
481
586
  this._setContext(dataItem, "valueY", vy, true);
482
587
  this._setXLocation(dataItem, vx);
588
+ this._positionBullets(dataItem);
483
589
  }
484
590
  });
485
591
  }
486
592
  }
593
+ const stroke = this.strokes.getIndex(this._getStrokeIndex(index));
594
+ if (stroke) {
595
+ stroke.dragStop(event);
596
+ }
597
+ this.markDirty();
487
598
  this._updateSegment(index);
488
599
  }
489
600
  _updateSegment(_index) {
@@ -491,23 +602,114 @@ export class DrawingSeries extends LineSeries {
491
602
  }
492
603
  _updateChildren() {
493
604
  this._updateElements();
605
+ if (this.isDirty("strokeColor") || this.isDirty("strokeOpacity") || this.isDirty("strokeDasharray") || this.isDirty("strokeWidth")) {
606
+ $array.each(this._selected, (i) => {
607
+ let settings = {
608
+ stroke: this.get("strokeColor"),
609
+ strokeOpacity: this.get("strokeOpacity"),
610
+ strokeDasharray: this.get("strokeDasharray"),
611
+ strokeWidth: this.get("strokeWidth")
612
+ };
613
+ const stroke = this.strokes.getIndex(this._getStrokeIndex(i));
614
+ if (stroke) {
615
+ let strokeTemplate;
616
+ $array.each(this.dataItems, (dataItem) => {
617
+ const dataContext = dataItem.dataContext;
618
+ if (dataContext.index == i) {
619
+ if (dataContext.stroke) {
620
+ strokeTemplate = dataContext.stroke;
621
+ }
622
+ }
623
+ });
624
+ const defaultState = stroke.states.lookup("default");
625
+ $object.each(settings, (key, value) => {
626
+ stroke.set(key, value);
627
+ defaultState.set(key, value);
628
+ if (strokeTemplate) {
629
+ strokeTemplate.set(key, value);
630
+ }
631
+ });
632
+ }
633
+ this.circles.each((circle) => {
634
+ const dataItem = circle.dataItem;
635
+ if (dataItem) {
636
+ const dataContext = dataItem.dataContext;
637
+ if (dataContext) {
638
+ if (dataContext.index == i) {
639
+ circle.set("stroke", settings.stroke);
640
+ circle.states.lookup("default").set("stroke", settings.stroke);
641
+ }
642
+ }
643
+ }
644
+ });
645
+ this.outerCircles.each((circle) => {
646
+ const dataItem = circle.dataItem;
647
+ if (dataItem) {
648
+ const dataContext = dataItem.dataContext;
649
+ if (dataContext) {
650
+ if (dataContext.index == i) {
651
+ circle.set("stroke", settings.stroke);
652
+ circle.states.lookup("default").set("stroke", settings.stroke);
653
+ }
654
+ }
655
+ }
656
+ });
657
+ this._applySettings(i, settings);
658
+ });
659
+ }
660
+ if (this.isDirty("fillColor") || this.isDirty("fillOpacity")) {
661
+ $array.each(this._selected, (i) => {
662
+ const fill = this.fills.getIndex(this._getStrokeIndex(i));
663
+ let settings = {
664
+ fill: this.get("fillColor"),
665
+ fillOpacity: this.get("fillOpacity")
666
+ };
667
+ if (fill) {
668
+ let fillTemplate;
669
+ $array.each(this.dataItems, (dataItem) => {
670
+ const dataContext = dataItem.dataContext;
671
+ if (dataContext.index == i) {
672
+ if (dataContext.fill) {
673
+ fillTemplate = dataContext.fill;
674
+ }
675
+ }
676
+ });
677
+ const defaultState = fill.states.lookup("default");
678
+ $object.each(settings, (key, value) => {
679
+ fill.set(key, value);
680
+ defaultState.set(key, value);
681
+ if (fillTemplate) {
682
+ fillTemplate.set(key, value);
683
+ }
684
+ });
685
+ }
686
+ this._applySettings(i, settings);
687
+ });
688
+ }
494
689
  if (this._valuesDirty) {
495
690
  this.markDirtyDrawings();
496
691
  }
497
692
  super._updateChildren();
693
+ this._updateSelectors();
694
+ }
695
+ /**
696
+ * @ignore
697
+ */
698
+ isDrawing(value) {
699
+ this._isDrawing = value;
700
+ const stockChart = this._getStockChart();
701
+ if (stockChart) {
702
+ stockChart.drawingsInteractive(!value, this);
703
+ }
704
+ }
705
+ _applySettings(_index, _settings) {
498
706
  }
499
707
  _updateElements() {
500
708
  }
501
709
  markDirtyDrawings() {
502
- const xAxis = this.get("xAxis");
503
- if (xAxis) {
504
- const panel = xAxis.chart;
505
- if (panel) {
506
- const stockChart = panel.getPrivate("stockChart");
507
- if (stockChart) {
508
- stockChart.markDirtyDrawings();
509
- }
510
- }
710
+ const stockChart = this._getStockChart();
711
+ if (stockChart) {
712
+ stockChart.markDirtyDrawings();
511
713
  }
512
714
  }
513
715
  _getFillTemplate() {
@@ -544,6 +746,12 @@ export class DrawingSeries extends LineSeries {
544
746
  }
545
747
  _tweakBullet(_container, _dataItem) {
546
748
  }
749
+ _dispatchStockEvent(type, drawingId, index) {
750
+ const stockChart = this._getStockChart();
751
+ if (stockChart && stockChart.events.isEnabled(type)) {
752
+ stockChart.events.dispatch(type, { drawingId: drawingId, series: this, target: stockChart, index: index });
753
+ }
754
+ }
547
755
  _addBulletInteraction(sprite) {
548
756
  sprite.events.on("dragged", (e) => {
549
757
  this._handleBulletDragged(e);
@@ -559,17 +767,22 @@ export class DrawingSeries extends LineSeries {
559
767
  }, 100);
560
768
  });
561
769
  sprite.events.on("click", (e) => {
562
- if (this._erasingEnabled) {
563
- const dataItem = e.target.dataItem;
564
- if (dataItem) {
565
- const dataContext = dataItem.dataContext;
770
+ const dataItem = e.target.dataItem;
771
+ if (dataItem) {
772
+ const dataContext = dataItem.dataContext;
773
+ if (this._erasingEnabled) {
566
774
  if (dataContext) {
567
775
  this._disposeIndex(dataContext.index);
568
776
  }
569
777
  }
570
- }
571
- else {
572
- this._handlePointerClick(e);
778
+ else {
779
+ if (!this._isDrawing) {
780
+ this._selectDrawing(dataContext.index, e.originalEvent.ctrlKey);
781
+ }
782
+ else {
783
+ this._handlePointerClick(e);
784
+ }
785
+ }
573
786
  }
574
787
  });
575
788
  }
@@ -578,7 +791,7 @@ export class DrawingSeries extends LineSeries {
578
791
  this._drawingId = this._generateId();
579
792
  }
580
793
  _generateId() {
581
- return "" + new Date().getTime() + Math.round(Math.random() * 10000);
794
+ return "" + new Date().getTime() + Math.round(Math.random() * 10000 + 10000);
582
795
  }
583
796
  _handlePointerClick(event) {
584
797
  if (this._drawingEnabled) {
@@ -620,6 +833,8 @@ export class DrawingSeries extends LineSeries {
620
833
  this._positionBullets(dataItem);
621
834
  }
622
835
  _handleBulletDragStart(_event) {
836
+ this._hideResizer();
837
+ this.unselectAllDrawings();
623
838
  }
624
839
  _handleBulletDragStop(_event) {
625
840
  }
@@ -676,7 +891,7 @@ export class DrawingSeries extends LineSeries {
676
891
  disableDrawing() {
677
892
  this._erasingEnabled = false;
678
893
  this._drawingEnabled = false;
679
- this._isDrawing = false;
894
+ this.isDrawing(false);
680
895
  if (this._clickDp) {
681
896
  this._clickDp.dispose();
682
897
  this._clickDp = undefined;
@@ -798,6 +1013,211 @@ export class DrawingSeries extends LineSeries {
798
1013
  _getStockChart() {
799
1014
  return this.get("series").chart.getPrivate("stockChart");
800
1015
  }
1016
+ _getSprite(sprites, index) {
1017
+ for (let i = 0, len = sprites.length; i < len; i++) {
1018
+ let sprite = sprites.getIndex(i);
1019
+ if (sprite && sprite.get("userData") == index) {
1020
+ return sprite;
1021
+ }
1022
+ }
1023
+ }
1024
+ _selectDrawing(index, keepSelection) {
1025
+ this._isSelecting = true;
1026
+ if (this._selected.indexOf(index) != -1) {
1027
+ if (!keepSelection) {
1028
+ this._hideResizer();
1029
+ this.unselectAllDrawings();
1030
+ }
1031
+ else {
1032
+ this._unselectDrawing(index);
1033
+ }
1034
+ }
1035
+ else {
1036
+ if (!keepSelection) {
1037
+ this._hideResizer();
1038
+ this.unselectAllDrawings();
1039
+ }
1040
+ let selector = this._getSprite(this.selectors, index);
1041
+ if (!selector) {
1042
+ selector = this.selectorContainer.children.push(this.selectors.make());
1043
+ this.selectors.push(selector);
1044
+ }
1045
+ selector.show(0);
1046
+ selector.set("userData", index);
1047
+ $array.move(this._selected, index);
1048
+ this._dispatchStockEvent("drawingselected", this.indexToDrawingId(index), index);
1049
+ this.markDirty();
1050
+ }
1051
+ }
1052
+ _unselectDrawing(index) {
1053
+ const selector = this._getSprite(this.selectors, index);
1054
+ if (selector) {
1055
+ selector.hide(0);
1056
+ $array.remove(this._selected, index);
1057
+ this._dispatchStockEvent("drawingunselected", this.indexToDrawingId(index), index);
1058
+ }
1059
+ }
1060
+ _updateSelectors() {
1061
+ this.selectors.each((selector) => {
1062
+ const index = selector.get("userData");
1063
+ this._updateSelector(selector, index);
1064
+ });
1065
+ }
1066
+ _updateSelector(selector, index) {
1067
+ let l;
1068
+ let r;
1069
+ let t;
1070
+ let b;
1071
+ const selectorPadding = this.get("selectorPadding", 5);
1072
+ $array.each(this.dataItems, (dataItem) => {
1073
+ const dataContext = dataItem.dataContext;
1074
+ if (dataContext) {
1075
+ if (dataContext.index == index) {
1076
+ let point = dataItem.get("point");
1077
+ if (point) {
1078
+ if (l == null) {
1079
+ l = point.x;
1080
+ }
1081
+ l = Math.min(l, point.x);
1082
+ if (r == null) {
1083
+ r = point.x;
1084
+ }
1085
+ r = Math.max(r, point.x);
1086
+ if (t == null) {
1087
+ t = point.y;
1088
+ }
1089
+ t = Math.min(t, point.y);
1090
+ if (b == null) {
1091
+ b = point.y;
1092
+ }
1093
+ b = Math.max(b, point.y);
1094
+ }
1095
+ }
1096
+ }
1097
+ });
1098
+ if (r != null && l != null && t != null && b != null) {
1099
+ selector.setAll({
1100
+ width: r - l + selectorPadding * 2,
1101
+ height: b - t + selectorPadding * 2,
1102
+ x: l - selectorPadding,
1103
+ y: t - selectorPadding
1104
+ });
1105
+ }
1106
+ }
1107
+ /**
1108
+ *
1109
+ * @param index returns drawingId
1110
+ * @returns
1111
+ */
1112
+ indexToDrawingId(index) {
1113
+ let id;
1114
+ $array.eachContinue(this.dataItems, (dataItem) => {
1115
+ const dataContext = dataItem.dataContext;
1116
+ if (dataContext.index == index) {
1117
+ id = dataContext.drawingId;
1118
+ return false;
1119
+ }
1120
+ return true;
1121
+ });
1122
+ return id;
1123
+ }
1124
+ _getContext(index) {
1125
+ let context;
1126
+ $array.eachContinue(this.dataItems, (dataItem) => {
1127
+ const dataContext = dataItem.dataContext;
1128
+ if (dataContext.index == index && dataContext.sprite) {
1129
+ context = dataContext;
1130
+ return false;
1131
+ }
1132
+ return true;
1133
+ });
1134
+ return context;
1135
+ }
1136
+ getContext(id) {
1137
+ const index = this.getIndex(id);
1138
+ if (index != null) {
1139
+ return this._getContext(index);
1140
+ }
1141
+ }
1142
+ /**
1143
+ * Unselects all currently selected drawings on this series.
1144
+ *
1145
+ * @since 5.9.0
1146
+ */
1147
+ unselectAllDrawings() {
1148
+ const chart = this._getStockChart();
1149
+ if (chart) {
1150
+ chart.unselectDrawings();
1151
+ }
1152
+ }
1153
+ /**
1154
+ * Unselects all currently selected drawings of this series.
1155
+ *
1156
+ * @since 5.9.0
1157
+ */
1158
+ unselectDrawings() {
1159
+ for (let i = this._selected.length - 1; i >= 0; i--) {
1160
+ this._unselectDrawing(this._selected[i]);
1161
+ }
1162
+ }
1163
+ /**
1164
+ * Selects series' drawing by its ID.
1165
+ *
1166
+ * @param id Drawing ID
1167
+ * @param keepSelection Keep existing selections
1168
+ * @since 5.9.0
1169
+ */
1170
+ selectDrawing(id, keepSelection) {
1171
+ const index = this.getIndex(id);
1172
+ if (index != null) {
1173
+ this._selectDrawing(index, keepSelection);
1174
+ }
1175
+ }
1176
+ /**
1177
+ * Unselects series' drawing by its ID.
1178
+ *
1179
+ * @param id Drawing ID
1180
+ * @since 5.9.0
1181
+ */
1182
+ unselectDrawing(id) {
1183
+ const index = this.getIndex(id);
1184
+ if (index != null) {
1185
+ this._unselectDrawing(index);
1186
+ }
1187
+ }
1188
+ /**
1189
+ * Deletes all currently selected drawings on this series.
1190
+ *
1191
+ * @since 5.9.0
1192
+ */
1193
+ deleteSelected() {
1194
+ for (let i = this._selected.length - 1; i >= 0; i--) {
1195
+ this.disposeIndex(this._selected[i]);
1196
+ }
1197
+ }
1198
+ /**
1199
+ * Deletes a series' drawing by ids ID.
1200
+ *
1201
+ * @param id Drawing ID
1202
+ * @since 5.9.0
1203
+ */
1204
+ deleteDrawing(id) {
1205
+ const index = this.getIndex(id);
1206
+ if (index != null) {
1207
+ this.disposeIndex(index);
1208
+ }
1209
+ }
1210
+ /**
1211
+ * Cancels current drawing
1212
+ *
1213
+ * @since 5.9.0
1214
+ */
1215
+ cancelDrawing() {
1216
+ if (this._isDrawing) {
1217
+ this._disposeIndex(this._index);
1218
+ }
1219
+ this.isDrawing(false);
1220
+ }
801
1221
  }
802
1222
  Object.defineProperty(DrawingSeries, "className", {
803
1223
  enumerable: true,