@amcharts/amcharts5 5.6.1 → 5.7.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 (340) hide show
  1. package/.internal/charts/stock/StockChart.d.ts +22 -0
  2. package/.internal/charts/stock/StockChart.d.ts.map +1 -1
  3. package/.internal/charts/stock/StockChart.js +64 -12
  4. package/.internal/charts/stock/StockChart.js.map +1 -1
  5. package/.internal/charts/stock/StockChartDefaultTheme.d.ts.map +1 -1
  6. package/.internal/charts/stock/StockChartDefaultTheme.js +64 -2
  7. package/.internal/charts/stock/StockChartDefaultTheme.js.map +1 -1
  8. package/.internal/charts/stock/drawing/CalloutSeries.d.ts.map +1 -1
  9. package/.internal/charts/stock/drawing/CalloutSeries.js +36 -34
  10. package/.internal/charts/stock/drawing/CalloutSeries.js.map +1 -1
  11. package/.internal/charts/stock/drawing/DrawingSeries.d.ts +2 -0
  12. package/.internal/charts/stock/drawing/DrawingSeries.d.ts.map +1 -1
  13. package/.internal/charts/stock/drawing/DrawingSeries.js +4 -0
  14. package/.internal/charts/stock/drawing/DrawingSeries.js.map +1 -1
  15. package/.internal/charts/stock/drawing/IconSeries.d.ts +1 -1
  16. package/.internal/charts/stock/drawing/IconSeries.d.ts.map +1 -1
  17. package/.internal/charts/stock/drawing/IconSeries.js +35 -33
  18. package/.internal/charts/stock/drawing/IconSeries.js.map +1 -1
  19. package/.internal/charts/stock/drawing/LabelSeries.d.ts +1 -1
  20. package/.internal/charts/stock/drawing/LabelSeries.d.ts.map +1 -1
  21. package/.internal/charts/stock/drawing/LabelSeries.js +35 -29
  22. package/.internal/charts/stock/drawing/LabelSeries.js.map +1 -1
  23. package/.internal/charts/stock/drawing/ParallelChannelSeries.d.ts +1 -0
  24. package/.internal/charts/stock/drawing/ParallelChannelSeries.d.ts.map +1 -1
  25. package/.internal/charts/stock/drawing/ParallelChannelSeries.js +73 -0
  26. package/.internal/charts/stock/drawing/ParallelChannelSeries.js.map +1 -1
  27. package/.internal/charts/stock/drawing/PolylineSeries.d.ts +1 -3
  28. package/.internal/charts/stock/drawing/PolylineSeries.d.ts.map +1 -1
  29. package/.internal/charts/stock/drawing/PolylineSeries.js +34 -37
  30. package/.internal/charts/stock/drawing/PolylineSeries.js.map +1 -1
  31. package/.internal/charts/stock/indicators/AccumulationDistribution.d.ts.map +1 -1
  32. package/.internal/charts/stock/indicators/AccumulationDistribution.js +4 -3
  33. package/.internal/charts/stock/indicators/AccumulationDistribution.js.map +1 -1
  34. package/.internal/charts/stock/indicators/AccumulativeSwingIndex.d.ts.map +1 -1
  35. package/.internal/charts/stock/indicators/AccumulativeSwingIndex.js +4 -3
  36. package/.internal/charts/stock/indicators/AccumulativeSwingIndex.js.map +1 -1
  37. package/.internal/charts/stock/indicators/Aroon.d.ts.map +1 -1
  38. package/.internal/charts/stock/indicators/Aroon.js +8 -6
  39. package/.internal/charts/stock/indicators/Aroon.js.map +1 -1
  40. package/.internal/charts/stock/indicators/AwesomeOscillator.d.ts.map +1 -1
  41. package/.internal/charts/stock/indicators/AwesomeOscillator.js +6 -4
  42. package/.internal/charts/stock/indicators/AwesomeOscillator.js.map +1 -1
  43. package/.internal/charts/stock/indicators/BollingerBands.d.ts.map +1 -1
  44. package/.internal/charts/stock/indicators/BollingerBands.js +9 -7
  45. package/.internal/charts/stock/indicators/BollingerBands.js.map +1 -1
  46. package/.internal/charts/stock/indicators/ChaikinMoneyFlow.d.ts +2 -3
  47. package/.internal/charts/stock/indicators/ChaikinMoneyFlow.d.ts.map +1 -1
  48. package/.internal/charts/stock/indicators/ChaikinMoneyFlow.js +0 -6
  49. package/.internal/charts/stock/indicators/ChaikinMoneyFlow.js.map +1 -1
  50. package/.internal/charts/stock/indicators/ChaikinOscillator.js +2 -2
  51. package/.internal/charts/stock/indicators/ChaikinOscillator.js.map +1 -1
  52. package/.internal/charts/stock/indicators/ChartIndicator.d.ts.map +1 -1
  53. package/.internal/charts/stock/indicators/ChartIndicator.js.map +1 -1
  54. package/.internal/charts/stock/indicators/DisparityIndex.d.ts.map +1 -1
  55. package/.internal/charts/stock/indicators/DisparityIndex.js +4 -3
  56. package/.internal/charts/stock/indicators/DisparityIndex.js.map +1 -1
  57. package/.internal/charts/stock/indicators/Indicator.d.ts +2 -1
  58. package/.internal/charts/stock/indicators/Indicator.d.ts.map +1 -1
  59. package/.internal/charts/stock/indicators/Indicator.js +13 -8
  60. package/.internal/charts/stock/indicators/Indicator.js.map +1 -1
  61. package/.internal/charts/stock/indicators/MACD.js +1 -1
  62. package/.internal/charts/stock/indicators/MACD.js.map +1 -1
  63. package/.internal/charts/stock/indicators/MovingAverage.js +1 -1
  64. package/.internal/charts/stock/indicators/MovingAverage.js.map +1 -1
  65. package/.internal/charts/stock/indicators/MovingAverageDeviation.js +1 -1
  66. package/.internal/charts/stock/indicators/MovingAverageDeviation.js.map +1 -1
  67. package/.internal/charts/stock/indicators/MovingAverageEnvelope.js +1 -1
  68. package/.internal/charts/stock/indicators/MovingAverageEnvelope.js.map +1 -1
  69. package/.internal/charts/stock/indicators/OnBalanceVolume.d.ts +0 -1
  70. package/.internal/charts/stock/indicators/OnBalanceVolume.d.ts.map +1 -1
  71. package/.internal/charts/stock/indicators/OnBalanceVolume.js +0 -6
  72. package/.internal/charts/stock/indicators/OnBalanceVolume.js.map +1 -1
  73. package/.internal/charts/stock/indicators/OverboughtOversold.d.ts +0 -1
  74. package/.internal/charts/stock/indicators/OverboughtOversold.d.ts.map +1 -1
  75. package/.internal/charts/stock/indicators/OverboughtOversold.js +0 -8
  76. package/.internal/charts/stock/indicators/OverboughtOversold.js.map +1 -1
  77. package/.internal/charts/stock/indicators/RelativeStrengthIndex.js +1 -1
  78. package/.internal/charts/stock/indicators/RelativeStrengthIndex.js.map +1 -1
  79. package/.internal/charts/stock/indicators/StochasticMomentumIndex.js +1 -1
  80. package/.internal/charts/stock/indicators/StochasticMomentumIndex.js.map +1 -1
  81. package/.internal/charts/stock/indicators/StochasticOscillator.js +1 -1
  82. package/.internal/charts/stock/indicators/StochasticOscillator.js.map +1 -1
  83. package/.internal/charts/stock/indicators/Trix.js +1 -1
  84. package/.internal/charts/stock/indicators/Trix.js.map +1 -1
  85. package/.internal/charts/stock/indicators/VWAP.d.ts +0 -1
  86. package/.internal/charts/stock/indicators/VWAP.d.ts.map +1 -1
  87. package/.internal/charts/stock/indicators/VWAP.js +18 -22
  88. package/.internal/charts/stock/indicators/VWAP.js.map +1 -1
  89. package/.internal/charts/stock/indicators/Volume.js +1 -1
  90. package/.internal/charts/stock/indicators/Volume.js.map +1 -1
  91. package/.internal/charts/stock/indicators/VolumeProfile.d.ts +80 -0
  92. package/.internal/charts/stock/indicators/VolumeProfile.d.ts.map +1 -0
  93. package/.internal/charts/stock/indicators/VolumeProfile.js +452 -0
  94. package/.internal/charts/stock/indicators/VolumeProfile.js.map +1 -0
  95. package/.internal/charts/stock/toolbar/DataSaveControl.d.ts +73 -0
  96. package/.internal/charts/stock/toolbar/DataSaveControl.d.ts.map +1 -0
  97. package/.internal/charts/stock/toolbar/DataSaveControl.js +188 -0
  98. package/.internal/charts/stock/toolbar/DataSaveControl.js.map +1 -0
  99. package/.internal/charts/stock/toolbar/DrawingControl.d.ts.map +1 -1
  100. package/.internal/charts/stock/toolbar/DrawingControl.js.map +1 -1
  101. package/.internal/charts/stock/toolbar/Dropdown.d.ts.map +1 -1
  102. package/.internal/charts/stock/toolbar/Dropdown.js +5 -1
  103. package/.internal/charts/stock/toolbar/Dropdown.js.map +1 -1
  104. package/.internal/charts/stock/toolbar/DropdownList.d.ts +29 -0
  105. package/.internal/charts/stock/toolbar/DropdownList.d.ts.map +1 -1
  106. package/.internal/charts/stock/toolbar/DropdownList.js +19 -2
  107. package/.internal/charts/stock/toolbar/DropdownList.js.map +1 -1
  108. package/.internal/charts/stock/toolbar/DropdownListControl.d.ts +29 -0
  109. package/.internal/charts/stock/toolbar/DropdownListControl.d.ts.map +1 -1
  110. package/.internal/charts/stock/toolbar/DropdownListControl.js +2 -1
  111. package/.internal/charts/stock/toolbar/DropdownListControl.js.map +1 -1
  112. package/.internal/charts/stock/toolbar/IndicatorControl.d.ts +1 -1
  113. package/.internal/charts/stock/toolbar/IndicatorControl.d.ts.map +1 -1
  114. package/.internal/charts/stock/toolbar/IndicatorControl.js +10 -1
  115. package/.internal/charts/stock/toolbar/IndicatorControl.js.map +1 -1
  116. package/.internal/charts/stock/toolbar/PeriodSelector.js +1 -1
  117. package/.internal/charts/stock/toolbar/PeriodSelector.js.map +1 -1
  118. package/.internal/charts/stock/toolbar/SettingsControl.d.ts +21 -0
  119. package/.internal/charts/stock/toolbar/SettingsControl.d.ts.map +1 -1
  120. package/.internal/charts/stock/toolbar/SettingsControl.js +31 -3
  121. package/.internal/charts/stock/toolbar/SettingsControl.js.map +1 -1
  122. package/.internal/charts/stock/toolbar/StockControl.d.ts.map +1 -1
  123. package/.internal/charts/stock/toolbar/StockControl.js +1 -0
  124. package/.internal/charts/stock/toolbar/StockControl.js.map +1 -1
  125. package/.internal/charts/stock/toolbar/StockIcons.d.ts.map +1 -1
  126. package/.internal/charts/stock/toolbar/StockIcons.js +1 -0
  127. package/.internal/charts/stock/toolbar/StockIcons.js.map +1 -1
  128. package/.internal/charts/xy/XYCursor.d.ts +2 -1
  129. package/.internal/charts/xy/XYCursor.d.ts.map +1 -1
  130. package/.internal/charts/xy/XYCursor.js.map +1 -1
  131. package/.internal/charts/xy/axes/Axis.d.ts +5 -0
  132. package/.internal/charts/xy/axes/Axis.d.ts.map +1 -1
  133. package/.internal/charts/xy/axes/Axis.js +111 -109
  134. package/.internal/charts/xy/axes/Axis.js.map +1 -1
  135. package/.internal/charts/xy/axes/AxisRendererX.d.ts.map +1 -1
  136. package/.internal/charts/xy/axes/AxisRendererX.js +4 -1
  137. package/.internal/charts/xy/axes/AxisRendererX.js.map +1 -1
  138. package/.internal/charts/xy/axes/DateAxis.d.ts +1 -1
  139. package/.internal/charts/xy/axes/DateAxis.d.ts.map +1 -1
  140. package/.internal/charts/xy/axes/DateAxis.js +50 -38
  141. package/.internal/charts/xy/axes/DateAxis.js.map +1 -1
  142. package/.internal/charts/xy/axes/GaplessDateAxis.d.ts +13 -1
  143. package/.internal/charts/xy/axes/GaplessDateAxis.d.ts.map +1 -1
  144. package/.internal/charts/xy/axes/GaplessDateAxis.js +120 -48
  145. package/.internal/charts/xy/axes/GaplessDateAxis.js.map +1 -1
  146. package/.internal/charts/xy/axes/ValueAxis.js +1 -1
  147. package/.internal/charts/xy/axes/ValueAxis.js.map +1 -1
  148. package/.internal/charts/xy/series/XYSeries.d.ts +1 -0
  149. package/.internal/charts/xy/series/XYSeries.d.ts.map +1 -1
  150. package/.internal/charts/xy/series/XYSeries.js +4 -2
  151. package/.internal/charts/xy/series/XYSeries.js.map +1 -1
  152. package/.internal/core/Classes.d.ts +4 -0
  153. package/.internal/core/Classes.d.ts.map +1 -1
  154. package/.internal/core/Classes.js.map +1 -1
  155. package/.internal/core/Registry.js +1 -1
  156. package/.internal/core/Registry.js.map +1 -1
  157. package/.internal/core/render/Series.d.ts.map +1 -1
  158. package/.internal/core/render/Series.js +3 -0
  159. package/.internal/core/render/Series.js.map +1 -1
  160. package/.internal/core/render/SpriteResizer.d.ts +1 -1
  161. package/.internal/core/render/SpriteResizer.d.ts.map +1 -1
  162. package/.internal/core/render/SpriteResizer.js.map +1 -1
  163. package/.internal/core/render/backend/CanvasRenderer.d.ts +1 -0
  164. package/.internal/core/render/backend/CanvasRenderer.d.ts.map +1 -1
  165. package/.internal/core/render/backend/CanvasRenderer.js +4 -0
  166. package/.internal/core/render/backend/CanvasRenderer.js.map +1 -1
  167. package/.internal/core/render/backend/Renderer.d.ts +1 -0
  168. package/.internal/core/render/backend/Renderer.d.ts.map +1 -1
  169. package/.internal/core/render/backend/Renderer.js.map +1 -1
  170. package/.internal/core/util/Math.d.ts.map +1 -1
  171. package/.internal/core/util/Math.js +3 -1
  172. package/.internal/core/util/Math.js.map +1 -1
  173. package/.internal/core/util/Time.d.ts +5 -0
  174. package/.internal/core/util/Time.d.ts.map +1 -1
  175. package/.internal/core/util/Time.js +10 -0
  176. package/.internal/core/util/Time.js.map +1 -1
  177. package/.internal/core/util/Utils.d.ts +0 -8
  178. package/.internal/core/util/Utils.d.ts.map +1 -1
  179. package/.internal/core/util/Utils.js +0 -24
  180. package/.internal/core/util/Utils.js.map +1 -1
  181. package/.internal/plugins/json/Classes-script.d.ts +4 -0
  182. package/.internal/plugins/json/Classes-script.d.ts.map +1 -1
  183. package/.internal/plugins/json/Classes-script.js +2 -0
  184. package/.internal/plugins/json/Classes-script.js.map +1 -1
  185. package/.internal/plugins/json/Classes.d.ts +4 -0
  186. package/.internal/plugins/json/Classes.d.ts.map +1 -1
  187. package/.internal/plugins/json/Classes.js +2 -0
  188. package/.internal/plugins/json/Classes.js.map +1 -1
  189. package/.internal/plugins/json/Serializer.d.ts +6 -0
  190. package/.internal/plugins/json/Serializer.d.ts.map +1 -1
  191. package/.internal/plugins/json/Serializer.js +3 -2
  192. package/.internal/plugins/json/Serializer.js.map +1 -1
  193. package/CHANGELOG.md +42 -0
  194. package/examples/javascript/flow-arc-horizontal/package.json +1 -1
  195. package/examples/javascript/flow-arc-vertical/package.json +1 -1
  196. package/examples/javascript/flow-chord/package.json +1 -1
  197. package/examples/javascript/flow-chord-directed/package.json +1 -1
  198. package/examples/javascript/flow-chord-non-ribbon/package.json +1 -1
  199. package/examples/javascript/flow-sankey/package.json +1 -1
  200. package/examples/javascript/gauge/package.json +1 -1
  201. package/examples/javascript/gauge-bands/package.json +1 -1
  202. package/examples/javascript/hierarchy-force-directed/package.json +1 -1
  203. package/examples/javascript/hierarchy-pack/package.json +1 -1
  204. package/examples/javascript/hierarchy-partition/package.json +1 -1
  205. package/examples/javascript/hierarchy-sunburst/package.json +1 -1
  206. package/examples/javascript/hierarchy-tree/package.json +1 -1
  207. package/examples/javascript/hierarchy-treemap/package.json +1 -1
  208. package/examples/javascript/hierarchy-voronoi-treemap/package.json +1 -1
  209. package/examples/javascript/jest/package.json +1 -1
  210. package/examples/javascript/json-pie/package.json +1 -1
  211. package/examples/javascript/json-xy/package.json +1 -1
  212. package/examples/javascript/map-animating-along-lines/package.json +1 -1
  213. package/examples/javascript/map-clustered-points/package.json +1 -1
  214. package/examples/javascript/map-day-and-night/package.json +1 -1
  215. package/examples/javascript/map-globe-rotate-to-country/package.json +1 -1
  216. package/examples/javascript/map-globe-with-projected-circles/package.json +1 -1
  217. package/examples/javascript/map-with-bubbles/package.json +1 -1
  218. package/examples/javascript/map-zoom-to-country/package.json +1 -1
  219. package/examples/javascript/misc-40-charts/package.json +1 -1
  220. package/examples/javascript/misc-microchart-grid/package.json +1 -1
  221. package/examples/javascript/pie-chart/package.json +1 -1
  222. package/examples/javascript/pie-donut-chart/package.json +1 -1
  223. package/examples/javascript/pie-variable-radius/package.json +1 -1
  224. package/examples/javascript/radar-column-iwatch-style/package.json +1 -1
  225. package/examples/javascript/radar-heat-map/package.json +1 -1
  226. package/examples/javascript/radar-line/package.json +1 -1
  227. package/examples/javascript/radar-time-line/package.json +1 -1
  228. package/examples/javascript/sliced-funnel/package.json +1 -1
  229. package/examples/javascript/sliced-pictorial-stacked/package.json +1 -1
  230. package/examples/javascript/sliced-pyramid/package.json +1 -1
  231. package/examples/javascript/stock-chart/package.json +1 -1
  232. package/examples/javascript/stock-chart-comparing-stocks/package.json +1 -1
  233. package/examples/javascript/stock-chart-data-granularity/package.json +1 -1
  234. package/examples/javascript/stock-chart-data-grouping/package.json +1 -1
  235. package/examples/javascript/stock-chart-intraday/package.json +1 -1
  236. package/examples/javascript/stock-chart-live/package.json +1 -1
  237. package/examples/javascript/stock-chart-volume-separate-panel/package.json +1 -1
  238. package/examples/javascript/venn-diagram/package.json +1 -1
  239. package/examples/javascript/wordcloud-with-data/package.json +1 -1
  240. package/examples/javascript/wordcloud-with-text/package.json +1 -1
  241. package/examples/javascript/xy-100-percent-stacked-column/package.json +1 -1
  242. package/examples/javascript/xy-animated-bullet-at-the-end-of-the-series/package.json +1 -1
  243. package/examples/javascript/xy-bubble/package.json +1 -1
  244. package/examples/javascript/xy-candlestick/package.json +1 -1
  245. package/examples/javascript/xy-clustered-column/package.json +1 -1
  246. package/examples/javascript/xy-column/package.json +1 -1
  247. package/examples/javascript/xy-comparing-series-google-analytics-style/package.json +1 -1
  248. package/examples/javascript/xy-data-grouping/package.json +1 -1
  249. package/examples/javascript/xy-draggable-range/package.json +1 -1
  250. package/examples/javascript/xy-drawing-series-with-mouse-or-touch/package.json +1 -1
  251. package/examples/javascript/xy-dumbbell plot/package.json +1 -1
  252. package/examples/javascript/xy-evenly-spaced-date-axis/package.json +1 -1
  253. package/examples/javascript/xy-line/package.json +1 -1
  254. package/examples/javascript/xy-line-highlight-on-legend-hover/package.json +1 -1
  255. package/examples/javascript/xy-live-data/package.json +1 -1
  256. package/examples/javascript/xy-multiple-synced-value-axes/package.json +1 -1
  257. package/examples/javascript/xy-ohlc/package.json +1 -1
  258. package/examples/javascript/xy-real-time-data-sorting/package.json +1 -1
  259. package/examples/javascript/xy-smoothed-line/package.json +1 -1
  260. package/examples/javascript/xy-stacked-and-clustered-column/package.json +1 -1
  261. package/examples/javascript/xy-stacked-column/package.json +1 -1
  262. package/examples/javascript/xy-stacked-step/package.json +1 -1
  263. package/examples/javascript/xy-stock/package.json +1 -1
  264. package/examples/javascript/xy-stock-comparing/package.json +1 -1
  265. package/examples/typescript/flow-arc-horizontal/package.json +1 -1
  266. package/examples/typescript/flow-arc-vertical/package.json +1 -1
  267. package/examples/typescript/flow-chord/package.json +1 -1
  268. package/examples/typescript/flow-chord-directed/package.json +1 -1
  269. package/examples/typescript/flow-chord-non-ribbon/package.json +1 -1
  270. package/examples/typescript/flow-sankey/package.json +1 -1
  271. package/examples/typescript/gauge/package.json +1 -1
  272. package/examples/typescript/gauge-bands/package.json +1 -1
  273. package/examples/typescript/hierarchy-force-directed/package.json +1 -1
  274. package/examples/typescript/hierarchy-pack/package.json +1 -1
  275. package/examples/typescript/hierarchy-partition/package.json +1 -1
  276. package/examples/typescript/hierarchy-sunburst/package.json +1 -1
  277. package/examples/typescript/hierarchy-tree/package.json +1 -1
  278. package/examples/typescript/hierarchy-treemap/package.json +1 -1
  279. package/examples/typescript/hierarchy-voronoi-treemap/package.json +1 -1
  280. package/examples/typescript/jest/package.json +1 -1
  281. package/examples/typescript/json-pie/package.json +1 -1
  282. package/examples/typescript/json-xy/package.json +1 -1
  283. package/examples/typescript/map-animating-along-lines/package.json +1 -1
  284. package/examples/typescript/map-clustered-points/package.json +1 -1
  285. package/examples/typescript/map-day-and-night/package.json +1 -1
  286. package/examples/typescript/map-globe-rotate-to-country/package.json +1 -1
  287. package/examples/typescript/map-globe-with-projected-circles/package.json +1 -1
  288. package/examples/typescript/map-with-bubbles/package.json +1 -1
  289. package/examples/typescript/map-zoom-to-country/package.json +1 -1
  290. package/examples/typescript/misc-40-charts/package.json +1 -1
  291. package/examples/typescript/misc-microchart-grid/package.json +1 -1
  292. package/examples/typescript/pie-chart/package.json +1 -1
  293. package/examples/typescript/pie-donut-chart/package.json +1 -1
  294. package/examples/typescript/pie-variable-radius/package.json +1 -1
  295. package/examples/typescript/radar-column-iwatch-style/package.json +1 -1
  296. package/examples/typescript/radar-heat-map/package.json +1 -1
  297. package/examples/typescript/radar-line/package.json +1 -1
  298. package/examples/typescript/radar-time-line/package.json +1 -1
  299. package/examples/typescript/sliced-funnel/package.json +1 -1
  300. package/examples/typescript/sliced-pictorial-stacked/package.json +1 -1
  301. package/examples/typescript/sliced-pyramid/package.json +1 -1
  302. package/examples/typescript/stock-chart/package.json +1 -1
  303. package/examples/typescript/stock-chart-comparing-stocks/package.json +1 -1
  304. package/examples/typescript/stock-chart-data-granularity/package.json +1 -1
  305. package/examples/typescript/stock-chart-data-grouping/package.json +1 -1
  306. package/examples/typescript/stock-chart-intraday/package.json +1 -1
  307. package/examples/typescript/stock-chart-live/package.json +1 -1
  308. package/examples/typescript/stock-chart-volume-separate-panel/package.json +1 -1
  309. package/examples/typescript/venn-diagram/package.json +1 -1
  310. package/examples/typescript/wordcloud-with-data/package.json +1 -1
  311. package/examples/typescript/wordcloud-with-text/package.json +1 -1
  312. package/examples/typescript/xy-100-percent-stacked-column/package.json +1 -1
  313. package/examples/typescript/xy-animated-bullet-at-the-end-of-the-series/package.json +1 -1
  314. package/examples/typescript/xy-bubble/package.json +1 -1
  315. package/examples/typescript/xy-candlestick/package.json +1 -1
  316. package/examples/typescript/xy-clustered-column/package.json +1 -1
  317. package/examples/typescript/xy-column/package.json +1 -1
  318. package/examples/typescript/xy-comparing-series-google-analytics-style/package.json +1 -1
  319. package/examples/typescript/xy-data-grouping/package.json +1 -1
  320. package/examples/typescript/xy-draggable-range/package.json +1 -1
  321. package/examples/typescript/xy-drawing-series-with-mouse-or-touch/package.json +1 -1
  322. package/examples/typescript/xy-dumbbell plot/package.json +1 -1
  323. package/examples/typescript/xy-evenly-spaced-date-axis/package.json +1 -1
  324. package/examples/typescript/xy-line/package.json +1 -1
  325. package/examples/typescript/xy-line-highlight-on-legend-hover/package.json +1 -1
  326. package/examples/typescript/xy-live-data/package.json +1 -1
  327. package/examples/typescript/xy-multiple-synced-value-axes/package.json +1 -1
  328. package/examples/typescript/xy-ohlc/package.json +1 -1
  329. package/examples/typescript/xy-real-time-data-sorting/package.json +1 -1
  330. package/examples/typescript/xy-smoothed-line/package.json +1 -1
  331. package/examples/typescript/xy-stacked-and-clustered-column/package.json +1 -1
  332. package/examples/typescript/xy-stacked-column/package.json +1 -1
  333. package/examples/typescript/xy-stacked-step/package.json +1 -1
  334. package/examples/typescript/xy-stock/package.json +1 -1
  335. package/examples/typescript/xy-stock-comparing/package.json +1 -1
  336. package/package.json +1 -1
  337. package/stock.d.ts +2 -0
  338. package/stock.d.ts.map +1 -1
  339. package/stock.js +2 -0
  340. package/stock.js.map +1 -1
@@ -65,8 +65,9 @@ export interface IXYCursorSettings extends IContainerSettings {
65
65
  * Defines in which direction to look when searching for the nearest data
66
66
  * item to snap to.
67
67
  *
68
- * Possible values: `"xy"` (default), `"x"`, and `"y"`.
68
+ * Possible values: `"xy"` (default), `"x"`, `"y"`, `"x!"`, `"y!"`.
69
69
  *
70
+ * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/cursor/#snapping-to-series} for more info
70
71
  * @since 5.0.6
71
72
  * @default "xy"
72
73
  */
@@ -1 +1 @@
1
- {"version":3,"file":"XYCursor.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/charts/xy/XYCursor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACxC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AAEzD,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAEjH,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AACtD,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAQnC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AAExE,MAAM,WAAW,iBAAkB,SAAQ,kBAAkB;IAE5D;;;;OAIG;IACH,KAAK,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;IAE3B;;;;OAIG;IACH,KAAK,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;IAE3B;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,UAAU,GAAG,MAAM,CAAC;IAEtF;;;;;;;OAOG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;;;;OAOG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;;OAKG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB;;;;;OAKG;IACH,YAAY,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;IAE/B;;;;;;;;OAQG;IACH,cAAc,CAAC,EAAE,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,CAAC;IAEhD;;;;;;;;;;;;;;OAcG;IACH,QAAQ,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;IAE3B;;;;;;;;OAQG;IACH,aAAa,CAAC,EAAE,MAAM,CAAA;CAEtB;AAGD,MAAM,WAAW,gBAAiB,SAAQ,iBAAiB;IAE1D;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,eAAgB,SAAQ,gBAAgB;IAExD;;;;OAIG;IACH,WAAW,EAAE;QACZ,aAAa,EAAE,aAAa,CAAC;QAC7B,MAAM,EAAE,QAAQ,CAAA;KAChB,CAAC;IAEF;;;;OAIG;IACH,aAAa,EAAE;QACd,aAAa,EAAE,aAAa,CAAC;QAC7B,MAAM,EAAE,QAAQ,CAAA;KAChB,CAAC;IAEF;;OAEG;IACH,WAAW,EAAE;QACZ,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,QAAQ,CAAC;QACjB,aAAa,CAAC,EAAE,aAAa,CAAA;KAC7B,CAAC;IAEF;;OAEG;IACH,YAAY,EAAE;QACb,MAAM,EAAE,QAAQ,CAAA;KAChB,CAAC;IAEF;;;;;OAKG;IACH,eAAe,EAAE;QAChB,aAAa,EAAE,aAAa,CAAC;QAC7B,MAAM,EAAE,QAAQ,CAAA;KAChB,CAAC;CAEF;AAED;;;;;GAKG;AACH,qBAAa,QAAS,SAAQ,SAAS;IACtC,OAAc,SAAS,EAAE,MAAM,CAAc;IAC7C,OAAc,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAAqD;IAE7E,SAAS,EAAE,iBAAiB,CAAC;IAC7B,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,OAAO,EAAE,eAAe,CAAC;IAExC;;;;OAIG;IACH,SAAgB,KAAK,EAAE,IAAI,CAEvB;IAEJ;;;;OAIG;IACH,SAAgB,KAAK,EAAE,IAAI,CAEvB;IAEJ;;;;OAIG;IACH,SAAgB,SAAS,EAAE,QAAQ,CAE/B;IAEJ,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IACzC,SAAS,CAAC,UAAU,EAAE,MAAM,CAAkB;IAE9C,SAAS,CAAC,SAAS,EAAE,OAAO,CAAS;IACrC,SAAS,CAAC,SAAS,EAAE,OAAO,CAAS;IAErC;;OAEG;IACI,KAAK,EAAE,OAAO,GAAG,SAAS,CAAC;IAElC,SAAS,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAExB,SAAS,CAAC,SAAS;IAiCnB,SAAS,CAAC,WAAW,IAAI,IAAI;IAO7B,SAAS,CAAC,YAAY;IAStB,SAAS,CAAC,YAAY;IAStB,SAAS,CAAC,eAAe,CAAC,OAAO,EAAE,MAAM;IA6CzC,SAAS,CAAC,gBAAgB,CAAC,KAAK,EAAE,IAAI;IAQtC,SAAS,CAAC,eAAe,CAAC,KAAK,EAAE,IAAI;IAQ9B,gBAAgB;IAsCvB,SAAS,CAAC,eAAe;IAiBlB,eAAe;IAkBtB,SAAS,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO;IAQvC,SAAS,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO;IAQvC,SAAS,CAAC,UAAU;IAWb,YAAY;IAOZ,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;IAmDtC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAQzC,SAAS,CAAC,iBAAiB,CAAC,KAAK,EAAE,mBAAmB;IA+BtD,SAAS,CAAC,eAAe,CAAC,KAAK,EAAE,mBAAmB;IA8CpD,SAAS,CAAC,WAAW,CAAC,KAAK,EAAE,mBAAmB;IA0BhD,SAAS,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAI7C;;;;;;;;OAQG;IACI,UAAU,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,OAAO,EAAE,aAAa,CAAC,EAAE,aAAa;IAwGpF,SAAS,CAAC,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM;IAKjE,SAAS,CAAC,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM;IAW3C,SAAS,CAAC,gBAAgB,CAAC,KAAK,EAAE,MAAM;IAkDxC,SAAS,CAAC,OAAO;IAmBjB,SAAS,CAAC,OAAO;IAejB,SAAS,CAAC,QAAQ;CAIlB"}
1
+ {"version":3,"file":"XYCursor.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/charts/xy/XYCursor.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"XYCursor.js","sourceRoot":"","sources":["../../../../../src/.internal/charts/xy/XYCursor.ts"],"names":[],"mappings":"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","sourcesContent":["import type { IPoint } from \"../../core/util/IPoint\";\nimport type { XYChart } from \"./XYChart\"\nimport type { XYSeries } from \"./series/XYSeries\";\nimport type { ISpritePointerEvent } from \"../../core/render/Sprite\";\nimport type { Axis } from \"./axes/Axis\";\nimport type { AxisRenderer } from \"./axes/AxisRenderer\";\nimport type { Tooltip } from \"../../core/render/Tooltip\";\n\nimport { Container, IContainerSettings, IContainerPrivate, IContainerEvents } from \"../../core/render/Container\";\nimport { p100 } from \"../../core/util/Percent\";\nimport { Graphics } from \"../../core/render/Graphics\";\nimport { Grid } from \"./axes/Grid\";\n//import { Animations } from \"../core/util/Animation\";\n\nimport * as $type from \"../../core/util/Type\";\nimport * as $utils from \"../../core/util/Utils\";\nimport * as $math from \"../../core/util/Math\";\nimport * as $array from \"../../core/util/Array\";\nimport * as $object from \"../../core/util/Object\";\nimport type { IPointerEvent } from \"../../core/render/backend/Renderer\";\n\nexport interface IXYCursorSettings extends IContainerSettings {\n\n\t/**\n\t * Cursor's X axis.\n\t *\n\t * If set, cursor will snap to that axis' cells.\n\t */\n\txAxis?: Axis<AxisRenderer>;\n\n\t/**\n\t * Cursor's Y axis.\n\t *\n\t * If set, cursor will snap to that axis' cells.\n\t */\n\tyAxis?: Axis<AxisRenderer>;\n\n\t/**\n\t * What should cursor do when dragged across plot area.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/cursor/#Behavior} for more info\n\t * @default \"none\"\n\t */\n\tbehavior?: \"zoomX\" | \"zoomY\" | \"zoomXY\" | \"selectX\" | \"selectY\" | \"selectXY\" | \"none\";\n\n\t/**\n\t * Cursor's horizontal position relative to plot area.\n\t *\n\t * If this setting is set, cursor will not react to mouse/touch and will just\n\t * sit at specified position until `positionX` is reset to `undefined`.\n\t *\n\t * `0` - left, `1` - right.\n\t */\n\tpositionX?: number;\n\n\t/**\n\t * Cursor's vertical position relative to plot area.\n\t *\n\t * If this setting is set, cursor will not react to mouse/touch and will just\n\t * sit at specified position until `positionY` is reset to `undefined`.\n\t *\n\t * `0` - left, `1` - right.\n\t */\n\tpositionY?: number;\n\n\t/**\n\t * If set to `true`, cursor will not be hidden when mouse cursor moves out\n\t * of the plot area.\n\t *\n\t * @default false\n\t */\n\talwaysShow?: boolean;\n\n\t/**\n\t * A list of series to snap cursor to.\n\t *\n\t * If set, the cursor will always snap to the closest data item of listed\n\t * series.\n\t */\n\tsnapToSeries?: Array<XYSeries>;\n\n\t/**\n\t * Defines in which direction to look when searching for the nearest data\n\t * item to snap to.\n\t *\n\t * Possible values: `\"xy\"` (default), `\"x\"`, and `\"y\"`.\n\t *\n\t * @since 5.0.6\n\t * @default \"xy\"\n\t */\n\tsnapToSeriesBy?: \"xy\" | \"x\" | \"y\" | \"x!\" | \"y!\";\n\n\t/**\n\t * An array of other [[XYCursor]] objects to sync this cursor with.\n\t *\n\t * If set will automatically move synced cursors to the same position within\n\t * their respective axes as the this cursor assumin same XY coordinates of\n\t * the pointer.\n\t *\n\t * NOTE: Syncing is performed using actual X/Y coordinates of the point of\n\t * mouse cursor's position or touch. It means that they will not sync by axis\n\t * positions, but rather by screen coordinates. For example vertical lines\n\t * will not sync across horizontally laid out charts, and vice versa.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/cursor/#syncing-cursors} for more info\n\t * @since 5.1.4\n\t */\n\tsyncWith?: Array<XYCursor>;\n\n\t/**\n\t * Minimum distance in pixels between down and up points.\n\t *\n\t * If a distance is less than the value of `moveThreshold`, the zoom or\n\t * selection won't happen.\n\t *\n\t * @since 5.2.20\n\t * @default 1\n\t */\n\tmoveThreshold?: number\n\n}\n\n\nexport interface IXYCursorPrivate extends IContainerPrivate {\n\n\t/**\n\t * Current X/Y coordinates of the cursor.\n\t */\n\tpoint?: IPoint;\n\n\t/**\n\t * Current horizontal position relative to the plot area (0-1).\n\t */\n\tpositionX?: number;\n\n\t/**\n\t * Current vertical position relative to the plot area (0-1).\n\t */\n\tpositionY?: number;\n\n\t/**\n\t * Horizontal cursor position on the moment when selection started.\n\t */\n\tdownPositionX?: number;\n\n\t/**\n\t * Vertical cursor position on the moment when selection started.\n\t */\n\tdownPositionY?: number;\n\n\t/**\n\t * Last global point to which cursor moved\n\t */\n\tlastPoint?: IPoint;\n}\n\nexport interface IXYCursorEvents extends IContainerEvents {\n\n\t/**\n\t * Kicks in when cursor selection ends.\n\t *\n\t * Only when `behavior` is set.\n\t */\n\tselectended: {\n\t\toriginalEvent: IPointerEvent,\n\t\ttarget: XYCursor\n\t};\n\n\t/**\n\t * Kicks in when cursor selection starts.\n\t *\n\t * Only when `behavior` is set.\n\t */\n\tselectstarted: {\n\t\toriginalEvent: IPointerEvent,\n\t\ttarget: XYCursor\n\t};\n\n\t/**\n\t * Kicks in when cursor's position over plot area changes.\n\t */\n\tcursormoved: {\n\t\tpoint: IPoint,\n\t\ttarget: XYCursor,\n\t\toriginalEvent?: IPointerEvent\n\t};\n\n\t/**\n\t * Kicks in when cursor's is hidden when user rolls-out of the plot area\n\t */\n\tcursorhidden: {\n\t\ttarget: XYCursor\n\t};\n\n\t/**\n\t * Invoked if pointer is pressed down on a plot area and released without\n\t * moving (only when behavior is `\"selectX\"`).\n\t *\n\t * @since 5.4.7\n\t */\n\tselectcancelled: {\n\t\toriginalEvent: IPointerEvent,\n\t\ttarget: XYCursor\n\t};\n\n}\n\n/**\n * Creates a chart cursor for an [[XYChart]].\n *\n * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/cursor/} for more info\n * @important\n */\nexport class XYCursor extends Container {\n\tpublic static className: string = \"XYCursor\";\n\tpublic static classNames: Array<string> = Container.classNames.concat([XYCursor.className]);\n\n\tdeclare public _settings: IXYCursorSettings;\n\tdeclare public _privateSettings: IXYCursorPrivate;\n\tdeclare public _events: IXYCursorEvents;\n\n\t/**\n\t * A [[Grid]] elment that used for horizontal line of the cursor crosshair.\n\t *\n\t * @default Grid.new()\n\t */\n\tpublic readonly lineX: Grid = this.children.push(Grid.new(this._root, {\n\t\tthemeTags: [\"x\"]\n\t}));\n\n\t/**\n\t * A [[Grid]] elment that used for horizontal line of the cursor crosshair.\n\t *\n\t * @default Grid.new()\n\t */\n\tpublic readonly lineY: Grid = this.children.push(Grid.new(this._root, {\n\t\tthemeTags: [\"y\"]\n\t}));\n\n\t/**\n\t * An element that represents current selection.\n\t *\n\t * @default Graphics.new()\n\t */\n\tpublic readonly selection: Graphics = this.children.push(Graphics.new(this._root, {\n\t\tthemeTags: [\"selection\", \"cursor\"], layer: 30\n\t}));\n\n\tprotected _movePoint: IPoint | undefined;\n\tprotected _lastPoint: IPoint = { x: 0, y: 0 };\n\n\tprotected _tooltipX: boolean = false;\n\tprotected _tooltipY: boolean = false;\n\n\t/**\n\t * A chart cursor is attached to.\n\t */\n\tpublic chart: XYChart | undefined;\n\n\tprotected _toX?: number;\n\tprotected _toY?: number;\n\n\tprotected _afterNew() {\n\t\tthis._settings.themeTags = $utils.mergeTags(this._settings.themeTags, [\"xy\", \"cursor\"]);\n\t\tsuper._afterNew();\n\t\tthis.setAll({ \"width\": p100, height: p100, isMeasured: true, position: \"absolute\" });\n\t\tthis.states.create(\"hidden\", { visible: true, opacity: 0 });\n\t\tthis._drawLines();\n\t\tthis.setPrivateRaw(\"visible\", false);\n\n\t\tthis._disposers.push(this.setTimeout(() => {\n\t\t\tthis.setPrivate(\"visible\", true)\n\t\t}, 500));\n\n\t\tthis._disposers.push(this.lineX.events.on(\"positionchanged\", () => {\n\t\t\tthis._handleXLine();\n\t\t}));\n\n\t\tthis._disposers.push(this.lineY.events.on(\"positionchanged\", () => {\n\t\t\tthis._handleYLine();\n\t\t}));\n\n\t\tthis._disposers.push(this.lineX.events.on(\"focus\", (ev) => this._handleLineFocus(ev.target)));\n\t\tthis._disposers.push(this.lineX.events.on(\"blur\", (ev) => this._handleLineBlur(ev.target)));\n\n\t\tthis._disposers.push(this.lineY.events.on(\"focus\", (ev) => this._handleLineFocus(ev.target)));\n\t\tthis._disposers.push(this.lineY.events.on(\"blur\", (ev) => this._handleLineBlur(ev.target)));\n\n\t\tif ($utils.supports(\"keyboardevents\")) {\n\t\t\tthis._disposers.push($utils.addEventListener(document, \"keydown\", (ev: KeyboardEvent) => {\n\t\t\t\tthis._handleLineMove(ev.keyCode);\n\t\t\t}));\n\t\t}\n\t}\n\n\tprotected _setUpTouch(): void {\n\t\tconst chart = this.chart;\n\t\tif (chart) {\n\t\t\tchart.plotContainer._display.cancelTouch = this.get(\"behavior\") != \"none\" ? true : false;\n\t\t}\n\t}\n\n\tprotected _handleXLine() {\n\t\tlet x = this.lineX.x();\n\t\tlet visible = true;\n\t\tif (x < 0 || x > this.width()) {\n\t\t\tvisible = false;\n\t\t}\n\t\tthis.lineX.setPrivate(\"visible\", visible);\n\t}\n\n\tprotected _handleYLine() {\n\t\tlet y = this.lineY.y();\n\t\tlet visible = true;\n\t\tif (y < 0 || y > this.height()) {\n\t\t\tvisible = false;\n\t\t}\n\t\tthis.lineY.setPrivate(\"visible\", visible);\n\t}\n\n\tprotected _handleLineMove(keyCode: number) {\n\t\tlet dir: any = \"\";\n\t\tlet position = 0;\n\t\tlet increment = 0.1;\n\t\tconst chart = this.chart;\n\n\t\tif (this._root.focused(this.lineX)) {\n\t\t\tif (chart && chart.xAxes.length) {\n\t\t\t\tincrement = chart.xAxes.getIndex(0)!.getCellWidthPosition();\n\t\t\t}\n\t\t\tposition = this.getPrivate(\"positionX\", 0);\n\t\t\tdir = \"positionX\";\n\t\t\tif (keyCode == 37) {\n\t\t\t\tposition -= increment;\n\t\t\t}\n\t\t\telse if (keyCode == 39) {\n\t\t\t\tposition += increment;\n\t\t\t}\n\t\t}\n\t\telse if (this._root.focused(this.lineY)) {\n\t\t\tif (chart && chart.yAxes.length) {\n\t\t\t\tincrement = chart.yAxes.getIndex(0)!.getCellWidthPosition();\n\t\t\t}\n\t\t\tposition = this.getPrivate(\"positionY\", 0);\n\t\t\tdir = \"positionY\";\n\t\t\tif (keyCode == 38) {\n\t\t\t\tposition -= increment;\n\t\t\t}\n\t\t\telse if (keyCode == 40) {\n\t\t\t\tposition += increment;\n\t\t\t}\n\t\t}\n\n\t\tif (position < 0) {\n\t\t\tposition = 0;\n\t\t}\n\t\telse if (position > 1) {\n\t\t\tposition = 1;\n\t\t}\n\n\t\tif (dir != \"\") {\n\t\t\tthis.set(dir, position);\n\t\t}\n\t}\n\n\tprotected _handleLineFocus(_line: Grid) {\n\t\tthis.setAll({\n\t\t\tpositionX: this.getPrivate(\"positionX\"),\n\t\t\tpositionY: this.getPrivate(\"positionY\"),\n\t\t\talwaysShow: true\n\t\t});\n\t}\n\n\tprotected _handleLineBlur(_line: Grid) {\n\t\tthis.setAll({\n\t\t\tpositionX: undefined,\n\t\t\tpositionY: undefined,\n\t\t\talwaysShow: false\n\t\t});\n\t}\n\n\tpublic _prepareChildren() {\n\t\tsuper._prepareChildren();\n\n\t\tif (this.isDirty(\"xAxis\")) {\n\t\t\tthis._tooltipX = false;\n\t\t\tconst xAxis = this.get(\"xAxis\");\n\n\t\t\tif (xAxis) {\n\t\t\t\tconst tooltip = xAxis.get(\"tooltip\");\n\t\t\t\tif (tooltip) {\n\t\t\t\t\tthis._tooltipX = true;\n\t\t\t\t\tthis._disposers.push(\n\t\t\t\t\t\ttooltip.on(\"pointTo\", () => {\n\t\t\t\t\t\t\tthis._updateXLine(tooltip);\n\t\t\t\t\t\t})\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (this.isDirty(\"yAxis\")) {\n\t\t\tthis._tooltipY = false;\n\t\t\tconst yAxis = this.get(\"yAxis\");\n\n\t\t\tif (yAxis) {\n\t\t\t\tconst tooltip = yAxis.get(\"tooltip\");\n\t\t\t\tif (tooltip) {\n\t\t\t\t\tthis._tooltipY = true;\n\t\t\t\t\tthis._disposers.push(\n\t\t\t\t\t\ttooltip.on(\"pointTo\", () => {\n\t\t\t\t\t\t\tthis._updateYLine(tooltip);\n\t\t\t\t\t\t})\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected _handleSyncWith() {\n\t\tconst chart = this.chart;\n\t\tif (chart) {\n\t\t\tconst syncWith = this.get(\"syncWith\");\n\t\t\tconst otherCharts: Array<XYChart> = [];\n\t\t\tif (syncWith) {\n\t\t\t\t$array.each(syncWith, (cursor) => {\n\t\t\t\t\tconst chart = cursor.chart;\n\t\t\t\t\tif (chart) {\n\t\t\t\t\t\totherCharts.push(chart)\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t}\n\t\t\tchart._otherCharts = otherCharts;\n\t\t}\n\t}\n\n\tpublic _updateChildren() {\n\t\tsuper._updateChildren();\n\t\tthis._handleSyncWith();\n\n\t\tif (this.isDirty(\"positionX\") || this.isDirty(\"positionY\")) {\n\t\t\tconst positionX = this.get(\"positionX\");\n\t\t\tconst positionY = this.get(\"positionY\");\n\n\t\t\tif (positionX == null && positionY == null) {\n\t\t\t\tthis.hide(0);\n\t\t\t}\n\t\t\telse {\n\t\t\t\tthis._movePoint = this.toGlobal(this._getPoint(this.get(\"positionX\", 0), this.get(\"positionY\", 0)));\n\t\t\t\tthis.handleMove();\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected _updateXLine(tooltip: Tooltip) {\n\t\tlet x = $math.round(this._display.toLocal(tooltip.get(\"pointTo\", { x: 0, y: 0 })).x, 2);\n\t\tif (this._toX != x) {\n\t\t\tthis.lineX.animate({ key: \"x\", to: x, duration: tooltip.get(\"animationDuration\", 0), easing: tooltip.get(\"animationEasing\") });\n\t\t\tthis._toX = x;\n\t\t}\n\t}\n\n\tprotected _updateYLine(tooltip: Tooltip) {\n\t\tlet y = $math.round(this._display.toLocal(tooltip.get(\"pointTo\", { x: 0, y: 0 })).y, 2);\n\t\tif (this._toY != y) {\n\t\t\tthis.lineY.animate({ key: \"y\", to: y, duration: tooltip.get(\"animationDuration\", 0), easing: tooltip.get(\"animationEasing\") });\n\t\t\tthis._toY = y;\n\t\t}\n\t}\n\n\tprotected _drawLines() {\n\t\tthis.lineX.set(\"draw\", (display) => {\n\t\t\tdisplay.moveTo(0, 0);\n\t\t\tdisplay.lineTo(0, this.height());\n\t\t})\n\t\tthis.lineY.set(\"draw\", (display) => {\n\t\t\tdisplay.moveTo(0, 0);\n\t\t\tdisplay.lineTo(this.width(), 0);\n\t\t})\n\t}\n\n\tpublic updateCursor() {\n\t\tif (this.get(\"alwaysShow\")) {\n\t\t\tthis._movePoint = this.toGlobal(this._getPoint(this.get(\"positionX\", 0), this.get(\"positionY\", 0)));\n\t\t}\n\t\tthis.handleMove();\n\t}\n\n\tpublic _setChart(chart: XYChart): void {\n\t\tthis.chart = chart;\n\n\t\tthis._handleSyncWith();\n\n\t\tconst plotContainer = chart.plotContainer;\n\n\t\tthis.events.on(\"boundschanged\", () => {\n\t\t\tthis._disposers.push(this.setTimeout(() => {\n\t\t\t\tthis.updateCursor();\n\t\t\t}, 50))\n\t\t})\n\n\t\t//this._display.interactive = true;\n\t\tif ($utils.supports(\"touchevents\")) {\n\t\t\tthis._disposers.push(plotContainer.events.on(\"click\", (event) => {\n\t\t\t\tif ($utils.isTouchEvent(event.originalEvent)) {\n\t\t\t\t\tthis._handleMove(event);\n\t\t\t\t}\n\t\t\t}));\n\t\t\tthis._setUpTouch();\n\t\t}\n\n\t\tthis._disposers.push(plotContainer.events.on(\"pointerdown\", (event) => {\n\t\t\tthis._handleCursorDown(event);\n\t\t}));\n\n\t\tthis._disposers.push(plotContainer.events.on(\"globalpointerup\", (event) => {\n\t\t\tthis._handleCursorUp(event);\n\t\t\tif (!event.native && !this.isHidden()) {\n\t\t\t\tthis._handleMove(event);\n\t\t\t}\n\t\t}));\n\n\t\tthis._disposers.push(plotContainer.events.on(\"globalpointermove\", (event) => {\n\t\t\tif (!this.get(\"syncWith\")) {\n\t\t\t\tif ($object.keys(plotContainer._downPoints).length == 0 && !event.native && this.isHidden()) {\n\t\t\t\t\t// Ignore mouse movement if it originates on outside element and\n\t\t\t\t\t// we're not dragging.\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis._handleMove(event);\n\t\t}));\n\n\t\tconst parent = this.parent;\n\t\tif (parent) {\n\t\t\tparent.children.moveValue(this.selection);\n\t\t}\n\t}\n\n\tprotected _inPlot(point: IPoint): boolean {\n\t\tconst chart = this.chart;\n\t\tif (chart) {\n\t\t\treturn chart.inPlot(point);\n\t\t}\n\t\treturn false;\n\t}\n\n\tprotected _handleCursorDown(event: ISpritePointerEvent) {\n\t\tif ((event.originalEvent as any).button == 2) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst rootPoint = event.point;\n\t\tlet local = this._display.toLocal(rootPoint);\n\t\tconst chart = this.chart;\n\n\t\tthis.selection.set(\"draw\", () => { });\n\n\t\tif (chart && this._inPlot(local)) {\n\t\t\tthis._downPoint = local;\n\n\t\t\tif (this.get(\"behavior\") != \"none\") {\n\t\t\t\tthis.selection.show();\n\n\t\t\t\tconst type = \"selectstarted\";\n\t\t\t\tif (this.events.isEnabled(type)) {\n\t\t\t\t\tthis.events.dispatch(type, { type: type, target: this, originalEvent: event.originalEvent });\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tlet positionX = this._getPosition(local).x;\n\t\t\tlet positionY = this._getPosition(local).y;\n\n\t\t\tthis.setPrivate(\"downPositionX\", positionX);\n\t\t\tthis.setPrivate(\"downPositionY\", positionY);\n\t\t}\n\t}\n\n\tprotected _handleCursorUp(event: ISpritePointerEvent) {\n\t\t// TODO: handle multitouch\n\t\tif (this._downPoint) {\n\t\t\tconst behavior = this.get(\"behavior\", \"none\");\n\t\t\tif (behavior != \"none\") {\n\t\t\t\tif (behavior.charAt(0) === \"z\") {\n\t\t\t\t\tthis.selection.hide();\n\t\t\t\t}\n\n\t\t\t\tconst rootPoint = event.point;\n\t\t\t\tlet local = this._display.toLocal(rootPoint);\n\n\t\t\t\tconst downPoint = this._downPoint;\n\t\t\t\tconst moveThreshold = this.get(\"moveThreshold\", 1);\n\t\t\t\tif (local && downPoint) {\n\t\t\t\t\tlet dispatch = false;\n\t\t\t\t\tif (behavior === \"zoomX\" || behavior === \"zoomXY\" || behavior === \"selectX\" || behavior === \"selectXY\") {\n\t\t\t\t\t\tif (Math.abs(local.x - downPoint.x) > moveThreshold) {\n\t\t\t\t\t\t\tdispatch = true;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tif (behavior === \"zoomY\" || behavior === \"zoomXY\" || behavior === \"selectY\" || behavior === \"selectXY\") {\n\t\t\t\t\t\tif (Math.abs(local.y - downPoint.y) > moveThreshold) {\n\t\t\t\t\t\t\tdispatch = true;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tif (dispatch) {\n\t\t\t\t\t\tconst type = \"selectended\";\n\t\t\t\t\t\tif (this.events.isEnabled(type)) {\n\t\t\t\t\t\t\tthis.events.dispatch(type, { type: type, target: this, originalEvent: event.originalEvent });\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tconst type = \"selectcancelled\";\n\t\t\t\t\t\tif (this.events.isEnabled(type)) {\n\t\t\t\t\t\t\tthis.events.dispatch(type, { type: type, target: this, originalEvent: event.originalEvent });\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tthis._downPoint = undefined;\n\t}\n\n\tprotected _handleMove(event: ISpritePointerEvent) {\n\t\tif (this.getPrivate(\"visible\")) {\n\t\t\tconst chart = this.chart;\n\t\t\tif (chart && $object.keys(chart.plotContainer._downPoints).length > 1) {\n\t\t\t\tthis.set(\"forceHidden\", true)\n\t\t\t\treturn;\n\t\t\t}\n\t\t\telse {\n\t\t\t\tthis.set(\"forceHidden\", false)\n\t\t\t}\n\n\t\t\t// TODO: handle multitouch\n\t\t\tconst rootPoint = event.point;\n\t\t\tconst lastPoint = this._lastPoint;\n\n\t\t\tif (Math.round(lastPoint.x) === Math.round(rootPoint.x) && Math.round(lastPoint.y) === Math.round(rootPoint.y)) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tthis._lastPoint = rootPoint;\n\t\t\tthis.setPrivate(\"lastPoint\", rootPoint);\n\n\t\t\tthis.handleMove({ x: rootPoint.x, y: rootPoint.y }, false, event.originalEvent);\n\t\t}\n\t}\n\n\tprotected _getPosition(point: IPoint): IPoint {\n\t\treturn { x: point.x / this.width(), y: point.y / this.height() };\n\t}\n\n\t/**\n\t * Moves the cursor to X/Y coordinates within chart container (`point`).\n\t *\n\t * If `skipEvent` parameter is set to `true`, the move will not invoke\n\t * the `\"cursormoved\"` event.\n\t *\n\t * @param point X/Y to move cursor to\n\t * @param skipEvent Do not fire \"cursormoved\" event\n\t */\n\tpublic handleMove(point?: IPoint, skipEvent?: boolean, originalEvent?: IPointerEvent) {\n\t\tif (!point) {\n\t\t\tpoint = this._movePoint;\n\t\t}\n\n\t\tconst alwaysShow = this.get(\"alwaysShow\");\n\n\t\tif (!point) {\n\t\t\tthis.hide(0);\n\t\t\treturn;\n\t\t}\n\n\t\tthis._movePoint = point;\n\t\tlet local = this._display.toLocal(point);\n\t\tlet chart = this.chart;\n\n\t\tif (chart && (this._inPlot(local) || this._downPoint)) {\n\t\t\tchart._movePoint = point;\n\n\t\t\tif (this.isHidden()) {\n\t\t\t\tthis.show();\n\n\t\t\t\tconst behavior = this.get(\"behavior\", \"\");\n\t\t\t\tif (behavior.charAt(0) == \"z\") {\n\t\t\t\t\tthis.selection.set(\"draw\", () => { });\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tlet x = local.x;\n\t\t\tlet y = local.y;\n\n\t\t\tlet xyPos = this._getPosition(local);\n\n\t\t\tthis.setPrivate(\"point\", local);\n\n\t\t\tlet snapToSeries = this.get(\"snapToSeries\");\n\n\t\t\tif (this._downPoint) {\n\t\t\t\tsnapToSeries = undefined;\n\t\t\t}\n\n\t\t\tlet userPositionX = this.get(\"positionX\");\n\t\t\tlet positionX = xyPos.x;\n\n\t\t\tif ($type.isNumber(userPositionX)) {\n\t\t\t\tpositionX = userPositionX;\n\t\t\t}\n\n\t\t\tlet userPositionY = this.get(\"positionY\");\n\t\t\tlet positionY = xyPos.y;\n\n\t\t\tif ($type.isNumber(userPositionY)) {\n\t\t\t\tpositionY = userPositionY;\n\t\t\t}\n\n\t\t\tthis.setPrivate(\"positionX\", positionX);\n\t\t\tthis.setPrivate(\"positionY\", positionY);\n\n\t\t\tconst xy = this._getPoint(positionX, positionY);\n\t\t\tx = xy.x;\n\t\t\ty = xy.y;\n\n\t\t\tchart.xAxes.each((axis) => {\n\t\t\t\taxis._handleCursorPosition(positionX, snapToSeries);\n\t\t\t\tif (alwaysShow) {\n\t\t\t\t\taxis.handleCursorShow();\n\t\t\t\t}\n\t\t\t})\n\t\t\tchart.yAxes.each((axis) => {\n\t\t\t\taxis._handleCursorPosition(positionY, snapToSeries);\n\t\t\t\tif (alwaysShow) {\n\t\t\t\t\taxis.handleCursorShow();\n\t\t\t\t}\n\t\t\t})\n\n\t\t\tif (!skipEvent) {\n\t\t\t\tchart._handleCursorPosition();\n\n\t\t\t\tconst type = \"cursormoved\";\n\t\t\t\tif (this.events.isEnabled(type)) {\n\t\t\t\t\tthis.events.dispatch(type, { type: type, target: this, point: point, originalEvent: originalEvent });\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tthis._updateLines(x, y);\n\n\t\t\tchart.arrangeTooltips();\n\t\t}\n\t\telse if (!this._downPoint) {\n\t\t\tif (!alwaysShow) {\n\t\t\t\tthis.hide(0);\n\n\t\t\t\tconst type = \"cursorhidden\";\n\t\t\t\tif (this.events.isEnabled(type)) {\n\t\t\t\t\tthis.events.dispatch(type, { type: type, target: this });\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (this._downPoint && this.get(\"behavior\") != \"none\") {\n\t\t\tthis._updateSelection(local)\n\t\t}\n\t}\n\n\tprotected _getPoint(positionX: number, positionY: number): IPoint {\n\t\treturn { x: this.width() * positionX, y: this.height() * positionY };\n\t}\n\n\n\tprotected _updateLines(x: number, y: number) {\n\t\tif (!this._tooltipX) {\n\t\t\tthis.lineX.set(\"x\", x);\n\t\t}\n\t\tif (!this._tooltipY) {\n\t\t\tthis.lineY.set(\"y\", y);\n\t\t}\n\n\t\tthis._drawLines();\n\t}\n\n\tprotected _updateSelection(point: IPoint) {\n\t\tconst selection = this.selection;\n\t\tconst behavior = this.get(\"behavior\");\n\t\tconst w = this.width();\n\t\tconst h = this.height();\n\n\t\tif (point.x < 0) {\n\t\t\tpoint.x = 0;\n\t\t}\n\n\t\tif (point.x > w) {\n\t\t\tpoint.x = w;\n\t\t}\n\n\t\tif (point.y < 0) {\n\t\t\tpoint.y = 0;\n\t\t}\n\n\t\tif (point.y > h) {\n\t\t\tpoint.y = h;\n\t\t}\n\n\t\tselection.set(\"draw\", (display) => {\n\t\t\tconst downPoint = this._downPoint;\n\t\t\tif (downPoint) {\n\t\t\t\tif (behavior === \"zoomXY\" || behavior === \"selectXY\") {\n\t\t\t\t\tdisplay.moveTo(downPoint.x, downPoint.y);\n\t\t\t\t\tdisplay.lineTo(downPoint.x, point.y);\n\t\t\t\t\tdisplay.lineTo(point.x, point.y);\n\t\t\t\t\tdisplay.lineTo(point.x, downPoint.y);\n\t\t\t\t\tdisplay.lineTo(downPoint.x, downPoint.y);\n\t\t\t\t}\n\t\t\t\telse if (behavior === \"zoomX\" || behavior === \"selectX\") {\n\t\t\t\t\tdisplay.moveTo(downPoint.x, 0);\n\t\t\t\t\tdisplay.lineTo(downPoint.x, h);\n\t\t\t\t\tdisplay.lineTo(point.x, h);\n\t\t\t\t\tdisplay.lineTo(point.x, 0);\n\t\t\t\t\tdisplay.lineTo(downPoint.x, 0);\n\t\t\t\t}\n\t\t\t\telse if (behavior === \"zoomY\" || behavior === \"selectY\") {\n\t\t\t\t\tdisplay.moveTo(0, downPoint.y);\n\t\t\t\t\tdisplay.lineTo(w, downPoint.y);\n\t\t\t\t\tdisplay.lineTo(w, point.y);\n\t\t\t\t\tdisplay.lineTo(0, point.y);\n\t\t\t\t\tdisplay.lineTo(0, downPoint.y);\n\t\t\t\t}\n\t\t\t}\n\t\t})\n\t}\n\n\tprotected _onHide() {\n\t\tif (this.isHidden()) {\n\t\t\tlet chart = this.chart;\n\t\t\tif (chart) {\n\n\t\t\t\tchart.xAxes.each((axis) => {\n\t\t\t\t\taxis.handleCursorHide();\n\t\t\t\t})\n\t\t\t\tchart.yAxes.each((axis) => {\n\t\t\t\t\taxis.handleCursorHide();\n\t\t\t\t})\n\t\t\t\tchart.series.each((series) => {\n\t\t\t\t\tseries.handleCursorHide();\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\t\tsuper._onHide();\n\t}\n\n\tprotected _onShow() {\n\t\tif (!this.isHidden()) {\n\t\t\tlet chart = this.chart;\n\t\t\tif (chart) {\n\t\t\t\tchart.xAxes.each((axis) => {\n\t\t\t\t\taxis.handleCursorShow();\n\t\t\t\t})\n\t\t\t\tchart.yAxes.each((axis) => {\n\t\t\t\t\taxis.handleCursorShow();\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\t\tsuper._onShow();\n\t}\n\n\tprotected _dispose() {\n\t\tsuper._dispose();\n\t\tthis.selection.dispose();\n\t}\n}\n"]}
1
+ {"version":3,"file":"XYCursor.js","sourceRoot":"","sources":["../../../../../src/.internal/charts/xy/XYCursor.ts"],"names":[],"mappings":"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","sourcesContent":["import type { IPoint } from \"../../core/util/IPoint\";\nimport type { XYChart } from \"./XYChart\"\nimport type { XYSeries } from \"./series/XYSeries\";\nimport type { ISpritePointerEvent } from \"../../core/render/Sprite\";\nimport type { Axis } from \"./axes/Axis\";\nimport type { AxisRenderer } from \"./axes/AxisRenderer\";\nimport type { Tooltip } from \"../../core/render/Tooltip\";\n\nimport { Container, IContainerSettings, IContainerPrivate, IContainerEvents } from \"../../core/render/Container\";\nimport { p100 } from \"../../core/util/Percent\";\nimport { Graphics } from \"../../core/render/Graphics\";\nimport { Grid } from \"./axes/Grid\";\n//import { Animations } from \"../core/util/Animation\";\n\nimport * as $type from \"../../core/util/Type\";\nimport * as $utils from \"../../core/util/Utils\";\nimport * as $math from \"../../core/util/Math\";\nimport * as $array from \"../../core/util/Array\";\nimport * as $object from \"../../core/util/Object\";\nimport type { IPointerEvent } from \"../../core/render/backend/Renderer\";\n\nexport interface IXYCursorSettings extends IContainerSettings {\n\n\t/**\n\t * Cursor's X axis.\n\t *\n\t * If set, cursor will snap to that axis' cells.\n\t */\n\txAxis?: Axis<AxisRenderer>;\n\n\t/**\n\t * Cursor's Y axis.\n\t *\n\t * If set, cursor will snap to that axis' cells.\n\t */\n\tyAxis?: Axis<AxisRenderer>;\n\n\t/**\n\t * What should cursor do when dragged across plot area.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/cursor/#Behavior} for more info\n\t * @default \"none\"\n\t */\n\tbehavior?: \"zoomX\" | \"zoomY\" | \"zoomXY\" | \"selectX\" | \"selectY\" | \"selectXY\" | \"none\";\n\n\t/**\n\t * Cursor's horizontal position relative to plot area.\n\t *\n\t * If this setting is set, cursor will not react to mouse/touch and will just\n\t * sit at specified position until `positionX` is reset to `undefined`.\n\t *\n\t * `0` - left, `1` - right.\n\t */\n\tpositionX?: number;\n\n\t/**\n\t * Cursor's vertical position relative to plot area.\n\t *\n\t * If this setting is set, cursor will not react to mouse/touch and will just\n\t * sit at specified position until `positionY` is reset to `undefined`.\n\t *\n\t * `0` - left, `1` - right.\n\t */\n\tpositionY?: number;\n\n\t/**\n\t * If set to `true`, cursor will not be hidden when mouse cursor moves out\n\t * of the plot area.\n\t *\n\t * @default false\n\t */\n\talwaysShow?: boolean;\n\n\t/**\n\t * A list of series to snap cursor to.\n\t *\n\t * If set, the cursor will always snap to the closest data item of listed\n\t * series.\n\t */\n\tsnapToSeries?: Array<XYSeries>;\n\n\t/**\n\t * Defines in which direction to look when searching for the nearest data\n\t * item to snap to.\n\t *\n\t * Possible values: `\"xy\"` (default), `\"x\"`, `\"y\"`, `\"x!\"`, `\"y!\"`.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/cursor/#snapping-to-series} for more info\n\t * @since 5.0.6\n\t * @default \"xy\"\n\t */\n\tsnapToSeriesBy?: \"xy\" | \"x\" | \"y\" | \"x!\" | \"y!\";\n\n\t/**\n\t * An array of other [[XYCursor]] objects to sync this cursor with.\n\t *\n\t * If set will automatically move synced cursors to the same position within\n\t * their respective axes as the this cursor assumin same XY coordinates of\n\t * the pointer.\n\t *\n\t * NOTE: Syncing is performed using actual X/Y coordinates of the point of\n\t * mouse cursor's position or touch. It means that they will not sync by axis\n\t * positions, but rather by screen coordinates. For example vertical lines\n\t * will not sync across horizontally laid out charts, and vice versa.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/cursor/#syncing-cursors} for more info\n\t * @since 5.1.4\n\t */\n\tsyncWith?: Array<XYCursor>;\n\n\t/**\n\t * Minimum distance in pixels between down and up points.\n\t *\n\t * If a distance is less than the value of `moveThreshold`, the zoom or\n\t * selection won't happen.\n\t *\n\t * @since 5.2.20\n\t * @default 1\n\t */\n\tmoveThreshold?: number\n\n}\n\n\nexport interface IXYCursorPrivate extends IContainerPrivate {\n\n\t/**\n\t * Current X/Y coordinates of the cursor.\n\t */\n\tpoint?: IPoint;\n\n\t/**\n\t * Current horizontal position relative to the plot area (0-1).\n\t */\n\tpositionX?: number;\n\n\t/**\n\t * Current vertical position relative to the plot area (0-1).\n\t */\n\tpositionY?: number;\n\n\t/**\n\t * Horizontal cursor position on the moment when selection started.\n\t */\n\tdownPositionX?: number;\n\n\t/**\n\t * Vertical cursor position on the moment when selection started.\n\t */\n\tdownPositionY?: number;\n\n\t/**\n\t * Last global point to which cursor moved\n\t */\n\tlastPoint?: IPoint;\n}\n\nexport interface IXYCursorEvents extends IContainerEvents {\n\n\t/**\n\t * Kicks in when cursor selection ends.\n\t *\n\t * Only when `behavior` is set.\n\t */\n\tselectended: {\n\t\toriginalEvent: IPointerEvent,\n\t\ttarget: XYCursor\n\t};\n\n\t/**\n\t * Kicks in when cursor selection starts.\n\t *\n\t * Only when `behavior` is set.\n\t */\n\tselectstarted: {\n\t\toriginalEvent: IPointerEvent,\n\t\ttarget: XYCursor\n\t};\n\n\t/**\n\t * Kicks in when cursor's position over plot area changes.\n\t */\n\tcursormoved: {\n\t\tpoint: IPoint,\n\t\ttarget: XYCursor,\n\t\toriginalEvent?: IPointerEvent\n\t};\n\n\t/**\n\t * Kicks in when cursor's is hidden when user rolls-out of the plot area\n\t */\n\tcursorhidden: {\n\t\ttarget: XYCursor\n\t};\n\n\t/**\n\t * Invoked if pointer is pressed down on a plot area and released without\n\t * moving (only when behavior is `\"selectX\"`).\n\t *\n\t * @since 5.4.7\n\t */\n\tselectcancelled: {\n\t\toriginalEvent: IPointerEvent,\n\t\ttarget: XYCursor\n\t};\n\n}\n\n/**\n * Creates a chart cursor for an [[XYChart]].\n *\n * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/cursor/} for more info\n * @important\n */\nexport class XYCursor extends Container {\n\tpublic static className: string = \"XYCursor\";\n\tpublic static classNames: Array<string> = Container.classNames.concat([XYCursor.className]);\n\n\tdeclare public _settings: IXYCursorSettings;\n\tdeclare public _privateSettings: IXYCursorPrivate;\n\tdeclare public _events: IXYCursorEvents;\n\n\t/**\n\t * A [[Grid]] elment that used for horizontal line of the cursor crosshair.\n\t *\n\t * @default Grid.new()\n\t */\n\tpublic readonly lineX: Grid = this.children.push(Grid.new(this._root, {\n\t\tthemeTags: [\"x\"]\n\t}));\n\n\t/**\n\t * A [[Grid]] elment that used for horizontal line of the cursor crosshair.\n\t *\n\t * @default Grid.new()\n\t */\n\tpublic readonly lineY: Grid = this.children.push(Grid.new(this._root, {\n\t\tthemeTags: [\"y\"]\n\t}));\n\n\t/**\n\t * An element that represents current selection.\n\t *\n\t * @default Graphics.new()\n\t */\n\tpublic readonly selection: Graphics = this.children.push(Graphics.new(this._root, {\n\t\tthemeTags: [\"selection\", \"cursor\"], layer: 30\n\t}));\n\n\tprotected _movePoint: IPoint | undefined;\n\tprotected _lastPoint: IPoint = { x: 0, y: 0 };\n\n\tprotected _tooltipX: boolean = false;\n\tprotected _tooltipY: boolean = false;\n\n\t/**\n\t * A chart cursor is attached to.\n\t */\n\tpublic chart: XYChart | undefined;\n\n\tprotected _toX?: number;\n\tprotected _toY?: number;\n\n\tprotected _afterNew() {\n\t\tthis._settings.themeTags = $utils.mergeTags(this._settings.themeTags, [\"xy\", \"cursor\"]);\n\t\tsuper._afterNew();\n\t\tthis.setAll({ \"width\": p100, height: p100, isMeasured: true, position: \"absolute\" });\n\t\tthis.states.create(\"hidden\", { visible: true, opacity: 0 });\n\t\tthis._drawLines();\n\t\tthis.setPrivateRaw(\"visible\", false);\n\n\t\tthis._disposers.push(this.setTimeout(() => {\n\t\t\tthis.setPrivate(\"visible\", true)\n\t\t}, 500));\n\n\t\tthis._disposers.push(this.lineX.events.on(\"positionchanged\", () => {\n\t\t\tthis._handleXLine();\n\t\t}));\n\n\t\tthis._disposers.push(this.lineY.events.on(\"positionchanged\", () => {\n\t\t\tthis._handleYLine();\n\t\t}));\n\n\t\tthis._disposers.push(this.lineX.events.on(\"focus\", (ev) => this._handleLineFocus(ev.target)));\n\t\tthis._disposers.push(this.lineX.events.on(\"blur\", (ev) => this._handleLineBlur(ev.target)));\n\n\t\tthis._disposers.push(this.lineY.events.on(\"focus\", (ev) => this._handleLineFocus(ev.target)));\n\t\tthis._disposers.push(this.lineY.events.on(\"blur\", (ev) => this._handleLineBlur(ev.target)));\n\n\t\tif ($utils.supports(\"keyboardevents\")) {\n\t\t\tthis._disposers.push($utils.addEventListener(document, \"keydown\", (ev: KeyboardEvent) => {\n\t\t\t\tthis._handleLineMove(ev.keyCode);\n\t\t\t}));\n\t\t}\n\t}\n\n\tprotected _setUpTouch(): void {\n\t\tconst chart = this.chart;\n\t\tif (chart) {\n\t\t\tchart.plotContainer._display.cancelTouch = this.get(\"behavior\") != \"none\" ? true : false;\n\t\t}\n\t}\n\n\tprotected _handleXLine() {\n\t\tlet x = this.lineX.x();\n\t\tlet visible = true;\n\t\tif (x < 0 || x > this.width()) {\n\t\t\tvisible = false;\n\t\t}\n\t\tthis.lineX.setPrivate(\"visible\", visible);\n\t}\n\n\tprotected _handleYLine() {\n\t\tlet y = this.lineY.y();\n\t\tlet visible = true;\n\t\tif (y < 0 || y > this.height()) {\n\t\t\tvisible = false;\n\t\t}\n\t\tthis.lineY.setPrivate(\"visible\", visible);\n\t}\n\n\tprotected _handleLineMove(keyCode: number) {\n\t\tlet dir: any = \"\";\n\t\tlet position = 0;\n\t\tlet increment = 0.1;\n\t\tconst chart = this.chart;\n\n\t\tif (this._root.focused(this.lineX)) {\n\t\t\tif (chart && chart.xAxes.length) {\n\t\t\t\tincrement = chart.xAxes.getIndex(0)!.getCellWidthPosition();\n\t\t\t}\n\t\t\tposition = this.getPrivate(\"positionX\", 0);\n\t\t\tdir = \"positionX\";\n\t\t\tif (keyCode == 37) {\n\t\t\t\tposition -= increment;\n\t\t\t}\n\t\t\telse if (keyCode == 39) {\n\t\t\t\tposition += increment;\n\t\t\t}\n\t\t}\n\t\telse if (this._root.focused(this.lineY)) {\n\t\t\tif (chart && chart.yAxes.length) {\n\t\t\t\tincrement = chart.yAxes.getIndex(0)!.getCellWidthPosition();\n\t\t\t}\n\t\t\tposition = this.getPrivate(\"positionY\", 0);\n\t\t\tdir = \"positionY\";\n\t\t\tif (keyCode == 38) {\n\t\t\t\tposition -= increment;\n\t\t\t}\n\t\t\telse if (keyCode == 40) {\n\t\t\t\tposition += increment;\n\t\t\t}\n\t\t}\n\n\t\tif (position < 0) {\n\t\t\tposition = 0;\n\t\t}\n\t\telse if (position > 1) {\n\t\t\tposition = 1;\n\t\t}\n\n\t\tif (dir != \"\") {\n\t\t\tthis.set(dir, position);\n\t\t}\n\t}\n\n\tprotected _handleLineFocus(_line: Grid) {\n\t\tthis.setAll({\n\t\t\tpositionX: this.getPrivate(\"positionX\"),\n\t\t\tpositionY: this.getPrivate(\"positionY\"),\n\t\t\talwaysShow: true\n\t\t});\n\t}\n\n\tprotected _handleLineBlur(_line: Grid) {\n\t\tthis.setAll({\n\t\t\tpositionX: undefined,\n\t\t\tpositionY: undefined,\n\t\t\talwaysShow: false\n\t\t});\n\t}\n\n\tpublic _prepareChildren() {\n\t\tsuper._prepareChildren();\n\n\t\tif (this.isDirty(\"xAxis\")) {\n\t\t\tthis._tooltipX = false;\n\t\t\tconst xAxis = this.get(\"xAxis\");\n\n\t\t\tif (xAxis) {\n\t\t\t\tconst tooltip = xAxis.get(\"tooltip\");\n\t\t\t\tif (tooltip) {\n\t\t\t\t\tthis._tooltipX = true;\n\t\t\t\t\tthis._disposers.push(\n\t\t\t\t\t\ttooltip.on(\"pointTo\", () => {\n\t\t\t\t\t\t\tthis._updateXLine(tooltip);\n\t\t\t\t\t\t})\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (this.isDirty(\"yAxis\")) {\n\t\t\tthis._tooltipY = false;\n\t\t\tconst yAxis = this.get(\"yAxis\");\n\n\t\t\tif (yAxis) {\n\t\t\t\tconst tooltip = yAxis.get(\"tooltip\");\n\t\t\t\tif (tooltip) {\n\t\t\t\t\tthis._tooltipY = true;\n\t\t\t\t\tthis._disposers.push(\n\t\t\t\t\t\ttooltip.on(\"pointTo\", () => {\n\t\t\t\t\t\t\tthis._updateYLine(tooltip);\n\t\t\t\t\t\t})\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected _handleSyncWith() {\n\t\tconst chart = this.chart;\n\t\tif (chart) {\n\t\t\tconst syncWith = this.get(\"syncWith\");\n\t\t\tconst otherCharts: Array<XYChart> = [];\n\t\t\tif (syncWith) {\n\t\t\t\t$array.each(syncWith, (cursor) => {\n\t\t\t\t\tconst chart = cursor.chart;\n\t\t\t\t\tif (chart) {\n\t\t\t\t\t\totherCharts.push(chart)\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t}\n\t\t\tchart._otherCharts = otherCharts;\n\t\t}\n\t}\n\n\tpublic _updateChildren() {\n\t\tsuper._updateChildren();\n\t\tthis._handleSyncWith();\n\n\t\tif (this.isDirty(\"positionX\") || this.isDirty(\"positionY\")) {\n\t\t\tconst positionX = this.get(\"positionX\");\n\t\t\tconst positionY = this.get(\"positionY\");\n\n\t\t\tif (positionX == null && positionY == null) {\n\t\t\t\tthis.hide(0);\n\t\t\t}\n\t\t\telse {\n\t\t\t\tthis._movePoint = this.toGlobal(this._getPoint(this.get(\"positionX\", 0), this.get(\"positionY\", 0)));\n\t\t\t\tthis.handleMove();\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected _updateXLine(tooltip: Tooltip) {\n\t\tlet x = $math.round(this._display.toLocal(tooltip.get(\"pointTo\", { x: 0, y: 0 })).x, 2);\n\t\tif (this._toX != x) {\n\t\t\tthis.lineX.animate({ key: \"x\", to: x, duration: tooltip.get(\"animationDuration\", 0), easing: tooltip.get(\"animationEasing\") });\n\t\t\tthis._toX = x;\n\t\t}\n\t}\n\n\tprotected _updateYLine(tooltip: Tooltip) {\n\t\tlet y = $math.round(this._display.toLocal(tooltip.get(\"pointTo\", { x: 0, y: 0 })).y, 2);\n\t\tif (this._toY != y) {\n\t\t\tthis.lineY.animate({ key: \"y\", to: y, duration: tooltip.get(\"animationDuration\", 0), easing: tooltip.get(\"animationEasing\") });\n\t\t\tthis._toY = y;\n\t\t}\n\t}\n\n\tprotected _drawLines() {\n\t\tthis.lineX.set(\"draw\", (display) => {\n\t\t\tdisplay.moveTo(0, 0);\n\t\t\tdisplay.lineTo(0, this.height());\n\t\t})\n\t\tthis.lineY.set(\"draw\", (display) => {\n\t\t\tdisplay.moveTo(0, 0);\n\t\t\tdisplay.lineTo(this.width(), 0);\n\t\t})\n\t}\n\n\tpublic updateCursor() {\n\t\tif (this.get(\"alwaysShow\")) {\n\t\t\tthis._movePoint = this.toGlobal(this._getPoint(this.get(\"positionX\", 0), this.get(\"positionY\", 0)));\n\t\t}\n\t\tthis.handleMove();\n\t}\n\n\tpublic _setChart(chart: XYChart): void {\n\t\tthis.chart = chart;\n\n\t\tthis._handleSyncWith();\n\n\t\tconst plotContainer = chart.plotContainer;\n\n\t\tthis.events.on(\"boundschanged\", () => {\n\t\t\tthis._disposers.push(this.setTimeout(() => {\n\t\t\t\tthis.updateCursor();\n\t\t\t}, 50))\n\t\t})\n\n\t\t//this._display.interactive = true;\n\t\tif ($utils.supports(\"touchevents\")) {\n\t\t\tthis._disposers.push(plotContainer.events.on(\"click\", (event) => {\n\t\t\t\tif ($utils.isTouchEvent(event.originalEvent)) {\n\t\t\t\t\tthis._handleMove(event);\n\t\t\t\t}\n\t\t\t}));\n\t\t\tthis._setUpTouch();\n\t\t}\n\n\t\tthis._disposers.push(plotContainer.events.on(\"pointerdown\", (event) => {\n\t\t\tthis._handleCursorDown(event);\n\t\t}));\n\n\t\tthis._disposers.push(plotContainer.events.on(\"globalpointerup\", (event) => {\n\t\t\tthis._handleCursorUp(event);\n\t\t\tif (!event.native && !this.isHidden()) {\n\t\t\t\tthis._handleMove(event);\n\t\t\t}\n\t\t}));\n\n\t\tthis._disposers.push(plotContainer.events.on(\"globalpointermove\", (event) => {\n\t\t\tif (!this.get(\"syncWith\")) {\n\t\t\t\tif ($object.keys(plotContainer._downPoints).length == 0 && !event.native && this.isHidden()) {\n\t\t\t\t\t// Ignore mouse movement if it originates on outside element and\n\t\t\t\t\t// we're not dragging.\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis._handleMove(event);\n\t\t}));\n\n\t\tconst parent = this.parent;\n\t\tif (parent) {\n\t\t\tparent.children.moveValue(this.selection);\n\t\t}\n\t}\n\n\tprotected _inPlot(point: IPoint): boolean {\n\t\tconst chart = this.chart;\n\t\tif (chart) {\n\t\t\treturn chart.inPlot(point);\n\t\t}\n\t\treturn false;\n\t}\n\n\tprotected _handleCursorDown(event: ISpritePointerEvent) {\n\t\tif ((event.originalEvent as any).button == 2) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst rootPoint = event.point;\n\t\tlet local = this._display.toLocal(rootPoint);\n\t\tconst chart = this.chart;\n\n\t\tthis.selection.set(\"draw\", () => { });\n\n\t\tif (chart && this._inPlot(local)) {\n\t\t\tthis._downPoint = local;\n\n\t\t\tif (this.get(\"behavior\") != \"none\") {\n\t\t\t\tthis.selection.show();\n\n\t\t\t\tconst type = \"selectstarted\";\n\t\t\t\tif (this.events.isEnabled(type)) {\n\t\t\t\t\tthis.events.dispatch(type, { type: type, target: this, originalEvent: event.originalEvent });\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tlet positionX = this._getPosition(local).x;\n\t\t\tlet positionY = this._getPosition(local).y;\n\n\t\t\tthis.setPrivate(\"downPositionX\", positionX);\n\t\t\tthis.setPrivate(\"downPositionY\", positionY);\n\t\t}\n\t}\n\n\tprotected _handleCursorUp(event: ISpritePointerEvent) {\n\t\t// TODO: handle multitouch\n\t\tif (this._downPoint) {\n\t\t\tconst behavior = this.get(\"behavior\", \"none\");\n\t\t\tif (behavior != \"none\") {\n\t\t\t\tif (behavior.charAt(0) === \"z\") {\n\t\t\t\t\tthis.selection.hide();\n\t\t\t\t}\n\n\t\t\t\tconst rootPoint = event.point;\n\t\t\t\tlet local = this._display.toLocal(rootPoint);\n\n\t\t\t\tconst downPoint = this._downPoint;\n\t\t\t\tconst moveThreshold = this.get(\"moveThreshold\", 1);\n\t\t\t\tif (local && downPoint) {\n\t\t\t\t\tlet dispatch = false;\n\t\t\t\t\tif (behavior === \"zoomX\" || behavior === \"zoomXY\" || behavior === \"selectX\" || behavior === \"selectXY\") {\n\t\t\t\t\t\tif (Math.abs(local.x - downPoint.x) > moveThreshold) {\n\t\t\t\t\t\t\tdispatch = true;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tif (behavior === \"zoomY\" || behavior === \"zoomXY\" || behavior === \"selectY\" || behavior === \"selectXY\") {\n\t\t\t\t\t\tif (Math.abs(local.y - downPoint.y) > moveThreshold) {\n\t\t\t\t\t\t\tdispatch = true;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tif (dispatch) {\n\t\t\t\t\t\tconst type = \"selectended\";\n\t\t\t\t\t\tif (this.events.isEnabled(type)) {\n\t\t\t\t\t\t\tthis.events.dispatch(type, { type: type, target: this, originalEvent: event.originalEvent });\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tconst type = \"selectcancelled\";\n\t\t\t\t\t\tif (this.events.isEnabled(type)) {\n\t\t\t\t\t\t\tthis.events.dispatch(type, { type: type, target: this, originalEvent: event.originalEvent });\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tthis._downPoint = undefined;\n\t}\n\n\tprotected _handleMove(event: ISpritePointerEvent) {\n\t\tif (this.getPrivate(\"visible\")) {\n\t\t\tconst chart = this.chart;\n\t\t\tif (chart && $object.keys(chart.plotContainer._downPoints).length > 1) {\n\t\t\t\tthis.set(\"forceHidden\", true)\n\t\t\t\treturn;\n\t\t\t}\n\t\t\telse {\n\t\t\t\tthis.set(\"forceHidden\", false)\n\t\t\t}\n\n\t\t\t// TODO: handle multitouch\n\t\t\tconst rootPoint = event.point;\n\t\t\tconst lastPoint = this._lastPoint;\n\n\t\t\tif (Math.round(lastPoint.x) === Math.round(rootPoint.x) && Math.round(lastPoint.y) === Math.round(rootPoint.y)) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tthis._lastPoint = rootPoint;\n\t\t\tthis.setPrivate(\"lastPoint\", rootPoint);\n\n\t\t\tthis.handleMove({ x: rootPoint.x, y: rootPoint.y }, false, event.originalEvent);\n\t\t}\n\t}\n\n\tprotected _getPosition(point: IPoint): IPoint {\n\t\treturn { x: point.x / this.width(), y: point.y / this.height() };\n\t}\n\n\t/**\n\t * Moves the cursor to X/Y coordinates within chart container (`point`).\n\t *\n\t * If `skipEvent` parameter is set to `true`, the move will not invoke\n\t * the `\"cursormoved\"` event.\n\t *\n\t * @param point X/Y to move cursor to\n\t * @param skipEvent Do not fire \"cursormoved\" event\n\t */\n\tpublic handleMove(point?: IPoint, skipEvent?: boolean, originalEvent?: IPointerEvent) {\n\t\tif (!point) {\n\t\t\tpoint = this._movePoint;\n\t\t}\n\n\t\tconst alwaysShow = this.get(\"alwaysShow\");\n\n\t\tif (!point) {\n\t\t\tthis.hide(0);\n\t\t\treturn;\n\t\t}\n\n\t\tthis._movePoint = point;\n\t\tlet local = this._display.toLocal(point);\n\t\tlet chart = this.chart;\n\n\t\tif (chart && (this._inPlot(local) || this._downPoint)) {\n\t\t\tchart._movePoint = point;\n\n\t\t\tif (this.isHidden()) {\n\t\t\t\tthis.show();\n\n\t\t\t\tconst behavior = this.get(\"behavior\", \"\");\n\t\t\t\tif (behavior.charAt(0) == \"z\") {\n\t\t\t\t\tthis.selection.set(\"draw\", () => { });\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tlet x = local.x;\n\t\t\tlet y = local.y;\n\n\t\t\tlet xyPos = this._getPosition(local);\n\n\t\t\tthis.setPrivate(\"point\", local);\n\n\t\t\tlet snapToSeries = this.get(\"snapToSeries\");\n\n\t\t\tif (this._downPoint) {\n\t\t\t\tsnapToSeries = undefined;\n\t\t\t}\n\n\t\t\tlet userPositionX = this.get(\"positionX\");\n\t\t\tlet positionX = xyPos.x;\n\n\t\t\tif ($type.isNumber(userPositionX)) {\n\t\t\t\tpositionX = userPositionX;\n\t\t\t}\n\n\t\t\tlet userPositionY = this.get(\"positionY\");\n\t\t\tlet positionY = xyPos.y;\n\n\t\t\tif ($type.isNumber(userPositionY)) {\n\t\t\t\tpositionY = userPositionY;\n\t\t\t}\n\n\t\t\tthis.setPrivate(\"positionX\", positionX);\n\t\t\tthis.setPrivate(\"positionY\", positionY);\n\n\t\t\tconst xy = this._getPoint(positionX, positionY);\n\t\t\tx = xy.x;\n\t\t\ty = xy.y;\n\n\t\t\tchart.xAxes.each((axis) => {\n\t\t\t\taxis._handleCursorPosition(positionX, snapToSeries);\n\t\t\t\tif (alwaysShow) {\n\t\t\t\t\taxis.handleCursorShow();\n\t\t\t\t}\n\t\t\t})\n\t\t\tchart.yAxes.each((axis) => {\n\t\t\t\taxis._handleCursorPosition(positionY, snapToSeries);\n\t\t\t\tif (alwaysShow) {\n\t\t\t\t\taxis.handleCursorShow();\n\t\t\t\t}\n\t\t\t})\n\n\t\t\tif (!skipEvent) {\n\t\t\t\tchart._handleCursorPosition();\n\n\t\t\t\tconst type = \"cursormoved\";\n\t\t\t\tif (this.events.isEnabled(type)) {\n\t\t\t\t\tthis.events.dispatch(type, { type: type, target: this, point: point, originalEvent: originalEvent });\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tthis._updateLines(x, y);\n\n\t\t\tchart.arrangeTooltips();\n\t\t}\n\t\telse if (!this._downPoint) {\n\t\t\tif (!alwaysShow) {\n\t\t\t\tthis.hide(0);\n\n\t\t\t\tconst type = \"cursorhidden\";\n\t\t\t\tif (this.events.isEnabled(type)) {\n\t\t\t\t\tthis.events.dispatch(type, { type: type, target: this });\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (this._downPoint && this.get(\"behavior\") != \"none\") {\n\t\t\tthis._updateSelection(local)\n\t\t}\n\t}\n\n\tprotected _getPoint(positionX: number, positionY: number): IPoint {\n\t\treturn { x: this.width() * positionX, y: this.height() * positionY };\n\t}\n\n\n\tprotected _updateLines(x: number, y: number) {\n\t\tif (!this._tooltipX) {\n\t\t\tthis.lineX.set(\"x\", x);\n\t\t}\n\t\tif (!this._tooltipY) {\n\t\t\tthis.lineY.set(\"y\", y);\n\t\t}\n\n\t\tthis._drawLines();\n\t}\n\n\tprotected _updateSelection(point: IPoint) {\n\t\tconst selection = this.selection;\n\t\tconst behavior = this.get(\"behavior\");\n\t\tconst w = this.width();\n\t\tconst h = this.height();\n\n\t\tif (point.x < 0) {\n\t\t\tpoint.x = 0;\n\t\t}\n\n\t\tif (point.x > w) {\n\t\t\tpoint.x = w;\n\t\t}\n\n\t\tif (point.y < 0) {\n\t\t\tpoint.y = 0;\n\t\t}\n\n\t\tif (point.y > h) {\n\t\t\tpoint.y = h;\n\t\t}\n\n\t\tselection.set(\"draw\", (display) => {\n\t\t\tconst downPoint = this._downPoint;\n\t\t\tif (downPoint) {\n\t\t\t\tif (behavior === \"zoomXY\" || behavior === \"selectXY\") {\n\t\t\t\t\tdisplay.moveTo(downPoint.x, downPoint.y);\n\t\t\t\t\tdisplay.lineTo(downPoint.x, point.y);\n\t\t\t\t\tdisplay.lineTo(point.x, point.y);\n\t\t\t\t\tdisplay.lineTo(point.x, downPoint.y);\n\t\t\t\t\tdisplay.lineTo(downPoint.x, downPoint.y);\n\t\t\t\t}\n\t\t\t\telse if (behavior === \"zoomX\" || behavior === \"selectX\") {\n\t\t\t\t\tdisplay.moveTo(downPoint.x, 0);\n\t\t\t\t\tdisplay.lineTo(downPoint.x, h);\n\t\t\t\t\tdisplay.lineTo(point.x, h);\n\t\t\t\t\tdisplay.lineTo(point.x, 0);\n\t\t\t\t\tdisplay.lineTo(downPoint.x, 0);\n\t\t\t\t}\n\t\t\t\telse if (behavior === \"zoomY\" || behavior === \"selectY\") {\n\t\t\t\t\tdisplay.moveTo(0, downPoint.y);\n\t\t\t\t\tdisplay.lineTo(w, downPoint.y);\n\t\t\t\t\tdisplay.lineTo(w, point.y);\n\t\t\t\t\tdisplay.lineTo(0, point.y);\n\t\t\t\t\tdisplay.lineTo(0, downPoint.y);\n\t\t\t\t}\n\t\t\t}\n\t\t})\n\t}\n\n\tprotected _onHide() {\n\t\tif (this.isHidden()) {\n\t\t\tlet chart = this.chart;\n\t\t\tif (chart) {\n\n\t\t\t\tchart.xAxes.each((axis) => {\n\t\t\t\t\taxis.handleCursorHide();\n\t\t\t\t})\n\t\t\t\tchart.yAxes.each((axis) => {\n\t\t\t\t\taxis.handleCursorHide();\n\t\t\t\t})\n\t\t\t\tchart.series.each((series) => {\n\t\t\t\t\tseries.handleCursorHide();\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\t\tsuper._onHide();\n\t}\n\n\tprotected _onShow() {\n\t\tif (!this.isHidden()) {\n\t\t\tlet chart = this.chart;\n\t\t\tif (chart) {\n\t\t\t\tchart.xAxes.each((axis) => {\n\t\t\t\t\taxis.handleCursorShow();\n\t\t\t\t})\n\t\t\t\tchart.yAxes.each((axis) => {\n\t\t\t\t\taxis.handleCursorShow();\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\t\tsuper._onShow();\n\t}\n\n\tprotected _dispose() {\n\t\tsuper._dispose();\n\t\tthis.selection.dispose();\n\t}\n}\n"]}
@@ -98,6 +98,11 @@ export interface IAxisSettings<R extends AxisRenderer> extends IComponentSetting
98
98
  * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/zoom-and-pan/#Excluding_axes_from_pan_or_zoom} for more info
99
99
  */
100
100
  zoomY?: boolean;
101
+ /**
102
+ * @todo review
103
+ * You can prevent axis to be zoomed if this is false.
104
+ */
105
+ zoomable?: boolean;
101
106
  /**
102
107
  * A relative distance the axis is allowed to be zoomed/panned beyond its
103
108
  * actual scope.
@@ -1 +1 @@
1
- {"version":3,"file":"Axis.d.ts","sourceRoot":"","sources":["../../../../../../src/.internal/charts/xy/axes/Axis.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Axis.d.ts","sourceRoot":"","sources":["../../../../../../src/.internal/charts/xy/axes/Axis.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,KAAK,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACtE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAC;AAC5D,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAE/C,OAAO,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACxI,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAE3D,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAS/C,MAAM,WAAW,aAAa,CAAC,CAAC,SAAS,YAAY,CAAE,SAAQ,kBAAkB;IAChF;;;;OAIG;IACH,QAAQ,EAAE,CAAC,CAAC;IAEZ;;;;;;OAMG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;;;;OAMG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb;;;;;;OAMG;IACH,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAE9B;;;;;;;;;OASG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;;;;;;;;OASG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;;OAKG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IAEf;;;;;OAKG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IAEf;;;;;OAKG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB;;;;;OAKG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAGhB;;;OAGG;IACH,QAAQ,CAAC,EAAC,OAAO,CAAC;IAElB;;;;;;OAMG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;;;;OAKG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB;;;;OAIG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB;;;;OAIG;IACH,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,aAAa,CAAC,KAAK,UAAU,CAAC;CACjG;AAED,MAAM,WAAW,WAAY,SAAQ,gBAAgB;CACpD;AAED,MAAM,WAAW,YAAa,SAAQ,iBAAiB;IAEtD;;OAEG;IACH,IAAI,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,UAAU,CAAC;IAErC;;OAEG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAE9B;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB;;;;;;;;OAQG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CAEnB;AAED,MAAM,WAAW,aAAc,SAAQ,kBAAkB;IAExD;;OAEG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;IAElB;;OAEG;IACH,IAAI,CAAC,EAAE,QAAQ,CAAC;IAEhB;;OAEG;IACH,IAAI,CAAC,EAAE,IAAI,CAAC;IAEZ;;OAEG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAEpB;;OAEG;IACH,MAAM,CAAC,EAAE,UAAU,CAAC;IAEpB;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;;;;;;;;;;;OAYG;IACH,KAAK,CAAC,EAAE,OAAO,CAAA;CAEf;AAED;;;;GAIG;AACH,8BAAsB,IAAI,CAAC,CAAC,SAAS,YAAY,CAAE,SAAQ,SAAS;IACnE,OAAc,SAAS,EAAE,MAAM,CAAU;IACzC,OAAc,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAAiD;IAEzE,SAAS,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC;IAC5B,gBAAgB,EAAE,YAAY,CAAC;IAC/B,iBAAiB,EAAE,aAAa,CAAC;IACjC,OAAO,EAAE,WAAW,CAAC;IAErB,WAAW,EAAE,QAAQ,CAAC;IAErC,SAAS,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAM;IAE5C,UAAU,EAAE,OAAO,CAAS;IAEnC;;OAEG;IACK,cAAc,EAAE,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAM;IAExE;;;;OAIG;IACH,SAAgB,eAAe,EAAE,SAAS,CAAqD;IAE/F;;;;OAIG;IACH,SAAgB,aAAa,EAAE,SAAS,CAA4D;IAEpG;;;;OAIG;IACH,SAAgB,gBAAgB,EAAE,SAAS,CAA4D;IAEvG;;;;OAIG;IACH,SAAgB,gBAAgB,EAAE,SAAS,CAAyH;IAEpK;;OAEG;IACI,KAAK,EAAE,OAAO,GAAG,SAAS,CAAC;IAElC,SAAS,CAAC,YAAY,EAAE,OAAO,CAAS;IAEjC,SAAS,EAAE,MAAM,CAAK;IACtB,OAAO,EAAE,MAAM,CAAK;IAE3B,SAAS,CAAC,WAAW,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC9D,SAAS,CAAC,WAAW,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;IAErD,SAAS,EAAE,OAAO,CAAS;IAElC;;;;;OAKG;IACH,SAAgB,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAc;IAE5E,iBAAiB,EAAE,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAM;IAE1E;;;;;OAKG;IACI,UAAU,EAAG,SAAS,CAAC;IAE9B,SAAS,CAAC,eAAe,EAAE,MAAM,CAAM;IAEvC,SAAS,CAAC,aAAa,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;IAEnC,kBAAkB,UAAS;IAElC;;;;;;OAMG;IACI,UAAU,EAAE,SAAS,CAOxB;IAEG,QAAQ,EAAE;QAAE,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,CAAA;KAAE,CAAM;IAEtD,SAAS,CAAC,QAAQ;IAUlB,SAAS,CAAC,SAAS;IAqCnB,SAAS,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAIpD;;;;;;;;;OASG;IACI,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,SAAS;IAmK/K;;;;OAIG;IACH,IAAW,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAE9C;IAGM,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC;IAoBzF,gBAAgB,CAAC,SAAS,EAAE,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM;IAEvF;;OAEG;aACa,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,GAAG,GAAG,MAAM;IAE7E;;OAEG;aACa,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,GAAG,GAAG,MAAM;IAE7E;;OAEG;aACa,sBAAsB,CAAC,SAAS,EAAE,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM;IAEtJ;;OAEG;aACa,sBAAsB,CAAC,SAAS,EAAE,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM;IAEtJ;;OAEG;aACa,oBAAoB,CAAC,SAAS,EAAE,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM;IAEpJ;;OAEG;aACa,oBAAoB,CAAC,SAAS,EAAE,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM;IAEpJ;;OAEG;IACI,iBAAiB;IAGxB;;OAEG;IACI,0BAA0B;IAG1B,gBAAgB;IAGvB,SAAS,CAAC,iBAAiB;IAW3B;;OAEG;aACa,SAAS,IAAI,GAAG;IAEzB,gBAAgB;IAgEhB,oBAAoB;IAOpB,aAAa;IAKpB;;OAEG;IACI,YAAY,CAAC,KAAK,EAAE,OAAO;IA2BlC;;OAEG;IACI,YAAY,CAAC,QAAQ,EAAE,QAAQ,CAAC,aAAa,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAKrE;;OAEG;IACI,YAAY,CAAC,QAAQ,EAAE,QAAQ,CAAC,aAAa,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAK9D,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,CAAC,aAAa,CAAC,EAAE,WAAW,EAAE,OAAO;IA6BzE,eAAe,CAAC,QAAQ,EAAE,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,EAAE,OAAO;IA4B1E;;OAEG;aACa,YAAY,IAAI,MAAM;IAE/B,aAAa,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,EAAE,OAAO;IAyFxG,SAAS,CAAC,cAAc,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAsB/D,aAAa;IAYpB;;OAEG;IACI,eAAe,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IA8BpE,SAAS,CAAC,YAAY;IAyBf,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC;IAU7E;;;OAGG;IACI,aAAa;IAgDpB,SAAS,CAAC,kBAAkB,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM;IAI/D;;;;;;OAMG;aACa,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS;IAE9F;;OAEG;IACI,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM;IAIrE;;OAEG;IACI,gBAAgB;IAOvB;;OAEG;IACI,gBAAgB;IAOvB;;OAEG;IACI,qBAAqB,CAAC,SAAS,EAAE,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC;IAIpF,WAAW;IAMlB;;;;;OAKG;IACI,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM;IAKvD;;;;;;OAMG;IACI,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IAI/C;;;;;;;OAOG;IACI,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IAIjD;;;;OAIG;IACI,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IAI5C;;;;;;OAMG;aACa,aAAa,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC,iBAAiB,CAAC,GAAG,SAAS;IAE7H;;OAEG;IACI,SAAS,CAAC,SAAS,EAAE,QAAQ,CAAC,iBAAiB,CAAC,EAAE,SAAS,EAAE,QAAQ,CAAC,iBAAiB,CAAC,EAAE,aAAa,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO;IAIpJ;;;;;;OAMG;IACI,eAAe,CAAC,YAAY,EAAE,QAAQ,CAAC,aAAa,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAIlG;;OAEG;IACI,gBAAgB,CAAC,OAAO,EAAE,QAAQ;IAEzC;;;;OAIG;IACI,oBAAoB,IAAI,MAAM;CAGrC"}
@@ -261,137 +261,139 @@ export class Axis extends Component {
261
261
  * @return Zoom animation
262
262
  */
263
263
  zoom(start, end, duration, priority) {
264
- this._updateFinals(start, end);
265
- if (this.get("start") !== start || this.get("end") != end) {
266
- let sAnimation = this._sAnimation;
267
- let eAnimation = this._eAnimation;
268
- let maxDeviation = this.get("maxDeviation", 0.5) * Math.min(1, (end - start));
269
- if (start < -maxDeviation) {
270
- start = -maxDeviation;
271
- }
272
- if (end > 1 + maxDeviation) {
273
- end = 1 + maxDeviation;
274
- }
275
- if (start > end) {
276
- [start, end] = [end, start];
277
- }
278
- if (!$type.isNumber(duration)) {
279
- duration = this.get("interpolationDuration", 0);
280
- }
281
- if (!priority) {
282
- priority = "end";
283
- }
284
- let maxZoomFactor = this.getPrivate("maxZoomFactor", this.get("maxZoomFactor", 100));
285
- let maxZoomFactorReal = maxZoomFactor;
286
- if (end === 1 && start !== 0) {
287
- if (start < this.get("start")) {
288
- priority = "start";
264
+ if (this.get("zoomable", true)) {
265
+ this._updateFinals(start, end);
266
+ if (this.get("start") !== start || this.get("end") != end) {
267
+ let sAnimation = this._sAnimation;
268
+ let eAnimation = this._eAnimation;
269
+ let maxDeviation = this.get("maxDeviation", 0.5) * Math.min(1, (end - start));
270
+ if (start < -maxDeviation) {
271
+ start = -maxDeviation;
289
272
  }
290
- else {
291
- priority = "end";
273
+ if (end > 1 + maxDeviation) {
274
+ end = 1 + maxDeviation;
292
275
  }
293
- }
294
- if (start === 0 && end !== 1) {
295
- if (end > this.get("end")) {
276
+ if (start > end) {
277
+ [start, end] = [end, start];
278
+ }
279
+ if (!$type.isNumber(duration)) {
280
+ duration = this.get("interpolationDuration", 0);
281
+ }
282
+ if (!priority) {
296
283
  priority = "end";
297
284
  }
298
- else {
299
- priority = "start";
285
+ let maxZoomFactor = this.getPrivate("maxZoomFactor", this.get("maxZoomFactor", 100));
286
+ let maxZoomFactorReal = maxZoomFactor;
287
+ if (end === 1 && start !== 0) {
288
+ if (start < this.get("start")) {
289
+ priority = "start";
290
+ }
291
+ else {
292
+ priority = "end";
293
+ }
300
294
  }
301
- }
302
- let minZoomCount = this.get("minZoomCount");
303
- let maxZoomCount = this.get("maxZoomCount");
304
- if ($type.isNumber(minZoomCount)) {
305
- maxZoomFactor = maxZoomFactorReal / minZoomCount;
306
- }
307
- let minZoomFactor = 1;
308
- if ($type.isNumber(maxZoomCount)) {
309
- minZoomFactor = maxZoomFactorReal / maxZoomCount;
310
- }
311
- // most likely we are dragging left scrollbar grip here, so we tend to modify end
312
- if (priority === "start") {
313
- if (maxZoomCount > 0) {
314
- // add to the end
315
- if (1 / (end - start) < minZoomFactor) {
316
- end = start + 1 / minZoomFactor;
295
+ if (start === 0 && end !== 1) {
296
+ if (end > this.get("end")) {
297
+ priority = "end";
298
+ }
299
+ else {
300
+ priority = "start";
317
301
  }
318
302
  }
319
- // add to the end
320
- if (1 / (end - start) > maxZoomFactor) {
321
- end = start + 1 / maxZoomFactor;
303
+ let minZoomCount = this.get("minZoomCount");
304
+ let maxZoomCount = this.get("maxZoomCount");
305
+ if ($type.isNumber(minZoomCount)) {
306
+ maxZoomFactor = maxZoomFactorReal / minZoomCount;
322
307
  }
323
- //unless end is > 0
324
- if (end > 1 && end - start < 1 / maxZoomFactor) {
325
- //end = 1;
326
- start = end - 1 / maxZoomFactor;
308
+ let minZoomFactor = 1;
309
+ if ($type.isNumber(maxZoomCount)) {
310
+ minZoomFactor = maxZoomFactorReal / maxZoomCount;
327
311
  }
328
- }
329
- // most likely we are dragging right, so we modify left
330
- else {
331
- if (maxZoomCount > 0) {
312
+ // most likely we are dragging left scrollbar grip here, so we tend to modify end
313
+ if (priority === "start") {
314
+ if (maxZoomCount > 0) {
315
+ // add to the end
316
+ if (1 / (end - start) < minZoomFactor) {
317
+ end = start + 1 / minZoomFactor;
318
+ }
319
+ }
332
320
  // add to the end
333
- if (1 / (end - start) < minZoomFactor) {
334
- start = end - 1 / minZoomFactor;
321
+ if (1 / (end - start) > maxZoomFactor) {
322
+ end = start + 1 / maxZoomFactor;
323
+ }
324
+ //unless end is > 0
325
+ if (end > 1 && end - start < 1 / maxZoomFactor) {
326
+ //end = 1;
327
+ start = end - 1 / maxZoomFactor;
335
328
  }
336
329
  }
337
- // remove from start
338
- if (1 / (end - start) > maxZoomFactor) {
339
- start = end - 1 / maxZoomFactor;
330
+ // most likely we are dragging right, so we modify left
331
+ else {
332
+ if (maxZoomCount > 0) {
333
+ // add to the end
334
+ if (1 / (end - start) < minZoomFactor) {
335
+ start = end - 1 / minZoomFactor;
336
+ }
337
+ }
338
+ // remove from start
339
+ if (1 / (end - start) > maxZoomFactor) {
340
+ start = end - 1 / maxZoomFactor;
341
+ }
342
+ if (start < 0 && end - start < 1 / maxZoomFactor) {
343
+ //start = 0;
344
+ end = start + 1 / maxZoomFactor;
345
+ }
340
346
  }
341
- if (start < 0 && end - start < 1 / maxZoomFactor) {
342
- //start = 0;
347
+ if (1 / (end - start) > maxZoomFactor) {
343
348
  end = start + 1 / maxZoomFactor;
344
349
  }
345
- }
346
- if (1 / (end - start) > maxZoomFactor) {
347
- end = start + 1 / maxZoomFactor;
348
- }
349
- if (1 / (end - start) > maxZoomFactor) {
350
- start = end - 1 / maxZoomFactor;
351
- }
352
- if (maxZoomCount != null && minZoomCount != null && (start == this.get("start") && end == this.get("end"))) {
353
- const chart = this.chart;
354
- if (chart) {
355
- chart._handleAxisSelection(this, true);
350
+ if (1 / (end - start) > maxZoomFactor) {
351
+ start = end - 1 / maxZoomFactor;
356
352
  }
357
- }
358
- if (((sAnimation && sAnimation.playing && sAnimation.to == start) || this.get("start") == start) && ((eAnimation && eAnimation.playing && eAnimation.to == end) || this.get("end") == end)) {
359
- return;
360
- }
361
- if (duration > 0) {
362
- let easing = this.get("interpolationEasing");
363
- let sAnimation, eAnimation;
364
- if (this.get("start") != start) {
365
- sAnimation = this.animate({ key: "start", to: start, duration: duration, easing: easing });
353
+ if (maxZoomCount != null && minZoomCount != null && (start == this.get("start") && end == this.get("end"))) {
354
+ const chart = this.chart;
355
+ if (chart) {
356
+ chart._handleAxisSelection(this, true);
357
+ }
366
358
  }
367
- if (this.get("end") != end) {
368
- eAnimation = this.animate({ key: "end", to: end, duration: duration, easing: easing });
359
+ if (((sAnimation && sAnimation.playing && sAnimation.to == start) || this.get("start") == start) && ((eAnimation && eAnimation.playing && eAnimation.to == end) || this.get("end") == end)) {
360
+ return;
369
361
  }
370
- this._sAnimation = sAnimation;
371
- this._eAnimation = eAnimation;
372
- if (sAnimation) {
373
- return sAnimation;
362
+ if (duration > 0) {
363
+ let easing = this.get("interpolationEasing");
364
+ let sAnimation, eAnimation;
365
+ if (this.get("start") != start) {
366
+ sAnimation = this.animate({ key: "start", to: start, duration: duration, easing: easing });
367
+ }
368
+ if (this.get("end") != end) {
369
+ eAnimation = this.animate({ key: "end", to: end, duration: duration, easing: easing });
370
+ }
371
+ this._sAnimation = sAnimation;
372
+ this._eAnimation = eAnimation;
373
+ if (sAnimation) {
374
+ return sAnimation;
375
+ }
376
+ else if (eAnimation) {
377
+ return eAnimation;
378
+ }
374
379
  }
375
- else if (eAnimation) {
376
- return eAnimation;
380
+ else {
381
+ this.set("start", start);
382
+ this.set("end", end);
383
+ // otherwise bullets and line out of sync, as series is not redrawn
384
+ this._root.events.once("frameended", () => {
385
+ this._markDirtyKey("start");
386
+ this._root._markDirty();
387
+ });
377
388
  }
378
389
  }
379
390
  else {
380
- this.set("start", start);
381
- this.set("end", end);
382
- // otherwise bullets and line out of sync, as series is not redrawn
383
- this._root.events.once("frameended", () => {
384
- this._markDirtyKey("start");
385
- this._root._markDirty();
386
- });
387
- }
388
- }
389
- else {
390
- if (this._sAnimation) {
391
- this._sAnimation.stop();
392
- }
393
- if (this._eAnimation) {
394
- this._eAnimation.stop();
391
+ if (this._sAnimation) {
392
+ this._sAnimation.stop();
393
+ }
394
+ if (this._eAnimation) {
395
+ this._eAnimation.stop();
396
+ }
395
397
  }
396
398
  }
397
399
  }