@amcharts/amcharts5 5.0.12 → 5.0.16

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 (233) hide show
  1. package/.internal/charts/hierarchy/ForceDirected.d.ts +1 -0
  2. package/.internal/charts/hierarchy/ForceDirected.d.ts.map +1 -1
  3. package/.internal/charts/hierarchy/ForceDirected.js +21 -6
  4. package/.internal/charts/hierarchy/ForceDirected.js.map +1 -1
  5. package/.internal/charts/hierarchy/Hierarchy.d.ts.map +1 -1
  6. package/.internal/charts/hierarchy/Hierarchy.js +4 -2
  7. package/.internal/charts/hierarchy/Hierarchy.js.map +1 -1
  8. package/.internal/charts/hierarchy/HierarchyDefaultTheme.d.ts.map +1 -1
  9. package/.internal/charts/hierarchy/HierarchyDefaultTheme.js +3 -0
  10. package/.internal/charts/hierarchy/HierarchyDefaultTheme.js.map +1 -1
  11. package/.internal/charts/map/MapChart.d.ts +11 -3
  12. package/.internal/charts/map/MapChart.d.ts.map +1 -1
  13. package/.internal/charts/map/MapChart.js +55 -66
  14. package/.internal/charts/map/MapChart.js.map +1 -1
  15. package/.internal/charts/map/MapPointSeries.d.ts.map +1 -1
  16. package/.internal/charts/map/MapPointSeries.js +1 -2
  17. package/.internal/charts/map/MapPointSeries.js.map +1 -1
  18. package/.internal/charts/percent/PercentSeries.d.ts.map +1 -1
  19. package/.internal/charts/percent/PercentSeries.js +5 -2
  20. package/.internal/charts/percent/PercentSeries.js.map +1 -1
  21. package/.internal/charts/venn/Venn.d.ts.map +1 -1
  22. package/.internal/charts/venn/Venn.js +2 -1
  23. package/.internal/charts/venn/Venn.js.map +1 -1
  24. package/.internal/charts/xy/XYChart.js +3 -4
  25. package/.internal/charts/xy/XYChart.js.map +1 -1
  26. package/.internal/charts/xy/XYCursor.d.ts.map +1 -1
  27. package/.internal/charts/xy/XYCursor.js +4 -1
  28. package/.internal/charts/xy/XYCursor.js.map +1 -1
  29. package/.internal/charts/xy/axes/Axis.d.ts.map +1 -1
  30. package/.internal/charts/xy/axes/Axis.js +11 -6
  31. package/.internal/charts/xy/axes/Axis.js.map +1 -1
  32. package/.internal/charts/xy/axes/AxisRenderer.d.ts.map +1 -1
  33. package/.internal/charts/xy/axes/AxisRenderer.js +0 -4
  34. package/.internal/charts/xy/axes/AxisRenderer.js.map +1 -1
  35. package/.internal/charts/xy/axes/AxisRendererX.d.ts.map +1 -1
  36. package/.internal/charts/xy/axes/AxisRendererX.js +9 -6
  37. package/.internal/charts/xy/axes/AxisRendererX.js.map +1 -1
  38. package/.internal/charts/xy/axes/AxisRendererY.d.ts.map +1 -1
  39. package/.internal/charts/xy/axes/AxisRendererY.js +9 -6
  40. package/.internal/charts/xy/axes/AxisRendererY.js.map +1 -1
  41. package/.internal/charts/xy/axes/CategoryAxis.d.ts.map +1 -1
  42. package/.internal/charts/xy/axes/CategoryAxis.js +1 -0
  43. package/.internal/charts/xy/axes/CategoryAxis.js.map +1 -1
  44. package/.internal/charts/xy/axes/ValueAxis.d.ts.map +1 -1
  45. package/.internal/charts/xy/axes/ValueAxis.js +5 -4
  46. package/.internal/charts/xy/axes/ValueAxis.js.map +1 -1
  47. package/.internal/charts/xy/series/BaseColumnSeries.d.ts +2 -0
  48. package/.internal/charts/xy/series/BaseColumnSeries.d.ts.map +1 -1
  49. package/.internal/charts/xy/series/BaseColumnSeries.js +36 -4
  50. package/.internal/charts/xy/series/BaseColumnSeries.js.map +1 -1
  51. package/.internal/charts/xy/series/LineSeries.js +2 -2
  52. package/.internal/charts/xy/series/LineSeries.js.map +1 -1
  53. package/.internal/charts/xy/series/XYSeries.d.ts +16 -1
  54. package/.internal/charts/xy/series/XYSeries.d.ts.map +1 -1
  55. package/.internal/charts/xy/series/XYSeries.js +66 -33
  56. package/.internal/charts/xy/series/XYSeries.js.map +1 -1
  57. package/.internal/core/Root.d.ts.map +1 -1
  58. package/.internal/core/Root.js +43 -14
  59. package/.internal/core/Root.js.map +1 -1
  60. package/.internal/core/render/Container.d.ts.map +1 -1
  61. package/.internal/core/render/Container.js +7 -1
  62. package/.internal/core/render/Container.js.map +1 -1
  63. package/.internal/core/render/Label.d.ts +8 -0
  64. package/.internal/core/render/Label.d.ts.map +1 -1
  65. package/.internal/core/render/Label.js +1 -0
  66. package/.internal/core/render/Label.js.map +1 -1
  67. package/.internal/core/render/Legend.d.ts +14 -3
  68. package/.internal/core/render/Legend.d.ts.map +1 -1
  69. package/.internal/core/render/Legend.js +65 -49
  70. package/.internal/core/render/Legend.js.map +1 -1
  71. package/.internal/core/render/Scrollbar.d.ts.map +1 -1
  72. package/.internal/core/render/Scrollbar.js +4 -0
  73. package/.internal/core/render/Scrollbar.js.map +1 -1
  74. package/.internal/core/render/Series.d.ts +2 -0
  75. package/.internal/core/render/Series.d.ts.map +1 -1
  76. package/.internal/core/render/Series.js +45 -29
  77. package/.internal/core/render/Series.js.map +1 -1
  78. package/.internal/core/render/Sprite.d.ts +25 -12
  79. package/.internal/core/render/Sprite.d.ts.map +1 -1
  80. package/.internal/core/render/Sprite.js +24 -10
  81. package/.internal/core/render/Sprite.js.map +1 -1
  82. package/.internal/core/render/Text.d.ts +1 -0
  83. package/.internal/core/render/Text.d.ts.map +1 -1
  84. package/.internal/core/render/Text.js +1 -0
  85. package/.internal/core/render/Text.js.map +1 -1
  86. package/.internal/core/render/backend/CanvasRenderer.d.ts +4 -2
  87. package/.internal/core/render/backend/CanvasRenderer.d.ts.map +1 -1
  88. package/.internal/core/render/backend/CanvasRenderer.js +91 -18
  89. package/.internal/core/render/backend/CanvasRenderer.js.map +1 -1
  90. package/.internal/core/render/backend/Renderer.d.ts +2 -0
  91. package/.internal/core/render/backend/Renderer.d.ts.map +1 -1
  92. package/.internal/core/render/backend/Renderer.js.map +1 -1
  93. package/.internal/core/util/Accessibility.d.ts +12 -0
  94. package/.internal/core/util/Accessibility.d.ts.map +1 -1
  95. package/.internal/core/util/Accessibility.js.map +1 -1
  96. package/.internal/core/util/Disposer.d.ts +9 -0
  97. package/.internal/core/util/Disposer.d.ts.map +1 -1
  98. package/.internal/core/util/Disposer.js +24 -0
  99. package/.internal/core/util/Disposer.js.map +1 -1
  100. package/.internal/core/util/TextFormatter.d.ts.map +1 -1
  101. package/.internal/core/util/TextFormatter.js +3 -0
  102. package/.internal/core/util/TextFormatter.js.map +1 -1
  103. package/.internal/plugins/exporting/Annotator.d.ts +3 -1
  104. package/.internal/plugins/exporting/Annotator.d.ts.map +1 -1
  105. package/.internal/plugins/exporting/Annotator.js +46 -16
  106. package/.internal/plugins/exporting/Annotator.js.map +1 -1
  107. package/.internal/plugins/exporting/Exporting.d.ts +29 -0
  108. package/.internal/plugins/exporting/Exporting.d.ts.map +1 -1
  109. package/.internal/plugins/exporting/Exporting.js +15 -0
  110. package/.internal/plugins/exporting/Exporting.js.map +1 -1
  111. package/.internal/plugins/exporting/ExportingMenu.d.ts +2 -0
  112. package/.internal/plugins/exporting/ExportingMenu.d.ts.map +1 -1
  113. package/.internal/plugins/exporting/ExportingMenu.js +35 -14
  114. package/.internal/plugins/exporting/ExportingMenu.js.map +1 -1
  115. package/.internal/themes/DefaultTheme.d.ts.map +1 -1
  116. package/.internal/themes/DefaultTheme.js +4 -3
  117. package/.internal/themes/DefaultTheme.js.map +1 -1
  118. package/CHANGELOG.md +64 -1
  119. package/examples/javascript/flow-chord/package.json +1 -1
  120. package/examples/javascript/flow-chord-directed/package.json +1 -1
  121. package/examples/javascript/flow-chord-non-ribbon/package.json +1 -1
  122. package/examples/javascript/flow-sankey/package.json +1 -1
  123. package/examples/javascript/gauge/package.json +1 -1
  124. package/examples/javascript/gauge-bands/package.json +1 -1
  125. package/examples/javascript/hierarchy-force-directed/package.json +1 -1
  126. package/examples/javascript/hierarchy-pack/package.json +1 -1
  127. package/examples/javascript/hierarchy-partition/package.json +1 -1
  128. package/examples/javascript/hierarchy-sunburst/package.json +1 -1
  129. package/examples/javascript/hierarchy-tree/package.json +1 -1
  130. package/examples/javascript/hierarchy-treemap/package.json +1 -1
  131. package/examples/javascript/map-animating-along-lines/package.json +1 -1
  132. package/examples/javascript/map-day-and-night/package.json +1 -1
  133. package/examples/javascript/map-globe-rotate-to-country/package.json +1 -1
  134. package/examples/javascript/map-globe-with-projected-circles/package.json +1 -1
  135. package/examples/javascript/map-with-bubbles/package.json +1 -1
  136. package/examples/javascript/map-zoom-to-country/package.json +1 -1
  137. package/examples/javascript/misc-40-charts/package.json +1 -1
  138. package/examples/javascript/misc-microchart-grid/package.json +1 -1
  139. package/examples/javascript/pie-chart/package.json +1 -1
  140. package/examples/javascript/pie-donut-chart/package.json +1 -1
  141. package/examples/javascript/pie-variable-radius/package.json +1 -1
  142. package/examples/javascript/radar-column-iwatch-style/package.json +1 -1
  143. package/examples/javascript/radar-heat-map/package.json +1 -1
  144. package/examples/javascript/radar-line/package.json +1 -1
  145. package/examples/javascript/radar-time-line/package.json +1 -1
  146. package/examples/javascript/sliced-funnel/package.json +1 -1
  147. package/examples/javascript/sliced-pictorial-stacked/package.json +1 -1
  148. package/examples/javascript/sliced-pyramid/package.json +1 -1
  149. package/examples/javascript/venn-diagram/package.json +1 -1
  150. package/examples/javascript/wordcloud-with-data/package.json +1 -1
  151. package/examples/javascript/wordcloud-with-text/package.json +1 -1
  152. package/examples/javascript/xy-100-percent-stacked-column/package.json +1 -1
  153. package/examples/javascript/xy-animated-bullet-at-the-end-of-the-series/package.json +1 -1
  154. package/examples/javascript/xy-bubble/package.json +1 -1
  155. package/examples/javascript/xy-candlestick/package.json +1 -1
  156. package/examples/javascript/xy-clustered-column/package.json +1 -1
  157. package/examples/javascript/xy-column/package.json +1 -1
  158. package/examples/javascript/xy-comparing-series-google-analytics-style/package.json +1 -1
  159. package/examples/javascript/xy-data-grouping/package.json +1 -1
  160. package/examples/javascript/xy-draggable-range/package.json +1 -1
  161. package/examples/javascript/xy-drawing-series-with-mouse-or-touch/package.json +1 -1
  162. package/examples/javascript/xy-dumbbell plot/package.json +1 -1
  163. package/examples/javascript/xy-evenly-spaced-date-axis/package.json +1 -1
  164. package/examples/javascript/xy-line/package.json +1 -1
  165. package/examples/javascript/xy-line-highlight-on-legend-hover/package.json +1 -1
  166. package/examples/javascript/xy-live-data/package.json +1 -1
  167. package/examples/javascript/xy-multiple-synced-value-axes/package.json +1 -1
  168. package/examples/javascript/xy-ohlc/package.json +1 -1
  169. package/examples/javascript/xy-real-time-data-sorting/package.json +1 -1
  170. package/examples/javascript/xy-smoothed-line/package.json +1 -1
  171. package/examples/javascript/xy-stacked-and-clustered-column/package.json +1 -1
  172. package/examples/javascript/xy-stacked-column/package.json +1 -1
  173. package/examples/javascript/xy-stacked-step/package.json +1 -1
  174. package/examples/javascript/xy-stock/package.json +1 -1
  175. package/examples/javascript/xy-stock-comparing/package.json +1 -1
  176. package/examples/typescript/flow-chord/package.json +1 -1
  177. package/examples/typescript/flow-chord-directed/package.json +1 -1
  178. package/examples/typescript/flow-chord-non-ribbon/package.json +1 -1
  179. package/examples/typescript/flow-sankey/package.json +1 -1
  180. package/examples/typescript/gauge/package.json +1 -1
  181. package/examples/typescript/gauge-bands/package.json +1 -1
  182. package/examples/typescript/hierarchy-force-directed/package.json +1 -1
  183. package/examples/typescript/hierarchy-pack/package.json +1 -1
  184. package/examples/typescript/hierarchy-partition/package.json +1 -1
  185. package/examples/typescript/hierarchy-sunburst/package.json +1 -1
  186. package/examples/typescript/hierarchy-tree/package.json +1 -1
  187. package/examples/typescript/hierarchy-treemap/package.json +1 -1
  188. package/examples/typescript/map-animating-along-lines/package.json +1 -1
  189. package/examples/typescript/map-day-and-night/package.json +1 -1
  190. package/examples/typescript/map-globe-rotate-to-country/package.json +1 -1
  191. package/examples/typescript/map-globe-with-projected-circles/package.json +1 -1
  192. package/examples/typescript/map-with-bubbles/package.json +1 -1
  193. package/examples/typescript/map-zoom-to-country/package.json +1 -1
  194. package/examples/typescript/misc-40-charts/package.json +1 -1
  195. package/examples/typescript/misc-microchart-grid/package.json +1 -1
  196. package/examples/typescript/pie-chart/package.json +1 -1
  197. package/examples/typescript/pie-donut-chart/package.json +1 -1
  198. package/examples/typescript/pie-variable-radius/package.json +1 -1
  199. package/examples/typescript/radar-column-iwatch-style/package.json +1 -1
  200. package/examples/typescript/radar-heat-map/package.json +1 -1
  201. package/examples/typescript/radar-line/package.json +1 -1
  202. package/examples/typescript/radar-time-line/package.json +1 -1
  203. package/examples/typescript/sliced-funnel/package.json +1 -1
  204. package/examples/typescript/sliced-pictorial-stacked/package.json +1 -1
  205. package/examples/typescript/sliced-pyramid/package.json +1 -1
  206. package/examples/typescript/venn-diagram/package.json +1 -1
  207. package/examples/typescript/wordcloud-with-data/package.json +1 -1
  208. package/examples/typescript/wordcloud-with-text/package.json +1 -1
  209. package/examples/typescript/xy-100-percent-stacked-column/package.json +1 -1
  210. package/examples/typescript/xy-animated-bullet-at-the-end-of-the-series/package.json +1 -1
  211. package/examples/typescript/xy-bubble/package.json +1 -1
  212. package/examples/typescript/xy-candlestick/package.json +1 -1
  213. package/examples/typescript/xy-clustered-column/package.json +1 -1
  214. package/examples/typescript/xy-column/package.json +1 -1
  215. package/examples/typescript/xy-comparing-series-google-analytics-style/package.json +1 -1
  216. package/examples/typescript/xy-data-grouping/package.json +1 -1
  217. package/examples/typescript/xy-draggable-range/package.json +1 -1
  218. package/examples/typescript/xy-drawing-series-with-mouse-or-touch/package.json +1 -1
  219. package/examples/typescript/xy-dumbbell plot/package.json +1 -1
  220. package/examples/typescript/xy-evenly-spaced-date-axis/package.json +1 -1
  221. package/examples/typescript/xy-line/package.json +1 -1
  222. package/examples/typescript/xy-line-highlight-on-legend-hover/package.json +1 -1
  223. package/examples/typescript/xy-live-data/package.json +1 -1
  224. package/examples/typescript/xy-multiple-synced-value-axes/package.json +1 -1
  225. package/examples/typescript/xy-ohlc/package.json +1 -1
  226. package/examples/typescript/xy-real-time-data-sorting/package.json +1 -1
  227. package/examples/typescript/xy-smoothed-line/package.json +1 -1
  228. package/examples/typescript/xy-stacked-and-clustered-column/package.json +1 -1
  229. package/examples/typescript/xy-stacked-column/package.json +1 -1
  230. package/examples/typescript/xy-stacked-step/package.json +1 -1
  231. package/examples/typescript/xy-stock/package.json +1 -1
  232. package/examples/typescript/xy-stock-comparing/package.json +1 -1
  233. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"Venn.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/charts/venn/Venn.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Venn.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/charts/venn/Venn.ts"],"names":[],"mappings":"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"}
@@ -399,6 +399,7 @@ var Venn = /** @class */ (function (_super) {
399
399
  slice = dataItem.get("slice");
400
400
  if (slice) {
401
401
  promises.push(slice.hide(duration));
402
+ slice.hideTooltip();
402
403
  }
403
404
  if (!dataItem.get("intersections")) {
404
405
  $array.each(this.dataItems, function (di) {
@@ -472,7 +473,7 @@ var Venn = /** @class */ (function (_super) {
472
473
  writable: true,
473
474
  value: function (dataItem) {
474
475
  var slice = dataItem.get("slice");
475
- if (slice) {
476
+ if (slice && !slice.isHidden()) {
476
477
  slice.hover();
477
478
  }
478
479
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Venn.js","sourceRoot":"","sources":["../../../../../src/.internal/charts/venn/Venn.ts"],"names":[],"mappings":"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","sourcesContent":["import type { DataItem } from \"../../core/render/Component\";\n\nimport { VennDefaultTheme } from \"./VennDefaultTheme\";\nimport { Series, ISeriesSettings, ISeriesDataItem, ISeriesPrivate } from \"../../core/render/Series\";\nimport { Template } from \"../../core/util/Template\";\nimport { Graphics, visualSettings } from \"../../core/render/Graphics\";\nimport { Container } from \"../../core/render/Container\";\nimport { Label } from \"../../core/render/Label\";\nimport { ListTemplate } from \"../../core/util/List\";\nimport type { ILegendDataItem } from \"../../core/render/Legend\";\nimport type { Color } from \"../../core/util/Color\";\nimport type { ColorSet } from \"../../core/util/ColorSet\";\n\nimport * as $utils from \"../../core/util/Utils\";\nimport * as $array from \"../../core/util/Array\";\nimport * as $type from \"../../core/util/Type\";\nimport * as venn from \"./vennjs/index.js\";\n\nexport interface IVennDataItem extends ISeriesDataItem {\n\n\t/**\n\t * Array of categories that this data item is an intersection for.\n\t */\n\tintersections: Array<string>;\n\n\t/**\n\t * Category.\n\t */\n\tcategory: string;\n\n\t/**\n\t * Slice visaul element.\n\t */\n\tslice: Graphics;\n\n\t/**\n\t * Slice label.\n\t */\n\tlabel: Label;\n\n\t/**\n\t * A related legend data item.\n\t */\n\tlegendDataItem: DataItem<ILegendDataItem>;\n\n\t/**\n\t * Fill color used for the slice and related elements, e.g. legend marker.\n\t */\n\tfill: Color;\n\n}\n\nexport interface IVennSettings extends ISeriesSettings {\n\n\t/**\n\t * A field in data that holds array of categories that overlap.\n\t */\n\tintersectionsField?: string;\n\n\t/**\n\t * A [[ColorSet]] to use when asigning colors for slices.\n\t */\n\tcolors?: ColorSet;\n\n\t/**\n\t * A field in data that holds category names.\n\t */\n\tcategoryField?: string;\n\n\t/**\n\t * A field that holds color for slice fill.\n\t */\n\tfillField?: string;\n\n}\n\nexport interface IVennPrivate extends ISeriesPrivate {\n}\n\n/**\n * Creates a Venn diagram.\n *\n * @see {@link https://www.amcharts.com/docs/v5/charts/venn/} for more info\n * @important\n */\nexport class Venn extends Series {\n\n\tpublic static className: string = \"Venn\";\n\tpublic static classNames: Array<string> = Series.classNames.concat([Venn.className]);\n\n\tdeclare public _settings: IVennSettings;\n\tdeclare public _privateSettings: IVennPrivate;\n\tdeclare public _dataItemSettings: IVennDataItem;\n\n\tprotected _sets: string = \"\";\n\n\t/**\n\t * A [[Container]] that holds all slices (circles and intersections).\n\t *\n\t * @default Container.new()\n\t */\n\tpublic readonly slicesContainer = this.children.push(Container.new(this._root, {}));\n\n\t/**\n\t * A [[Container]] that holds all labels.\n\t *\n\t * @default Container.new()\n\t */\n\tpublic readonly labelsContainer = this.children.push(Container.new(this._root, {}));\n\n\t/**\n\t * A [[Graphics]] element that is used to show the shape of the hovered slice\n\t * or intersection.\n\t *\n\t * @default Graphics.new()\n\t */\n\tpublic readonly hoverGraphics = this.slicesContainer.children.push(Graphics.new(this._root, { position: \"absolute\", isMeasured: false }))\n\n\tprotected _hovered?: Graphics;\n\n\tprotected _afterNew() {\n\t\tthis._defaultThemes.push(VennDefaultTheme.new(this._root));\n\t\tthis.fields.push(\"intersections\", \"category\", \"fill\");\n\t\tsuper._afterNew();\n\t}\n\n\n\t/**\n\t * A [[ListTemplate]] of all slices in series.\n\t *\n\t * `slices.template` can also be used to configure slices.\n\t */\n\tpublic readonly slices: ListTemplate<Graphics> = this._makeSlices();\n\n\n\t/**\n\t * @ignore\n\t */\n\tpublic makeSlice(dataItem: DataItem<this[\"_dataItemSettings\"]>): Graphics {\n\t\tconst slice = this.slicesContainer.children.push(this.slices.make());\n\t\tslice.events.on(\"pointerover\", (e) => {\n\t\t\tthis._hovered = e.target;\n\t\t\tthis._updateHover();\n\t\t})\n\n\t\tslice.events.on(\"pointerout\", () => {\n\t\t\tthis._hovered = undefined;\n\t\t\tthis.hoverGraphics.hide();\n\t\t})\n\n\t\tslice.on(\"fill\", () => {\n\t\t\tthis.updateLegendMarker(dataItem);\n\t\t})\n\n\t\tslice.on(\"stroke\", () => {\n\t\t\tthis.updateLegendMarker(dataItem);\n\t\t})\n\n\t\tslice._setDataItem(dataItem);\n\t\tdataItem.set(\"slice\", slice);\n\t\tthis.slices.push(slice);\n\n\t\treturn slice;\n\t}\n\n\tprotected _updateHover() {\n\t\tif (this._hovered) {\n\t\t\tconst hoverGraphics = this.hoverGraphics;\n\t\t\thoverGraphics.set(\"svgPath\", this._hovered.get(\"svgPath\"));\n\t\t\thoverGraphics.show();\n\t\t\thoverGraphics.toFront();\n\t\t}\n\t}\n\n\t/**\n\t * A [[ListTemplate]] of all slice labels in series.\n\t *\n\t * `labels.template` can also be used to configure slice labels.\n\t */\n\tpublic readonly labels: ListTemplate<Label> = this._makeLabels();\n\n\t/**\n\t * @ignore\n\t */\n\tpublic makeLabel(dataItem: DataItem<this[\"_dataItemSettings\"]>): Label {\n\t\tconst label = this.labelsContainer.children.push(this.labels.make());\n\t\tlabel._setDataItem(dataItem);\n\t\tdataItem.set(\"label\", label);\n\t\tthis.labels.push(label);\n\t\treturn label;\n\t}\n\n\n\tprotected _makeSlices(): ListTemplate<Graphics> {\n\t\treturn new ListTemplate(\n\t\t\tTemplate.new({}),\n\t\t\t() => Graphics._new(this._root, {\n\t\t\t\tthemeTags: $utils.mergeTags(this.slices.template.get(\"themeTags\", []), [\"venn\", \"series\"])\n\t\t\t}, [this.slices.template]),\n\t\t);\n\t}\n\n\tprotected _makeLabels(): ListTemplate<Label> {\n\t\treturn new ListTemplate(\n\t\t\tTemplate.new({}),\n\t\t\t() => Label._new(this._root, {\n\t\t\t\tthemeTags: $utils.mergeTags(this.labels.template.get(\"themeTags\", []), [\"venn\", \"series\"])\n\t\t\t}, [this.labels.template]),\n\t\t);\n\t}\n\n\n\tprotected processDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tsuper.processDataItem(dataItem);\n\n\n\t\tif (dataItem.get(\"fill\") == null) {\n\t\t\tlet colors = this.get(\"colors\");\n\t\t\tif (colors) {\n\t\t\t\tdataItem.setRaw(\"fill\", colors.next());\n\t\t\t}\n\t\t}\n\n\t\tthis.makeSlice(dataItem);\n\t\tthis.makeLabel(dataItem);\n\t}\n\n\tpublic _prepareChildren() {\n\t\tsuper._prepareChildren();\n\n\t\tif (this._valuesDirty || this._sizeDirty) {\n\t\t\tconst sets: any[] = [];\n\n\t\t\t// prepare data for venn\n\t\t\t$array.each(this.dataItems, (dataItem) => {\n\t\t\t\tconst set: any = {};\n\t\t\t\tconst intersections = dataItem.get(\"intersections\");\n\t\t\t\tif (intersections) {\n\t\t\t\t\tset.sets = intersections;\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tset.sets = [dataItem.get(\"category\")];\n\t\t\t\t}\n\t\t\t\tset.size = dataItem.get(\"valueWorking\");\n\n\t\t\t\tif (set.size > 0) {\n\t\t\t\t\tsets.push(set);\n\t\t\t\t}\n\t\t\t})\n\n\t\t\tconst newSets = sets.toString();\n\n\t\t\tthis._sets = newSets;\n\n\t\t\tif (sets.length > 0) {\n\t\t\t\tlet vennData = venn.venn(sets);\n\t\t\t\tvennData = venn.normalizeSolution(vennData, null, null);\n\t\t\t\tvennData = venn.scaleSolution(vennData, this.innerWidth(), this.innerHeight(), 0);\n\n\t\t\t\tconst circles: any = {};\n\t\t\t\tfor (let name in vennData) {\n\t\t\t\t\tlet item = vennData[name];\n\t\t\t\t\tlet r = item.radius;\n\n\t\t\t\t\tconst dataItem = this.getDataItemByCategory(name);\n\t\t\t\t\tif (dataItem) {\n\t\t\t\t\t\tconst slice = dataItem.get(\"slice\");\n\t\t\t\t\t\tconst color = dataItem.get(\"fill\");\n\t\t\t\t\t\tslice._setDefault(\"fill\", color);\n\t\t\t\t\t\tslice._setDefault(\"stroke\", color);\n\n\t\t\t\t\t\tthis.updateLegendMarker(dataItem);\n\n\t\t\t\t\t\tslice.set(\"svgPath\", \"M\" + item.x + \",\" + item.y + \" m -\" + r + \", 0 a \" + r + \",\" + r + \" 0 1,1 \" + r * 2 + \",0 a \" + r + \",\" + r + \" 0 1,1 -\" + r * 2 + \",0\");\n\t\t\t\t\t\tcircles[name] = item;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\n\t\t\t\tlet centers: any = venn.computeTextCentres(circles, sets);\n\n\n\t\t\t\t$array.each(this.dataItems, (dataItem) => {\n\t\t\t\t\tlet name = dataItem.get(\"category\");\n\t\t\t\t\tlet center = centers[name];\n\t\t\t\t\tconst intersections = dataItem.get(\"intersections\");\n\t\t\t\t\tif (intersections) {\n\t\t\t\t\t\tname = intersections.toString();\n\t\t\t\t\t\tcenter = centers[name];\n\t\t\t\t\t\tif (center) {\n\t\t\t\t\t\t\tlet set = intersections;\n\t\t\t\t\t\t\tlet cc = [];\n\n\t\t\t\t\t\t\tfor (let s = 0; s < set.length; s++) {\n\t\t\t\t\t\t\t\tcc.push(circles[set[s]]);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tlet intersectionPath = venn.intersectionAreaPath(cc)\n\t\t\t\t\t\t\tlet slice = dataItem.get(\"slice\");\n\n\t\t\t\t\t\t\tconst color = dataItem.get(\"fill\");\n\t\t\t\t\t\t\tslice._setDefault(\"fill\", color);\n\t\t\t\t\t\t\tslice._setDefault(\"stroke\", color);\n\n\t\t\t\t\t\t\tslice.setAll({ svgPath: intersectionPath });\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tif (center) {\n\t\t\t\t\t\tlet label = dataItem.get(\"label\");\n\t\t\t\t\t\tlabel.setAll({ x: center.x, y: center.y });\n\t\t\t\t\t}\n\n\t\t\t\t\tthis.updateLegendValue(dataItem);\n\t\t\t\t})\n\t\t\t}\n\n\t\t\tthis._updateHover();\n\t\t}\n\t}\n\n\t/**\n\t * Looks up and returns a data item by its category.\n\t *\n\t * @param category Category\n\t * @return Data item\n\t */\n\tpublic getDataItemByCategory(id: string): DataItem<this[\"_dataItemSettings\"]> | undefined {\n\t\treturn $array.find(this.dataItems, (dataItem: any) => {\n\t\t\treturn dataItem.get(\"category\") == id;\n\t\t})\n\t}\n\n\n\t/**\n\t * Shows series's data item.\n\t *\n\t * @param dataItem Data item\n\t * @param duration Animation duration in milliseconds\n\t * @return Promise\n\t */\n\tpublic async showDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>, duration?: number): Promise<void> {\n\t\tconst promises = [super.showDataItem(dataItem, duration)];\n\t\tif (!$type.isNumber(duration)) {\n\t\t\tduration = this.get(\"stateAnimationDuration\", 0);\n\t\t}\n\n\t\tconst easing = this.get(\"stateAnimationEasing\");\n\n\t\tlet value = dataItem.get(\"value\");\n\n\t\tconst animation = dataItem.animate({ key: \"valueWorking\", to: value, duration: duration, easing: easing });\n\t\tif (animation) {\n\t\t\tpromises.push(animation.waitForStop());\n\t\t}\n\n\t\tconst label = dataItem.get(\"label\");\n\t\tif (label) {\n\t\t\tpromises.push(label.show(duration));\n\t\t}\n\n\t\tconst slice = dataItem.get(\"slice\");\n\t\tif (slice) {\n\t\t\tpromises.push(slice.show(duration));\n\t\t}\n\n\n\t\tconst intersections = dataItem.get(\"intersections\");\n\t\tif (intersections) {\n\t\t\t$array.each(intersections, (cat) => {\n\t\t\t\tconst di = this.getDataItemByCategory(cat);\n\t\t\t\tif (di && di.isHidden()) {\n\t\t\t\t\tthis.showDataItem(di, duration);\n\t\t\t\t}\n\t\t\t})\n\t\t}\n\n\t\tif (!intersections) {\n\t\t\tconst category = dataItem.get(\"category\");\n\n\t\t\t$array.each(this.dataItems, (di) => {\n\t\t\t\tconst intersections = di.get(\"intersections\");\n\t\t\t\tif (di != dataItem && intersections) {\n\t\t\t\t\tlet allVisible = true;\n\t\t\t\t\t$array.each(intersections, (cat) => {\n\t\t\t\t\t\tconst dii = this.getDataItemByCategory(cat);\n\t\t\t\t\t\tif (dii && dii.isHidden()) {\n\t\t\t\t\t\t\tallVisible = false;\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\n\t\t\t\t\tif (allVisible && intersections.indexOf(category) != -1) {\n\t\t\t\t\t\tif (di.isHidden()) {\n\t\t\t\t\t\t\tthis.showDataItem(di, duration);\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\tawait Promise.all(promises);\n\t}\n\n\t/**\n\t * Hides series's data item.\n\t *\n\t * @param dataItem Data item\n\t * @param duration Animation duration in milliseconds\n\t * @return Promise\n\t */\n\tpublic async hideDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>, duration?: number): Promise<void> {\n\t\tconst promises = [super.hideDataItem(dataItem, duration)];\n\t\tconst hiddenState = this.states.create(\"hidden\", {})\n\n\t\tif (!$type.isNumber(duration)) {\n\t\t\tduration = hiddenState.get(\"stateAnimationDuration\", this.get(\"stateAnimationDuration\", 0));\n\t\t}\n\n\t\tconst easing = hiddenState.get(\"stateAnimationEasing\", this.get(\"stateAnimationEasing\"));\n\n\t\tconst animation = dataItem.animate({ key: \"valueWorking\", to: 0, duration: duration, easing: easing });\n\t\tif (animation) {\n\t\t\tpromises.push(animation.waitForStop());\n\t\t}\n\n\t\tconst label = dataItem.get(\"label\");\n\t\tif (label) {\n\t\t\tpromises.push(label.hide(duration));\n\t\t}\n\n\t\tconst slice = dataItem.get(\"slice\");\n\t\tif (slice) {\n\t\t\tpromises.push(slice.hide(duration));\n\t\t}\n\n\t\tif (!dataItem.get(\"intersections\")) {\n\t\t\t$array.each(this.dataItems, (di) => {\n\t\t\t\tconst intersections = di.get(\"intersections\");\n\t\t\t\tif (di != dataItem && intersections) {\n\t\t\t\t\tif (intersections.indexOf(dataItem.get(\"category\")) != -1) {\n\t\t\t\t\t\tthis.hideDataItem(di, duration);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t})\n\t\t}\n\n\t\tawait Promise.all(promises);\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic disposeDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tsuper.disposeDataItem(dataItem);\n\t\tlet label = dataItem.get(\"label\");\n\t\tif (label) {\n\t\t\tthis.labels.removeValue(label);\n\t\t\tlabel.dispose();\n\t\t}\n\n\t\tlet slice = dataItem.get(\"slice\");\n\t\tif (slice) {\n\t\t\tthis.slices.removeValue(slice);\n\t\t\tslice.dispose();\n\t\t}\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic updateLegendMarker(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tconst slice = dataItem.get(\"slice\");\n\n\t\tif (slice) {\n\t\t\tconst legendDataItem = dataItem.get(\"legendDataItem\");\n\t\t\tif (legendDataItem) {\n\t\t\t\tconst markerRectangle = legendDataItem.get(\"markerRectangle\");\n\n\t\t\t\t$array.each(visualSettings, (setting: any) => {\n\t\t\t\t\tmarkerRectangle.set(setting, slice.get(setting));\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Triggers hover on a series data item.\n\t *\n\t * @since 5.0.7\n\t * @param dataItem Target data item\n\t */\n\tpublic hoverDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tconst slice = dataItem.get(\"slice\");\n\t\tif (slice) {\n\t\t\tslice.hover();\n\t\t}\n\t}\n\n\t/**\n\t * Triggers un-hover on a series data item.\n\t *\n\t * @since 5.0.7\n\t * @param dataItem Target data item\n\t */\n\tpublic unhoverDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tconst slice = dataItem.get(\"slice\");\n\t\tif (slice) {\n\t\t\tslice.unhover();\n\t\t}\n\t}\n}\n"]}
1
+ {"version":3,"file":"Venn.js","sourceRoot":"","sources":["../../../../../src/.internal/charts/venn/Venn.ts"],"names":[],"mappings":"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","sourcesContent":["import type { DataItem } from \"../../core/render/Component\";\n\nimport { VennDefaultTheme } from \"./VennDefaultTheme\";\nimport { Series, ISeriesSettings, ISeriesDataItem, ISeriesPrivate } from \"../../core/render/Series\";\nimport { Template } from \"../../core/util/Template\";\nimport { Graphics, visualSettings } from \"../../core/render/Graphics\";\nimport { Container } from \"../../core/render/Container\";\nimport { Label } from \"../../core/render/Label\";\nimport { ListTemplate } from \"../../core/util/List\";\nimport type { ILegendDataItem } from \"../../core/render/Legend\";\nimport type { Color } from \"../../core/util/Color\";\nimport type { ColorSet } from \"../../core/util/ColorSet\";\n\nimport * as $utils from \"../../core/util/Utils\";\nimport * as $array from \"../../core/util/Array\";\nimport * as $type from \"../../core/util/Type\";\nimport * as venn from \"./vennjs/index.js\";\n\nexport interface IVennDataItem extends ISeriesDataItem {\n\n\t/**\n\t * Array of categories that this data item is an intersection for.\n\t */\n\tintersections: Array<string>;\n\n\t/**\n\t * Category.\n\t */\n\tcategory: string;\n\n\t/**\n\t * Slice visaul element.\n\t */\n\tslice: Graphics;\n\n\t/**\n\t * Slice label.\n\t */\n\tlabel: Label;\n\n\t/**\n\t * A related legend data item.\n\t */\n\tlegendDataItem: DataItem<ILegendDataItem>;\n\n\t/**\n\t * Fill color used for the slice and related elements, e.g. legend marker.\n\t */\n\tfill: Color;\n\n}\n\nexport interface IVennSettings extends ISeriesSettings {\n\n\t/**\n\t * A field in data that holds array of categories that overlap.\n\t */\n\tintersectionsField?: string;\n\n\t/**\n\t * A [[ColorSet]] to use when asigning colors for slices.\n\t */\n\tcolors?: ColorSet;\n\n\t/**\n\t * A field in data that holds category names.\n\t */\n\tcategoryField?: string;\n\n\t/**\n\t * A field that holds color for slice fill.\n\t */\n\tfillField?: string;\n\n}\n\nexport interface IVennPrivate extends ISeriesPrivate {\n}\n\n/**\n * Creates a Venn diagram.\n *\n * @see {@link https://www.amcharts.com/docs/v5/charts/venn/} for more info\n * @important\n */\nexport class Venn extends Series {\n\n\tpublic static className: string = \"Venn\";\n\tpublic static classNames: Array<string> = Series.classNames.concat([Venn.className]);\n\n\tdeclare public _settings: IVennSettings;\n\tdeclare public _privateSettings: IVennPrivate;\n\tdeclare public _dataItemSettings: IVennDataItem;\n\n\tprotected _sets: string = \"\";\n\n\t/**\n\t * A [[Container]] that holds all slices (circles and intersections).\n\t *\n\t * @default Container.new()\n\t */\n\tpublic readonly slicesContainer = this.children.push(Container.new(this._root, {}));\n\n\t/**\n\t * A [[Container]] that holds all labels.\n\t *\n\t * @default Container.new()\n\t */\n\tpublic readonly labelsContainer = this.children.push(Container.new(this._root, {}));\n\n\t/**\n\t * A [[Graphics]] element that is used to show the shape of the hovered slice\n\t * or intersection.\n\t *\n\t * @default Graphics.new()\n\t */\n\tpublic readonly hoverGraphics = this.slicesContainer.children.push(Graphics.new(this._root, { position: \"absolute\", isMeasured: false }))\n\n\tprotected _hovered?: Graphics;\n\n\tprotected _afterNew() {\n\t\tthis._defaultThemes.push(VennDefaultTheme.new(this._root));\n\t\tthis.fields.push(\"intersections\", \"category\", \"fill\");\n\t\tsuper._afterNew();\n\t}\n\n\n\t/**\n\t * A [[ListTemplate]] of all slices in series.\n\t *\n\t * `slices.template` can also be used to configure slices.\n\t */\n\tpublic readonly slices: ListTemplate<Graphics> = this._makeSlices();\n\n\n\t/**\n\t * @ignore\n\t */\n\tpublic makeSlice(dataItem: DataItem<this[\"_dataItemSettings\"]>): Graphics {\n\t\tconst slice = this.slicesContainer.children.push(this.slices.make());\n\t\tslice.events.on(\"pointerover\", (e) => {\n\t\t\tthis._hovered = e.target;\n\t\t\tthis._updateHover();\n\t\t})\n\n\t\tslice.events.on(\"pointerout\", () => {\n\t\t\tthis._hovered = undefined;\n\t\t\tthis.hoverGraphics.hide();\n\t\t})\n\n\t\tslice.on(\"fill\", () => {\n\t\t\tthis.updateLegendMarker(dataItem);\n\t\t})\n\n\t\tslice.on(\"stroke\", () => {\n\t\t\tthis.updateLegendMarker(dataItem);\n\t\t})\n\n\t\tslice._setDataItem(dataItem);\n\t\tdataItem.set(\"slice\", slice);\n\t\tthis.slices.push(slice);\n\n\t\treturn slice;\n\t}\n\n\tprotected _updateHover() {\n\t\tif (this._hovered) {\n\t\t\tconst hoverGraphics = this.hoverGraphics;\n\t\t\thoverGraphics.set(\"svgPath\", this._hovered.get(\"svgPath\"));\n\t\t\thoverGraphics.show();\n\t\t\thoverGraphics.toFront();\n\t\t}\n\t}\n\n\t/**\n\t * A [[ListTemplate]] of all slice labels in series.\n\t *\n\t * `labels.template` can also be used to configure slice labels.\n\t */\n\tpublic readonly labels: ListTemplate<Label> = this._makeLabels();\n\n\t/**\n\t * @ignore\n\t */\n\tpublic makeLabel(dataItem: DataItem<this[\"_dataItemSettings\"]>): Label {\n\t\tconst label = this.labelsContainer.children.push(this.labels.make());\n\t\tlabel._setDataItem(dataItem);\n\t\tdataItem.set(\"label\", label);\n\t\tthis.labels.push(label);\n\t\treturn label;\n\t}\n\n\n\tprotected _makeSlices(): ListTemplate<Graphics> {\n\t\treturn new ListTemplate(\n\t\t\tTemplate.new({}),\n\t\t\t() => Graphics._new(this._root, {\n\t\t\t\tthemeTags: $utils.mergeTags(this.slices.template.get(\"themeTags\", []), [\"venn\", \"series\"])\n\t\t\t}, [this.slices.template]),\n\t\t);\n\t}\n\n\tprotected _makeLabels(): ListTemplate<Label> {\n\t\treturn new ListTemplate(\n\t\t\tTemplate.new({}),\n\t\t\t() => Label._new(this._root, {\n\t\t\t\tthemeTags: $utils.mergeTags(this.labels.template.get(\"themeTags\", []), [\"venn\", \"series\"])\n\t\t\t}, [this.labels.template]),\n\t\t);\n\t}\n\n\n\tprotected processDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tsuper.processDataItem(dataItem);\n\n\n\t\tif (dataItem.get(\"fill\") == null) {\n\t\t\tlet colors = this.get(\"colors\");\n\t\t\tif (colors) {\n\t\t\t\tdataItem.setRaw(\"fill\", colors.next());\n\t\t\t}\n\t\t}\n\n\t\tthis.makeSlice(dataItem);\n\t\tthis.makeLabel(dataItem);\n\t}\n\n\tpublic _prepareChildren() {\n\t\tsuper._prepareChildren();\n\n\t\tif (this._valuesDirty || this._sizeDirty) {\n\t\t\tconst sets: any[] = [];\n\n\t\t\t// prepare data for venn\n\t\t\t$array.each(this.dataItems, (dataItem) => {\n\t\t\t\tconst set: any = {};\n\t\t\t\tconst intersections = dataItem.get(\"intersections\");\n\t\t\t\tif (intersections) {\n\t\t\t\t\tset.sets = intersections;\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tset.sets = [dataItem.get(\"category\")];\n\t\t\t\t}\n\t\t\t\tset.size = dataItem.get(\"valueWorking\");\n\n\t\t\t\tif (set.size > 0) {\n\t\t\t\t\tsets.push(set);\n\t\t\t\t}\n\t\t\t})\n\n\t\t\tconst newSets = sets.toString();\n\n\t\t\tthis._sets = newSets;\n\n\t\t\tif (sets.length > 0) {\n\t\t\t\tlet vennData = venn.venn(sets);\n\t\t\t\tvennData = venn.normalizeSolution(vennData, null, null);\n\t\t\t\tvennData = venn.scaleSolution(vennData, this.innerWidth(), this.innerHeight(), 0);\n\n\t\t\t\tconst circles: any = {};\n\t\t\t\tfor (let name in vennData) {\n\t\t\t\t\tlet item = vennData[name];\n\t\t\t\t\tlet r = item.radius;\n\n\t\t\t\t\tconst dataItem = this.getDataItemByCategory(name);\n\t\t\t\t\tif (dataItem) {\n\t\t\t\t\t\tconst slice = dataItem.get(\"slice\");\n\t\t\t\t\t\tconst color = dataItem.get(\"fill\");\n\t\t\t\t\t\tslice._setDefault(\"fill\", color);\n\t\t\t\t\t\tslice._setDefault(\"stroke\", color);\n\n\t\t\t\t\t\tthis.updateLegendMarker(dataItem);\n\n\t\t\t\t\t\tslice.set(\"svgPath\", \"M\" + item.x + \",\" + item.y + \" m -\" + r + \", 0 a \" + r + \",\" + r + \" 0 1,1 \" + r * 2 + \",0 a \" + r + \",\" + r + \" 0 1,1 -\" + r * 2 + \",0\");\n\t\t\t\t\t\tcircles[name] = item;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\n\t\t\t\tlet centers: any = venn.computeTextCentres(circles, sets);\n\n\n\t\t\t\t$array.each(this.dataItems, (dataItem) => {\n\t\t\t\t\tlet name = dataItem.get(\"category\");\n\t\t\t\t\tlet center = centers[name];\n\t\t\t\t\tconst intersections = dataItem.get(\"intersections\");\n\t\t\t\t\tif (intersections) {\n\t\t\t\t\t\tname = intersections.toString();\n\t\t\t\t\t\tcenter = centers[name];\n\t\t\t\t\t\tif (center) {\n\t\t\t\t\t\t\tlet set = intersections;\n\t\t\t\t\t\t\tlet cc = [];\n\n\t\t\t\t\t\t\tfor (let s = 0; s < set.length; s++) {\n\t\t\t\t\t\t\t\tcc.push(circles[set[s]]);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tlet intersectionPath = venn.intersectionAreaPath(cc)\n\t\t\t\t\t\t\tlet slice = dataItem.get(\"slice\");\n\n\t\t\t\t\t\t\tconst color = dataItem.get(\"fill\");\n\t\t\t\t\t\t\tslice._setDefault(\"fill\", color);\n\t\t\t\t\t\t\tslice._setDefault(\"stroke\", color);\n\n\t\t\t\t\t\t\tslice.setAll({ svgPath: intersectionPath });\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tif (center) {\n\t\t\t\t\t\tlet label = dataItem.get(\"label\");\n\t\t\t\t\t\tlabel.setAll({ x: center.x, y: center.y });\n\t\t\t\t\t}\n\n\t\t\t\t\tthis.updateLegendValue(dataItem);\n\t\t\t\t})\n\t\t\t}\n\n\t\t\tthis._updateHover();\n\t\t}\n\t}\n\n\t/**\n\t * Looks up and returns a data item by its category.\n\t *\n\t * @param category Category\n\t * @return Data item\n\t */\n\tpublic getDataItemByCategory(id: string): DataItem<this[\"_dataItemSettings\"]> | undefined {\n\t\treturn $array.find(this.dataItems, (dataItem: any) => {\n\t\t\treturn dataItem.get(\"category\") == id;\n\t\t})\n\t}\n\n\n\t/**\n\t * Shows series's data item.\n\t *\n\t * @param dataItem Data item\n\t * @param duration Animation duration in milliseconds\n\t * @return Promise\n\t */\n\tpublic async showDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>, duration?: number): Promise<void> {\n\t\tconst promises = [super.showDataItem(dataItem, duration)];\n\t\tif (!$type.isNumber(duration)) {\n\t\t\tduration = this.get(\"stateAnimationDuration\", 0);\n\t\t}\n\n\t\tconst easing = this.get(\"stateAnimationEasing\");\n\n\t\tlet value = dataItem.get(\"value\");\n\n\t\tconst animation = dataItem.animate({ key: \"valueWorking\", to: value, duration: duration, easing: easing });\n\t\tif (animation) {\n\t\t\tpromises.push(animation.waitForStop());\n\t\t}\n\n\t\tconst label = dataItem.get(\"label\");\n\t\tif (label) {\n\t\t\tpromises.push(label.show(duration));\n\t\t}\n\n\t\tconst slice = dataItem.get(\"slice\");\n\t\tif (slice) {\n\t\t\tpromises.push(slice.show(duration));\n\t\t}\n\n\n\t\tconst intersections = dataItem.get(\"intersections\");\n\t\tif (intersections) {\n\t\t\t$array.each(intersections, (cat) => {\n\t\t\t\tconst di = this.getDataItemByCategory(cat);\n\t\t\t\tif (di && di.isHidden()) {\n\t\t\t\t\tthis.showDataItem(di, duration);\n\t\t\t\t}\n\t\t\t})\n\t\t}\n\n\t\tif (!intersections) {\n\t\t\tconst category = dataItem.get(\"category\");\n\n\t\t\t$array.each(this.dataItems, (di) => {\n\t\t\t\tconst intersections = di.get(\"intersections\");\n\t\t\t\tif (di != dataItem && intersections) {\n\t\t\t\t\tlet allVisible = true;\n\t\t\t\t\t$array.each(intersections, (cat) => {\n\t\t\t\t\t\tconst dii = this.getDataItemByCategory(cat);\n\t\t\t\t\t\tif (dii && dii.isHidden()) {\n\t\t\t\t\t\t\tallVisible = false;\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\n\t\t\t\t\tif (allVisible && intersections.indexOf(category) != -1) {\n\t\t\t\t\t\tif (di.isHidden()) {\n\t\t\t\t\t\t\tthis.showDataItem(di, duration);\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\tawait Promise.all(promises);\n\t}\n\n\t/**\n\t * Hides series's data item.\n\t *\n\t * @param dataItem Data item\n\t * @param duration Animation duration in milliseconds\n\t * @return Promise\n\t */\n\tpublic async hideDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>, duration?: number): Promise<void> {\n\t\tconst promises = [super.hideDataItem(dataItem, duration)];\n\t\tconst hiddenState = this.states.create(\"hidden\", {})\n\n\t\tif (!$type.isNumber(duration)) {\n\t\t\tduration = hiddenState.get(\"stateAnimationDuration\", this.get(\"stateAnimationDuration\", 0));\n\t\t}\n\n\t\tconst easing = hiddenState.get(\"stateAnimationEasing\", this.get(\"stateAnimationEasing\"));\n\n\t\tconst animation = dataItem.animate({ key: \"valueWorking\", to: 0, duration: duration, easing: easing });\n\t\tif (animation) {\n\t\t\tpromises.push(animation.waitForStop());\n\t\t}\n\n\t\tconst label = dataItem.get(\"label\");\n\t\tif (label) {\n\t\t\tpromises.push(label.hide(duration));\n\t\t}\n\n\t\tconst slice = dataItem.get(\"slice\");\n\t\tif (slice) {\n\t\t\tpromises.push(slice.hide(duration));\n\t\t\tslice.hideTooltip();\n\t\t}\n\n\t\tif (!dataItem.get(\"intersections\")) {\n\t\t\t$array.each(this.dataItems, (di) => {\n\t\t\t\tconst intersections = di.get(\"intersections\");\n\t\t\t\tif (di != dataItem && intersections) {\n\t\t\t\t\tif (intersections.indexOf(dataItem.get(\"category\")) != -1) {\n\t\t\t\t\t\tthis.hideDataItem(di, duration);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t})\n\t\t}\n\n\t\tawait Promise.all(promises);\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic disposeDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tsuper.disposeDataItem(dataItem);\n\t\tlet label = dataItem.get(\"label\");\n\t\tif (label) {\n\t\t\tthis.labels.removeValue(label);\n\t\t\tlabel.dispose();\n\t\t}\n\n\t\tlet slice = dataItem.get(\"slice\");\n\t\tif (slice) {\n\t\t\tthis.slices.removeValue(slice);\n\t\t\tslice.dispose();\n\t\t}\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic updateLegendMarker(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tconst slice = dataItem.get(\"slice\");\n\n\t\tif (slice) {\n\t\t\tconst legendDataItem = dataItem.get(\"legendDataItem\");\n\t\t\tif (legendDataItem) {\n\t\t\t\tconst markerRectangle = legendDataItem.get(\"markerRectangle\");\n\n\t\t\t\t$array.each(visualSettings, (setting: any) => {\n\t\t\t\t\tmarkerRectangle.set(setting, slice.get(setting));\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Triggers hover on a series data item.\n\t *\n\t * @since 5.0.7\n\t * @param dataItem Target data item\n\t */\n\tpublic hoverDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tconst slice = dataItem.get(\"slice\");\n\t\tif (slice && !slice.isHidden()) {\n\t\t\tslice.hover();\n\t\t}\n\t}\n\n\t/**\n\t * Triggers un-hover on a series data item.\n\t *\n\t * @since 5.0.7\n\t * @param dataItem Target data item\n\t */\n\tpublic unhoverDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tconst slice = dataItem.get(\"slice\");\n\t\tif (slice) {\n\t\t\tslice.unhover();\n\t\t}\n\t}\n}\n"]}
@@ -267,9 +267,9 @@ var XYChart = /** @class */ (function (_super) {
267
267
  var wheelY = this.get("wheelY");
268
268
  var plotContainer = this.plotContainer;
269
269
  if (wheelX !== "none" || wheelY !== "none") {
270
- plotContainer.set("wheelable", true);
271
270
  this._wheelDp = plotContainer.events.on("wheel", function (event) {
272
271
  var wheelEvent = event.originalEvent;
272
+ wheelEvent.preventDefault();
273
273
  var plotPoint = plotContainer.toLocal(_this._root.documentPointToRoot({ x: wheelEvent.clientX, y: wheelEvent.clientY }));
274
274
  var wheelStep = _this.get("wheelStep", 0.2);
275
275
  var shiftY = wheelEvent.deltaY / 100;
@@ -382,7 +382,6 @@ var XYChart = /** @class */ (function (_super) {
382
382
  this._disposers.push(this._wheelDp);
383
383
  }
384
384
  else {
385
- plotContainer.set("wheelable", false);
386
385
  if (this._wheelDp) {
387
386
  this._wheelDp.dispose();
388
387
  }
@@ -556,8 +555,8 @@ var XYChart = /** @class */ (function (_super) {
556
555
  var dataItems_1 = [];
557
556
  $array.each(snapToSeries, function (series) {
558
557
  if (!series.isHidden() && !series.isHiding()) {
559
- var startIndex = series.getPrivate("startIndex", 0);
560
- var endIndex = series.getPrivate("endIndex", series.dataItems.length - 1);
558
+ var startIndex = series.startIndex();
559
+ var endIndex = series.endIndex();
561
560
  for (var i = startIndex; i < endIndex; i++) {
562
561
  var dataItem = series.dataItems[i];
563
562
  if (dataItem && !dataItem.isHidden()) {
@@ -1 +1 @@
1
- {"version":3,"file":"XYChart.js","sourceRoot":"","sources":["../../../../../src/.internal/charts/xy/XYChart.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Axis } from \"./axes/Axis\";\nimport type { XYCursor } from \"./XYCursor\";\nimport type { AxisRenderer } from \"./axes/AxisRenderer\";\nimport type { DataItem } from \"../../core/render/Component\";\nimport type { IDisposer } from \"../../core/util/Disposer\";\nimport type { XYSeries, IXYSeriesDataItem } from \"./series/XYSeries\";\nimport type { IPointerEvent } from \"../../core/render/backend/Renderer\";\nimport type { Scrollbar } from \"../../core/render/Scrollbar\";\nimport type { Tooltip } from \"../../core/render/Tooltip\";\nimport type { IPoint } from \"../../core/util/IPoint\";\n\nimport { XYChartDefaultTheme } from \"./XYChartDefaultTheme\";\nimport { Container } from \"../../core/render/Container\";\nimport { Rectangle } from \"../../core/render/Rectangle\";\nimport { SerialChart, ISerialChartPrivate, ISerialChartSettings, ISerialChartEvents } from \"../../core/render/SerialChart\";\nimport { ListAutoDispose } from \"../../core/util/List\";\nimport { p100 } from \"../../core/util/Percent\";\nimport { Color } from \"../../core/util/Color\";\nimport { Button } from \"../../core/render/Button\";\nimport { Graphics } from \"../../core/render/Graphics\";\nimport { Percent } from \"../../core/util/Percent\";\n\nimport * as $array from \"../../core/util/Array\";\nimport * as $order from \"../../core/util/Order\";\nimport * as $type from \"../../core/util/Type\";\nimport type { Animation } from \"../../core/util/Entity\";\n\nexport interface IXYChartSettings extends ISerialChartSettings {\n\n\t/**\n\t * horizontal scrollbar.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/scrollbars/} for more info\n\t */\n\tscrollbarX?: Scrollbar;\n\n\t/**\n\t * Vertical scrollbar.\n\t *\n\t */\n\tscrollbarY?: Scrollbar;\n\n\t/**\n\t * If this is set to `true`, users will be able to pan the chart horizontally\n\t * by dragging plot area.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/zoom-and-pan/#Panning} for more info\n\t */\n\tpanX?: boolean;\n\n\t/**\n\t * If this is set to `true`, users will be able to pan the chart vertically\n\t * by dragging plot area.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/zoom-and-pan/#Panning} for more info\n\t */\n\tpanY?: boolean;\n\n\t/**\n\t * Indicates what happens when mouse wheel is spinned horizontally while over\n\t * plot area.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/zoom-and-pan/#Mouse_wheel_behavior} for more info\n\t */\n\twheelX?: \"zoomX\" | \"zoomY\" | \"zoomXY\" | \"panX\" | \"panY\" | \"panXY\" | \"none\";\n\n\t/**\n\t * Indicates what happens when mouse wheel is spinned vertically while over\n\t * plot area.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/zoom-and-pan/#Mouse_wheel_behavior} for more info\n\t */\n\twheelY?: \"zoomX\" | \"zoomY\" | \"zoomXY\" | \"panX\" | \"panY\" | \"panXY\" | \"none\";\n\n\t/**\n\t * Indicates the relative \"speed\" of the mouse wheel.\n\t *\n\t * @default 0.25\n\t */\n\twheelStep?: number;\n\n\t/**\n\t * Chart's cursor.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/cursor/} for more info\n\t */\n\tcursor?: XYCursor;\n\n\t/**\n\t * Indicates maximum distance from pointer (moust or touch) to points\n\t * tooltips need to be shown for.\n\t *\n\t * Points that are further from pointer than this setting will not be shown.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/cursor/#Tooltips} for more info\n\t */\n\tmaxTooltipDistance?: number;\n\n\t/**\n\t * If set to `false` the chart will not check for overlapping of multiple\n\t * tooltips, and will not arrange them to not overlap.\n\t *\n\t * Will work only if chart has an `XYCursor` enabled.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/cursor/#Tooltips} for more info\n\t * @default true\n\t */\n\tarrangeTooltips?: boolean\n\n}\n\nexport interface IXYChartPrivate extends ISerialChartPrivate {\n}\n\n\nexport interface IXYChartEvents extends ISerialChartEvents {\n\n\t/**\n\t * Invoked when panning starts.\n\t *\n\t * @since 5.0.4\n\t */\n\tpanstarted: {};\n\n\t/**\n\t * Invoked when panning ends.\n\t * \n\t * @since 5.0.4\n\t */\n\tpanended: {};\n\n\t/**\n\t * Invoked when wheel caused zoom ends.\n\t * \n\t * @since 5.0.4\n\t */\n\twheelended: {};\n\n}\n\n/**\n * Creates an XY chart.\n *\n * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/} for more info\n * @important\n */\nexport class XYChart extends SerialChart {\n\n\tpublic static className: string = \"XYChart\";\n\tpublic static classNames: Array<string> = SerialChart.classNames.concat([XYChart.className]);\n\n\tdeclare public _settings: IXYChartSettings;\n\tdeclare public _privateSettings: IXYChartPrivate;\n\tdeclare public _seriesType: XYSeries;\n\tdeclare public _events: IXYChartEvents;\n\n\t/**\n\t * A list of horizontal axes.\n\t */\n\tpublic readonly xAxes: ListAutoDispose<Axis<AxisRenderer>> = new ListAutoDispose();\n\n\t/**\n\t * A list of vertical axes.\n\t */\n\tpublic readonly yAxes: ListAutoDispose<Axis<AxisRenderer>> = new ListAutoDispose();\n\n\t/**\n\t * A [[Container]] located on top of the chart, used to store top horizontal\n\t * axes.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/xy-chart-containers/} for more info\n\t * @default Container.new()\n\t */\n\tpublic readonly topAxesContainer: Container = this.chartContainer.children.push(Container.new(this._root, { width: p100, layout: this._root.verticalLayout }));\n\n\t/**\n\t * A [[Container]] located in the middle the chart, used to store vertical axes\n\t * and plot area container.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/xy-chart-containers/} for more info\n\t * @default Container.new()\n\t */\n\tpublic readonly yAxesAndPlotContainer: Container = this.chartContainer.children.push(Container.new(this._root, { width: p100, height: p100, layout: this._root.horizontalLayout }));\n\n\t/**\n\t * A [[Container]] located on bottom of the chart, used to store bottom\n\t * horizontal axes.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/xy-chart-containers/} for more info\n\t * @default Container.new()\n\t */\n\tpublic readonly bottomAxesContainer: Container = this.chartContainer.children.push(Container.new(this._root, { width: p100, layout: this._root.verticalLayout }));\n\n\t/**\n\t * A [[Container]] located on left of the chart, used to store left-hand\n\t * vertical axes.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/xy-chart-containers/} for more info\n\t * @default Container.new()\n\t */\n\tpublic readonly leftAxesContainer: Container = this.yAxesAndPlotContainer.children.push(Container.new(this._root, { height: p100, layout: this._root.horizontalLayout }));\n\n\t/**\n\t * A [[Container]] located in the middle of the chart, used to store actual\n\t * plots (series).\n\t *\n\t * NOTE: `plotContainer` will automatically have its `background` preset. If\n\t * you need to modify background or outline for chart's plot area, you can\n\t * use `plotContainer.get(\"background\")` for that.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/xy-chart-containers/} for more info\n\t * @default Container.new()\n\t */\n\tpublic readonly plotContainer: Container = this.yAxesAndPlotContainer.children.push(Container.new(this._root, { width: p100, height: p100, maskContent: false }));\n\n\t/**\n\t * A [[Container]] axis grid elements are stored in.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/xy-chart-containers/} for more info\n\t * @default Container.new()\n\t */\n\tpublic readonly gridContainer: Container = this.plotContainer.children.push(Container.new(this._root, { width: p100, height: p100, isMeasured: false }));\n\n\t/**\n\t * A [[Container]] axis background grid elements are stored in.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/xy-chart-containers/} for more info\n\t * @default Container.new()\n\t */\n\tpublic readonly topGridContainer: Container = Container.new(this._root, { width: p100, height: p100, isMeasured: false });\n\n\t/**\n\t * A [[Container]] located on right of the chart, used to store right-hand\n\t * vertical axes.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/xy-chart-containers/} for more info\n\t * @default Container.new()\n\t */\n\tpublic readonly rightAxesContainer: Container = this.yAxesAndPlotContainer.children.push(Container.new(this._root, { height: p100, layout: this._root.horizontalLayout }));\n\n\t/**\n\t * A [[Container]] axis headers are stored in.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/axes/axis-headers/} for more info\n\t * @default Container.new()\n\t */\n\tpublic readonly axisHeadersContainer: Container = this.plotContainer.children.push(Container.new(this._root, {}));\n\n\t/**\n\t * A button that is shown when chart is not fully zoomed out.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/zoom-and-pan/#Zoom_out_button} for more info\n\t * @default Button.new()\n\t */\n\tpublic readonly zoomOutButton: Button = this.plotContainer.children.push(Button.new(this._root, {\n\t\tthemeTags: [\"zoom\"],\n\t\ticon: Graphics.new(this._root, {\n\t\t\tthemeTags: [\"button\", \"icon\"]\n\t\t})\n\t}));\n\n\tpublic _movePoint: IPoint = { x: 0, y: 0 };\n\n\tprotected _wheelDp: IDisposer | undefined;\n\n\tpublic _otherCharts?: Array<XYChart>;\n\n\tprotected _afterNew() {\n\t\tthis._defaultThemes.push(XYChartDefaultTheme.new(this._root));\n\n\t\tsuper._afterNew();\n\n\t\tthis._disposers.push(this.xAxes);\n\t\tthis._disposers.push(this.yAxes);\n\n\t\tconst root = this._root;\n\n\t\tlet verticalLayout = this._root.verticalLayout;\n\n\t\tconst zoomOutButton = this.zoomOutButton;\n\t\tzoomOutButton.events.on(\"click\", () => {\n\t\t\tthis.zoomOut();\n\t\t})\n\t\tzoomOutButton.set(\"opacity\", 0);\n\t\tzoomOutButton.states.lookup(\"default\")!.set(\"opacity\", 1);\n\n\t\tthis.chartContainer.set(\"layout\", verticalLayout);\n\n\t\tconst plotContainer = this.plotContainer;\n\t\tplotContainer.children.push(this.seriesContainer);\n\n\t\tthis._disposers.push(this._processAxis(this.xAxes, this.bottomAxesContainer));\n\t\tthis._disposers.push(this._processAxis(this.yAxes, this.leftAxesContainer));\n\n\n\t\tplotContainer.children.push(this.topGridContainer);\n\t\tplotContainer.children.push(this.bulletsContainer);\n\n\t\tplotContainer.children.moveValue(zoomOutButton);\n\n\t\t// Setting trasnparent background so that full body of the plot container\n\t\t// is interactive\n\t\tplotContainer.set(\"interactive\", true);\n\t\tplotContainer.set(\"interactiveChildren\", false);\n\t\tplotContainer.set(\"background\", Rectangle.new(root, {\n\t\t\tthemeTags: [\"xy\", \"background\"],\n\t\t\tfill: Color.fromHex(0x000000),\n\t\t\tfillOpacity: 0\n\t\t}));\n\n\t\tthis._disposers.push(plotContainer.events.on(\"pointerdown\", (event) => {\n\t\t\tthis._handlePlotDown(event.originalEvent);\n\t\t}));\n\n\t\tthis._disposers.push(plotContainer.events.on(\"globalpointerup\", (event) => {\n\t\t\tthis._handlePlotUp(event.originalEvent);\n\t\t}));\n\n\t\tthis._disposers.push(plotContainer.events.on(\"globalpointermove\", (event) => {\n\t\t\tthis._handlePlotMove(event.originalEvent);\n\t\t}));\n\t}\n\n\tprotected _removeSeries(series: this[\"_seriesType\"]) {\n\t\tconst xAxis = series.get(\"xAxis\");\n\t\tif (xAxis) {\n\t\t\t$array.remove(xAxis.series, series);\n\t\t}\n\t\tconst yAxis = series.get(\"yAxis\");\n\t\tif (yAxis) {\n\t\t\t$array.remove(yAxis.series, series);\n\t\t}\n\t\tsuper._removeSeries(series);\n\t}\n\n\tprotected _handleSetWheel() {\n\t\tconst wheelX = this.get(\"wheelX\");\n\t\tconst wheelY = this.get(\"wheelY\");\n\t\tconst plotContainer = this.plotContainer;\n\n\t\tif (wheelX !== \"none\" || wheelY !== \"none\") {\n\t\t\tplotContainer.set(\"wheelable\", true);\n\t\t\tthis._wheelDp = plotContainer.events.on(\"wheel\", (event) => {\n\t\t\t\tconst wheelEvent = event.originalEvent;\n\n\t\t\t\tconst plotPoint = plotContainer.toLocal(this._root.documentPointToRoot({ x: wheelEvent.clientX, y: wheelEvent.clientY }))\n\t\t\t\tconst wheelStep = this.get(\"wheelStep\", 0.2);\n\n\t\t\t\tconst shiftY = wheelEvent.deltaY / 100;\n\t\t\t\tconst shiftX = wheelEvent.deltaX / 100;\n\n\t\t\t\tif ((wheelX === \"zoomX\" || wheelX === \"zoomXY\") && shiftX != 0) {\n\t\t\t\t\tthis.xAxes.each((axis) => {\n\t\t\t\t\t\tif (axis.get(\"zoomX\")) {\n\t\t\t\t\t\t\tlet start = axis.get(\"start\")!;\n\t\t\t\t\t\t\tlet end = axis.get(\"end\")!;\n\n\t\t\t\t\t\t\tlet position = axis.fixPosition(plotPoint.x / plotContainer.width());\n\n\t\t\t\t\t\t\tlet newStart = start - wheelStep * (end - start) * shiftX * position;\n\t\t\t\t\t\t\tlet newEnd = end + wheelStep * (end - start) * shiftX * (1 - position);\n\t\t\t\t\t\t\tif (1 / (newEnd - newStart) < axis.get(\"maxZoomFactor\", Infinity)) {\n\t\t\t\t\t\t\t\tthis._handleWheelAnimation(axis.zoom(newStart, newEnd));\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t}\n\n\t\t\t\tif ((wheelY === \"zoomX\" || wheelY === \"zoomXY\") && shiftY != 0) {\n\t\t\t\t\tthis.xAxes.each((axis) => {\n\t\t\t\t\t\tif (axis.get(\"zoomX\")) {\n\t\t\t\t\t\t\tlet start = axis.get(\"start\")!;\n\t\t\t\t\t\t\tlet end = axis.get(\"end\")!;\n\n\n\t\t\t\t\t\t\tlet position = axis.fixPosition(plotPoint.x / plotContainer.width());\n\n\t\t\t\t\t\t\tlet newStart = start - wheelStep * (end - start) * shiftY * position;\n\t\t\t\t\t\t\tlet newEnd = end + wheelStep * (end - start) * shiftY * (1 - position);\n\t\t\t\t\t\t\tif (1 / (newEnd - newStart) < axis.get(\"maxZoomFactor\", Infinity)) {\n\t\t\t\t\t\t\t\tthis._handleWheelAnimation(axis.zoom(newStart, newEnd));\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t}\n\n\n\t\t\t\tif ((wheelX === \"zoomY\" || wheelX === \"zoomXY\") && shiftX != 0) {\n\t\t\t\t\tthis.yAxes.each((axis) => {\n\t\t\t\t\t\tif (axis.get(\"zoomY\")) {\n\t\t\t\t\t\t\tlet start = axis.get(\"start\")!;\n\t\t\t\t\t\t\tlet end = axis.get(\"end\")!;\n\n\t\t\t\t\t\t\tlet position = axis.fixPosition(plotPoint.y / plotContainer.height());\n\n\t\t\t\t\t\t\tlet newStart = start - wheelStep * (end - start) * shiftX * position;\n\t\t\t\t\t\t\tlet newEnd = end + wheelStep * (end - start) * shiftX * (1 - position);\n\t\t\t\t\t\t\tif (1 / (newEnd - newStart) < axis.get(\"maxZoomFactor\", Infinity)) {\n\t\t\t\t\t\t\t\tthis._handleWheelAnimation(axis.zoom(newStart, newEnd));\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t}\n\n\t\t\t\tif ((wheelY === \"zoomY\" || wheelY === \"zoomXY\") && shiftY != 0) {\n\t\t\t\t\tthis.yAxes.each((axis) => {\n\t\t\t\t\t\tif (axis.get(\"zoomY\")) {\n\t\t\t\t\t\t\tlet start = axis.get(\"start\")!;\n\t\t\t\t\t\t\tlet end = axis.get(\"end\")!;\n\n\t\t\t\t\t\t\tlet position = axis.fixPosition(plotPoint.y / plotContainer.height());\n\n\t\t\t\t\t\t\tlet newStart = start - wheelStep * (end - start) * shiftY * position;\n\t\t\t\t\t\t\tlet newEnd = end + wheelStep * (end - start) * shiftY * (1 - position);\n\n\t\t\t\t\t\t\tif (1 / (newEnd - newStart) < axis.get(\"maxZoomFactor\", Infinity)) {\n\t\t\t\t\t\t\t\tthis._handleWheelAnimation(axis.zoom(newStart, newEnd));\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t}\n\n\n\t\t\t\tif ((wheelX === \"panX\" || wheelX === \"panXY\") && shiftX != 0) {\n\t\t\t\t\tthis.xAxes.each((axis) => {\n\t\t\t\t\t\tif (axis.get(\"panX\")) {\n\t\t\t\t\t\t\tlet start = axis.get(\"start\")!;\n\t\t\t\t\t\t\tlet end = axis.get(\"end\")!;\n\n\t\t\t\t\t\t\tlet position = axis.fixPosition(plotPoint.x / plotContainer.width());\n\n\t\t\t\t\t\t\tlet newStart = start + wheelStep * (end - start) * shiftX * position;\n\t\t\t\t\t\t\tlet newEnd = end + wheelStep * (end - start) * shiftX * (1 - position);\n\n\t\t\t\t\t\t\tthis._handleWheelAnimation(axis.zoom(newStart, newEnd));\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t}\n\n\t\t\t\tif ((wheelY === \"panX\" || wheelY === \"panXY\") && shiftY != 0) {\n\t\t\t\t\tthis.xAxes.each((axis) => {\n\t\t\t\t\t\tif (axis.get(\"panX\")) {\n\t\t\t\t\t\t\tlet start = axis.get(\"start\")!;\n\t\t\t\t\t\t\tlet end = axis.get(\"end\")!;\n\n\t\t\t\t\t\t\tlet position = axis.fixPosition(plotPoint.x / plotContainer.width());\n\n\t\t\t\t\t\t\tlet newStart = start + wheelStep * (end - start) * shiftY * position;\n\t\t\t\t\t\t\tlet newEnd = end + wheelStep * (end - start) * shiftY * (1 - position);\n\n\t\t\t\t\t\t\tthis._handleWheelAnimation(axis.zoom(newStart, newEnd));\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t}\n\n\t\t\t\tif ((wheelX === \"panY\" || wheelX === \"panXY\") && shiftX != 0) {\n\t\t\t\t\tthis.yAxes.each((axis) => {\n\t\t\t\t\t\tif (axis.get(\"panY\")) {\n\t\t\t\t\t\t\tlet start = axis.get(\"start\")!;\n\t\t\t\t\t\t\tlet end = axis.get(\"end\")!;\n\n\t\t\t\t\t\t\tlet position = axis.fixPosition(plotPoint.y / plotContainer.height());\n\n\t\t\t\t\t\t\tlet newStart = start + wheelStep * (end - start) * shiftX * position;\n\t\t\t\t\t\t\tlet newEnd = end + wheelStep * (end - start) * shiftX * (1 - position);\n\n\t\t\t\t\t\t\tthis._handleWheelAnimation(axis.zoom(newStart, newEnd));\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t}\n\n\t\t\t\tif ((wheelY === \"panY\" || wheelY === \"panXY\") && shiftY != 0) {\n\t\t\t\t\tthis.yAxes.each((axis) => {\n\t\t\t\t\t\tif (axis.get(\"panY\")) {\n\t\t\t\t\t\t\tlet start = axis.get(\"start\")!;\n\t\t\t\t\t\t\tlet end = axis.get(\"end\")!;\n\n\t\t\t\t\t\t\tlet position = axis.fixPosition(plotPoint.y / plotContainer.height());\n\n\t\t\t\t\t\t\tlet newStart = start + wheelStep * (end - start) * shiftY * position;\n\t\t\t\t\t\t\tlet newEnd = end + wheelStep * (end - start) * shiftY * (1 - position);\n\n\t\t\t\t\t\t\tthis._handleWheelAnimation(axis.zoom(newStart, newEnd));\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tthis._disposers.push(this._wheelDp);\n\t\t}\n\t\telse {\n\t\t\tplotContainer.set(\"wheelable\", false);\n\t\t\tif (this._wheelDp) {\n\t\t\t\tthis._wheelDp.dispose();\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected _handlePlotDown(event: IPointerEvent) {\n\n\t\t// TODO: handle multitouch\n\t\tif (this.get(\"panX\") || this.get(\"panY\")) {\n\t\t\tconst plotContainer = this.plotContainer;\n\n\t\t\tlet local = plotContainer.toLocal(this._root.documentPointToRoot({ x: event.clientX, y: event.clientY }));\n\n\t\t\tif (local.x >= 0 && local.y >= 0 && local.x <= plotContainer.width() && local.y <= this.height()) {\n\t\t\t\tthis._downPoint = local;\n\n\t\t\t\tconst panX = this.get(\"panX\");\n\t\t\t\tconst panY = this.get(\"panY\");\n\n\t\t\t\tif (panX) {\n\t\t\t\t\tthis.xAxes.each((axis) => {\n\t\t\t\t\t\taxis._panStart = axis.get(\"start\")!;\n\t\t\t\t\t\taxis._panEnd = axis.get(\"end\")!;\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t\tif (panY) {\n\t\t\t\t\tthis.yAxes.each((axis) => {\n\t\t\t\t\t\taxis._panStart = axis.get(\"start\")!;\n\t\t\t\t\t\taxis._panEnd = axis.get(\"end\")!;\n\t\t\t\t\t})\n\t\t\t\t}\n\n\t\t\t\tconst eventType = \"panstarted\";\n\t\t\t\tif (this.events.isEnabled(eventType)) {\n\t\t\t\t\tthis.events.dispatch(eventType, { type: eventType, target: this });\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected _handleWheelAnimation(animation?: Animation<any>) {\n\t\tif (animation) {\n\t\t\tanimation.events.on(\"stopped\", () => {\n\t\t\t\tthis._dispatchWheelAnimation();\n\t\t\t})\n\t\t}\n\t\telse {\n\t\t\tthis._dispatchWheelAnimation();\n\t\t}\n\t}\n\n\tprotected _dispatchWheelAnimation() {\n\t\tconst eventType = \"wheelended\";\n\t\tif (this.events.isEnabled(eventType)) {\n\t\t\tthis.events.dispatch(eventType, { type: eventType, target: this });\n\t\t}\n\t}\n\n\tprotected _handlePlotUp(_event: IPointerEvent) {\n\n\t\tif (this._downPoint) {\n\t\t\tif (this.get(\"panX\") || this.get(\"panY\")) {\n\t\t\t\tconst eventType = \"panended\";\n\t\t\t\tif (this.events.isEnabled(eventType)) {\n\t\t\t\t\tthis.events.dispatch(eventType, { type: eventType, target: this });\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// TODO: handle multitouch\n\t\tthis._downPoint = undefined;\n\t\tthis.xAxes.each((xAxis) => {\n\t\t\txAxis._isPanning = false;\n\t\t})\n\t\tthis.yAxes.each((yAxis) => {\n\t\t\tyAxis._isPanning = false;\n\t\t})\n\t}\n\n\tprotected _handlePlotMove(event: IPointerEvent) {\n\t\t// TODO: handle multitouch\n\t\tconst downPoint = this._downPoint!;\n\n\t\tif (downPoint) {\n\t\t\tconst plotContainer = this.plotContainer;\n\n\t\t\tlet local = plotContainer.toLocal(this._root.documentPointToRoot({ x: event.clientX, y: event.clientY }));\n\n\t\t\tconst panX = this.get(\"panX\");\n\t\t\tconst panY = this.get(\"panY\");\n\n\t\t\tif (panX) {\n\n\t\t\t\tlet scrollbarX = this.get(\"scrollbarX\");\n\t\t\t\tif (scrollbarX) {\n\t\t\t\t\tscrollbarX.events.disableType(\"rangechanged\");\n\t\t\t\t}\n\n\t\t\t\tthis.xAxes.each((axis) => {\n\t\t\t\t\tif (axis.get(\"panX\")) {\n\t\t\t\t\t\taxis._isPanning = true;\n\t\t\t\t\t\t//const maxDeviation = axis.get(\"maxDeviation\", 0);\n\t\t\t\t\t\tlet panStart = axis._panStart;\n\t\t\t\t\t\tlet panEnd = axis._panEnd;\n\t\t\t\t\t\tlet difference = (panEnd - panStart);\n\t\t\t\t\t\tlet deltaX = difference * (downPoint.x - local.x) / plotContainer.width();\n\n\t\t\t\t\t\tif (axis.get(\"renderer\").get(\"inversed\")) {\n\t\t\t\t\t\t\tdeltaX *= -1;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tlet start = panStart + deltaX;\n\t\t\t\t\t\tlet end = panEnd + deltaX;\n\n\t\t\t\t\t\tif (end - start < 1 + axis.get(\"maxDeviation\", 1) * 2) {\n\t\t\t\t\t\t\taxis.set(\"start\", start);\n\t\t\t\t\t\t\taxis.set(\"end\", end);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t\tif (scrollbarX) {\n\t\t\t\t\tscrollbarX.events.enableType(\"rangechanged\");\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (panY) {\n\n\t\t\t\tlet scrollbarY = this.get(\"scrollbarY\");\n\t\t\t\tif (scrollbarY) {\n\t\t\t\t\tscrollbarY.events.disableType(\"rangechanged\");\n\t\t\t\t}\n\n\t\t\t\tthis.yAxes.each((axis) => {\n\t\t\t\t\tif (axis.get(\"panY\")) {\n\t\t\t\t\t\taxis._isPanning = true;\n\t\t\t\t\t\t//const maxDeviation = axis.get(\"maxDeviation\", 0);\n\n\t\t\t\t\t\tlet panStart = axis._panStart;\n\t\t\t\t\t\tlet panEnd = axis._panEnd;\n\t\t\t\t\t\tlet difference = (panEnd - panStart);\n\t\t\t\t\t\tlet deltaY = difference * (downPoint.y - local.y) / plotContainer.height();\n\t\t\t\t\t\tif (axis.get(\"renderer\").get(\"inversed\")) {\n\t\t\t\t\t\t\tdeltaY *= -1;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tlet start = panStart - deltaY;\n\t\t\t\t\t\tlet end = panEnd - deltaY;\n\n\t\t\t\t\t\tif (end - start < 1 + axis.get(\"maxDeviation\", 1) * 2) {\n\t\t\t\t\t\t\taxis.set(\"start\", start);\n\t\t\t\t\t\t\taxis.set(\"end\", end);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t})\n\n\t\t\t\tif (scrollbarY) {\n\t\t\t\t\tscrollbarY.events.enableType(\"rangechanged\");\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic _handleCursorPosition() {\n\t\tconst cursor = this.get(\"cursor\");\n\t\tif (cursor) {\n\t\t\tconst cursorPoint = cursor.getPrivate(\"point\");\n\n\t\t\tconst snapToSeries = cursor.get(\"snapToSeries\");\n\t\t\tif (snapToSeries && cursorPoint) {\n\t\t\t\tconst dataItems: Array<DataItem<IXYSeriesDataItem>> = [];\n\t\t\t\t$array.each(snapToSeries, (series) => {\n\t\t\t\t\tif (!series.isHidden() && !series.isHiding()) {\n\t\t\t\t\t\tconst startIndex = series.getPrivate(\"startIndex\", 0);\n\t\t\t\t\t\tconst endIndex = series.getPrivate(\"endIndex\", series.dataItems.length - 1);\n\t\t\t\t\t\tfor (let i = startIndex; i < endIndex; i++) {\n\t\t\t\t\t\t\tconst dataItem = series.dataItems[i];\n\t\t\t\t\t\t\tif (dataItem && !dataItem.isHidden()) {\n\t\t\t\t\t\t\t\tdataItems.push(dataItem);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t})\n\n\t\t\t\tlet minDistance = Infinity;\n\t\t\t\tlet closestItem: DataItem<IXYSeriesDataItem> | undefined;\n\t\t\t\tconst snapToSeriesBy = cursor.get(\"snapToSeriesBy\");\n\t\t\t\t$array.each(dataItems, (dataItem) => {\n\t\t\t\t\tconst point = dataItem.get(\"point\");\n\n\t\t\t\t\tif (point) {\n\t\t\t\t\t\tlet distance = 0;\n\t\t\t\t\t\tif (snapToSeriesBy == \"x\") {\n\t\t\t\t\t\t\tdistance = Math.abs(cursorPoint.x - point.x);\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse if (snapToSeriesBy == \"y\") {\n\t\t\t\t\t\t\tdistance = Math.abs(cursorPoint.y - point.y);\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tdistance = Math.hypot(cursorPoint.x - point.x, cursorPoint.y - point.y);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (distance < minDistance) {\n\t\t\t\t\t\t\tminDistance = distance;\n\t\t\t\t\t\t\tclosestItem = dataItem;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t})\n\n\t\t\t\t$array.each(snapToSeries, (series) => {\n\t\t\t\t\tconst tooltip = series.get(\"tooltip\");\n\t\t\t\t\tif (tooltip) {\n\t\t\t\t\t\ttooltip._setDataItem(undefined);\n\t\t\t\t\t}\n\t\t\t\t})\n\n\t\t\t\tif (closestItem) {\n\t\t\t\t\tlet series = closestItem.component as XYSeries;\n\t\t\t\t\tseries.showDataItemTooltip(closestItem);\n\t\t\t\t\tconst point = closestItem.get(\"point\");\n\t\t\t\t\tif (point) {\n\t\t\t\t\t\tcursor.handleMove(series.toGlobal(point), true);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic _updateCursor() {\n\t\tlet cursor = this.get(\"cursor\");\n\t\tif (cursor) {\n\t\t\tcursor.handleMove();\n\t\t}\n\t}\n\n\tprotected _addCursor(cursor: XYCursor) {\n\t\tthis.plotContainer.children.push(cursor);\n\t}\n\n\tpublic _prepareChildren() {\n\t\tsuper._prepareChildren();\n\n\t\tthis.series.each((series) => {\n\t\t\tthis._colorize(series);\n\t\t})\n\n\t\tif (this.isDirty(\"wheelX\") || this.isDirty(\"wheelY\")) {\n\t\t\tthis._handleSetWheel();\n\t\t}\n\n\t\tif (this.isDirty(\"cursor\")) {\n\t\t\tconst previous = this._prevSettings.cursor;\n\t\t\tconst cursor = this.get(\"cursor\")!;\n\t\t\tif (cursor !== previous) {\n\t\t\t\tthis._disposeProperty(\"cursor\");\n\t\t\t\tif (previous) {\n\t\t\t\t\tprevious.dispose();\n\t\t\t\t}\n\t\t\t\tif (cursor) {\n\t\t\t\t\tcursor._setChart(this);\n\t\t\t\t\tthis._addCursor(cursor);\n\n\t\t\t\t\tthis._pushPropertyDisposer(\"cursor\", cursor.events.on(\"selectended\", () => {\n\t\t\t\t\t\tthis._handleCursorSelectEnd();\n\t\t\t\t\t}))\n\t\t\t\t}\n\n\t\t\t\t//this.setRaw(\"cursor\", cursor) // to reset previous value\n\t\t\t\tthis._prevSettings.cursor = cursor;\n\t\t\t}\n\t\t}\n\n\t\tif (this.isDirty(\"scrollbarX\")) {\n\t\t\tconst previous = this._prevSettings.scrollbarX;\n\t\t\tconst scrollbarX = this.get(\"scrollbarX\")!;\n\t\t\tif (scrollbarX !== previous) {\n\t\t\t\tthis._disposeProperty(\"scrollbarX\");\n\t\t\t\tif (previous) {\n\t\t\t\t\tprevious.dispose();\n\t\t\t\t}\n\t\t\t\tif (scrollbarX) {\n\t\t\t\t\tif (!scrollbarX.parent) {\n\t\t\t\t\t\tthis.topAxesContainer.children.push(scrollbarX);\n\t\t\t\t\t}\n\n\t\t\t\t\tthis._pushPropertyDisposer(\"scrollbarX\", scrollbarX.events.on(\"rangechanged\", (e) => {\n\t\t\t\t\t\tthis._handleScrollbar(this.xAxes, e.start, e.end);\n\t\t\t\t\t}))\n\n\t\t\t\t\t// Used to populate `ariaLabel` with meaningful values\n\t\t\t\t\tscrollbarX.setPrivate(\"positionTextFunction\", (position: number) => {\n\t\t\t\t\t\tconst axis = this.xAxes.getIndex(0);\n\t\t\t\t\t\treturn axis ? axis.getTooltipText(position) || \"\" : \"\";\n\t\t\t\t\t});\n\n\t\t\t\t}\n\n\t\t\t\tthis._prevSettings.scrollbarX = scrollbarX;\n\t\t\t}\n\t\t}\n\n\t\tif (this.isDirty(\"scrollbarY\")) {\n\t\t\tconst previous = this._prevSettings.scrollbarY;\n\t\t\tconst scrollbarY = this.get(\"scrollbarY\")!;\n\t\t\tif (scrollbarY !== previous) {\n\t\t\t\tthis._disposeProperty(\"scrollbarY\");\n\t\t\t\tif (previous) {\n\t\t\t\t\tprevious.dispose();\n\t\t\t\t}\n\t\t\t\tif (scrollbarY) {\n\t\t\t\t\tif (!scrollbarY.parent) {\n\t\t\t\t\t\tthis.rightAxesContainer.children.push(scrollbarY);\n\t\t\t\t\t}\n\n\t\t\t\t\tthis._pushPropertyDisposer(\"scrollbarY\", scrollbarY.events.on(\"rangechanged\", (e) => {\n\t\t\t\t\t\tthis._handleScrollbar(this.yAxes, e.start, e.end);\n\t\t\t\t\t}))\n\n\t\t\t\t\t// Used to populate `ariaLabel` with meaningful values\n\t\t\t\t\tscrollbarY.setPrivate(\"positionTextFunction\", (position: number) => {\n\t\t\t\t\t\tconst axis = this.yAxes.getIndex(0);\n\t\t\t\t\t\treturn axis ? axis.getTooltipText(position) || \"\" : \"\";\n\t\t\t\t\t});\n\n\t\t\t\t}\n\t\t\t\tthis._prevSettings.scrollbarY = scrollbarY;\n\t\t\t}\n\t\t}\n\n\t\tthis._handleZoomOut();\n\t}\n\n\tprotected _processSeries(series: this[\"_seriesType\"]) {\n\t\tsuper._processSeries(series);\n\t\tthis._colorize(series);\n\t}\n\n\tprotected _colorize(series: this[\"_seriesType\"]) {\n\t\tconst colorSet = this.get(\"colors\")!;\n\t\tif (colorSet) {\n\t\t\tif (series.get(\"fill\") == null) {\n\t\t\t\tconst color = colorSet.next();\n\n\t\t\t\tseries._setSoft(\"stroke\", color);\n\t\t\t\tseries._setSoft(\"fill\", color);\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected _handleCursorSelectEnd() {\n\t\tconst cursor = this.get(\"cursor\")!;\n\t\tconst behavior = cursor.get(\"behavior\");\n\n\t\tconst downPositionX = cursor.getPrivate(\"downPositionX\", 0);\n\t\tconst downPositionY = cursor.getPrivate(\"downPositionY\", 0);\n\n\t\tconst positionX = cursor.getPrivate(\"positionX\", 0.5);\n\t\tconst positionY = cursor.getPrivate(\"positionY\", 0.5);\n\n\n\t\tthis.xAxes.each((axis) => {\n\t\t\tif (behavior === \"zoomX\" || behavior === \"zoomXY\") {\n\t\t\t\tlet position0 = axis.toAxisPosition(downPositionX);\n\t\t\t\tlet position1 = axis.toAxisPosition(positionX);\n\t\t\t\taxis.zoom(position0, position1);\n\t\t\t}\n\t\t\taxis.setPrivate(\"updateScrollbar\", true);\n\t\t})\n\n\t\tthis.yAxes.each((axis) => {\n\t\t\tif (behavior === \"zoomY\" || behavior === \"zoomXY\") {\n\t\t\t\tlet position0 = axis.toAxisPosition(downPositionY);\n\t\t\t\tlet position1 = axis.toAxisPosition(positionY);\n\t\t\t\taxis.zoom(position0, position1);\n\t\t\t}\n\t\t\taxis.setPrivate(\"updateScrollbar\", true);\n\t\t})\n\n\t}\n\n\tprotected _handleScrollbar(axes: ListAutoDispose<Axis<any>>, start: number, end: number) {\n\n\t\taxes.each((axis) => {\n\n\t\t\tlet axisStart = axis.fixPosition(start);\n\t\t\tlet axisEnd = axis.fixPosition(end);\n\n\t\t\tlet zoomAnimation = axis.zoom(axisStart, axisEnd);\n\n\t\t\tconst updateScrollbar = \"updateScrollbar\";\n\t\t\taxis.setPrivateRaw(updateScrollbar, false);\n\n\t\t\tif (zoomAnimation) {\n\t\t\t\tzoomAnimation.events.on(\"stopped\", () => {\n\t\t\t\t\taxis.setPrivateRaw(updateScrollbar, true);\n\t\t\t\t});\n\t\t\t}\n\t\t\telse {\n\t\t\t\taxis.setPrivateRaw(updateScrollbar, true);\n\t\t\t}\n\t\t})\n\t}\n\n\n\tprotected _processAxis<R extends AxisRenderer>(axes: ListAutoDispose<Axis<R>>, container: Container): IDisposer {\n\t\treturn axes.events.onAll((change) => {\n\t\t\tif (change.type === \"clear\") {\n\t\t\t\t$array.each(change.oldValues, (axis) => {\n\t\t\t\t\tthis._removeAxis(axis);\n\t\t\t\t})\n\t\t\t} else if (change.type === \"push\") {\n\t\t\t\tcontainer.children.push(change.newValue);\n\t\t\t\tchange.newValue.processChart(this);\n\t\t\t} else if (change.type === \"setIndex\") {\n\t\t\t\tcontainer.children.setIndex(change.index, change.newValue);\n\t\t\t\tchange.newValue.processChart(this);\n\t\t\t} else if (change.type === \"insertIndex\") {\n\t\t\t\tcontainer.children.insertIndex(change.index, change.newValue);\n\t\t\t\tchange.newValue.processChart(this);\n\t\t\t} else if (change.type === \"removeIndex\") {\n\t\t\t\tthis._removeAxis(change.oldValue);\n\n\t\t\t} else {\n\t\t\t\tthrow new Error(\"Unknown IListEvent type\");\n\t\t\t}\n\t\t});\n\t}\n\n\tprotected _removeAxis(axis: Axis<AxisRenderer>) {\n\t\tif (!axis.isDisposed()) {\n\t\t\tconst axisParent = axis.parent\n\t\t\tif (axisParent) {\n\t\t\t\taxisParent.children.removeValue(axis);\n\t\t\t}\n\n\t\t\tconst gridContainer = axis.gridContainer;\n\t\t\tconst gridParent = gridContainer.parent;\n\t\t\tif (gridParent) {\n\t\t\t\tgridParent.children.removeValue(gridContainer);\n\t\t\t}\n\n\t\t\tconst topGridContainer = axis.topGridContainer;\n\t\t\tconst topGridParent = topGridContainer.parent;\n\t\t\tif (topGridParent) {\n\t\t\t\ttopGridParent.children.removeValue(topGridContainer);\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic _updateChartLayout() {\n\t\tconst left = this.leftAxesContainer.width();\n\t\tconst right = this.rightAxesContainer.width();\n\n\t\tconst bottomAxesContainer = this.bottomAxesContainer;\n\t\tbottomAxesContainer.set(\"paddingLeft\", left);\n\t\tbottomAxesContainer.set(\"paddingRight\", right);\n\n\t\tconst topAxesContainer = this.topAxesContainer;\n\t\ttopAxesContainer.set(\"paddingLeft\", left);\n\t\ttopAxesContainer.set(\"paddingRight\", right);\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic processAxis(_axis: Axis<AxisRenderer>) { };\n\n\tpublic _handleAxisSelection(axis: Axis<any>) {\n\n\t\tlet start = axis.fixPosition(axis.get(\"start\", 0));\n\t\tlet end = axis.fixPosition(axis.get(\"end\", 1));\n\n\t\tif (start > end) {\n\t\t\t[start, end] = [end, start];\n\t\t}\n\n\t\tif (this.xAxes.indexOf(axis) != -1) {\n\t\t\tif (axis.getPrivate(\"updateScrollbar\")) {\n\t\t\t\tlet scrollbarX = this.get(\"scrollbarX\");\n\t\t\t\tif (scrollbarX && !scrollbarX.getPrivate(\"isBusy\")) {\n\t\t\t\t\tscrollbarX.setRaw(\"start\", start);\n\t\t\t\t\tscrollbarX.setRaw(\"end\", end);\n\t\t\t\t\tscrollbarX.updateGrips();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\telse if (this.yAxes.indexOf(axis) != -1) {\n\t\t\tif (axis.getPrivate(\"updateScrollbar\")) {\n\t\t\t\tlet scrollbarY = this.get(\"scrollbarY\");\n\t\t\t\tif (scrollbarY && !scrollbarY.getPrivate(\"isBusy\")) {\n\t\t\t\t\tscrollbarY.setRaw(\"start\", start);\n\t\t\t\t\tscrollbarY.setRaw(\"end\", end);\n\t\t\t\t\tscrollbarY.updateGrips();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tthis._handleZoomOut();\n\t}\n\n\tprotected _handleZoomOut() {\n\t\tlet zoomOutButton = this.zoomOutButton;\n\t\tif (zoomOutButton && zoomOutButton.parent) {\n\t\t\tlet visible = false;\n\t\t\tthis.xAxes.each((axis) => {\n\t\t\t\tif (axis.get(\"start\") != 0 || axis.get(\"end\") != 1) {\n\t\t\t\t\tvisible = true;\n\t\t\t\t}\n\t\t\t})\n\t\t\tthis.yAxes.each((axis) => {\n\t\t\t\tif (axis.get(\"start\") != 0 || axis.get(\"end\") != 1) {\n\t\t\t\t\tvisible = true;\n\t\t\t\t}\n\t\t\t})\n\n\t\t\tif (visible) {\n\t\t\t\tif (zoomOutButton.isHidden()) {\n\t\t\t\t\tzoomOutButton.show();\n\t\t\t\t}\n\t\t\t}\n\t\t\telse {\n\t\t\t\tzoomOutButton.hide();\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Checks if point is within plot area.\n\t *\n\t * @param point Reference point\n\t * @return Is within plot area?\n\t */\n\tpublic inPlot(point: IPoint): boolean {\n\t\tconst plotContainer = this.plotContainer;\n\t\tconst otherCharts = this._otherCharts;\n\t\tconst global = plotContainer.toGlobal(point);\n\n\t\tif (point.x >= -0.1 && point.y >= -0.1 && point.x <= plotContainer.width() + 0.1 && point.y <= plotContainer.height() + 0.1) {\n\t\t\treturn true;\n\t\t}\n\t\tif (otherCharts) {\n\t\t\tfor (let i = otherCharts.length - 1; i >= 0; i--) {\n\t\t\t\tconst chart = otherCharts[i];\n\t\t\t\tif (chart != this) {\n\t\t\t\t\tconst chartPlotContainer = chart.plotContainer;\n\t\t\t\t\tconst local = chartPlotContainer.toLocal(global);\n\t\t\t\t\tif (local.x >= -0.1 && local.y >= -0.1 && local.x <= chartPlotContainer.width() + 0.1 && local.y <= chartPlotContainer.height() + 0.1) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic arrangeTooltips() {\n\t\tconst plotContainer = this.plotContainer;\n\n\t\tconst w = plotContainer.width();\n\t\tconst h = plotContainer.height();\n\n\t\tlet plotT = plotContainer._display.toGlobal({ x: 0, y: 0 });\n\t\tlet plotB = plotContainer._display.toGlobal({ x: w, y: h });\n\n\t\tconst tooltips: Array<Tooltip> = [];\n\t\tlet sum = 0;\n\n\t\tlet minDistance = Infinity;\n\t\tlet movePoint = this._movePoint;\n\t\tlet maxTooltipDistance = this.get(\"maxTooltipDistance\");\n\t\tlet closest: XYSeries;\n\t\tlet closestPoint: IPoint;\n\n\t\tif ($type.isNumber(maxTooltipDistance)) {\n\t\t\tthis.series.each((series) => {\n\t\t\t\tconst tooltip = series.get(\"tooltip\");\n\t\t\t\tif (tooltip) {\n\t\t\t\t\tlet point = tooltip.get(\"pointTo\")!;\n\t\t\t\t\tif (point) {\n\t\t\t\t\t\tlet distance = Math.hypot(movePoint.x - point.x, movePoint.y - point.y);\n\t\t\t\t\t\tif (distance < minDistance) {\n\t\t\t\t\t\t\tminDistance = distance;\n\t\t\t\t\t\t\tclosest = series;\n\t\t\t\t\t\t\tclosestPoint = point;\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\tthis.series.each((series) => {\n\t\t\tconst tooltip = series.get(\"tooltip\")!;\n\n\t\t\tif (tooltip) {\n\t\t\t\tlet hidden = false;\n\t\t\t\tlet point = tooltip.get(\"pointTo\")!;\n\t\t\t\tif (point) {\n\t\t\t\t\tif (maxTooltipDistance >= 0) {\n\t\t\t\t\t\tlet point = tooltip.get(\"pointTo\")!;\n\t\t\t\t\t\tif (point) {\n\t\t\t\t\t\t\tif (series != closest) {\n\t\t\t\t\t\t\t\tlet distance = Math.hypot(closestPoint.x - point.x, closestPoint.y - point.y);\n\t\t\t\t\t\t\t\tif (distance > maxTooltipDistance) {\n\t\t\t\t\t\t\t\t\thidden = true;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\telse if (maxTooltipDistance == -1) {\n\t\t\t\t\t\tif (series != closest) {\n\t\t\t\t\t\t\thidden = true;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tif (!this.inPlot(this._tooltipToLocal(point)) || !tooltip.dataItem) {\n\t\t\t\t\t\thidden = true;\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tif (!hidden) {\n\t\t\t\t\t\t\tsum += point.y;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tif (hidden || series.isHidden() || series.isHiding()) {\n\t\t\t\t\t\ttooltip.hide(0);\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\ttooltip.show();\n\t\t\t\t\t\ttooltips.push(tooltip);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t})\n\t\tif (this.get(\"arrangeTooltips\")) {\n\n\t\t\tconst tooltipContainer = this._root.tooltipContainer;\n\n\t\t\ttooltips.sort((a, b) => $order.compareNumber(a.get(\"pointTo\")!.y, b.get(\"pointTo\")!.y));\n\t\t\tconst count = tooltips.length;\n\t\t\tconst average = sum / count;\n\n\t\t\tif (average > h / 2 + plotT.y) {\n\t\t\t\ttooltips.reverse();\n\t\t\t\tlet prevY = plotB.y;\n\n\t\t\t\t$array.each(tooltips, (tooltip) => {\n\t\t\t\t\tlet height = tooltip.height();\n\t\t\t\t\tlet centerY = tooltip.get(\"centerY\");\n\t\t\t\t\tif (centerY instanceof Percent) {\n\t\t\t\t\t\theight *= centerY.value;\n\t\t\t\t\t}\n\t\t\t\t\theight += tooltip.get(\"marginBottom\", 0);\n\n\t\t\t\t\ttooltip.set(\"bounds\", { left: plotT.x, top: plotT.y, right: plotB.x, bottom: prevY })\n\n\t\t\t\t\tprevY = Math.min(prevY - height, tooltip._fy - height);\n\t\t\t\t\ttooltipContainer.children.moveValue(tooltip, 0);\n\t\t\t\t})\n\t\t\t}\n\t\t\telse {\n\t\t\t\tlet prevY = 0;\n\t\t\t\t$array.each(tooltips, (tooltip) => {\n\t\t\t\t\tlet height = tooltip.height();\n\t\t\t\t\tlet centerY = tooltip.get(\"centerY\");\n\t\t\t\t\tif (centerY instanceof Percent) {\n\t\t\t\t\t\theight *= centerY.value;\n\t\t\t\t\t}\n\t\t\t\t\theight += tooltip.get(\"marginBottom\", 0);\n\n\t\t\t\t\ttooltip.set(\"bounds\", { left: plotT.x, top: prevY, right: plotB.x, bottom: Math.max(plotT.y + h, prevY + height) })\n\t\t\t\t\ttooltipContainer.children.moveValue(tooltip, 0);\n\t\t\t\t\tprevY = Math.max(prevY + height, tooltip._fy + height);\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected _tooltipToLocal(point: IPoint): IPoint {\n\t\treturn this.plotContainer.toLocal(point);\n\t}\n\n\t/**\n\t * Fully zooms out the chart.\n\t */\n\tpublic zoomOut() {\n\t\tthis.xAxes.each((axis) => {\n\t\t\taxis.setPrivate(\"updateScrollbar\", true);\n\t\t\taxis.zoom(0, 1);\n\t\t})\n\n\t\tthis.yAxes.each((axis) => {\n\t\t\taxis.setPrivate(\"updateScrollbar\", true);\n\t\t\taxis.zoom(0, 1);\n\t\t})\n\t}\n\n}\n"]}
1
+ {"version":3,"file":"XYChart.js","sourceRoot":"","sources":["../../../../../src/.internal/charts/xy/XYChart.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Axis } from \"./axes/Axis\";\nimport type { XYCursor } from \"./XYCursor\";\nimport type { AxisRenderer } from \"./axes/AxisRenderer\";\nimport type { DataItem } from \"../../core/render/Component\";\nimport type { IDisposer } from \"../../core/util/Disposer\";\nimport type { XYSeries, IXYSeriesDataItem } from \"./series/XYSeries\";\nimport type { IPointerEvent } from \"../../core/render/backend/Renderer\";\nimport type { Scrollbar } from \"../../core/render/Scrollbar\";\nimport type { Tooltip } from \"../../core/render/Tooltip\";\nimport type { IPoint } from \"../../core/util/IPoint\";\n\nimport { XYChartDefaultTheme } from \"./XYChartDefaultTheme\";\nimport { Container } from \"../../core/render/Container\";\nimport { Rectangle } from \"../../core/render/Rectangle\";\nimport { SerialChart, ISerialChartPrivate, ISerialChartSettings, ISerialChartEvents } from \"../../core/render/SerialChart\";\nimport { ListAutoDispose } from \"../../core/util/List\";\nimport { p100 } from \"../../core/util/Percent\";\nimport { Color } from \"../../core/util/Color\";\nimport { Button } from \"../../core/render/Button\";\nimport { Graphics } from \"../../core/render/Graphics\";\nimport { Percent } from \"../../core/util/Percent\";\n\nimport * as $array from \"../../core/util/Array\";\nimport * as $order from \"../../core/util/Order\";\nimport * as $type from \"../../core/util/Type\";\nimport type { Animation } from \"../../core/util/Entity\";\n\nexport interface IXYChartSettings extends ISerialChartSettings {\n\n\t/**\n\t * horizontal scrollbar.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/scrollbars/} for more info\n\t */\n\tscrollbarX?: Scrollbar;\n\n\t/**\n\t * Vertical scrollbar.\n\t *\n\t */\n\tscrollbarY?: Scrollbar;\n\n\t/**\n\t * If this is set to `true`, users will be able to pan the chart horizontally\n\t * by dragging plot area.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/zoom-and-pan/#Panning} for more info\n\t */\n\tpanX?: boolean;\n\n\t/**\n\t * If this is set to `true`, users will be able to pan the chart vertically\n\t * by dragging plot area.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/zoom-and-pan/#Panning} for more info\n\t */\n\tpanY?: boolean;\n\n\t/**\n\t * Indicates what happens when mouse wheel is spinned horizontally while over\n\t * plot area.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/zoom-and-pan/#Mouse_wheel_behavior} for more info\n\t */\n\twheelX?: \"zoomX\" | \"zoomY\" | \"zoomXY\" | \"panX\" | \"panY\" | \"panXY\" | \"none\";\n\n\t/**\n\t * Indicates what happens when mouse wheel is spinned vertically while over\n\t * plot area.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/zoom-and-pan/#Mouse_wheel_behavior} for more info\n\t */\n\twheelY?: \"zoomX\" | \"zoomY\" | \"zoomXY\" | \"panX\" | \"panY\" | \"panXY\" | \"none\";\n\n\t/**\n\t * Indicates the relative \"speed\" of the mouse wheel.\n\t *\n\t * @default 0.25\n\t */\n\twheelStep?: number;\n\n\t/**\n\t * Chart's cursor.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/cursor/} for more info\n\t */\n\tcursor?: XYCursor;\n\n\t/**\n\t * Indicates maximum distance from pointer (moust or touch) to points\n\t * tooltips need to be shown for.\n\t *\n\t * Points that are further from pointer than this setting will not be shown.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/cursor/#Tooltips} for more info\n\t */\n\tmaxTooltipDistance?: number;\n\n\t/**\n\t * If set to `false` the chart will not check for overlapping of multiple\n\t * tooltips, and will not arrange them to not overlap.\n\t *\n\t * Will work only if chart has an `XYCursor` enabled.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/cursor/#Tooltips} for more info\n\t * @default true\n\t */\n\tarrangeTooltips?: boolean\n\n}\n\nexport interface IXYChartPrivate extends ISerialChartPrivate {\n}\n\n\nexport interface IXYChartEvents extends ISerialChartEvents {\n\n\t/**\n\t * Invoked when panning starts.\n\t *\n\t * @since 5.0.4\n\t */\n\tpanstarted: {};\n\n\t/**\n\t * Invoked when panning ends.\n\t * \n\t * @since 5.0.4\n\t */\n\tpanended: {};\n\n\t/**\n\t * Invoked when wheel caused zoom ends.\n\t * \n\t * @since 5.0.4\n\t */\n\twheelended: {};\n\n}\n\n/**\n * Creates an XY chart.\n *\n * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/} for more info\n * @important\n */\nexport class XYChart extends SerialChart {\n\n\tpublic static className: string = \"XYChart\";\n\tpublic static classNames: Array<string> = SerialChart.classNames.concat([XYChart.className]);\n\n\tdeclare public _settings: IXYChartSettings;\n\tdeclare public _privateSettings: IXYChartPrivate;\n\tdeclare public _seriesType: XYSeries;\n\tdeclare public _events: IXYChartEvents;\n\n\t/**\n\t * A list of horizontal axes.\n\t */\n\tpublic readonly xAxes: ListAutoDispose<Axis<AxisRenderer>> = new ListAutoDispose();\n\n\t/**\n\t * A list of vertical axes.\n\t */\n\tpublic readonly yAxes: ListAutoDispose<Axis<AxisRenderer>> = new ListAutoDispose();\n\n\t/**\n\t * A [[Container]] located on top of the chart, used to store top horizontal\n\t * axes.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/xy-chart-containers/} for more info\n\t * @default Container.new()\n\t */\n\tpublic readonly topAxesContainer: Container = this.chartContainer.children.push(Container.new(this._root, { width: p100, layout: this._root.verticalLayout }));\n\n\t/**\n\t * A [[Container]] located in the middle the chart, used to store vertical axes\n\t * and plot area container.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/xy-chart-containers/} for more info\n\t * @default Container.new()\n\t */\n\tpublic readonly yAxesAndPlotContainer: Container = this.chartContainer.children.push(Container.new(this._root, { width: p100, height: p100, layout: this._root.horizontalLayout }));\n\n\t/**\n\t * A [[Container]] located on bottom of the chart, used to store bottom\n\t * horizontal axes.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/xy-chart-containers/} for more info\n\t * @default Container.new()\n\t */\n\tpublic readonly bottomAxesContainer: Container = this.chartContainer.children.push(Container.new(this._root, { width: p100, layout: this._root.verticalLayout }));\n\n\t/**\n\t * A [[Container]] located on left of the chart, used to store left-hand\n\t * vertical axes.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/xy-chart-containers/} for more info\n\t * @default Container.new()\n\t */\n\tpublic readonly leftAxesContainer: Container = this.yAxesAndPlotContainer.children.push(Container.new(this._root, { height: p100, layout: this._root.horizontalLayout }));\n\n\t/**\n\t * A [[Container]] located in the middle of the chart, used to store actual\n\t * plots (series).\n\t *\n\t * NOTE: `plotContainer` will automatically have its `background` preset. If\n\t * you need to modify background or outline for chart's plot area, you can\n\t * use `plotContainer.get(\"background\")` for that.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/xy-chart-containers/} for more info\n\t * @default Container.new()\n\t */\n\tpublic readonly plotContainer: Container = this.yAxesAndPlotContainer.children.push(Container.new(this._root, { width: p100, height: p100, maskContent: false }));\n\n\t/**\n\t * A [[Container]] axis grid elements are stored in.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/xy-chart-containers/} for more info\n\t * @default Container.new()\n\t */\n\tpublic readonly gridContainer: Container = this.plotContainer.children.push(Container.new(this._root, { width: p100, height: p100, isMeasured: false }));\n\n\t/**\n\t * A [[Container]] axis background grid elements are stored in.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/xy-chart-containers/} for more info\n\t * @default Container.new()\n\t */\n\tpublic readonly topGridContainer: Container = Container.new(this._root, { width: p100, height: p100, isMeasured: false });\n\n\t/**\n\t * A [[Container]] located on right of the chart, used to store right-hand\n\t * vertical axes.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/xy-chart-containers/} for more info\n\t * @default Container.new()\n\t */\n\tpublic readonly rightAxesContainer: Container = this.yAxesAndPlotContainer.children.push(Container.new(this._root, { height: p100, layout: this._root.horizontalLayout }));\n\n\t/**\n\t * A [[Container]] axis headers are stored in.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/axes/axis-headers/} for more info\n\t * @default Container.new()\n\t */\n\tpublic readonly axisHeadersContainer: Container = this.plotContainer.children.push(Container.new(this._root, {}));\n\n\t/**\n\t * A button that is shown when chart is not fully zoomed out.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/zoom-and-pan/#Zoom_out_button} for more info\n\t * @default Button.new()\n\t */\n\tpublic readonly zoomOutButton: Button = this.plotContainer.children.push(Button.new(this._root, {\n\t\tthemeTags: [\"zoom\"],\n\t\ticon: Graphics.new(this._root, {\n\t\t\tthemeTags: [\"button\", \"icon\"]\n\t\t})\n\t}));\n\n\tpublic _movePoint: IPoint = { x: 0, y: 0 };\n\n\tprotected _wheelDp: IDisposer | undefined;\n\n\tpublic _otherCharts?: Array<XYChart>;\n\n\tprotected _afterNew() {\n\t\tthis._defaultThemes.push(XYChartDefaultTheme.new(this._root));\n\n\t\tsuper._afterNew();\n\n\t\tthis._disposers.push(this.xAxes);\n\t\tthis._disposers.push(this.yAxes);\n\n\t\tconst root = this._root;\n\n\t\tlet verticalLayout = this._root.verticalLayout;\n\n\t\tconst zoomOutButton = this.zoomOutButton;\n\t\tzoomOutButton.events.on(\"click\", () => {\n\t\t\tthis.zoomOut();\n\t\t})\n\t\tzoomOutButton.set(\"opacity\", 0);\n\t\tzoomOutButton.states.lookup(\"default\")!.set(\"opacity\", 1);\n\n\t\tthis.chartContainer.set(\"layout\", verticalLayout);\n\n\t\tconst plotContainer = this.plotContainer;\n\t\tplotContainer.children.push(this.seriesContainer);\n\n\t\tthis._disposers.push(this._processAxis(this.xAxes, this.bottomAxesContainer));\n\t\tthis._disposers.push(this._processAxis(this.yAxes, this.leftAxesContainer));\n\n\n\t\tplotContainer.children.push(this.topGridContainer);\n\t\tplotContainer.children.push(this.bulletsContainer);\n\n\t\tplotContainer.children.moveValue(zoomOutButton);\n\n\t\t// Setting trasnparent background so that full body of the plot container\n\t\t// is interactive\n\t\tplotContainer.set(\"interactive\", true);\n\t\tplotContainer.set(\"interactiveChildren\", false);\n\t\tplotContainer.set(\"background\", Rectangle.new(root, {\n\t\t\tthemeTags: [\"xy\", \"background\"],\n\t\t\tfill: Color.fromHex(0x000000),\n\t\t\tfillOpacity: 0\n\t\t}));\n\n\t\tthis._disposers.push(plotContainer.events.on(\"pointerdown\", (event) => {\n\t\t\tthis._handlePlotDown(event.originalEvent);\n\t\t}));\n\n\t\tthis._disposers.push(plotContainer.events.on(\"globalpointerup\", (event) => {\n\t\t\tthis._handlePlotUp(event.originalEvent);\n\t\t}));\n\n\t\tthis._disposers.push(plotContainer.events.on(\"globalpointermove\", (event) => {\n\t\t\tthis._handlePlotMove(event.originalEvent);\n\t\t}));\n\t}\n\n\tprotected _removeSeries(series: this[\"_seriesType\"]) {\n\t\tconst xAxis = series.get(\"xAxis\");\n\t\tif (xAxis) {\n\t\t\t$array.remove(xAxis.series, series);\n\t\t}\n\t\tconst yAxis = series.get(\"yAxis\");\n\t\tif (yAxis) {\n\t\t\t$array.remove(yAxis.series, series);\n\t\t}\n\t\tsuper._removeSeries(series);\n\t}\n\n\tprotected _handleSetWheel() {\n\t\tconst wheelX = this.get(\"wheelX\");\n\t\tconst wheelY = this.get(\"wheelY\");\n\t\tconst plotContainer = this.plotContainer;\n\n\t\tif (wheelX !== \"none\" || wheelY !== \"none\") {\n\t\t\tthis._wheelDp = plotContainer.events.on(\"wheel\", (event) => {\n\t\t\t\tconst wheelEvent = event.originalEvent;\n\n\t\t\t\twheelEvent.preventDefault();\n\n\t\t\t\tconst plotPoint = plotContainer.toLocal(this._root.documentPointToRoot({ x: wheelEvent.clientX, y: wheelEvent.clientY }))\n\t\t\t\tconst wheelStep = this.get(\"wheelStep\", 0.2);\n\n\t\t\t\tconst shiftY = wheelEvent.deltaY / 100;\n\t\t\t\tconst shiftX = wheelEvent.deltaX / 100;\n\n\t\t\t\tif ((wheelX === \"zoomX\" || wheelX === \"zoomXY\") && shiftX != 0) {\n\t\t\t\t\tthis.xAxes.each((axis) => {\n\t\t\t\t\t\tif (axis.get(\"zoomX\")) {\n\t\t\t\t\t\t\tlet start = axis.get(\"start\")!;\n\t\t\t\t\t\t\tlet end = axis.get(\"end\")!;\n\n\t\t\t\t\t\t\tlet position = axis.fixPosition(plotPoint.x / plotContainer.width());\n\n\t\t\t\t\t\t\tlet newStart = start - wheelStep * (end - start) * shiftX * position;\n\t\t\t\t\t\t\tlet newEnd = end + wheelStep * (end - start) * shiftX * (1 - position);\n\t\t\t\t\t\t\tif (1 / (newEnd - newStart) < axis.get(\"maxZoomFactor\", Infinity)) {\n\t\t\t\t\t\t\t\tthis._handleWheelAnimation(axis.zoom(newStart, newEnd));\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t}\n\n\t\t\t\tif ((wheelY === \"zoomX\" || wheelY === \"zoomXY\") && shiftY != 0) {\n\t\t\t\t\tthis.xAxes.each((axis) => {\n\t\t\t\t\t\tif (axis.get(\"zoomX\")) {\n\t\t\t\t\t\t\tlet start = axis.get(\"start\")!;\n\t\t\t\t\t\t\tlet end = axis.get(\"end\")!;\n\n\n\t\t\t\t\t\t\tlet position = axis.fixPosition(plotPoint.x / plotContainer.width());\n\n\t\t\t\t\t\t\tlet newStart = start - wheelStep * (end - start) * shiftY * position;\n\t\t\t\t\t\t\tlet newEnd = end + wheelStep * (end - start) * shiftY * (1 - position);\n\t\t\t\t\t\t\tif (1 / (newEnd - newStart) < axis.get(\"maxZoomFactor\", Infinity)) {\n\t\t\t\t\t\t\t\tthis._handleWheelAnimation(axis.zoom(newStart, newEnd));\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t}\n\n\n\t\t\t\tif ((wheelX === \"zoomY\" || wheelX === \"zoomXY\") && shiftX != 0) {\n\t\t\t\t\tthis.yAxes.each((axis) => {\n\t\t\t\t\t\tif (axis.get(\"zoomY\")) {\n\t\t\t\t\t\t\tlet start = axis.get(\"start\")!;\n\t\t\t\t\t\t\tlet end = axis.get(\"end\")!;\n\n\t\t\t\t\t\t\tlet position = axis.fixPosition(plotPoint.y / plotContainer.height());\n\n\t\t\t\t\t\t\tlet newStart = start - wheelStep * (end - start) * shiftX * position;\n\t\t\t\t\t\t\tlet newEnd = end + wheelStep * (end - start) * shiftX * (1 - position);\n\t\t\t\t\t\t\tif (1 / (newEnd - newStart) < axis.get(\"maxZoomFactor\", Infinity)) {\n\t\t\t\t\t\t\t\tthis._handleWheelAnimation(axis.zoom(newStart, newEnd));\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t}\n\n\t\t\t\tif ((wheelY === \"zoomY\" || wheelY === \"zoomXY\") && shiftY != 0) {\n\t\t\t\t\tthis.yAxes.each((axis) => {\n\t\t\t\t\t\tif (axis.get(\"zoomY\")) {\n\t\t\t\t\t\t\tlet start = axis.get(\"start\")!;\n\t\t\t\t\t\t\tlet end = axis.get(\"end\")!;\n\n\t\t\t\t\t\t\tlet position = axis.fixPosition(plotPoint.y / plotContainer.height());\n\n\t\t\t\t\t\t\tlet newStart = start - wheelStep * (end - start) * shiftY * position;\n\t\t\t\t\t\t\tlet newEnd = end + wheelStep * (end - start) * shiftY * (1 - position);\n\n\t\t\t\t\t\t\tif (1 / (newEnd - newStart) < axis.get(\"maxZoomFactor\", Infinity)) {\n\t\t\t\t\t\t\t\tthis._handleWheelAnimation(axis.zoom(newStart, newEnd));\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t}\n\n\n\t\t\t\tif ((wheelX === \"panX\" || wheelX === \"panXY\") && shiftX != 0) {\n\t\t\t\t\tthis.xAxes.each((axis) => {\n\t\t\t\t\t\tif (axis.get(\"panX\")) {\n\t\t\t\t\t\t\tlet start = axis.get(\"start\")!;\n\t\t\t\t\t\t\tlet end = axis.get(\"end\")!;\n\n\t\t\t\t\t\t\tlet position = axis.fixPosition(plotPoint.x / plotContainer.width());\n\n\t\t\t\t\t\t\tlet newStart = start + wheelStep * (end - start) * shiftX * position;\n\t\t\t\t\t\t\tlet newEnd = end + wheelStep * (end - start) * shiftX * (1 - position);\n\n\t\t\t\t\t\t\tthis._handleWheelAnimation(axis.zoom(newStart, newEnd));\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t}\n\n\t\t\t\tif ((wheelY === \"panX\" || wheelY === \"panXY\") && shiftY != 0) {\n\t\t\t\t\tthis.xAxes.each((axis) => {\n\t\t\t\t\t\tif (axis.get(\"panX\")) {\n\t\t\t\t\t\t\tlet start = axis.get(\"start\")!;\n\t\t\t\t\t\t\tlet end = axis.get(\"end\")!;\n\n\t\t\t\t\t\t\tlet position = axis.fixPosition(plotPoint.x / plotContainer.width());\n\n\t\t\t\t\t\t\tlet newStart = start + wheelStep * (end - start) * shiftY * position;\n\t\t\t\t\t\t\tlet newEnd = end + wheelStep * (end - start) * shiftY * (1 - position);\n\n\t\t\t\t\t\t\tthis._handleWheelAnimation(axis.zoom(newStart, newEnd));\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t}\n\n\t\t\t\tif ((wheelX === \"panY\" || wheelX === \"panXY\") && shiftX != 0) {\n\t\t\t\t\tthis.yAxes.each((axis) => {\n\t\t\t\t\t\tif (axis.get(\"panY\")) {\n\t\t\t\t\t\t\tlet start = axis.get(\"start\")!;\n\t\t\t\t\t\t\tlet end = axis.get(\"end\")!;\n\n\t\t\t\t\t\t\tlet position = axis.fixPosition(plotPoint.y / plotContainer.height());\n\n\t\t\t\t\t\t\tlet newStart = start + wheelStep * (end - start) * shiftX * position;\n\t\t\t\t\t\t\tlet newEnd = end + wheelStep * (end - start) * shiftX * (1 - position);\n\n\t\t\t\t\t\t\tthis._handleWheelAnimation(axis.zoom(newStart, newEnd));\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t}\n\n\t\t\t\tif ((wheelY === \"panY\" || wheelY === \"panXY\") && shiftY != 0) {\n\t\t\t\t\tthis.yAxes.each((axis) => {\n\t\t\t\t\t\tif (axis.get(\"panY\")) {\n\t\t\t\t\t\t\tlet start = axis.get(\"start\")!;\n\t\t\t\t\t\t\tlet end = axis.get(\"end\")!;\n\n\t\t\t\t\t\t\tlet position = axis.fixPosition(plotPoint.y / plotContainer.height());\n\n\t\t\t\t\t\t\tlet newStart = start + wheelStep * (end - start) * shiftY * position;\n\t\t\t\t\t\t\tlet newEnd = end + wheelStep * (end - start) * shiftY * (1 - position);\n\n\t\t\t\t\t\t\tthis._handleWheelAnimation(axis.zoom(newStart, newEnd));\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tthis._disposers.push(this._wheelDp);\n\t\t}\n\t\telse {\n\t\t\tif (this._wheelDp) {\n\t\t\t\tthis._wheelDp.dispose();\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected _handlePlotDown(event: IPointerEvent) {\n\n\t\t// TODO: handle multitouch\n\t\tif (this.get(\"panX\") || this.get(\"panY\")) {\n\t\t\tconst plotContainer = this.plotContainer;\n\n\t\t\tlet local = plotContainer.toLocal(this._root.documentPointToRoot({ x: event.clientX, y: event.clientY }));\n\n\t\t\tif (local.x >= 0 && local.y >= 0 && local.x <= plotContainer.width() && local.y <= this.height()) {\n\t\t\t\tthis._downPoint = local;\n\n\t\t\t\tconst panX = this.get(\"panX\");\n\t\t\t\tconst panY = this.get(\"panY\");\n\n\t\t\t\tif (panX) {\n\t\t\t\t\tthis.xAxes.each((axis) => {\n\t\t\t\t\t\taxis._panStart = axis.get(\"start\")!;\n\t\t\t\t\t\taxis._panEnd = axis.get(\"end\")!;\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t\tif (panY) {\n\t\t\t\t\tthis.yAxes.each((axis) => {\n\t\t\t\t\t\taxis._panStart = axis.get(\"start\")!;\n\t\t\t\t\t\taxis._panEnd = axis.get(\"end\")!;\n\t\t\t\t\t})\n\t\t\t\t}\n\n\t\t\t\tconst eventType = \"panstarted\";\n\t\t\t\tif (this.events.isEnabled(eventType)) {\n\t\t\t\t\tthis.events.dispatch(eventType, { type: eventType, target: this });\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected _handleWheelAnimation(animation?: Animation<any>) {\n\t\tif (animation) {\n\t\t\tanimation.events.on(\"stopped\", () => {\n\t\t\t\tthis._dispatchWheelAnimation();\n\t\t\t})\n\t\t}\n\t\telse {\n\t\t\tthis._dispatchWheelAnimation();\n\t\t}\n\t}\n\n\tprotected _dispatchWheelAnimation() {\n\t\tconst eventType = \"wheelended\";\n\t\tif (this.events.isEnabled(eventType)) {\n\t\t\tthis.events.dispatch(eventType, { type: eventType, target: this });\n\t\t}\n\t}\n\n\tprotected _handlePlotUp(_event: IPointerEvent) {\n\n\t\tif (this._downPoint) {\n\t\t\tif (this.get(\"panX\") || this.get(\"panY\")) {\n\t\t\t\tconst eventType = \"panended\";\n\t\t\t\tif (this.events.isEnabled(eventType)) {\n\t\t\t\t\tthis.events.dispatch(eventType, { type: eventType, target: this });\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// TODO: handle multitouch\n\t\tthis._downPoint = undefined;\n\t\tthis.xAxes.each((xAxis) => {\n\t\t\txAxis._isPanning = false;\n\t\t})\n\t\tthis.yAxes.each((yAxis) => {\n\t\t\tyAxis._isPanning = false;\n\t\t})\n\t}\n\n\tprotected _handlePlotMove(event: IPointerEvent) {\n\t\t// TODO: handle multitouch\n\t\tconst downPoint = this._downPoint!;\n\n\t\tif (downPoint) {\n\t\t\tconst plotContainer = this.plotContainer;\n\n\t\t\tlet local = plotContainer.toLocal(this._root.documentPointToRoot({ x: event.clientX, y: event.clientY }));\n\n\t\t\tconst panX = this.get(\"panX\");\n\t\t\tconst panY = this.get(\"panY\");\n\n\t\t\tif (panX) {\n\n\t\t\t\tlet scrollbarX = this.get(\"scrollbarX\");\n\t\t\t\tif (scrollbarX) {\n\t\t\t\t\tscrollbarX.events.disableType(\"rangechanged\");\n\t\t\t\t}\n\n\t\t\t\tthis.xAxes.each((axis) => {\n\t\t\t\t\tif (axis.get(\"panX\")) {\n\t\t\t\t\t\taxis._isPanning = true;\n\t\t\t\t\t\t//const maxDeviation = axis.get(\"maxDeviation\", 0);\n\t\t\t\t\t\tlet panStart = axis._panStart;\n\t\t\t\t\t\tlet panEnd = axis._panEnd;\n\t\t\t\t\t\tlet difference = (panEnd - panStart);\n\t\t\t\t\t\tlet deltaX = difference * (downPoint.x - local.x) / plotContainer.width();\n\n\t\t\t\t\t\tif (axis.get(\"renderer\").get(\"inversed\")) {\n\t\t\t\t\t\t\tdeltaX *= -1;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tlet start = panStart + deltaX;\n\t\t\t\t\t\tlet end = panEnd + deltaX;\n\n\t\t\t\t\t\tif (end - start < 1 + axis.get(\"maxDeviation\", 1) * 2) {\n\t\t\t\t\t\t\taxis.set(\"start\", start);\n\t\t\t\t\t\t\taxis.set(\"end\", end);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t\tif (scrollbarX) {\n\t\t\t\t\tscrollbarX.events.enableType(\"rangechanged\");\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (panY) {\n\n\t\t\t\tlet scrollbarY = this.get(\"scrollbarY\");\n\t\t\t\tif (scrollbarY) {\n\t\t\t\t\tscrollbarY.events.disableType(\"rangechanged\");\n\t\t\t\t}\n\n\t\t\t\tthis.yAxes.each((axis) => {\n\t\t\t\t\tif (axis.get(\"panY\")) {\n\t\t\t\t\t\taxis._isPanning = true;\n\t\t\t\t\t\t//const maxDeviation = axis.get(\"maxDeviation\", 0);\n\n\t\t\t\t\t\tlet panStart = axis._panStart;\n\t\t\t\t\t\tlet panEnd = axis._panEnd;\n\t\t\t\t\t\tlet difference = (panEnd - panStart);\n\t\t\t\t\t\tlet deltaY = difference * (downPoint.y - local.y) / plotContainer.height();\n\t\t\t\t\t\tif (axis.get(\"renderer\").get(\"inversed\")) {\n\t\t\t\t\t\t\tdeltaY *= -1;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tlet start = panStart - deltaY;\n\t\t\t\t\t\tlet end = panEnd - deltaY;\n\n\t\t\t\t\t\tif (end - start < 1 + axis.get(\"maxDeviation\", 1) * 2) {\n\t\t\t\t\t\t\taxis.set(\"start\", start);\n\t\t\t\t\t\t\taxis.set(\"end\", end);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t})\n\n\t\t\t\tif (scrollbarY) {\n\t\t\t\t\tscrollbarY.events.enableType(\"rangechanged\");\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic _handleCursorPosition() {\n\t\tconst cursor = this.get(\"cursor\");\n\t\tif (cursor) {\n\t\t\tconst cursorPoint = cursor.getPrivate(\"point\");\n\n\t\t\tconst snapToSeries = cursor.get(\"snapToSeries\");\n\t\t\tif (snapToSeries && cursorPoint) {\n\t\t\t\tconst dataItems: Array<DataItem<IXYSeriesDataItem>> = [];\n\t\t\t\t$array.each(snapToSeries, (series) => {\n\t\t\t\t\tif (!series.isHidden() && !series.isHiding()) {\n\t\t\t\t\t\tconst startIndex = series.startIndex();\n\t\t\t\t\t\tconst endIndex = series.endIndex();\n\t\t\t\t\t\tfor (let i = startIndex; i < endIndex; i++) {\n\t\t\t\t\t\t\tconst dataItem = series.dataItems[i];\n\t\t\t\t\t\t\tif (dataItem && !dataItem.isHidden()) {\n\t\t\t\t\t\t\t\tdataItems.push(dataItem);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t})\n\n\t\t\t\tlet minDistance = Infinity;\n\t\t\t\tlet closestItem: DataItem<IXYSeriesDataItem> | undefined;\n\t\t\t\tconst snapToSeriesBy = cursor.get(\"snapToSeriesBy\");\n\t\t\t\t$array.each(dataItems, (dataItem) => {\n\t\t\t\t\tconst point = dataItem.get(\"point\");\n\n\t\t\t\t\tif (point) {\n\t\t\t\t\t\tlet distance = 0;\n\t\t\t\t\t\tif (snapToSeriesBy == \"x\") {\n\t\t\t\t\t\t\tdistance = Math.abs(cursorPoint.x - point.x);\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse if (snapToSeriesBy == \"y\") {\n\t\t\t\t\t\t\tdistance = Math.abs(cursorPoint.y - point.y);\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tdistance = Math.hypot(cursorPoint.x - point.x, cursorPoint.y - point.y);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (distance < minDistance) {\n\t\t\t\t\t\t\tminDistance = distance;\n\t\t\t\t\t\t\tclosestItem = dataItem;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t})\n\n\t\t\t\t$array.each(snapToSeries, (series) => {\n\t\t\t\t\tconst tooltip = series.get(\"tooltip\");\n\t\t\t\t\tif (tooltip) {\n\t\t\t\t\t\ttooltip._setDataItem(undefined);\n\t\t\t\t\t}\n\t\t\t\t})\n\n\t\t\t\tif (closestItem) {\n\t\t\t\t\tlet series = closestItem.component as XYSeries;\n\t\t\t\t\tseries.showDataItemTooltip(closestItem);\n\t\t\t\t\tconst point = closestItem.get(\"point\");\n\t\t\t\t\tif (point) {\n\t\t\t\t\t\tcursor.handleMove(series.toGlobal(point), true);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic _updateCursor() {\n\t\tlet cursor = this.get(\"cursor\");\n\t\tif (cursor) {\n\t\t\tcursor.handleMove();\n\t\t}\n\t}\n\n\tprotected _addCursor(cursor: XYCursor) {\n\t\tthis.plotContainer.children.push(cursor);\n\t}\n\n\tpublic _prepareChildren() {\n\t\tsuper._prepareChildren();\n\n\t\tthis.series.each((series) => {\n\t\t\tthis._colorize(series);\n\t\t})\n\n\t\tif (this.isDirty(\"wheelX\") || this.isDirty(\"wheelY\")) {\n\t\t\tthis._handleSetWheel();\n\t\t}\n\n\t\tif (this.isDirty(\"cursor\")) {\n\t\t\tconst previous = this._prevSettings.cursor;\n\t\t\tconst cursor = this.get(\"cursor\")!;\n\t\t\tif (cursor !== previous) {\n\t\t\t\tthis._disposeProperty(\"cursor\");\n\t\t\t\tif (previous) {\n\t\t\t\t\tprevious.dispose();\n\t\t\t\t}\n\t\t\t\tif (cursor) {\n\t\t\t\t\tcursor._setChart(this);\n\t\t\t\t\tthis._addCursor(cursor);\n\n\t\t\t\t\tthis._pushPropertyDisposer(\"cursor\", cursor.events.on(\"selectended\", () => {\n\t\t\t\t\t\tthis._handleCursorSelectEnd();\n\t\t\t\t\t}))\n\t\t\t\t}\n\n\t\t\t\t//this.setRaw(\"cursor\", cursor) // to reset previous value\n\t\t\t\tthis._prevSettings.cursor = cursor;\n\t\t\t}\n\t\t}\n\n\t\tif (this.isDirty(\"scrollbarX\")) {\n\t\t\tconst previous = this._prevSettings.scrollbarX;\n\t\t\tconst scrollbarX = this.get(\"scrollbarX\")!;\n\t\t\tif (scrollbarX !== previous) {\n\t\t\t\tthis._disposeProperty(\"scrollbarX\");\n\t\t\t\tif (previous) {\n\t\t\t\t\tprevious.dispose();\n\t\t\t\t}\n\t\t\t\tif (scrollbarX) {\n\t\t\t\t\tif (!scrollbarX.parent) {\n\t\t\t\t\t\tthis.topAxesContainer.children.push(scrollbarX);\n\t\t\t\t\t}\n\n\t\t\t\t\tthis._pushPropertyDisposer(\"scrollbarX\", scrollbarX.events.on(\"rangechanged\", (e) => {\n\t\t\t\t\t\tthis._handleScrollbar(this.xAxes, e.start, e.end);\n\t\t\t\t\t}))\n\n\t\t\t\t\t// Used to populate `ariaLabel` with meaningful values\n\t\t\t\t\tscrollbarX.setPrivate(\"positionTextFunction\", (position: number) => {\n\t\t\t\t\t\tconst axis = this.xAxes.getIndex(0);\n\t\t\t\t\t\treturn axis ? axis.getTooltipText(position) || \"\" : \"\";\n\t\t\t\t\t});\n\n\t\t\t\t}\n\n\t\t\t\tthis._prevSettings.scrollbarX = scrollbarX;\n\t\t\t}\n\t\t}\n\n\t\tif (this.isDirty(\"scrollbarY\")) {\n\t\t\tconst previous = this._prevSettings.scrollbarY;\n\t\t\tconst scrollbarY = this.get(\"scrollbarY\")!;\n\t\t\tif (scrollbarY !== previous) {\n\t\t\t\tthis._disposeProperty(\"scrollbarY\");\n\t\t\t\tif (previous) {\n\t\t\t\t\tprevious.dispose();\n\t\t\t\t}\n\t\t\t\tif (scrollbarY) {\n\t\t\t\t\tif (!scrollbarY.parent) {\n\t\t\t\t\t\tthis.rightAxesContainer.children.push(scrollbarY);\n\t\t\t\t\t}\n\n\t\t\t\t\tthis._pushPropertyDisposer(\"scrollbarY\", scrollbarY.events.on(\"rangechanged\", (e) => {\n\t\t\t\t\t\tthis._handleScrollbar(this.yAxes, e.start, e.end);\n\t\t\t\t\t}))\n\n\t\t\t\t\t// Used to populate `ariaLabel` with meaningful values\n\t\t\t\t\tscrollbarY.setPrivate(\"positionTextFunction\", (position: number) => {\n\t\t\t\t\t\tconst axis = this.yAxes.getIndex(0);\n\t\t\t\t\t\treturn axis ? axis.getTooltipText(position) || \"\" : \"\";\n\t\t\t\t\t});\n\n\t\t\t\t}\n\t\t\t\tthis._prevSettings.scrollbarY = scrollbarY;\n\t\t\t}\n\t\t}\n\n\t\tthis._handleZoomOut();\n\t}\n\n\tprotected _processSeries(series: this[\"_seriesType\"]) {\n\t\tsuper._processSeries(series);\n\t\tthis._colorize(series);\n\t}\n\n\tprotected _colorize(series: this[\"_seriesType\"]) {\n\t\tconst colorSet = this.get(\"colors\")!;\n\t\tif (colorSet) {\n\t\t\tif (series.get(\"fill\") == null) {\n\t\t\t\tconst color = colorSet.next();\n\n\t\t\t\tseries._setSoft(\"stroke\", color);\n\t\t\t\tseries._setSoft(\"fill\", color);\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected _handleCursorSelectEnd() {\n\t\tconst cursor = this.get(\"cursor\")!;\n\t\tconst behavior = cursor.get(\"behavior\");\n\n\t\tconst downPositionX = cursor.getPrivate(\"downPositionX\", 0);\n\t\tconst downPositionY = cursor.getPrivate(\"downPositionY\", 0);\n\n\t\tconst positionX = cursor.getPrivate(\"positionX\", 0.5);\n\t\tconst positionY = cursor.getPrivate(\"positionY\", 0.5);\n\n\n\t\tthis.xAxes.each((axis) => {\n\t\t\tif (behavior === \"zoomX\" || behavior === \"zoomXY\") {\n\t\t\t\tlet position0 = axis.toAxisPosition(downPositionX);\n\t\t\t\tlet position1 = axis.toAxisPosition(positionX);\n\t\t\t\taxis.zoom(position0, position1);\n\t\t\t}\n\t\t\taxis.setPrivate(\"updateScrollbar\", true);\n\t\t})\n\n\t\tthis.yAxes.each((axis) => {\n\t\t\tif (behavior === \"zoomY\" || behavior === \"zoomXY\") {\n\t\t\t\tlet position0 = axis.toAxisPosition(downPositionY);\n\t\t\t\tlet position1 = axis.toAxisPosition(positionY);\n\t\t\t\taxis.zoom(position0, position1);\n\t\t\t}\n\t\t\taxis.setPrivate(\"updateScrollbar\", true);\n\t\t})\n\n\t}\n\n\tprotected _handleScrollbar(axes: ListAutoDispose<Axis<any>>, start: number, end: number) {\n\n\t\taxes.each((axis) => {\n\n\t\t\tlet axisStart = axis.fixPosition(start);\n\t\t\tlet axisEnd = axis.fixPosition(end);\n\n\t\t\tlet zoomAnimation = axis.zoom(axisStart, axisEnd);\n\n\t\t\tconst updateScrollbar = \"updateScrollbar\";\n\t\t\taxis.setPrivateRaw(updateScrollbar, false);\n\n\t\t\tif (zoomAnimation) {\n\t\t\t\tzoomAnimation.events.on(\"stopped\", () => {\n\t\t\t\t\taxis.setPrivateRaw(updateScrollbar, true);\n\t\t\t\t});\n\t\t\t}\n\t\t\telse {\n\t\t\t\taxis.setPrivateRaw(updateScrollbar, true);\n\t\t\t}\n\t\t})\n\t}\n\n\n\tprotected _processAxis<R extends AxisRenderer>(axes: ListAutoDispose<Axis<R>>, container: Container): IDisposer {\n\t\treturn axes.events.onAll((change) => {\n\t\t\tif (change.type === \"clear\") {\n\t\t\t\t$array.each(change.oldValues, (axis) => {\n\t\t\t\t\tthis._removeAxis(axis);\n\t\t\t\t})\n\t\t\t} else if (change.type === \"push\") {\n\t\t\t\tcontainer.children.push(change.newValue);\n\t\t\t\tchange.newValue.processChart(this);\n\t\t\t} else if (change.type === \"setIndex\") {\n\t\t\t\tcontainer.children.setIndex(change.index, change.newValue);\n\t\t\t\tchange.newValue.processChart(this);\n\t\t\t} else if (change.type === \"insertIndex\") {\n\t\t\t\tcontainer.children.insertIndex(change.index, change.newValue);\n\t\t\t\tchange.newValue.processChart(this);\n\t\t\t} else if (change.type === \"removeIndex\") {\n\t\t\t\tthis._removeAxis(change.oldValue);\n\n\t\t\t} else {\n\t\t\t\tthrow new Error(\"Unknown IListEvent type\");\n\t\t\t}\n\t\t});\n\t}\n\n\tprotected _removeAxis(axis: Axis<AxisRenderer>) {\n\t\tif (!axis.isDisposed()) {\n\t\t\tconst axisParent = axis.parent\n\t\t\tif (axisParent) {\n\t\t\t\taxisParent.children.removeValue(axis);\n\t\t\t}\n\n\t\t\tconst gridContainer = axis.gridContainer;\n\t\t\tconst gridParent = gridContainer.parent;\n\t\t\tif (gridParent) {\n\t\t\t\tgridParent.children.removeValue(gridContainer);\n\t\t\t}\n\n\t\t\tconst topGridContainer = axis.topGridContainer;\n\t\t\tconst topGridParent = topGridContainer.parent;\n\t\t\tif (topGridParent) {\n\t\t\t\ttopGridParent.children.removeValue(topGridContainer);\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic _updateChartLayout() {\n\t\tconst left = this.leftAxesContainer.width();\n\t\tconst right = this.rightAxesContainer.width();\n\n\t\tconst bottomAxesContainer = this.bottomAxesContainer;\n\t\tbottomAxesContainer.set(\"paddingLeft\", left);\n\t\tbottomAxesContainer.set(\"paddingRight\", right);\n\n\t\tconst topAxesContainer = this.topAxesContainer;\n\t\ttopAxesContainer.set(\"paddingLeft\", left);\n\t\ttopAxesContainer.set(\"paddingRight\", right);\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic processAxis(_axis: Axis<AxisRenderer>) { };\n\n\tpublic _handleAxisSelection(axis: Axis<any>) {\n\n\t\tlet start = axis.fixPosition(axis.get(\"start\", 0));\n\t\tlet end = axis.fixPosition(axis.get(\"end\", 1));\n\n\t\tif (start > end) {\n\t\t\t[start, end] = [end, start];\n\t\t}\n\n\t\tif (this.xAxes.indexOf(axis) != -1) {\n\t\t\tif (axis.getPrivate(\"updateScrollbar\")) {\n\t\t\t\tlet scrollbarX = this.get(\"scrollbarX\");\n\t\t\t\tif (scrollbarX && !scrollbarX.getPrivate(\"isBusy\")) {\n\t\t\t\t\tscrollbarX.setRaw(\"start\", start);\n\t\t\t\t\tscrollbarX.setRaw(\"end\", end);\n\t\t\t\t\tscrollbarX.updateGrips();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\telse if (this.yAxes.indexOf(axis) != -1) {\n\t\t\tif (axis.getPrivate(\"updateScrollbar\")) {\n\t\t\t\tlet scrollbarY = this.get(\"scrollbarY\");\n\t\t\t\tif (scrollbarY && !scrollbarY.getPrivate(\"isBusy\")) {\n\t\t\t\t\tscrollbarY.setRaw(\"start\", start);\n\t\t\t\t\tscrollbarY.setRaw(\"end\", end);\n\t\t\t\t\tscrollbarY.updateGrips();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tthis._handleZoomOut();\n\t}\n\n\tprotected _handleZoomOut() {\n\t\tlet zoomOutButton = this.zoomOutButton;\n\t\tif (zoomOutButton && zoomOutButton.parent) {\n\t\t\tlet visible = false;\n\t\t\tthis.xAxes.each((axis) => {\n\t\t\t\tif (axis.get(\"start\") != 0 || axis.get(\"end\") != 1) {\n\t\t\t\t\tvisible = true;\n\t\t\t\t}\n\t\t\t})\n\t\t\tthis.yAxes.each((axis) => {\n\t\t\t\tif (axis.get(\"start\") != 0 || axis.get(\"end\") != 1) {\n\t\t\t\t\tvisible = true;\n\t\t\t\t}\n\t\t\t})\n\n\t\t\tif (visible) {\n\t\t\t\tif (zoomOutButton.isHidden()) {\n\t\t\t\t\tzoomOutButton.show();\n\t\t\t\t}\n\t\t\t}\n\t\t\telse {\n\t\t\t\tzoomOutButton.hide();\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Checks if point is within plot area.\n\t *\n\t * @param point Reference point\n\t * @return Is within plot area?\n\t */\n\tpublic inPlot(point: IPoint): boolean {\n\t\tconst plotContainer = this.plotContainer;\n\t\tconst otherCharts = this._otherCharts;\n\t\tconst global = plotContainer.toGlobal(point);\n\n\t\tif (point.x >= -0.1 && point.y >= -0.1 && point.x <= plotContainer.width() + 0.1 && point.y <= plotContainer.height() + 0.1) {\n\t\t\treturn true;\n\t\t}\n\t\tif (otherCharts) {\n\t\t\tfor (let i = otherCharts.length - 1; i >= 0; i--) {\n\t\t\t\tconst chart = otherCharts[i];\n\t\t\t\tif (chart != this) {\n\t\t\t\t\tconst chartPlotContainer = chart.plotContainer;\n\t\t\t\t\tconst local = chartPlotContainer.toLocal(global);\n\t\t\t\t\tif (local.x >= -0.1 && local.y >= -0.1 && local.x <= chartPlotContainer.width() + 0.1 && local.y <= chartPlotContainer.height() + 0.1) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic arrangeTooltips() {\n\t\tconst plotContainer = this.plotContainer;\n\n\t\tconst w = plotContainer.width();\n\t\tconst h = plotContainer.height();\n\n\t\tlet plotT = plotContainer._display.toGlobal({ x: 0, y: 0 });\n\t\tlet plotB = plotContainer._display.toGlobal({ x: w, y: h });\n\n\t\tconst tooltips: Array<Tooltip> = [];\n\t\tlet sum = 0;\n\n\t\tlet minDistance = Infinity;\n\t\tlet movePoint = this._movePoint;\n\t\tlet maxTooltipDistance = this.get(\"maxTooltipDistance\");\n\t\tlet closest: XYSeries;\n\t\tlet closestPoint: IPoint;\n\n\t\tif ($type.isNumber(maxTooltipDistance)) {\n\t\t\tthis.series.each((series) => {\n\t\t\t\tconst tooltip = series.get(\"tooltip\");\n\t\t\t\tif (tooltip) {\n\t\t\t\t\tlet point = tooltip.get(\"pointTo\")!;\n\t\t\t\t\tif (point) {\n\t\t\t\t\t\tlet distance = Math.hypot(movePoint.x - point.x, movePoint.y - point.y);\n\t\t\t\t\t\tif (distance < minDistance) {\n\t\t\t\t\t\t\tminDistance = distance;\n\t\t\t\t\t\t\tclosest = series;\n\t\t\t\t\t\t\tclosestPoint = point;\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\tthis.series.each((series) => {\n\t\t\tconst tooltip = series.get(\"tooltip\")!;\n\n\t\t\tif (tooltip) {\n\t\t\t\tlet hidden = false;\n\t\t\t\tlet point = tooltip.get(\"pointTo\")!;\n\t\t\t\tif (point) {\n\t\t\t\t\tif (maxTooltipDistance >= 0) {\n\t\t\t\t\t\tlet point = tooltip.get(\"pointTo\")!;\n\t\t\t\t\t\tif (point) {\n\t\t\t\t\t\t\tif (series != closest) {\n\t\t\t\t\t\t\t\tlet distance = Math.hypot(closestPoint.x - point.x, closestPoint.y - point.y);\n\t\t\t\t\t\t\t\tif (distance > maxTooltipDistance) {\n\t\t\t\t\t\t\t\t\thidden = true;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\telse if (maxTooltipDistance == -1) {\n\t\t\t\t\t\tif (series != closest) {\n\t\t\t\t\t\t\thidden = true;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tif (!this.inPlot(this._tooltipToLocal(point)) || !tooltip.dataItem) {\n\t\t\t\t\t\thidden = true;\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tif (!hidden) {\n\t\t\t\t\t\t\tsum += point.y;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tif (hidden || series.isHidden() || series.isHiding()) {\n\t\t\t\t\t\ttooltip.hide(0);\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\ttooltip.show();\n\t\t\t\t\t\ttooltips.push(tooltip);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t})\n\t\tif (this.get(\"arrangeTooltips\")) {\n\n\t\t\tconst tooltipContainer = this._root.tooltipContainer;\n\n\t\t\ttooltips.sort((a, b) => $order.compareNumber(a.get(\"pointTo\")!.y, b.get(\"pointTo\")!.y));\n\t\t\tconst count = tooltips.length;\n\t\t\tconst average = sum / count;\n\n\t\t\tif (average > h / 2 + plotT.y) {\n\t\t\t\ttooltips.reverse();\n\t\t\t\tlet prevY = plotB.y;\n\n\t\t\t\t$array.each(tooltips, (tooltip) => {\n\t\t\t\t\tlet height = tooltip.height();\n\t\t\t\t\tlet centerY = tooltip.get(\"centerY\");\n\t\t\t\t\tif (centerY instanceof Percent) {\n\t\t\t\t\t\theight *= centerY.value;\n\t\t\t\t\t}\n\t\t\t\t\theight += tooltip.get(\"marginBottom\", 0);\n\n\t\t\t\t\ttooltip.set(\"bounds\", { left: plotT.x, top: plotT.y, right: plotB.x, bottom: prevY })\n\n\t\t\t\t\tprevY = Math.min(prevY - height, tooltip._fy - height);\n\t\t\t\t\ttooltipContainer.children.moveValue(tooltip, 0);\n\t\t\t\t})\n\t\t\t}\n\t\t\telse {\n\t\t\t\tlet prevY = 0;\n\t\t\t\t$array.each(tooltips, (tooltip) => {\n\t\t\t\t\tlet height = tooltip.height();\n\t\t\t\t\tlet centerY = tooltip.get(\"centerY\");\n\t\t\t\t\tif (centerY instanceof Percent) {\n\t\t\t\t\t\theight *= centerY.value;\n\t\t\t\t\t}\n\t\t\t\t\theight += tooltip.get(\"marginBottom\", 0);\n\n\t\t\t\t\ttooltip.set(\"bounds\", { left: plotT.x, top: prevY, right: plotB.x, bottom: Math.max(plotT.y + h, prevY + height) })\n\t\t\t\t\ttooltipContainer.children.moveValue(tooltip, 0);\n\t\t\t\t\tprevY = Math.max(prevY + height, tooltip._fy + height);\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected _tooltipToLocal(point: IPoint): IPoint {\n\t\treturn this.plotContainer.toLocal(point);\n\t}\n\n\t/**\n\t * Fully zooms out the chart.\n\t */\n\tpublic zoomOut() {\n\t\tthis.xAxes.each((axis) => {\n\t\t\taxis.setPrivate(\"updateScrollbar\", true);\n\t\t\taxis.zoom(0, 1);\n\t\t})\n\n\t\tthis.yAxes.each((axis) => {\n\t\t\taxis.setPrivate(\"updateScrollbar\", true);\n\t\t\taxis.zoom(0, 1);\n\t\t})\n\t}\n\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"XYCursor.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/charts/xy/XYCursor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"XYCursor.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/charts/xy/XYCursor.ts"],"names":[],"mappings":"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"}
@@ -216,9 +216,12 @@ var XYCursor = /** @class */ (function (_super) {
216
216
  }));
217
217
  this._disposers.push(plotContainer.events.on("globalpointerup", function (event) {
218
218
  _this._handleCursorUp(event.originalEvent);
219
+ if (!event.native && !_this.isHidden()) {
220
+ _this._handleMove(event.originalEvent);
221
+ }
219
222
  }));
220
223
  this._disposers.push(plotContainer.events.on("globalpointermove", function (event) {
221
- if ($object.keys(plotContainer._downPoints).length == 0 && !event.native) {
224
+ if ($object.keys(plotContainer._downPoints).length == 0 && !event.native && _this.isHidden()) {
222
225
  // Ignore mouse movement if it originates on outside element and
223
226
  // we're not dragging.
224
227
  return;