scichart 3.1.348 → 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.
- package/Charting/ChartModifiers/ChartModifierBase.d.ts +15 -1
- package/Charting/ChartModifiers/ChartModifierBase.js +65 -7
- package/Charting/ChartModifiers/CursorModifier.js +13 -1
- package/Charting/ChartModifiers/LegendModifier.d.ts +1 -1
- package/Charting/ChartModifiers/LegendModifier.js +8 -6
- package/Charting/ChartModifiers/PinchZoomModifier.d.ts +38 -8
- package/Charting/ChartModifiers/PinchZoomModifier.js +103 -40
- package/Charting/ChartModifiers/RolloverModifier.js +10 -3
- package/Charting/ChartModifiers/RubberBandXyZoomModifier.d.ts +1 -1
- package/Charting/ChartModifiers/SeriesSelectionModifier.js +32 -24
- package/Charting/ChartModifiers/ZoomPanModifier.d.ts +13 -38
- package/Charting/ChartModifiers/ZoomPanModifier.js +54 -99
- package/Charting/Drawing/BaseCache.d.ts +2 -1
- package/Charting/Drawing/BaseCache.js +40 -7
- package/Charting/Drawing/RenderSurface.d.ts +1 -0
- package/Charting/Drawing/RenderSurface.js +5 -1
- package/Charting/Drawing/SolidBrushCache.d.ts +2 -1
- package/Charting/Drawing/SolidBrushCache.js +23 -3
- package/Charting/Drawing/WebGlBrush.d.ts +2 -1
- package/Charting/Drawing/WebGlBrush.js +22 -3
- package/Charting/Drawing/WebGlPen.d.ts +2 -1
- package/Charting/Drawing/WebGlPen.js +23 -4
- package/Charting/Drawing/WebGlRenderContext2D.d.ts +4 -3
- package/Charting/Drawing/WebGlRenderContext2D.js +26 -7
- package/Charting/Model/BaseDataSeries.d.ts +67 -2
- package/Charting/Model/BaseDataSeries.js +193 -42
- package/Charting/Model/BaseHeatmapDataSeries.js +1 -1
- package/Charting/Model/ChartData/SeriesInfo.d.ts +16 -0
- package/Charting/Model/ChartData/SeriesInfo.js +7 -0
- package/Charting/Model/ChartData/XyzSeriesInfo.d.ts +8 -0
- package/Charting/Model/ChartData/XyzSeriesInfo.js +36 -0
- package/Charting/Model/DoubleVectorProvider.d.ts +19 -0
- package/Charting/Model/DoubleVectorProvider.js +95 -0
- package/Charting/Model/HlcDataSeries.d.ts +3 -0
- package/Charting/Model/HlcDataSeries.js +44 -15
- package/Charting/Model/IDataSeries.d.ts +23 -0
- package/Charting/Model/NonUniformHeatmapDataSeries.js +2 -0
- package/Charting/Model/OhlcDataSeries.d.ts +3 -0
- package/Charting/Model/OhlcDataSeries.js +56 -24
- package/Charting/Model/PointSeries/BasePointSeriesResampled.d.ts +4 -5
- package/Charting/Model/PointSeries/BasePointSeriesResampled.js +29 -21
- package/Charting/Model/PointSeries/BasePointSeriesWrapped.d.ts +2 -0
- package/Charting/Model/PointSeries/BasePointSeriesWrapped.js +2 -0
- package/Charting/Model/PointSeries/IPointSeries.d.ts +2 -1
- package/Charting/Model/PointSeries/OhlcPointSeriesResampled.js +1 -1
- package/Charting/Model/PointSeries/XyPointSeriesWrapped.d.ts +2 -1
- package/Charting/Model/PointSeries/XyPointSeriesWrapped.js +2 -2
- package/Charting/Model/PointSeries/XyyPointSeriesResampled.js +1 -1
- package/Charting/Model/UniformHeatmapDataSeries.d.ts +31 -11
- package/Charting/Model/UniformHeatmapDataSeries.js +72 -4
- package/Charting/Model/XyDataSeries.d.ts +0 -8
- package/Charting/Model/XyDataSeries.js +21 -5
- package/Charting/Model/XyTextDataSeries.d.ts +2 -0
- package/Charting/Model/XyTextDataSeries.js +35 -4
- package/Charting/Model/XyyDataSeries.d.ts +2 -0
- package/Charting/Model/XyyDataSeries.js +35 -10
- package/Charting/Model/XyzDataSeries.d.ts +3 -0
- package/Charting/Model/XyzDataSeries.js +36 -10
- package/Charting/Numerics/CoordinateCalculators/CategoryCoordinateCalculator.d.ts +3 -5
- package/Charting/Numerics/CoordinateCalculators/CategoryCoordinateCalculator.js +5 -7
- package/Charting/Numerics/CoordinateCalculators/CoordinateCalculatorBase.d.ts +2 -1
- package/Charting/Numerics/CoordinateCalculators/CoordinateCalculatorBase.js +29 -9
- package/Charting/Numerics/CoordinateCalculators/FlippedCategoryCoordinateCalculator.d.ts +3 -5
- package/Charting/Numerics/CoordinateCalculators/FlippedCategoryCoordinateCalculator.js +5 -7
- package/Charting/Numerics/Resamplers/ExtremeResamplerHelper.d.ts +14 -10
- package/Charting/Numerics/Resamplers/ExtremeResamplerHelper.js +105 -69
- package/Charting/Numerics/Resamplers/ResamplingParams.d.ts +4 -2
- package/Charting/Numerics/Resamplers/ResamplingParams.js +12 -7
- package/Charting/Numerics/TickCoordinateProviders/TickCoordinatesProvider.d.ts +5 -0
- package/Charting/Numerics/TickCoordinateProviders/TickCoordinatesProvider.js +7 -0
- package/Charting/Numerics/TickProviders/NumericTickProvider.js +3 -4
- package/Charting/Numerics/TickProviders/TickProvider.d.ts +5 -0
- package/Charting/Numerics/TickProviders/TickProvider.js +7 -0
- package/Charting/Services/SciChartRenderer.js +15 -5
- package/Charting/Services/TitleRenderer.d.ts +2 -1
- package/Charting/Services/TitleRenderer.js +35 -14
- package/Charting/Visuals/Annotations/AdornerLayer.d.ts +1 -1
- package/Charting/Visuals/Annotations/AnnotationBase.d.ts +6 -6
- package/Charting/Visuals/Annotations/AnnotationBase.js +81 -61
- package/Charting/Visuals/Annotations/CursorTooltipSvgAnnotation.js +8 -0
- package/Charting/Visuals/Annotations/IAnnotation.d.ts +9 -4
- package/Charting/Visuals/Annotations/IAnnotation.js +6 -0
- package/Charting/Visuals/Annotations/LineAnnotation.js +3 -1
- package/Charting/Visuals/Annotations/RenderContextAnnotationBase.d.ts +5 -0
- package/Charting/Visuals/Annotations/RenderContextAnnotationBase.js +16 -0
- package/Charting/Visuals/Annotations/RolloverTooltipSvgAnnotation.js +6 -0
- package/Charting/Visuals/Annotations/constants.d.ts +1 -0
- package/Charting/Visuals/Annotations/constants.js +1 -0
- package/Charting/Visuals/Axis/AxisBase2D.d.ts +20 -5
- package/Charting/Visuals/Axis/AxisBase2D.js +46 -10
- package/Charting/Visuals/Axis/AxisCore.d.ts +4 -1
- package/Charting/Visuals/Axis/AxisCore.js +100 -54
- package/Charting/Visuals/Axis/AxisRenderer.d.ts +2 -1
- package/Charting/Visuals/Axis/AxisRenderer.js +40 -16
- package/Charting/Visuals/Axis/AxisTitleRenderer.d.ts +1 -0
- package/Charting/Visuals/Axis/AxisTitleRenderer.js +4 -0
- package/Charting/Visuals/Axis/CategoryAxisBase.js +4 -4
- package/Charting/Visuals/Axis/DeltaCalculator/DateTimeDeltaCalculator.js +14 -9
- package/Charting/Visuals/Axis/DeltaCalculator/DeltaCalculator.d.ts +5 -0
- package/Charting/Visuals/Axis/DeltaCalculator/DeltaCalculator.js +7 -0
- package/Charting/Visuals/Axis/LabelProvider/LabelCache.d.ts +2 -2
- package/Charting/Visuals/Axis/LabelProvider/LabelCache.js +8 -1
- package/Charting/Visuals/Axis/LabelProvider/LabelProvider.d.ts +7 -1
- package/Charting/Visuals/Axis/LabelProvider/LabelProvider.js +34 -8
- package/Charting/Visuals/Axis/LabelProvider/LabelProviderBase2D.d.ts +4 -2
- package/Charting/Visuals/Axis/LabelProvider/LabelProviderBase2D.js +8 -2
- package/Charting/Visuals/Axis/LabelProvider/PieLabelProvider.d.ts +1 -0
- package/Charting/Visuals/Axis/LabelProvider/PieLabelProvider.js +1 -0
- package/Charting/Visuals/HeatmapLegend.d.ts +3 -2
- package/Charting/Visuals/HeatmapLegend.js +33 -12
- package/Charting/Visuals/Helpers/NativeObject.d.ts +8 -5
- package/Charting/Visuals/Helpers/NativeObject.js +42 -21
- package/Charting/Visuals/Helpers/drawLabel.js +3 -1
- package/Charting/Visuals/I2DSurfaceOptions.d.ts +0 -15
- package/Charting/Visuals/Legend/SciChartLegendBase.d.ts +3 -1
- package/Charting/Visuals/Legend/SciChartLegendBase.js +35 -14
- package/Charting/Visuals/Legend/SciChartPieLegend.js +1 -1
- package/Charting/Visuals/PointMarkers/BasePointMarker.d.ts +13 -1
- package/Charting/Visuals/PointMarkers/BasePointMarker.js +72 -19
- package/Charting/Visuals/PointMarkers/Constants.d.ts +2 -1
- package/Charting/Visuals/PointMarkers/Constants.js +1 -0
- package/Charting/Visuals/PointMarkers/IPointMarker.d.ts +2 -0
- package/Charting/Visuals/RenderableSeries/Animations/SeriesAnimation.js +4 -1
- package/Charting/Visuals/RenderableSeries/Animations/animationHelpers.d.ts +1 -1
- package/Charting/Visuals/RenderableSeries/BaseBandRenderableSeries.js +8 -7
- package/Charting/Visuals/RenderableSeries/BaseHeatmapRenderableSeries.d.ts +1 -0
- package/Charting/Visuals/RenderableSeries/BaseHeatmapRenderableSeries.js +5 -0
- package/Charting/Visuals/RenderableSeries/BaseOhlcRenderableSeries.js +10 -9
- package/Charting/Visuals/RenderableSeries/BaseRenderableSeries.d.ts +2 -1
- package/Charting/Visuals/RenderableSeries/BaseRenderableSeries.js +101 -69
- package/Charting/Visuals/RenderableSeries/BaseStackedCollection.js +13 -4
- package/Charting/Visuals/RenderableSeries/BaseStackedRenderableSeries.js +12 -3
- package/Charting/Visuals/RenderableSeries/DataLabels/BaseDataLabelProvider.d.ts +2 -0
- package/Charting/Visuals/RenderableSeries/DataLabels/BaseDataLabelProvider.js +5 -0
- package/Charting/Visuals/RenderableSeries/DataLabels/DataLabelProvider.js +6 -0
- package/Charting/Visuals/RenderableSeries/DataLabels/DataLabelState.d.ts +1 -0
- package/Charting/Visuals/RenderableSeries/DataLabels/DataLabelState.js +18 -5
- package/Charting/Visuals/RenderableSeries/DataLabels/NonUniformHeatmapDataLabelProvider.js +0 -1
- package/Charting/Visuals/RenderableSeries/DataLabels/TextDataLabelProvider.js +8 -2
- package/Charting/Visuals/RenderableSeries/DrawingProviders/BandSeriesDrawingProvider.d.ts +1 -0
- package/Charting/Visuals/RenderableSeries/DrawingProviders/BandSeriesDrawingProvider.js +35 -16
- package/Charting/Visuals/RenderableSeries/DrawingProviders/BaseSeriesDrawingProvider.d.ts +2 -1
- package/Charting/Visuals/RenderableSeries/DrawingProviders/BaseSeriesDrawingProvider.js +62 -33
- package/Charting/Visuals/RenderableSeries/DrawingProviders/BubbleSeriesDrawingProvider.d.ts +1 -0
- package/Charting/Visuals/RenderableSeries/DrawingProviders/BubbleSeriesDrawingProvider.js +30 -9
- package/Charting/Visuals/RenderableSeries/DrawingProviders/ColumnSeriesDrawingProvider.d.ts +1 -0
- package/Charting/Visuals/RenderableSeries/DrawingProviders/ColumnSeriesDrawingProvider.js +37 -16
- package/Charting/Visuals/RenderableSeries/DrawingProviders/HeatmapHelpers.d.ts +47 -0
- package/Charting/Visuals/RenderableSeries/DrawingProviders/HeatmapHelpers.js +258 -0
- package/Charting/Visuals/RenderableSeries/DrawingProviders/LineSeriesDrawingProvider.js +26 -2
- package/Charting/Visuals/RenderableSeries/DrawingProviders/MountainSeriesDrawingProvider.d.ts +1 -0
- package/Charting/Visuals/RenderableSeries/DrawingProviders/MountainSeriesDrawingProvider.js +34 -15
- package/Charting/Visuals/RenderableSeries/DrawingProviders/NonUniformHeatmapDrawingProvider.js +5 -230
- package/Charting/Visuals/RenderableSeries/DrawingProviders/OhlcSeriesDrawingProvider.d.ts +1 -0
- package/Charting/Visuals/RenderableSeries/DrawingProviders/OhlcSeriesDrawingProvider.js +62 -37
- package/Charting/Visuals/RenderableSeries/DrawingProviders/PointMarkerDrawingProvider.js +30 -3
- package/Charting/Visuals/RenderableSeries/DrawingProviders/UniformHeatmapDrawingProvider.d.ts +1 -0
- package/Charting/Visuals/RenderableSeries/DrawingProviders/UniformHeatmapDrawingProvider.js +4 -1
- package/Charting/Visuals/RenderableSeries/FastBubbleRenderableSeries.d.ts +0 -2
- package/Charting/Visuals/RenderableSeries/FastBubbleRenderableSeries.js +0 -4
- package/Charting/Visuals/RenderableSeries/FastTextRenderableSeries.d.ts +3 -0
- package/Charting/Visuals/RenderableSeries/FastTextRenderableSeries.js +10 -0
- package/Charting/Visuals/RenderableSeries/HitTest/BubbleSeriesHitTestProvider.d.ts +4 -0
- package/Charting/Visuals/RenderableSeries/HitTest/BubbleSeriesHitTestProvider.js +7 -0
- package/Charting/Visuals/RenderableSeries/HitTest/HitTestInfo.d.ts +4 -0
- package/Charting/Visuals/RenderableSeries/HitTest/HitTestInfo.js +9 -0
- package/Charting/Visuals/RenderableSeries/ShaderEffect.d.ts +3 -2
- package/Charting/Visuals/RenderableSeries/ShaderEffect.js +29 -9
- package/Charting/Visuals/RenderableSeries/SplineBandRenderableSeries.js +7 -0
- package/Charting/Visuals/RenderableSeries/SplineLineRenderableSeries.js +7 -0
- package/Charting/Visuals/RenderableSeries/SplineMountainRenderableSeries.js +7 -0
- package/Charting/Visuals/RenderableSeries/StackedColumnCollection.js +3 -0
- package/Charting/Visuals/RenderableSeries/StackedMountainCollection.d.ts +0 -2
- package/Charting/Visuals/RenderableSeries/StackedMountainCollection.js +4 -4
- package/Charting/Visuals/RenderableSeries/StackedMountainRenderableSeries.d.ts +1 -0
- package/Charting/Visuals/RenderableSeries/StackedMountainRenderableSeries.js +8 -0
- package/Charting/Visuals/RenderableSeries/XyScatterRenderableSeries.d.ts +1 -2
- package/Charting/Visuals/RenderableSeries/XyScatterRenderableSeries.js +8 -3
- package/Charting/Visuals/RubberBandSvgRect/RubberBandSvgRect.d.ts +3 -1
- package/Charting/Visuals/RubberBandSvgRect/RubberBandSvgRect.js +30 -10
- package/Charting/Visuals/SciChartDefaults.d.ts +10 -0
- package/Charting/Visuals/SciChartDefaults.js +10 -0
- package/Charting/Visuals/SciChartOverview.d.ts +2 -1
- package/Charting/Visuals/SciChartOverview.js +28 -8
- package/Charting/Visuals/SciChartPieSurface/SciChartPieSurface.d.ts +10 -3
- package/Charting/Visuals/SciChartPieSurface/SciChartPieSurface.js +118 -60
- package/Charting/Visuals/SciChartSurface.d.ts +4 -36
- package/Charting/Visuals/SciChartSurface.js +48 -61
- package/Charting/Visuals/SciChartSurfaceBase.d.ts +99 -13
- package/Charting/Visuals/SciChartSurfaceBase.js +155 -32
- package/Charting/Visuals/TextureManager/CanvasTexture.d.ts +2 -1
- package/Charting/Visuals/TextureManager/CanvasTexture.js +37 -17
- package/Charting/Visuals/TextureManager/TextureManager.d.ts +2 -1
- package/Charting/Visuals/TextureManager/TextureManager.js +27 -7
- package/Charting/Visuals/createMaster.d.ts +4 -2
- package/Charting/Visuals/createMaster.js +92 -28
- package/Charting/Visuals/createSingle.d.ts +0 -2
- package/Charting/Visuals/createSingle.js +44 -9
- package/Charting/Visuals/licenseManager2D.d.ts +7 -5
- package/Charting/Visuals/licenseManager2D.js +105 -53
- package/Charting/Visuals/loader.js +3 -1
- package/Charting/Visuals/sciChartInitCommon.d.ts +1 -1
- package/Charting/Visuals/sciChartInitCommon.js +5 -1
- package/Charting3D/CameraController.d.ts +1 -1
- package/Charting3D/CameraController.js +21 -7
- package/Charting3D/ChartModifiers/ChartModifierBase3D.d.ts +1 -0
- package/Charting3D/ChartModifiers/ChartModifierBase3D.js +4 -1
- package/Charting3D/ChartModifiers/OrbitModifier3D.d.ts +17 -5
- package/Charting3D/ChartModifiers/OrbitModifier3D.js +62 -26
- package/Charting3D/ChartModifiers/PinchZoomModifier3D.d.ts +81 -0
- package/Charting3D/ChartModifiers/PinchZoomModifier3D.js +164 -0
- package/Charting3D/ChartModifiers/TooltipModifier3D.d.ts +87 -0
- package/Charting3D/ChartModifiers/TooltipModifier3D.js +391 -0
- package/Charting3D/I3DSurfaceOptions.d.ts +10 -0
- package/Charting3D/I3DSurfaceOptions.js +2 -0
- package/Charting3D/Model/DataSeries/BaseDataSeries3D.d.ts +2 -1
- package/Charting3D/Model/DataSeries/BaseDataSeries3D.js +27 -6
- package/Charting3D/Model/DataSeries/UniformGridDataSeries3D.d.ts +8 -0
- package/Charting3D/Model/DataSeries/UniformGridDataSeries3D.js +12 -0
- package/Charting3D/Model/DataSeries/XyzDataSeries3D.d.ts +2 -2
- package/Charting3D/Model/DataSeries/XyzDataSeries3D.js +1 -1
- package/Charting3D/Vector3.d.ts +5 -0
- package/Charting3D/Vector3.js +7 -0
- package/Charting3D/Visuals/Annotations/TooltipSvgAnnotation3D.d.ts +88 -0
- package/Charting3D/Visuals/Annotations/TooltipSvgAnnotation3D.js +291 -0
- package/Charting3D/Visuals/Axis/AxisBase3D.d.ts +21 -2
- package/Charting3D/Visuals/Axis/AxisBase3D.js +48 -18
- package/Charting3D/Visuals/Axis/AxisBase3DLabelStyle.js +2 -1
- package/Charting3D/Visuals/Axis/AxisCubeEntity.d.ts +0 -4
- package/Charting3D/Visuals/Axis/AxisCubeEntity.js +3 -6
- package/Charting3D/Visuals/Axis/IAxisDescriptor.d.ts +2 -2
- package/Charting3D/Visuals/Axis/IAxisDescriptor.js +2 -2
- package/Charting3D/Visuals/Primitives/BaseSceneEntity3D.d.ts +41 -30
- package/Charting3D/Visuals/Primitives/BaseSceneEntity3D.js +78 -26
- package/Charting3D/Visuals/Primitives/CrosshairLinesSceneEntity.d.ts +47 -0
- package/Charting3D/Visuals/Primitives/CrosshairLinesSceneEntity.js +106 -0
- package/Charting3D/Visuals/Primitives/EntityIdProvider.d.ts +29 -0
- package/Charting3D/Visuals/Primitives/EntityIdProvider.js +28 -0
- package/Charting3D/Visuals/Primitives/PointLine3DSceneEntity.d.ts +51 -0
- package/Charting3D/Visuals/Primitives/PointLine3DSceneEntity.js +188 -0
- package/Charting3D/Visuals/Primitives/RenderableSeriesSceneEntity.d.ts +12 -0
- package/Charting3D/Visuals/Primitives/RenderableSeriesSceneEntity.js +14 -0
- package/Charting3D/Visuals/Primitives/ScatterPointsSceneEntity.d.ts +11 -0
- package/Charting3D/Visuals/Primitives/ScatterPointsSceneEntity.js +18 -0
- package/Charting3D/Visuals/Primitives/SurfaceMeshSceneEntity.d.ts +3 -0
- package/Charting3D/Visuals/Primitives/SurfaceMeshSceneEntity.js +15 -0
- package/Charting3D/Visuals/RenderableSeries/BaseRenderableSeries3D.d.ts +16 -1
- package/Charting3D/Visuals/RenderableSeries/BaseRenderableSeries3D.js +64 -12
- package/Charting3D/Visuals/RenderableSeries/Constants.d.ts +2 -0
- package/Charting3D/Visuals/RenderableSeries/Constants.js +2 -0
- package/Charting3D/Visuals/RenderableSeries/ESeriesType.d.ts +2 -1
- package/Charting3D/Visuals/RenderableSeries/ESeriesType.js +1 -0
- package/Charting3D/Visuals/RenderableSeries/HitTestInfo3D.d.ts +37 -0
- package/Charting3D/Visuals/RenderableSeries/HitTestInfo3D.js +22 -0
- package/Charting3D/Visuals/RenderableSeries/PointLineRenderableSeries3D.d.ts +64 -0
- package/Charting3D/Visuals/RenderableSeries/PointLineRenderableSeries3D.js +105 -0
- package/Charting3D/Visuals/RenderableSeries/SeriesInfo3D.d.ts +51 -0
- package/Charting3D/Visuals/RenderableSeries/SeriesInfo3D.js +32 -0
- package/Charting3D/Visuals/RenderableSeries/SurfaceMeshSeriesInfo3D.d.ts +15 -0
- package/Charting3D/Visuals/RenderableSeries/SurfaceMeshSeriesInfo3D.js +112 -0
- package/Charting3D/Visuals/RenderableSeries/XyzSeriesInfo3D.d.ts +20 -0
- package/Charting3D/Visuals/RenderableSeries/XyzSeriesInfo3D.js +60 -0
- package/Charting3D/Visuals/RootSceneEntity.d.ts +0 -4
- package/Charting3D/Visuals/RootSceneEntity.js +3 -8
- package/Charting3D/Visuals/SciChart3DRenderer.d.ts +2 -0
- package/Charting3D/Visuals/SciChart3DRenderer.js +49 -0
- package/Charting3D/Visuals/SciChart3DSurface.d.ts +44 -3
- package/Charting3D/Visuals/SciChart3DSurface.js +103 -9
- package/Charting3D/Visuals/ViewportManager3DBase.d.ts +4 -0
- package/Charting3D/Visuals/ViewportManager3DBase.js +7 -1
- package/Charting3D/Visuals/createMaster3d.d.ts +1 -2
- package/Charting3D/Visuals/createMaster3d.js +76 -14
- package/Charting3D/Visuals/createSingle3d.js +34 -4
- package/Charting3D/Visuals/licenseManager3D.js +29 -25
- package/Core/BuildStamp.d.ts +1 -1
- package/Core/BuildStamp.js +2 -2
- package/Core/DeletableEntity.d.ts +28 -0
- package/Core/DeletableEntity.js +141 -0
- package/Core/Globals.d.ts +11 -0
- package/Core/Globals.js +13 -0
- package/Core/Guard.d.ts +6 -0
- package/Core/Guard.js +10 -0
- package/Core/Mouse/MouseManager.d.ts +23 -0
- package/Core/Mouse/MouseManager.js +47 -0
- package/Core/Telemetry.js +4 -6
- package/_wasm/scichart.browser.js +1 -1
- package/_wasm/scichart2d.data +0 -0
- package/_wasm/scichart2d.js +4 -294
- package/_wasm/scichart2d.wasm +0 -0
- package/_wasm/scichart3d.data +0 -0
- package/_wasm/scichart3d.js +4 -294
- package/_wasm/scichart3d.wasm +0 -0
- package/index.d.ts +43 -2
- package/index.js +89 -27
- package/index.min.js +1 -1
- package/package.json +3 -4
- package/types/ChartModifierType.d.ts +2 -0
- package/types/ChartModifierType.js +2 -0
- package/types/DefaultRenderLayer.d.ts +9 -8
- package/types/DefaultRenderLayer.js +9 -8
- package/types/NumberArray.d.ts +1 -0
- package/types/NumberArray.js +12 -1
- package/types/SceneEntityType.d.ts +13 -5
- package/types/SceneEntityType.js +13 -5
- package/types/TSciChart.d.ts +37 -8
- package/types/TSciChart3D.d.ts +126 -7
- package/types/licensingClasses.d.ts +2 -1
- package/types/licensingClasses.js +1 -0
- package/utils/MemoryUsageHelper.d.ts +45 -0
- package/utils/MemoryUsageHelper.js +171 -0
- package/utils/array.d.ts +8 -0
- package/utils/array.js +58 -1
- package/utils/logger.d.ts +2 -0
- 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
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
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.
|
|
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.
|
|
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;
|
|
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.
|
|
103
|
-
this.sciChartLegend.
|
|
104
|
-
this.sciChartLegend.
|
|
105
|
-
this.sciChartLegend.
|
|
106
|
-
this.sciChartLegend.
|
|
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.
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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.
|
|
72
|
-
|
|
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
|
-
|
|
84
|
-
|
|
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.
|
|
92
|
-
|
|
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
|
-
|
|
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 =
|
|
145
|
-
var verticalFraction =
|
|
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.
|
|
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.
|
|
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.
|
|
202
|
+
this.activePointerEvents.delete(args.pointerId);
|
|
167
203
|
// reset distance values
|
|
168
|
-
if (this.
|
|
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.
|
|
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 <=
|
|
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 <=
|
|
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
|
-
|
|
71
|
+
rubberBandRect: RubberBandSvgRect;
|
|
72
72
|
protected pointFrom: Point;
|
|
73
73
|
protected pointTo: Point;
|
|
74
74
|
protected isClicked: boolean;
|