@amcharts/amcharts5 5.8.7 → 5.9.1

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