scichart 3.1.346 → 3.2.0-beta

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 (316) hide show
  1. package/Charting/ChartModifiers/ChartModifierBase.d.ts +15 -1
  2. package/Charting/ChartModifiers/ChartModifierBase.js +65 -7
  3. package/Charting/ChartModifiers/CursorModifier.js +13 -1
  4. package/Charting/ChartModifiers/LegendModifier.d.ts +1 -1
  5. package/Charting/ChartModifiers/LegendModifier.js +8 -6
  6. package/Charting/ChartModifiers/PinchZoomModifier.d.ts +38 -8
  7. package/Charting/ChartModifiers/PinchZoomModifier.js +103 -40
  8. package/Charting/ChartModifiers/RolloverModifier.js +10 -3
  9. package/Charting/ChartModifiers/RubberBandXyZoomModifier.d.ts +1 -1
  10. package/Charting/ChartModifiers/SeriesSelectionModifier.js +32 -24
  11. package/Charting/ChartModifiers/ZoomPanModifier.d.ts +13 -38
  12. package/Charting/ChartModifiers/ZoomPanModifier.js +54 -99
  13. package/Charting/Drawing/BaseCache.d.ts +2 -1
  14. package/Charting/Drawing/BaseCache.js +40 -7
  15. package/Charting/Drawing/RenderSurface.d.ts +1 -0
  16. package/Charting/Drawing/RenderSurface.js +5 -1
  17. package/Charting/Drawing/SolidBrushCache.d.ts +2 -1
  18. package/Charting/Drawing/SolidBrushCache.js +23 -3
  19. package/Charting/Drawing/WebGlBrush.d.ts +2 -1
  20. package/Charting/Drawing/WebGlBrush.js +22 -3
  21. package/Charting/Drawing/WebGlPen.d.ts +2 -1
  22. package/Charting/Drawing/WebGlPen.js +23 -4
  23. package/Charting/Drawing/WebGlRenderContext2D.d.ts +4 -3
  24. package/Charting/Drawing/WebGlRenderContext2D.js +26 -7
  25. package/Charting/Model/BaseDataSeries.d.ts +67 -2
  26. package/Charting/Model/BaseDataSeries.js +193 -42
  27. package/Charting/Model/BaseHeatmapDataSeries.js +1 -1
  28. package/Charting/Model/ChartData/SeriesInfo.d.ts +16 -0
  29. package/Charting/Model/ChartData/SeriesInfo.js +7 -0
  30. package/Charting/Model/ChartData/XyzSeriesInfo.d.ts +8 -0
  31. package/Charting/Model/ChartData/XyzSeriesInfo.js +36 -0
  32. package/Charting/Model/DoubleVectorProvider.d.ts +19 -0
  33. package/Charting/Model/DoubleVectorProvider.js +95 -0
  34. package/Charting/Model/HlcDataSeries.d.ts +3 -0
  35. package/Charting/Model/HlcDataSeries.js +44 -15
  36. package/Charting/Model/IDataSeries.d.ts +23 -0
  37. package/Charting/Model/NonUniformHeatmapDataSeries.js +2 -0
  38. package/Charting/Model/OhlcDataSeries.d.ts +3 -0
  39. package/Charting/Model/OhlcDataSeries.js +56 -24
  40. package/Charting/Model/PointSeries/BasePointSeriesResampled.d.ts +4 -5
  41. package/Charting/Model/PointSeries/BasePointSeriesResampled.js +29 -21
  42. package/Charting/Model/PointSeries/BasePointSeriesWrapped.d.ts +2 -0
  43. package/Charting/Model/PointSeries/BasePointSeriesWrapped.js +2 -0
  44. package/Charting/Model/PointSeries/IPointSeries.d.ts +2 -1
  45. package/Charting/Model/PointSeries/OhlcPointSeriesResampled.js +1 -1
  46. package/Charting/Model/PointSeries/XyPointSeriesWrapped.d.ts +2 -1
  47. package/Charting/Model/PointSeries/XyPointSeriesWrapped.js +2 -2
  48. package/Charting/Model/PointSeries/XyyPointSeriesResampled.js +1 -1
  49. package/Charting/Model/UniformHeatmapDataSeries.d.ts +31 -11
  50. package/Charting/Model/UniformHeatmapDataSeries.js +72 -4
  51. package/Charting/Model/XyDataSeries.d.ts +0 -8
  52. package/Charting/Model/XyDataSeries.js +21 -5
  53. package/Charting/Model/XyTextDataSeries.d.ts +2 -0
  54. package/Charting/Model/XyTextDataSeries.js +35 -4
  55. package/Charting/Model/XyyDataSeries.d.ts +2 -0
  56. package/Charting/Model/XyyDataSeries.js +35 -10
  57. package/Charting/Model/XyzDataSeries.d.ts +3 -0
  58. package/Charting/Model/XyzDataSeries.js +36 -10
  59. package/Charting/Numerics/CoordinateCalculators/CategoryCoordinateCalculator.d.ts +3 -5
  60. package/Charting/Numerics/CoordinateCalculators/CategoryCoordinateCalculator.js +5 -7
  61. package/Charting/Numerics/CoordinateCalculators/CoordinateCalculatorBase.d.ts +2 -1
  62. package/Charting/Numerics/CoordinateCalculators/CoordinateCalculatorBase.js +29 -9
  63. package/Charting/Numerics/CoordinateCalculators/FlippedCategoryCoordinateCalculator.d.ts +3 -5
  64. package/Charting/Numerics/CoordinateCalculators/FlippedCategoryCoordinateCalculator.js +5 -7
  65. package/Charting/Numerics/Resamplers/ExtremeResamplerHelper.d.ts +14 -10
  66. package/Charting/Numerics/Resamplers/ExtremeResamplerHelper.js +105 -69
  67. package/Charting/Numerics/Resamplers/ResamplingParams.d.ts +4 -2
  68. package/Charting/Numerics/Resamplers/ResamplingParams.js +12 -7
  69. package/Charting/Numerics/TickCoordinateProviders/TickCoordinatesProvider.d.ts +5 -0
  70. package/Charting/Numerics/TickCoordinateProviders/TickCoordinatesProvider.js +7 -0
  71. package/Charting/Numerics/TickProviders/NumericTickProvider.js +3 -4
  72. package/Charting/Numerics/TickProviders/TickProvider.d.ts +5 -0
  73. package/Charting/Numerics/TickProviders/TickProvider.js +7 -0
  74. package/Charting/Services/SciChartRenderer.js +15 -5
  75. package/Charting/Services/TitleRenderer.d.ts +2 -1
  76. package/Charting/Services/TitleRenderer.js +35 -14
  77. package/Charting/Visuals/Annotations/AdornerLayer.d.ts +1 -1
  78. package/Charting/Visuals/Annotations/AnnotationBase.d.ts +6 -6
  79. package/Charting/Visuals/Annotations/AnnotationBase.js +81 -61
  80. package/Charting/Visuals/Annotations/CursorTooltipSvgAnnotation.js +8 -0
  81. package/Charting/Visuals/Annotations/IAnnotation.d.ts +9 -4
  82. package/Charting/Visuals/Annotations/IAnnotation.js +6 -0
  83. package/Charting/Visuals/Annotations/LineAnnotation.js +3 -1
  84. package/Charting/Visuals/Annotations/RenderContextAnnotationBase.d.ts +5 -0
  85. package/Charting/Visuals/Annotations/RenderContextAnnotationBase.js +16 -0
  86. package/Charting/Visuals/Annotations/RolloverTooltipSvgAnnotation.js +6 -0
  87. package/Charting/Visuals/Annotations/constants.d.ts +1 -0
  88. package/Charting/Visuals/Annotations/constants.js +1 -0
  89. package/Charting/Visuals/Axis/AxisBase2D.d.ts +20 -5
  90. package/Charting/Visuals/Axis/AxisBase2D.js +46 -10
  91. package/Charting/Visuals/Axis/AxisCore.d.ts +4 -1
  92. package/Charting/Visuals/Axis/AxisCore.js +100 -54
  93. package/Charting/Visuals/Axis/AxisRenderer.d.ts +2 -1
  94. package/Charting/Visuals/Axis/AxisRenderer.js +40 -16
  95. package/Charting/Visuals/Axis/AxisTitleRenderer.d.ts +1 -0
  96. package/Charting/Visuals/Axis/AxisTitleRenderer.js +4 -0
  97. package/Charting/Visuals/Axis/CategoryAxisBase.js +4 -4
  98. package/Charting/Visuals/Axis/DeltaCalculator/DateTimeDeltaCalculator.js +14 -9
  99. package/Charting/Visuals/Axis/DeltaCalculator/DeltaCalculator.d.ts +5 -0
  100. package/Charting/Visuals/Axis/DeltaCalculator/DeltaCalculator.js +7 -0
  101. package/Charting/Visuals/Axis/LabelProvider/LabelCache.d.ts +2 -2
  102. package/Charting/Visuals/Axis/LabelProvider/LabelCache.js +8 -1
  103. package/Charting/Visuals/Axis/LabelProvider/LabelProvider.d.ts +7 -1
  104. package/Charting/Visuals/Axis/LabelProvider/LabelProvider.js +34 -8
  105. package/Charting/Visuals/Axis/LabelProvider/LabelProviderBase2D.d.ts +4 -2
  106. package/Charting/Visuals/Axis/LabelProvider/LabelProviderBase2D.js +8 -2
  107. package/Charting/Visuals/Axis/LabelProvider/PieLabelProvider.d.ts +1 -0
  108. package/Charting/Visuals/Axis/LabelProvider/PieLabelProvider.js +1 -0
  109. package/Charting/Visuals/HeatmapLegend.d.ts +3 -2
  110. package/Charting/Visuals/HeatmapLegend.js +33 -12
  111. package/Charting/Visuals/Helpers/NativeObject.d.ts +8 -5
  112. package/Charting/Visuals/Helpers/NativeObject.js +42 -21
  113. package/Charting/Visuals/Helpers/drawLabel.js +3 -1
  114. package/Charting/Visuals/I2DSurfaceOptions.d.ts +0 -15
  115. package/Charting/Visuals/Legend/SciChartLegendBase.d.ts +3 -1
  116. package/Charting/Visuals/Legend/SciChartLegendBase.js +35 -14
  117. package/Charting/Visuals/Legend/SciChartPieLegend.js +1 -1
  118. package/Charting/Visuals/PointMarkers/BasePointMarker.d.ts +13 -1
  119. package/Charting/Visuals/PointMarkers/BasePointMarker.js +72 -19
  120. package/Charting/Visuals/PointMarkers/Constants.d.ts +2 -1
  121. package/Charting/Visuals/PointMarkers/Constants.js +1 -0
  122. package/Charting/Visuals/PointMarkers/IPointMarker.d.ts +2 -0
  123. package/Charting/Visuals/RenderableSeries/Animations/SeriesAnimation.js +4 -1
  124. package/Charting/Visuals/RenderableSeries/Animations/animationHelpers.d.ts +1 -1
  125. package/Charting/Visuals/RenderableSeries/BaseBandRenderableSeries.js +8 -7
  126. package/Charting/Visuals/RenderableSeries/BaseHeatmapRenderableSeries.d.ts +1 -0
  127. package/Charting/Visuals/RenderableSeries/BaseHeatmapRenderableSeries.js +5 -0
  128. package/Charting/Visuals/RenderableSeries/BaseOhlcRenderableSeries.js +10 -9
  129. package/Charting/Visuals/RenderableSeries/BaseRenderableSeries.d.ts +2 -1
  130. package/Charting/Visuals/RenderableSeries/BaseRenderableSeries.js +101 -69
  131. package/Charting/Visuals/RenderableSeries/BaseStackedCollection.js +13 -4
  132. package/Charting/Visuals/RenderableSeries/BaseStackedRenderableSeries.js +12 -3
  133. package/Charting/Visuals/RenderableSeries/DataLabels/BaseDataLabelProvider.d.ts +2 -0
  134. package/Charting/Visuals/RenderableSeries/DataLabels/BaseDataLabelProvider.js +5 -0
  135. package/Charting/Visuals/RenderableSeries/DataLabels/DataLabelProvider.js +6 -0
  136. package/Charting/Visuals/RenderableSeries/DataLabels/DataLabelState.d.ts +1 -0
  137. package/Charting/Visuals/RenderableSeries/DataLabels/DataLabelState.js +18 -5
  138. package/Charting/Visuals/RenderableSeries/DataLabels/NonUniformHeatmapDataLabelProvider.js +0 -1
  139. package/Charting/Visuals/RenderableSeries/DataLabels/TextDataLabelProvider.js +8 -2
  140. package/Charting/Visuals/RenderableSeries/DrawingProviders/BandSeriesDrawingProvider.d.ts +1 -0
  141. package/Charting/Visuals/RenderableSeries/DrawingProviders/BandSeriesDrawingProvider.js +35 -16
  142. package/Charting/Visuals/RenderableSeries/DrawingProviders/BaseSeriesDrawingProvider.d.ts +2 -1
  143. package/Charting/Visuals/RenderableSeries/DrawingProviders/BaseSeriesDrawingProvider.js +62 -33
  144. package/Charting/Visuals/RenderableSeries/DrawingProviders/BubbleSeriesDrawingProvider.d.ts +1 -0
  145. package/Charting/Visuals/RenderableSeries/DrawingProviders/BubbleSeriesDrawingProvider.js +30 -9
  146. package/Charting/Visuals/RenderableSeries/DrawingProviders/ColumnSeriesDrawingProvider.d.ts +1 -0
  147. package/Charting/Visuals/RenderableSeries/DrawingProviders/ColumnSeriesDrawingProvider.js +37 -16
  148. package/Charting/Visuals/RenderableSeries/DrawingProviders/HeatmapHelpers.d.ts +47 -0
  149. package/Charting/Visuals/RenderableSeries/DrawingProviders/HeatmapHelpers.js +258 -0
  150. package/Charting/Visuals/RenderableSeries/DrawingProviders/LineSeriesDrawingProvider.js +26 -2
  151. package/Charting/Visuals/RenderableSeries/DrawingProviders/MountainSeriesDrawingProvider.d.ts +1 -0
  152. package/Charting/Visuals/RenderableSeries/DrawingProviders/MountainSeriesDrawingProvider.js +34 -15
  153. package/Charting/Visuals/RenderableSeries/DrawingProviders/NonUniformHeatmapDrawingProvider.js +5 -230
  154. package/Charting/Visuals/RenderableSeries/DrawingProviders/OhlcSeriesDrawingProvider.d.ts +1 -0
  155. package/Charting/Visuals/RenderableSeries/DrawingProviders/OhlcSeriesDrawingProvider.js +62 -37
  156. package/Charting/Visuals/RenderableSeries/DrawingProviders/PointMarkerDrawingProvider.js +30 -3
  157. package/Charting/Visuals/RenderableSeries/DrawingProviders/UniformHeatmapDrawingProvider.d.ts +1 -0
  158. package/Charting/Visuals/RenderableSeries/DrawingProviders/UniformHeatmapDrawingProvider.js +4 -1
  159. package/Charting/Visuals/RenderableSeries/FastBubbleRenderableSeries.d.ts +0 -2
  160. package/Charting/Visuals/RenderableSeries/FastBubbleRenderableSeries.js +0 -4
  161. package/Charting/Visuals/RenderableSeries/FastTextRenderableSeries.d.ts +3 -0
  162. package/Charting/Visuals/RenderableSeries/FastTextRenderableSeries.js +10 -0
  163. package/Charting/Visuals/RenderableSeries/HitTest/BubbleSeriesHitTestProvider.d.ts +4 -0
  164. package/Charting/Visuals/RenderableSeries/HitTest/BubbleSeriesHitTestProvider.js +7 -0
  165. package/Charting/Visuals/RenderableSeries/HitTest/HitTestInfo.d.ts +4 -0
  166. package/Charting/Visuals/RenderableSeries/HitTest/HitTestInfo.js +9 -0
  167. package/Charting/Visuals/RenderableSeries/ShaderEffect.d.ts +3 -2
  168. package/Charting/Visuals/RenderableSeries/ShaderEffect.js +29 -9
  169. package/Charting/Visuals/RenderableSeries/SplineBandRenderableSeries.js +7 -0
  170. package/Charting/Visuals/RenderableSeries/SplineLineRenderableSeries.js +7 -0
  171. package/Charting/Visuals/RenderableSeries/SplineMountainRenderableSeries.js +7 -0
  172. package/Charting/Visuals/RenderableSeries/StackedColumnCollection.js +3 -0
  173. package/Charting/Visuals/RenderableSeries/StackedMountainCollection.d.ts +0 -2
  174. package/Charting/Visuals/RenderableSeries/StackedMountainCollection.js +4 -4
  175. package/Charting/Visuals/RenderableSeries/StackedMountainRenderableSeries.d.ts +1 -0
  176. package/Charting/Visuals/RenderableSeries/StackedMountainRenderableSeries.js +8 -0
  177. package/Charting/Visuals/RenderableSeries/XyScatterRenderableSeries.d.ts +1 -2
  178. package/Charting/Visuals/RenderableSeries/XyScatterRenderableSeries.js +8 -3
  179. package/Charting/Visuals/RubberBandSvgRect/RubberBandSvgRect.d.ts +3 -1
  180. package/Charting/Visuals/RubberBandSvgRect/RubberBandSvgRect.js +30 -10
  181. package/Charting/Visuals/SciChartDefaults.d.ts +10 -0
  182. package/Charting/Visuals/SciChartDefaults.js +10 -0
  183. package/Charting/Visuals/SciChartOverview.d.ts +2 -1
  184. package/Charting/Visuals/SciChartOverview.js +28 -8
  185. package/Charting/Visuals/SciChartPieSurface/SciChartPieSurface.d.ts +10 -3
  186. package/Charting/Visuals/SciChartPieSurface/SciChartPieSurface.js +118 -60
  187. package/Charting/Visuals/SciChartSurface.d.ts +4 -36
  188. package/Charting/Visuals/SciChartSurface.js +48 -61
  189. package/Charting/Visuals/SciChartSurfaceBase.d.ts +99 -13
  190. package/Charting/Visuals/SciChartSurfaceBase.js +155 -32
  191. package/Charting/Visuals/TextureManager/CanvasTexture.d.ts +2 -1
  192. package/Charting/Visuals/TextureManager/CanvasTexture.js +37 -17
  193. package/Charting/Visuals/TextureManager/TextureManager.d.ts +2 -1
  194. package/Charting/Visuals/TextureManager/TextureManager.js +27 -7
  195. package/Charting/Visuals/createMaster.d.ts +4 -2
  196. package/Charting/Visuals/createMaster.js +92 -28
  197. package/Charting/Visuals/createSingle.d.ts +0 -2
  198. package/Charting/Visuals/createSingle.js +44 -9
  199. package/Charting/Visuals/licenseManager2D.d.ts +7 -5
  200. package/Charting/Visuals/licenseManager2D.js +105 -53
  201. package/Charting/Visuals/loader.js +3 -1
  202. package/Charting/Visuals/sciChartInitCommon.d.ts +1 -1
  203. package/Charting/Visuals/sciChartInitCommon.js +5 -1
  204. package/Charting3D/CameraController.d.ts +1 -1
  205. package/Charting3D/CameraController.js +21 -7
  206. package/Charting3D/ChartModifiers/ChartModifierBase3D.d.ts +1 -0
  207. package/Charting3D/ChartModifiers/ChartModifierBase3D.js +4 -1
  208. package/Charting3D/ChartModifiers/OrbitModifier3D.d.ts +17 -5
  209. package/Charting3D/ChartModifiers/OrbitModifier3D.js +62 -26
  210. package/Charting3D/ChartModifiers/PinchZoomModifier3D.d.ts +81 -0
  211. package/Charting3D/ChartModifiers/PinchZoomModifier3D.js +164 -0
  212. package/Charting3D/ChartModifiers/TooltipModifier3D.d.ts +87 -0
  213. package/Charting3D/ChartModifiers/TooltipModifier3D.js +391 -0
  214. package/Charting3D/I3DSurfaceOptions.d.ts +10 -0
  215. package/Charting3D/I3DSurfaceOptions.js +2 -0
  216. package/Charting3D/Model/DataSeries/BaseDataSeries3D.d.ts +2 -1
  217. package/Charting3D/Model/DataSeries/BaseDataSeries3D.js +27 -6
  218. package/Charting3D/Model/DataSeries/UniformGridDataSeries3D.d.ts +8 -0
  219. package/Charting3D/Model/DataSeries/UniformGridDataSeries3D.js +12 -0
  220. package/Charting3D/Model/DataSeries/XyzDataSeries3D.d.ts +2 -2
  221. package/Charting3D/Model/DataSeries/XyzDataSeries3D.js +1 -1
  222. package/Charting3D/Vector3.d.ts +5 -0
  223. package/Charting3D/Vector3.js +7 -0
  224. package/Charting3D/Visuals/Annotations/TooltipSvgAnnotation3D.d.ts +88 -0
  225. package/Charting3D/Visuals/Annotations/TooltipSvgAnnotation3D.js +291 -0
  226. package/Charting3D/Visuals/Axis/AxisBase3D.d.ts +21 -2
  227. package/Charting3D/Visuals/Axis/AxisBase3D.js +48 -18
  228. package/Charting3D/Visuals/Axis/AxisBase3DLabelStyle.js +2 -1
  229. package/Charting3D/Visuals/Axis/AxisCubeEntity.d.ts +0 -4
  230. package/Charting3D/Visuals/Axis/AxisCubeEntity.js +3 -6
  231. package/Charting3D/Visuals/Axis/IAxisDescriptor.d.ts +2 -2
  232. package/Charting3D/Visuals/Axis/IAxisDescriptor.js +2 -2
  233. package/Charting3D/Visuals/Primitives/BaseSceneEntity3D.d.ts +41 -30
  234. package/Charting3D/Visuals/Primitives/BaseSceneEntity3D.js +78 -26
  235. package/Charting3D/Visuals/Primitives/CrosshairLinesSceneEntity.d.ts +47 -0
  236. package/Charting3D/Visuals/Primitives/CrosshairLinesSceneEntity.js +106 -0
  237. package/Charting3D/Visuals/Primitives/EntityIdProvider.d.ts +29 -0
  238. package/Charting3D/Visuals/Primitives/EntityIdProvider.js +28 -0
  239. package/Charting3D/Visuals/Primitives/PointLine3DSceneEntity.d.ts +51 -0
  240. package/Charting3D/Visuals/Primitives/PointLine3DSceneEntity.js +188 -0
  241. package/Charting3D/Visuals/Primitives/RenderableSeriesSceneEntity.d.ts +12 -0
  242. package/Charting3D/Visuals/Primitives/RenderableSeriesSceneEntity.js +14 -0
  243. package/Charting3D/Visuals/Primitives/ScatterPointsSceneEntity.d.ts +11 -0
  244. package/Charting3D/Visuals/Primitives/ScatterPointsSceneEntity.js +18 -0
  245. package/Charting3D/Visuals/Primitives/SurfaceMeshSceneEntity.d.ts +3 -0
  246. package/Charting3D/Visuals/Primitives/SurfaceMeshSceneEntity.js +15 -0
  247. package/Charting3D/Visuals/RenderableSeries/BaseRenderableSeries3D.d.ts +16 -1
  248. package/Charting3D/Visuals/RenderableSeries/BaseRenderableSeries3D.js +64 -12
  249. package/Charting3D/Visuals/RenderableSeries/Constants.d.ts +2 -0
  250. package/Charting3D/Visuals/RenderableSeries/Constants.js +2 -0
  251. package/Charting3D/Visuals/RenderableSeries/ESeriesType.d.ts +2 -1
  252. package/Charting3D/Visuals/RenderableSeries/ESeriesType.js +1 -0
  253. package/Charting3D/Visuals/RenderableSeries/HitTestInfo3D.d.ts +37 -0
  254. package/Charting3D/Visuals/RenderableSeries/HitTestInfo3D.js +22 -0
  255. package/Charting3D/Visuals/RenderableSeries/PointLineRenderableSeries3D.d.ts +64 -0
  256. package/Charting3D/Visuals/RenderableSeries/PointLineRenderableSeries3D.js +105 -0
  257. package/Charting3D/Visuals/RenderableSeries/SeriesInfo3D.d.ts +51 -0
  258. package/Charting3D/Visuals/RenderableSeries/SeriesInfo3D.js +32 -0
  259. package/Charting3D/Visuals/RenderableSeries/SurfaceMeshSeriesInfo3D.d.ts +15 -0
  260. package/Charting3D/Visuals/RenderableSeries/SurfaceMeshSeriesInfo3D.js +112 -0
  261. package/Charting3D/Visuals/RenderableSeries/XyzSeriesInfo3D.d.ts +20 -0
  262. package/Charting3D/Visuals/RenderableSeries/XyzSeriesInfo3D.js +60 -0
  263. package/Charting3D/Visuals/RootSceneEntity.d.ts +0 -4
  264. package/Charting3D/Visuals/RootSceneEntity.js +3 -8
  265. package/Charting3D/Visuals/SciChart3DRenderer.d.ts +2 -0
  266. package/Charting3D/Visuals/SciChart3DRenderer.js +49 -0
  267. package/Charting3D/Visuals/SciChart3DSurface.d.ts +44 -3
  268. package/Charting3D/Visuals/SciChart3DSurface.js +103 -9
  269. package/Charting3D/Visuals/ViewportManager3DBase.d.ts +4 -0
  270. package/Charting3D/Visuals/ViewportManager3DBase.js +7 -1
  271. package/Charting3D/Visuals/createMaster3d.d.ts +1 -2
  272. package/Charting3D/Visuals/createMaster3d.js +76 -14
  273. package/Charting3D/Visuals/createSingle3d.js +34 -4
  274. package/Charting3D/Visuals/licenseManager3D.js +29 -25
  275. package/Core/BuildStamp.d.ts +1 -1
  276. package/Core/BuildStamp.js +2 -2
  277. package/Core/DeletableEntity.d.ts +28 -0
  278. package/Core/DeletableEntity.js +141 -0
  279. package/Core/Globals.d.ts +11 -0
  280. package/Core/Globals.js +13 -0
  281. package/Core/Guard.d.ts +6 -0
  282. package/Core/Guard.js +10 -0
  283. package/Core/Mouse/MouseManager.d.ts +23 -0
  284. package/Core/Mouse/MouseManager.js +47 -0
  285. package/Core/ObservableArray.d.ts +11 -5
  286. package/Core/ObservableArray.js +25 -6
  287. package/Core/Telemetry.js +4 -6
  288. package/_wasm/scichart.browser.js +1 -1
  289. package/_wasm/scichart2d.data +0 -0
  290. package/_wasm/scichart2d.js +4 -294
  291. package/_wasm/scichart2d.wasm +0 -0
  292. package/_wasm/scichart3d.data +0 -0
  293. package/_wasm/scichart3d.js +4 -294
  294. package/_wasm/scichart3d.wasm +0 -0
  295. package/index.d.ts +43 -2
  296. package/index.js +89 -27
  297. package/index.min.js +1 -1
  298. package/package.json +3 -4
  299. package/types/ChartModifierType.d.ts +2 -0
  300. package/types/ChartModifierType.js +2 -0
  301. package/types/DefaultRenderLayer.d.ts +9 -8
  302. package/types/DefaultRenderLayer.js +9 -8
  303. package/types/NumberArray.d.ts +1 -0
  304. package/types/NumberArray.js +12 -1
  305. package/types/SceneEntityType.d.ts +13 -5
  306. package/types/SceneEntityType.js +13 -5
  307. package/types/TSciChart.d.ts +37 -8
  308. package/types/TSciChart3D.d.ts +126 -7
  309. package/types/licensingClasses.d.ts +2 -1
  310. package/types/licensingClasses.js +1 -0
  311. package/utils/MemoryUsageHelper.d.ts +45 -0
  312. package/utils/MemoryUsageHelper.js +171 -0
  313. package/utils/array.d.ts +8 -0
  314. package/utils/array.js +58 -1
  315. package/utils/logger.d.ts +2 -0
  316. package/utils/logger.js +11 -0
@@ -1,3 +1,4 @@
1
+ import { DeletableEntity } from "../../Core/DeletableEntity";
1
2
  import { IDeletable } from "../../Core/IDeletable";
2
3
  import { Point } from "../../Core/Point";
3
4
  import { EExecuteOn } from "../../types/ExecuteOn";
@@ -153,7 +154,7 @@ export interface IChartModifierBase extends IThemeable, IDeletable {
153
154
  * Defines a base class to a Chart Modifier - a class which provides Zoom, Pan, Tooltip or interaction behavior
154
155
  * to SciChart - High Performance Realtime {@link https://www.scichart.com/javascript-chart-features | JavaScript Charts}
155
156
  */
156
- export declare abstract class ChartModifierBase<TSurfaceType extends SciChartSurfaceBase> implements IChartModifierBase {
157
+ export declare abstract class ChartModifierBase<TSurfaceType extends SciChartSurfaceBase> extends DeletableEntity implements IChartModifierBase {
157
158
  /** @inheritDoc */
158
159
  readonly id: string;
159
160
  /** @inheritDoc */
@@ -164,7 +165,12 @@ export declare abstract class ChartModifierBase<TSurfaceType extends SciChartSur
164
165
  protected isAttachedProperty: boolean;
165
166
  protected receiveHandledEventsProperty: boolean;
166
167
  protected mousePoint: Point;
168
+ protected previousPoint: Point;
167
169
  protected executeOnProperty: EExecuteOn;
170
+ /**
171
+ * Stores info about active pointerdown events
172
+ */
173
+ protected activePointerEvents: Map<number, ModifierMouseArgs>;
168
174
  private parentSurfaceProperty;
169
175
  protected constructor(options?: {
170
176
  id?: string;
@@ -235,4 +241,12 @@ export declare abstract class ChartModifierBase<TSurfaceType extends SciChartSur
235
241
  * @param propertyName the property name which has changed
236
242
  */
237
243
  protected notifyPropertyChanged(propertyName: string): void;
244
+ protected updatePointerInfo(args: ModifierMouseArgs): void;
245
+ /**
246
+ * Checks if event conditions should trigger the modifier action
247
+ * @param args current event info as {@link ModifierMouseArgs}
248
+ *
249
+ * @remarks Can be used in some of the modifiers to add/override constraints
250
+ */
251
+ protected getIsActionAllowed(args: ModifierMouseArgs): boolean;
238
252
  }
@@ -1,6 +1,22 @@
1
1
  "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
+ extendStatics(d, b);
13
+ function __() { this.constructor = d; }
14
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
+ };
16
+ })();
2
17
  Object.defineProperty(exports, "__esModule", { value: true });
3
18
  exports.ChartModifierBase = exports.EModifierType = void 0;
19
+ var DeletableEntity_1 = require("../../Core/DeletableEntity");
4
20
  var ExecuteOn_1 = require("../../types/ExecuteOn");
5
21
  var guid_1 = require("../../utils/guid");
6
22
  var SciChartSurfaceBase_1 = require("../Visuals/SciChartSurfaceBase");
@@ -15,13 +31,21 @@ var EModifierType;
15
31
  * Defines a base class to a Chart Modifier - a class which provides Zoom, Pan, Tooltip or interaction behavior
16
32
  * to SciChart - High Performance Realtime {@link https://www.scichart.com/javascript-chart-features | JavaScript Charts}
17
33
  */
18
- var ChartModifierBase = /** @class */ (function () {
34
+ var ChartModifierBase = /** @class */ (function (_super) {
35
+ __extends(ChartModifierBase, _super);
19
36
  function ChartModifierBase(options) {
37
+ var _this = this;
20
38
  var _a, _b;
21
- this.isEnabledProperty = true;
22
- this.executeOnProperty = ExecuteOn_1.EExecuteOn.MouseLeftButton;
23
- this.id = (_a = options === null || options === void 0 ? void 0 : options.id) !== null && _a !== void 0 ? _a : (0, guid_1.generateGuid)();
24
- this.executeOnProperty = (_b = options === null || options === void 0 ? void 0 : options.executeOn) !== null && _b !== void 0 ? _b : this.executeOn;
39
+ _this = _super.call(this) || this;
40
+ _this.isEnabledProperty = true;
41
+ _this.executeOnProperty = ExecuteOn_1.EExecuteOn.MouseLeftButton;
42
+ /**
43
+ * Stores info about active pointerdown events
44
+ */
45
+ _this.activePointerEvents = new Map();
46
+ _this.id = (_a = options === null || options === void 0 ? void 0 : options.id) !== null && _a !== void 0 ? _a : (0, guid_1.generateGuid)();
47
+ _this.executeOnProperty = (_b = options === null || options === void 0 ? void 0 : options.executeOn) !== null && _b !== void 0 ? _b : _this.executeOn;
48
+ return _this;
25
49
  }
26
50
  /** @inheritDoc */
27
51
  ChartModifierBase.prototype.applyTheme = function (themeProvider) {
@@ -125,14 +149,22 @@ var ChartModifierBase = /** @class */ (function () {
125
149
  // Don't scroll browser if middle button is being used for the modifier
126
150
  args.nativeEvent.preventDefault();
127
151
  }
152
+ var isTouchEvent = args.pointerType === "touch" || args.pointerType === "pen";
153
+ if (isTouchEvent) {
154
+ this.activePointerEvents.set(args.pointerId, args);
155
+ }
128
156
  };
129
157
  /** @inheritDoc */
130
158
  ChartModifierBase.prototype.modifierMouseMove = function (args) {
131
- this.mousePoint = args.mousePoint;
159
+ this.updatePointerInfo(args);
132
160
  // Override in derived class to be notified of mouse move
133
161
  };
134
162
  /** @inheritDoc */
135
163
  ChartModifierBase.prototype.modifierMouseUp = function (args) {
164
+ var isTouchEvent = args.pointerType === "touch" || args.pointerType === "pen";
165
+ if (isTouchEvent) {
166
+ this.activePointerEvents.delete(args.pointerId);
167
+ }
136
168
  // Override in derived class to be notified of mouse up
137
169
  };
138
170
  /** @inheritDoc */
@@ -149,6 +181,7 @@ var ChartModifierBase = /** @class */ (function () {
149
181
  };
150
182
  /** @inheritDoc */
151
183
  ChartModifierBase.prototype.modifierMouseLeave = function (args) {
184
+ this.activePointerEvents.delete(args.pointerId);
152
185
  // Override in derived class to be notified of mouse leave
153
186
  };
154
187
  /** @inheritDoc */
@@ -157,6 +190,7 @@ var ChartModifierBase = /** @class */ (function () {
157
190
  };
158
191
  /** @inheritDoc */
159
192
  ChartModifierBase.prototype.modifierPointerCancel = function (args) {
193
+ this.activePointerEvents.delete(args.pointerId);
160
194
  // Override in derived class to be notified of mouse leave
161
195
  };
162
196
  /** @inheritDoc */
@@ -191,6 +225,30 @@ var ChartModifierBase = /** @class */ (function () {
191
225
  this.invalidateParentCallback();
192
226
  }
193
227
  };
228
+ ChartModifierBase.prototype.updatePointerInfo = function (args) {
229
+ var _a;
230
+ // store position of primary pointer
231
+ // (PointerEvent.isPrimary seems to not be set on secondary pointer after the primary pointer was released,
232
+ // so here we are checking order of entry insertion instead)
233
+ if (this.activePointerEvents.keys().next().value === args.pointerId) {
234
+ this.mousePoint = args.mousePoint;
235
+ }
236
+ // get previous coordinates of the current pointer
237
+ this.previousPoint = (_a = this.activePointerEvents.get(args.pointerId)) === null || _a === void 0 ? void 0 : _a.mousePoint;
238
+ // update saved pointer coordinates
239
+ if (this.activePointerEvents.has(args.pointerId)) {
240
+ this.activePointerEvents.set(args.pointerId, args);
241
+ }
242
+ };
243
+ /**
244
+ * Checks if event conditions should trigger the modifier action
245
+ * @param args current event info as {@link ModifierMouseArgs}
246
+ *
247
+ * @remarks Can be used in some of the modifiers to add/override constraints
248
+ */
249
+ ChartModifierBase.prototype.getIsActionAllowed = function (args) {
250
+ return true;
251
+ };
194
252
  return ChartModifierBase;
195
- }());
253
+ }(DeletableEntity_1.DeletableEntity));
196
254
  exports.ChartModifierBase = ChartModifierBase;
@@ -251,6 +251,7 @@ var CursorModifier = /** @class */ (function (_super) {
251
251
  * @inheritDoc
252
252
  */
253
253
  CursorModifier.prototype.modifierMouseMove = function (args) {
254
+ this.activePointerEvents.set(args.pointerId, args);
254
255
  _super.prototype.modifierMouseMove.call(this, args);
255
256
  var translatedMousePoint;
256
257
  if (!this.mousePoint) {
@@ -265,7 +266,10 @@ var CursorModifier = /** @class */ (function (_super) {
265
266
  this.mousePosition = MousePosition_1.EMousePosition.SeriesArea;
266
267
  }
267
268
  }
268
- this.update();
269
+ var isActionAllowed = this.getIsActionAllowed(args);
270
+ if (isActionAllowed) {
271
+ this.update();
272
+ }
269
273
  };
270
274
  /**
271
275
  * @inheritDoc
@@ -534,6 +538,7 @@ var CursorModifier = /** @class */ (function (_super) {
534
538
  this.yLineAnnotation.isHidden = true;
535
539
  }
536
540
  this.tooltipAnnotation.isHidden = true;
541
+ this.tooltipAnnotation.seriesInfos = undefined;
537
542
  if (this.placementDivId) {
538
543
  this.tooltipAnnotation.delete();
539
544
  }
@@ -654,6 +659,13 @@ var defaultTooltipDataTemplate = function (seriesInfos, tooltipTitle) {
654
659
  valuesWithLabels.push("Y: ".concat(xyySeriesInfo.formattedYValue));
655
660
  valuesWithLabels.push("Y1: ".concat(xyySeriesInfo.formattedY1Value));
656
661
  }
662
+ else if (si.dataSeriesType === IDataSeries_1.EDataSeriesType.Xyz) {
663
+ // Bubble Series
664
+ var xyzSeriesInfo = si;
665
+ valuesWithLabels.push("X: ".concat(xyzSeriesInfo.formattedXValue));
666
+ valuesWithLabels.push("Y: ".concat(xyzSeriesInfo.formattedYValue));
667
+ valuesWithLabels.push("Z: ".concat(xyzSeriesInfo.formattedZValue));
668
+ }
657
669
  else if (si.dataSeriesType === IDataSeries_1.EDataSeriesType.HeatmapUniform) {
658
670
  // Heatmap Series
659
671
  var heatmapSeriesInfo = si;
@@ -105,7 +105,7 @@ export declare class LegendModifier extends ChartModifierBase2D implements IIncl
105
105
  getIncludedRenderableSeries(): IRenderableSeries[];
106
106
  /** @inheritDoc */
107
107
  toJSON(): {
108
- type: string; /** @inheritDoc */
108
+ type: string;
109
109
  options: Required<Omit<IChartModifierBaseOptions, never>>;
110
110
  };
111
111
  /** @inheritDoc */
@@ -16,6 +16,7 @@ var __extends = (this && this.__extends) || (function () {
16
16
  })();
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
18
  exports.LegendModifier = void 0;
19
+ var Deleter_1 = require("../../Core/Deleter");
19
20
  var EventHandler_1 = require("../../Core/EventHandler");
20
21
  var ChartModifierType_1 = require("../../types/ChartModifierType");
21
22
  var SciChartLegend_1 = require("../Visuals/Legend/SciChartLegend");
@@ -98,12 +99,13 @@ var LegendModifier = /** @class */ (function (_super) {
98
99
  };
99
100
  /** @inheritDoc */
100
101
  LegendModifier.prototype.onDetach = function () {
102
+ var _a, _b, _c, _d;
101
103
  _super.prototype.onDetach.call(this);
102
- this.sciChartLegend.delete();
103
- this.sciChartLegend.setRootDiv(undefined);
104
- this.sciChartLegend.setRenderableSeriesArray([]);
105
- this.sciChartLegend.setInvalidateParentSurface(undefined);
106
- this.sciChartLegend.setParentSurface(undefined);
104
+ (_a = this.sciChartLegend) === null || _a === void 0 ? void 0 : _a.setRootDiv(undefined);
105
+ (_b = this.sciChartLegend) === null || _b === void 0 ? void 0 : _b.setRenderableSeriesArray([]);
106
+ (_c = this.sciChartLegend) === null || _c === void 0 ? void 0 : _c.setInvalidateParentSurface(undefined);
107
+ (_d = this.sciChartLegend) === null || _d === void 0 ? void 0 : _d.setParentSurface(undefined);
108
+ this.sciChartLegend = (0, Deleter_1.deleteSafe)(this.sciChartLegend);
107
109
  };
108
110
  /** @inheritDoc */
109
111
  LegendModifier.prototype.includeSeries = function (series, isIncluded) {
@@ -152,7 +154,7 @@ var LegendModifier = /** @class */ (function (_super) {
152
154
  /** @inheritDoc */
153
155
  LegendModifier.prototype.delete = function () {
154
156
  _super.prototype.delete.call(this);
155
- this.sciChartLegend.delete();
157
+ this.onDetach();
156
158
  };
157
159
  /**
158
160
  * Callback called from inner {@link SciChartLegend} when a checkbox is checked or unchecked
@@ -1,5 +1,6 @@
1
1
  import { Point } from "../../Core/Point";
2
2
  import { EChart2DModifierType } from "../../types/ChartModifierType";
3
+ import { AxisBase2D } from "../Visuals/Axis/AxisBase2D";
3
4
  import { ChartModifierBase2D, IChartModifierBaseOptions } from "./ChartModifierBase2D";
4
5
  import { ModifierMouseArgs } from "./ModifierMouseArgs";
5
6
  /**
@@ -14,6 +15,26 @@ export interface IPinchZoomModifierOptions extends IChartModifierBaseOptions {
14
15
  * Defines the sensitivity of zooming in vertical direction
15
16
  */
16
17
  verticalGrowFactor?: number;
18
+ /**
19
+ * A list of Ids for X axis to exclude from this modifier
20
+ * @remarks Also see {@link ZoomPanModifier.includeXAxis} function which allows you to include or exclude an axis by instance
21
+ */
22
+ excludedXAxisIds?: string[];
23
+ /**
24
+ * A list of Ids for Y axis to exclude from this modifier
25
+ * @remarks Also see {@link ZoomPanModifier.includeYAxis} function which allows you to include or exclude an axis by instance
26
+ */
27
+ excludedYAxisIds?: string[];
28
+ /**
29
+ * A list of Ids for X axis to include to this modifier
30
+ * @remarks Also see {@link ZoomPanModifier.includeXAxis} function which allows you to include or exclude an axis by instance
31
+ */
32
+ includedXAxisIds?: string[];
33
+ /**
34
+ * A list of Ids for Y axis to include this modifier
35
+ * @remarks Also see {@link ZoomPanModifier.includeYAxis} function which allows you to include or exclude an axis by instance
36
+ */
37
+ includedYAxisIds?: string[];
17
38
  }
18
39
  /**
19
40
  * The PinchZoomModifier provides ability to zoom by pinch gesture on a 2D {@link SciChartSurface}
@@ -31,7 +52,7 @@ export interface IPinchZoomModifierOptions extends IChartModifierBaseOptions {
31
52
  * It is also necessary to set “touch-action: none” on the chart div element.
32
53
  */
33
54
  export declare class PinchZoomModifier extends ChartModifierBase2D {
34
- readonly type = EChart2DModifierType.PinchZoom;
55
+ readonly type: EChart2DModifierType;
35
56
  /**
36
57
  * Defines the sensitivity of zooming in horizontal direction
37
58
  */
@@ -40,10 +61,8 @@ export declare class PinchZoomModifier extends ChartModifierBase2D {
40
61
  * Defines the sensitivity of zooming in vertical direction
41
62
  */
42
63
  verticalGrowFactor: number;
43
- /**
44
- * Stores info about active pointerdown events
45
- */
46
- private activeTouchEvents;
64
+ protected includedXAxisMap: Map<string, boolean>;
65
+ protected includedYAxisMap: Map<string, boolean>;
47
66
  /**
48
67
  * touch points X coordinates difference
49
68
  */
@@ -77,19 +96,30 @@ export declare class PinchZoomModifier extends ChartModifierBase2D {
77
96
  type: string;
78
97
  options: Required<Omit<IChartModifierBaseOptions, never>>;
79
98
  };
99
+ /** @inheritDoc */
100
+ includeXAxis(axis: AxisBase2D, isIncluded: boolean): void;
101
+ /** @inheritDoc */
102
+ includeYAxis(axis: AxisBase2D, isIncluded: boolean): void;
103
+ /** @inheritDoc */
104
+ includeAllAxes(): void;
105
+ /** @inheritDoc */
106
+ getIncludedXAxis(): AxisBase2D[];
107
+ /** @inheritDoc */
108
+ getIncludedYAxis(): AxisBase2D[];
80
109
  /**
81
110
  * Performs the zoom operation around the mouse point
82
111
  * @param mousePoint The X,Y location of the mouse at the time of the zoom
83
112
  * @param horizontalPinchDelta horizontal pinch delta
84
113
  * @param verticalPinchDelta vertical pinch delta
85
114
  */
86
- protected performZoom(mousePoint: Point, horizontalPinchDelta: number, verticalPinchDelta: number): void;
87
- protected notifyPropertyChanged(propertyName: string): void;
115
+ protected performZoom(mousePoint: Point, horizontalPinchDelta: number, verticalPinchDelta: number, horizontalGrowFactor: number, verticalGrowFactor: number): void;
88
116
  /**
89
117
  * Handles pointer event becoming inactive
90
118
  * @param args pointer event properties
91
119
  */
92
- private removeFromActiveTouchEvents;
120
+ protected removeFromActiveTouchEvents(args: ModifierMouseArgs): void;
121
+ protected performModifierAction(args: ModifierMouseArgs): void;
122
+ protected getIsActionAllowed(args: ModifierMouseArgs): boolean;
93
123
  /**
94
124
  * returns a point equidistant to the provided ones
95
125
  * @param firstPoint the X,Y location of the first active pointer
@@ -20,6 +20,7 @@ var Point_1 = require("../../Core/Point");
20
20
  var ChartModifierType_1 = require("../../types/ChartModifierType");
21
21
  var XyDirection_1 = require("../../types/XyDirection");
22
22
  var ZoomState_1 = require("../../types/ZoomState");
23
+ var includedAxis_1 = require("../../utils/includedAxis");
23
24
  var translate_1 = require("../../utils/translate");
24
25
  var ChartModifierBase2D_1 = require("./ChartModifierBase2D");
25
26
  /**
@@ -45,9 +46,8 @@ var PinchZoomModifier = /** @class */ (function (_super) {
45
46
  */
46
47
  function PinchZoomModifier(options) {
47
48
  var _this = this;
48
- var _a, _b;
49
+ var _a, _b, _c, _d, _e, _f;
49
50
  _this = _super.call(this, options) || this;
50
- _this.type = ChartModifierType_1.EChart2DModifierType.PinchZoom;
51
51
  /**
52
52
  * Defines the sensitivity of zooming in horizontal direction
53
53
  */
@@ -56,10 +56,8 @@ var PinchZoomModifier = /** @class */ (function (_super) {
56
56
  * Defines the sensitivity of zooming in vertical direction
57
57
  */
58
58
  _this.verticalGrowFactor = 0.005;
59
- /**
60
- * Stores info about active pointerdown events
61
- */
62
- _this.activeTouchEvents = new Map();
59
+ _this.includedXAxisMap = new Map();
60
+ _this.includedYAxisMap = new Map();
63
61
  /**
64
62
  * returns a point equidistant to the provided ones
65
63
  * @param firstPoint the X,Y location of the first active pointer
@@ -68,8 +66,27 @@ var PinchZoomModifier = /** @class */ (function (_super) {
68
66
  _this.getMiddlePoint = function (firstPoint, secondPoint) {
69
67
  return new Point_1.Point((firstPoint.x + secondPoint.x) / 2, (firstPoint.y + secondPoint.y) / 2);
70
68
  };
71
- _this.horizontalGrowFactor = (_a = options === null || options === void 0 ? void 0 : options.horizontalGrowFactor) !== null && _a !== void 0 ? _a : _this.horizontalGrowFactor;
72
- _this.verticalGrowFactor = (_b = options === null || options === void 0 ? void 0 : options.verticalGrowFactor) !== null && _b !== void 0 ? _b : _this.verticalGrowFactor;
69
+ _this.type = ChartModifierType_1.EChart2DModifierType.PinchZoom;
70
+ if ((options === null || options === void 0 ? void 0 : options.includedXAxisIds) && (options === null || options === void 0 ? void 0 : options.excludedXAxisIds)) {
71
+ throw new Error("You either should use includedXAxisIds or excludedXAxisIds");
72
+ }
73
+ if ((options === null || options === void 0 ? void 0 : options.includedYAxisIds) && (options === null || options === void 0 ? void 0 : options.excludedYAxisIds)) {
74
+ throw new Error("You either should use includedYAxisIds or excludedYAxisIds");
75
+ }
76
+ (_a = options === null || options === void 0 ? void 0 : options.includedXAxisIds) === null || _a === void 0 ? void 0 : _a.forEach(function (id) {
77
+ _this.includedXAxisMap.set(id, true);
78
+ });
79
+ (_b = options === null || options === void 0 ? void 0 : options.includedYAxisIds) === null || _b === void 0 ? void 0 : _b.forEach(function (id) {
80
+ _this.includedYAxisMap.set(id, true);
81
+ });
82
+ (_c = options === null || options === void 0 ? void 0 : options.excludedXAxisIds) === null || _c === void 0 ? void 0 : _c.forEach(function (id) {
83
+ _this.includedXAxisMap.set(id, false);
84
+ });
85
+ (_d = options === null || options === void 0 ? void 0 : options.excludedYAxisIds) === null || _d === void 0 ? void 0 : _d.forEach(function (id) {
86
+ _this.includedYAxisMap.set(id, false);
87
+ });
88
+ _this.horizontalGrowFactor = (_e = options === null || options === void 0 ? void 0 : options.horizontalGrowFactor) !== null && _e !== void 0 ? _e : _this.horizontalGrowFactor;
89
+ _this.verticalGrowFactor = (_f = options === null || options === void 0 ? void 0 : options.verticalGrowFactor) !== null && _f !== void 0 ? _f : _this.verticalGrowFactor;
73
90
  return _this;
74
91
  }
75
92
  /**
@@ -80,34 +97,24 @@ var PinchZoomModifier = /** @class */ (function (_super) {
80
97
  if (!this.isAttached) {
81
98
  throw new Error("Should not call PinchZoomModifier.modifierMouseDown if not attached");
82
99
  }
83
- this.activeTouchEvents.set(args.pointerId, args);
84
- args.handled = true;
100
+ var translatedPoint = (0, translate_1.translateFromCanvasToSeriesViewRect)(args.mousePoint, this.parentSurface.seriesViewRect);
101
+ if (!translatedPoint) {
102
+ return;
103
+ }
104
+ var isTouchEvent = args.pointerType === "touch" || args.pointerType === "pen";
105
+ if (isTouchEvent) {
106
+ this.activePointerEvents.set(args.pointerId, args);
107
+ }
85
108
  };
86
109
  /**
87
110
  * @inheritDoc
88
111
  */
89
112
  PinchZoomModifier.prototype.modifierMouseMove = function (args) {
90
113
  _super.prototype.modifierMouseMove.call(this, args);
91
- this.activeTouchEvents.set(args.pointerId, args);
92
- // check for pinch gestures if there are multiple active pointers
93
- if (this.activeTouchEvents.size >= 2) {
94
- var _a = Array.from(this.activeTouchEvents.values()), firstTouchPoint = _a[0].mousePoint, secondTouchPoint = _a[1].mousePoint;
95
- // Calculate projections of distance between the touch points
96
- var currentHorizontalTouchPointsDistance = Math.abs(firstTouchPoint.x - secondTouchPoint.x);
97
- var currentVerticalTouchPointsDistance = Math.abs(firstTouchPoint.y - secondTouchPoint.y);
114
+ var isActionAllowed = this.getIsActionAllowed(args);
115
+ if (isActionAllowed) {
98
116
  this.parentSurface.setZoomState(ZoomState_1.EZoomState.UserZooming);
99
- var zoomCenterMousePoint = this.getMiddlePoint(firstTouchPoint, secondTouchPoint);
100
- var zoomPoint = (0, translate_1.translateFromCanvasToSeriesViewRect)(zoomCenterMousePoint, this.parentSurface.seriesViewRect);
101
- if (zoomPoint &&
102
- this.previousHorizontalTouchPointsDistance !== undefined &&
103
- this.previousVerticalTouchPointsDistance !== undefined) {
104
- var horizontalDistanceDiff = this.previousHorizontalTouchPointsDistance - currentHorizontalTouchPointsDistance;
105
- var verticalDistanceDiff = this.previousVerticalTouchPointsDistance - currentVerticalTouchPointsDistance;
106
- this.performZoom(zoomPoint, horizontalDistanceDiff, verticalDistanceDiff);
107
- }
108
- // Cache the distance for the next move event
109
- this.previousHorizontalTouchPointsDistance = currentHorizontalTouchPointsDistance;
110
- this.previousVerticalTouchPointsDistance = currentVerticalTouchPointsDistance;
117
+ this.performModifierAction(args);
111
118
  }
112
119
  };
113
120
  /**
@@ -128,48 +135,104 @@ var PinchZoomModifier = /** @class */ (function (_super) {
128
135
  var json = _super.prototype.toJSON.call(this);
129
136
  var options = {
130
137
  horizontalGrowFactor: this.horizontalGrowFactor,
131
- verticalGrowFactor: this.verticalGrowFactor
138
+ verticalGrowFactor: this.verticalGrowFactor,
139
+ includedXAxisIds: Array.from(this.includedXAxisMap.entries())
140
+ .filter(function (a) { return a[1]; })
141
+ .map(function (a) { return a[0]; }),
142
+ includedYAxisIds: Array.from(this.includedYAxisMap.entries())
143
+ .filter(function (a) { return a[1]; })
144
+ .map(function (a) { return a[0]; }),
145
+ excludedXAxisIds: Array.from(this.includedXAxisMap.entries())
146
+ .filter(function (a) { return !a[1]; })
147
+ .map(function (a) { return a[0]; }),
148
+ excludedYAxisIds: Array.from(this.includedYAxisMap.entries())
149
+ .filter(function (a) { return !a[1]; })
150
+ .map(function (a) { return a[0]; })
132
151
  };
133
152
  Object.assign(json.options, options);
134
153
  return json;
135
154
  };
155
+ /** @inheritDoc */
156
+ PinchZoomModifier.prototype.includeXAxis = function (axis, isIncluded) {
157
+ this.includedXAxisMap.set(axis.id, isIncluded);
158
+ };
159
+ /** @inheritDoc */
160
+ PinchZoomModifier.prototype.includeYAxis = function (axis, isIncluded) {
161
+ this.includedYAxisMap.set(axis.id, isIncluded);
162
+ };
163
+ /** @inheritDoc */
164
+ PinchZoomModifier.prototype.includeAllAxes = function () {
165
+ this.includedXAxisMap.clear();
166
+ };
167
+ /** @inheritDoc */
168
+ PinchZoomModifier.prototype.getIncludedXAxis = function () {
169
+ return (0, includedAxis_1.getIncludedAxis)(this.parentSurface.xAxes.asArray(), this.includedXAxisMap);
170
+ };
171
+ /** @inheritDoc */
172
+ PinchZoomModifier.prototype.getIncludedYAxis = function () {
173
+ return (0, includedAxis_1.getIncludedAxis)(this.parentSurface.yAxes.asArray(), this.includedYAxisMap);
174
+ };
136
175
  /**
137
176
  * Performs the zoom operation around the mouse point
138
177
  * @param mousePoint The X,Y location of the mouse at the time of the zoom
139
178
  * @param horizontalPinchDelta horizontal pinch delta
140
179
  * @param verticalPinchDelta vertical pinch delta
141
180
  */
142
- PinchZoomModifier.prototype.performZoom = function (mousePoint, horizontalPinchDelta, verticalPinchDelta) {
181
+ PinchZoomModifier.prototype.performZoom = function (mousePoint, horizontalPinchDelta, verticalPinchDelta, horizontalGrowFactor, verticalGrowFactor) {
143
182
  var _this = this;
144
- var horizontalFraction = this.horizontalGrowFactor * horizontalPinchDelta;
145
- var verticalFraction = this.verticalGrowFactor * verticalPinchDelta;
183
+ var horizontalFraction = horizontalGrowFactor * horizontalPinchDelta;
184
+ var verticalFraction = verticalGrowFactor * verticalPinchDelta;
146
185
  if ([XyDirection_1.EXyDirection.XDirection, XyDirection_1.EXyDirection.XyDirection].includes(this.xyDirection)) {
147
- this.parentSurface.xAxes.asArray().forEach(function (axis) {
186
+ this.getIncludedXAxis().forEach(function (axis) {
148
187
  _this.growBy(mousePoint, axis, horizontalFraction);
149
188
  });
150
189
  }
151
190
  if ([XyDirection_1.EXyDirection.YDirection, XyDirection_1.EXyDirection.XyDirection].includes(this.xyDirection)) {
152
- this.parentSurface.yAxes.asArray().forEach(function (axis) {
191
+ this.getIncludedYAxis().forEach(function (axis) {
153
192
  _this.growBy(mousePoint, axis, verticalFraction);
154
193
  });
155
194
  }
156
195
  };
157
- PinchZoomModifier.prototype.notifyPropertyChanged = function (propertyName) {
158
- _super.prototype.notifyPropertyChanged.call(this, propertyName);
159
- };
160
196
  /**
161
197
  * Handles pointer event becoming inactive
162
198
  * @param args pointer event properties
163
199
  */
164
200
  PinchZoomModifier.prototype.removeFromActiveTouchEvents = function (args) {
165
201
  // Remove this event from the target's cache
166
- this.activeTouchEvents.delete(args.pointerId);
202
+ this.activePointerEvents.delete(args.pointerId);
167
203
  // reset distance values
168
- if (this.activeTouchEvents.size < 2) {
204
+ if (this.activePointerEvents.size < 2) {
169
205
  this.previousHorizontalTouchPointsDistance = undefined;
170
206
  this.previousVerticalTouchPointsDistance = undefined;
171
207
  }
172
208
  };
209
+ PinchZoomModifier.prototype.performModifierAction = function (args) {
210
+ var _a = Array.from(this.activePointerEvents.values()), firstTouchPoint = _a[0].mousePoint, secondTouchPoint = _a[1].mousePoint;
211
+ // Calculate projections of distance between the touch points
212
+ var currentHorizontalTouchPointsDistance = Math.abs(firstTouchPoint.x - secondTouchPoint.x);
213
+ var currentVerticalTouchPointsDistance = Math.abs(firstTouchPoint.y - secondTouchPoint.y);
214
+ var zoomCenterMousePoint = this.getMiddlePoint(firstTouchPoint, secondTouchPoint);
215
+ var zoomPoint = (0, translate_1.translateFromCanvasToSeriesViewRect)(zoomCenterMousePoint, this.parentSurface.seriesViewRect);
216
+ if (zoomPoint &&
217
+ this.previousHorizontalTouchPointsDistance !== undefined &&
218
+ this.previousVerticalTouchPointsDistance !== undefined) {
219
+ var horizontalDistanceDiff = this.previousHorizontalTouchPointsDistance - currentHorizontalTouchPointsDistance;
220
+ var verticalDistanceDiff = this.previousVerticalTouchPointsDistance - currentVerticalTouchPointsDistance;
221
+ // TODO add limits in distance between pointers
222
+ // const minHorizontalDiff = 10;
223
+ // if (horizontalDistanceDiff > minHorizontalDiff && verticalDistanceDiff > minHorizontalDiff) {
224
+ // }
225
+ this.performZoom(zoomPoint, horizontalDistanceDiff, verticalDistanceDiff, this.horizontalGrowFactor, this.verticalGrowFactor);
226
+ }
227
+ // Cache the distance for the next move event
228
+ this.previousHorizontalTouchPointsDistance = currentHorizontalTouchPointsDistance;
229
+ this.previousVerticalTouchPointsDistance = currentVerticalTouchPointsDistance;
230
+ };
231
+ PinchZoomModifier.prototype.getIsActionAllowed = function (args) {
232
+ var isTouchEvent = args.pointerType === "touch" || args.pointerType === "pen";
233
+ // check for pinch gestures if there are multiple active touches
234
+ return isTouchEvent && this.activePointerEvents.size >= 2;
235
+ };
173
236
  return PinchZoomModifier;
174
237
  }(ChartModifierBase2D_1.ChartModifierBase2D));
175
238
  exports.PinchZoomModifier = PinchZoomModifier;
@@ -270,6 +270,7 @@ var RolloverModifier = /** @class */ (function (_super) {
270
270
  * @inheritDoc
271
271
  */
272
272
  RolloverModifier.prototype.modifierMouseMove = function (args) {
273
+ this.activePointerEvents.set(args.pointerId, args);
273
274
  _super.prototype.modifierMouseMove.call(this, args);
274
275
  var translatedMousePoint;
275
276
  if (!this.mousePoint) {
@@ -284,7 +285,10 @@ var RolloverModifier = /** @class */ (function (_super) {
284
285
  this.mousePosition = MousePosition_1.EMousePosition.SeriesArea;
285
286
  }
286
287
  }
287
- this.update();
288
+ var isActionAllowed = this.getIsActionAllowed(args);
289
+ if (isActionAllowed) {
290
+ this.update();
291
+ }
288
292
  };
289
293
  /**
290
294
  * @inheritDoc
@@ -559,11 +563,14 @@ var RolloverModifier = /** @class */ (function (_super) {
559
563
  return;
560
564
  }
561
565
  var tooltipArray = [];
566
+ var height = this.isVerticalChart()
567
+ ? this.parentSurface.seriesViewRect.width
568
+ : this.parentSurface.seriesViewRect.height;
562
569
  rsList.forEach(function (rs, index) {
563
570
  var hitTestInfo = _this.hitTestRenderableSeries(rs, _this.mousePoint);
564
571
  if (hitTestInfo) {
565
572
  if (rs.type !== SeriesType_1.ESeriesType.StackedColumnSeries || hitTestInfo.isHit) {
566
- var isVisible = 0 <= hitTestInfo.yCoord && hitTestInfo.yCoord <= _this.parentSurface.seriesViewRect.height;
573
+ var isVisible = 0 <= hitTestInfo.yCoord && hitTestInfo.yCoord <= height;
567
574
  if (isVisible) {
568
575
  var absoluteXCoord = _this.isVerticalChart() ? hitTestInfo.yCoord : hitTestInfo.xCoord;
569
576
  var absoluteYCoord = _this.isVerticalChart() ? hitTestInfo.xCoord : hitTestInfo.yCoord;
@@ -573,7 +580,7 @@ var RolloverModifier = /** @class */ (function (_super) {
573
580
  }
574
581
  }
575
582
  if (rs.type === SeriesType_1.ESeriesType.BandSeries) {
576
- var isVisibleY1 = 0 <= hitTestInfo.y1Coord && hitTestInfo.y1Coord <= _this.parentSurface.seriesViewRect.height;
583
+ var isVisibleY1 = 0 <= hitTestInfo.y1Coord && hitTestInfo.y1Coord <= height;
577
584
  if (isVisibleY1) {
578
585
  var absoluteXCoord = _this.isVerticalChart() ? hitTestInfo.y1Coord : hitTestInfo.xCoord;
579
586
  var absoluteYCoord = _this.isVerticalChart() ? hitTestInfo.xCoord : hitTestInfo.y1Coord;
@@ -68,7 +68,7 @@ export declare class RubberBandXyZoomModifier extends ChartModifierBase2D {
68
68
  * Defines the easing function for animation. See {@link TEasingFn} for a range of functions
69
69
  */
70
70
  easingFunction: TEasingFn;
71
- protected rubberBandRect: RubberBandSvgRect;
71
+ rubberBandRect: RubberBandSvgRect;
72
72
  protected pointFrom: Point;
73
73
  protected pointTo: Point;
74
74
  protected isClicked: boolean;