@nativescript-community/ui-chart 1.2.35 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +6 -0
- package/animation/ChartAnimator.d.ts +47 -4
- package/animation/ChartAnimator.js +49 -11
- package/animation/ChartAnimator.js.map +1 -1
- package/animation/Tween.d.ts +1 -1
- package/animation/Tween.js +4 -2
- package/animation/Tween.js.map +1 -1
- package/buffer/AbstractBuffer.d.ts +28 -3
- package/buffer/AbstractBuffer.js +22 -3
- package/buffer/AbstractBuffer.js.map +1 -1
- package/buffer/BarBuffer.d.ts +8 -12
- package/buffer/BarBuffer.js +33 -36
- package/buffer/BarBuffer.js.map +1 -1
- package/buffer/HorizontalBarBuffer.js +13 -10
- package/buffer/HorizontalBarBuffer.js.map +1 -1
- package/charts/BarChart.d.ts +70 -15
- package/charts/BarChart.js +92 -63
- package/charts/BarChart.js.map +1 -1
- package/charts/BarLineChartBase.d.ts +494 -73
- package/charts/BarLineChartBase.js +788 -407
- package/charts/BarLineChartBase.js.map +1 -1
- package/charts/BubbleChart.d.ts +11 -5
- package/charts/BubbleChart.js +10 -8
- package/charts/BubbleChart.js.map +1 -1
- package/charts/CandleStickChart.d.ts +8 -5
- package/charts/CandleStickChart.js +9 -10
- package/charts/CandleStickChart.js.map +1 -1
- package/charts/Chart.d.ts +424 -92
- package/charts/Chart.js +590 -290
- package/charts/Chart.js.map +1 -1
- package/charts/CombinedChart.d.ts +59 -29
- package/charts/CombinedChart.js +74 -67
- package/charts/CombinedChart.js.map +1 -1
- package/charts/HorizontalBarChart.d.ts +37 -7
- package/charts/HorizontalBarChart.js +97 -59
- package/charts/HorizontalBarChart.js.map +1 -1
- package/charts/LineChart.d.ts +3 -5
- package/charts/LineChart.js +6 -10
- package/charts/LineChart.js.map +1 -1
- package/charts/PieChart.d.ts +218 -64
- package/charts/PieChart.js +278 -168
- package/charts/PieChart.js.map +1 -1
- package/charts/PieRadarChartBase.d.ts +107 -18
- package/charts/PieRadarChartBase.js +156 -73
- package/charts/PieRadarChartBase.js.map +1 -1
- package/charts/RadarChart.d.ts +75 -35
- package/charts/RadarChart.js +114 -103
- package/charts/RadarChart.js.map +1 -1
- package/charts/ScatterChart.d.ts +10 -5
- package/charts/ScatterChart.js +11 -10
- package/charts/ScatterChart.js.map +1 -1
- package/components/AxisBase.d.ts +271 -101
- package/components/AxisBase.js +264 -254
- package/components/AxisBase.js.map +1 -1
- package/components/ComponentBase.d.ts +54 -19
- package/components/ComponentBase.js +60 -48
- package/components/ComponentBase.js.map +1 -1
- package/components/Description.d.ts +18 -9
- package/components/Description.js +12 -26
- package/components/Description.js.map +1 -1
- package/components/IMarker.d.ts +30 -1
- package/components/IMarker.js.map +1 -1
- package/components/Legend.d.ts +155 -58
- package/components/Legend.js +208 -172
- package/components/Legend.js.map +1 -1
- package/components/LegendEntry.d.ts +38 -0
- package/components/LegendEntry.js +34 -0
- package/components/LegendEntry.js.map +1 -1
- package/components/LimitLine.d.ts +40 -22
- package/components/LimitLine.js +44 -56
- package/components/LimitLine.js.map +1 -1
- package/components/MarkerImage.d.ts +1 -0
- package/components/MarkerImage.js +97 -0
- package/components/MarkerImage.js.map +1 -0
- package/components/XAxis.d.ts +41 -10
- package/components/XAxis.js +42 -24
- package/components/XAxis.js.map +1 -1
- package/components/YAxis.d.ts +114 -37
- package/components/YAxis.js +138 -106
- package/components/YAxis.js.map +1 -1
- package/data/BarData.d.ts +32 -4
- package/data/BarData.js +92 -24
- package/data/BarData.js.map +1 -1
- package/data/BarDataSet.d.ts +35 -18
- package/data/BarDataSet.js +42 -47
- package/data/BarDataSet.js.map +1 -1
- package/data/BarEntry.d.ts +3 -0
- package/data/BarEntry.js.map +1 -1
- package/data/BarLineScatterCandleBubbleData.d.ts +5 -0
- package/data/BarLineScatterCandleBubbleData.js +5 -0
- package/data/BarLineScatterCandleBubbleData.js.map +1 -1
- package/data/BarLineScatterCandleBubbleDataSet.d.ts +11 -3
- package/data/BarLineScatterCandleBubbleDataSet.js +11 -7
- package/data/BarLineScatterCandleBubbleDataSet.js.map +1 -1
- package/data/BaseDataSet.d.ts +129 -71
- package/data/BaseDataSet.js +146 -169
- package/data/BaseDataSet.js.map +1 -1
- package/data/BaseEntry.d.ts +3 -0
- package/data/BaseEntry.js.map +1 -1
- package/data/BubbleData.d.ts +7 -1
- package/data/BubbleData.js +8 -2
- package/data/BubbleData.js.map +1 -1
- package/data/BubbleDataSet.d.ts +7 -7
- package/data/BubbleDataSet.js +8 -15
- package/data/BubbleDataSet.js.map +1 -1
- package/data/BubbleEntry.d.ts +1 -0
- package/data/BubbleEntry.js.map +1 -1
- package/data/CandleData.js.map +1 -1
- package/data/CandleDataSet.d.ts +64 -30
- package/data/CandleDataSet.js +67 -74
- package/data/CandleDataSet.js.map +1 -1
- package/data/CandleEntry.d.ts +4 -0
- package/data/CandleEntry.js.map +1 -1
- package/data/ChartData.d.ts +273 -18
- package/data/ChartData.js +398 -93
- package/data/ChartData.js.map +1 -1
- package/data/CombinedData.d.ts +39 -12
- package/data/CombinedData.js +87 -71
- package/data/CombinedData.js.map +1 -1
- package/data/DataSet.d.ts +59 -8
- package/data/DataSet.js +114 -26
- package/data/DataSet.js.map +1 -1
- package/data/Entry.js.map +1 -1
- package/data/LineData.d.ts +5 -0
- package/data/LineData.js +5 -0
- package/data/LineData.js.map +1 -1
- package/data/LineDataSet.d.ts +80 -49
- package/data/LineDataSet.js +90 -135
- package/data/LineDataSet.js.map +1 -1
- package/data/LineRadarDataSet.d.ts +27 -17
- package/data/LineRadarDataSet.js +22 -35
- package/data/LineRadarDataSet.js.map +1 -1
- package/data/LineScatterCandleRadarDataSet.d.ts +30 -15
- package/data/LineScatterCandleRadarDataSet.js +36 -39
- package/data/LineScatterCandleRadarDataSet.js.map +1 -1
- package/data/PieData.d.ts +26 -0
- package/data/PieData.js +28 -2
- package/data/PieData.js.map +1 -1
- package/data/PieDataSet.d.ts +40 -36
- package/data/PieDataSet.js +36 -88
- package/data/PieDataSet.js.map +1 -1
- package/data/PieEntry.d.ts +3 -0
- package/data/PieEntry.js.map +1 -1
- package/data/RadarData.d.ts +10 -4
- package/data/RadarData.js +5 -6
- package/data/RadarData.js.map +1 -1
- package/data/RadarDataSet.d.ts +7 -21
- package/data/RadarDataSet.js +10 -49
- package/data/RadarDataSet.js.map +1 -1
- package/data/RadarEntry.js.map +1 -1
- package/data/ScatterData.d.ts +4 -1
- package/data/ScatterData.js +5 -2
- package/data/ScatterData.js.map +1 -1
- package/data/ScatterDataSet.d.ts +24 -14
- package/data/ScatterDataSet.js +26 -31
- package/data/ScatterDataSet.js.map +1 -1
- package/formatter/DefaultAxisValueFormatter.d.ts +17 -3
- package/formatter/DefaultAxisValueFormatter.js +12 -5
- package/formatter/DefaultAxisValueFormatter.js.map +1 -1
- package/formatter/DefaultFillFormatter.js +7 -7
- package/formatter/DefaultFillFormatter.js.map +1 -1
- package/formatter/DefaultValueFormatter.js.map +1 -1
- package/formatter/IAxisValueFormatter.d.ts +20 -2
- package/formatter/IAxisValueFormatter.js.map +1 -1
- package/formatter/IFillFormatter.d.ts +25 -0
- package/formatter/IFillFormatter.js.map +1 -1
- package/formatter/IValueFormatter.d.ts +21 -0
- package/formatter/IValueFormatter.js.map +1 -1
- package/formatter/ValueFormatter.d.ts +60 -0
- package/formatter/ValueFormatter.js +60 -0
- package/formatter/ValueFormatter.js.map +1 -1
- package/highlight/BarHighlighter.d.ts +22 -2
- package/highlight/BarHighlighter.js +43 -17
- package/highlight/BarHighlighter.js.map +1 -1
- package/highlight/ChartHighlighter.d.ts +87 -5
- package/highlight/ChartHighlighter.js +126 -23
- package/highlight/ChartHighlighter.js.map +1 -1
- package/highlight/CombinedHighlighter.d.ts +6 -0
- package/highlight/CombinedHighlighter.js +31 -16
- package/highlight/CombinedHighlighter.js.map +1 -1
- package/highlight/Highlight.d.ts +54 -1
- package/highlight/Highlight.js +5 -0
- package/highlight/Highlight.js.map +1 -1
- package/highlight/HorizontalBarHighlighter.d.ts +1 -1
- package/highlight/HorizontalBarHighlighter.js +14 -13
- package/highlight/HorizontalBarHighlighter.js.map +1 -1
- package/highlight/IHighlighter.d.ts +11 -1
- package/highlight/IHighlighter.js.map +1 -1
- package/highlight/PieHighlighter.js +2 -2
- package/highlight/PieHighlighter.js.map +1 -1
- package/highlight/PieRadarHighlighter.d.ts +12 -1
- package/highlight/PieRadarHighlighter.js +12 -4
- package/highlight/PieRadarHighlighter.js.map +1 -1
- package/highlight/RadarHighlighter.d.ts +12 -0
- package/highlight/RadarHighlighter.js +24 -10
- package/highlight/RadarHighlighter.js.map +1 -1
- package/index.d.ts +11 -0
- package/index.js +15 -0
- package/index.js.map +1 -0
- package/interfaces/dataprovider/BarDataProvider.d.ts +4 -4
- package/interfaces/dataprovider/BarLineScatterCandleBubbleDataProvider.d.ts +8 -3
- package/interfaces/dataprovider/BubbleDataProvider.d.ts +1 -1
- package/interfaces/dataprovider/CandleDataProvider.d.ts +1 -1
- package/interfaces/dataprovider/ChartInterface.d.ts +17 -22
- package/interfaces/dataprovider/CombinedDataProvider.d.ts +1 -1
- package/interfaces/dataprovider/LineDataProvider.d.ts +1 -1
- package/interfaces/dataprovider/ScatterDataProvider.d.ts +1 -1
- package/interfaces/datasets/IBarDataSet.d.ts +8 -22
- package/interfaces/datasets/IBarLineScatterCandleBubbleDataSet.d.ts +1 -3
- package/interfaces/datasets/IBubbleDataSet.d.ts +3 -9
- package/interfaces/datasets/ICandleDataSet.d.ts +44 -41
- package/interfaces/datasets/IDataSet.d.ts +35 -151
- package/interfaces/datasets/ILineDataSet.d.ts +15 -54
- package/interfaces/datasets/ILineRadarDataSet.d.ts +7 -28
- package/interfaces/datasets/ILineScatterCandleRadarDataSet.d.ts +5 -4
- package/interfaces/datasets/IPieDataSet.d.ts +22 -40
- package/interfaces/datasets/IRadarDataSet.d.ts +7 -13
- package/interfaces/datasets/IScatterDataSet.d.ts +17 -16
- package/jobs/AnimatedMoveViewJob.d.ts +3 -0
- package/jobs/AnimatedMoveViewJob.js +12 -8
- package/jobs/AnimatedMoveViewJob.js.map +1 -1
- package/jobs/AnimatedViewPortJob.d.ts +7 -8
- package/jobs/AnimatedViewPortJob.js +16 -23
- package/jobs/AnimatedViewPortJob.js.map +1 -1
- package/jobs/AnimatedZoomJob.d.ts +8 -5
- package/jobs/AnimatedZoomJob.js +30 -26
- package/jobs/AnimatedZoomJob.js.map +1 -1
- package/jobs/MoveViewJob.d.ts +3 -0
- package/jobs/MoveViewJob.js +10 -7
- package/jobs/MoveViewJob.js.map +1 -1
- package/jobs/ViewPortJob.d.ts +3 -5
- package/jobs/ViewPortJob.js +5 -11
- package/jobs/ViewPortJob.js.map +1 -1
- package/jobs/ZoomJob.js +14 -14
- package/jobs/ZoomJob.js.map +1 -1
- package/listener/BarLineChartTouchListener.d.ts +83 -1
- package/listener/BarLineChartTouchListener.js +169 -67
- package/listener/BarLineChartTouchListener.js.map +1 -1
- package/listener/ChartTouchListener.d.ts +39 -5
- package/listener/ChartTouchListener.js +38 -11
- package/listener/ChartTouchListener.js.map +1 -1
- package/listener/PieRadarChartTouchListener.d.ts +81 -1
- package/listener/PieRadarChartTouchListener.js +212 -16
- package/listener/PieRadarChartTouchListener.js.map +1 -1
- package/model/GradientColor.js.map +1 -1
- package/package.json +23 -15
- package/renderer/AxisRenderer.d.ts +66 -7
- package/renderer/AxisRenderer.js +69 -21
- package/renderer/AxisRenderer.js.map +1 -1
- package/renderer/BarChartRenderer.d.ts +11 -0
- package/renderer/BarChartRenderer.js +99 -71
- package/renderer/BarChartRenderer.js.map +1 -1
- package/renderer/BarLineScatterCandleBubbleRenderer.d.ts +37 -0
- package/renderer/BarLineScatterCandleBubbleRenderer.js +36 -8
- package/renderer/BarLineScatterCandleBubbleRenderer.js.map +1 -1
- package/renderer/BubbleChartRenderer.d.ts +6 -2
- package/renderer/BubbleChartRenderer.js +51 -40
- package/renderer/BubbleChartRenderer.js.map +1 -1
- package/renderer/CandleStickChartRenderer.d.ts +1 -1
- package/renderer/CandleStickChartRenderer.js +64 -50
- package/renderer/CandleStickChartRenderer.js.map +1 -1
- package/renderer/CombinedChartRenderer.d.ts +20 -1
- package/renderer/CombinedChartRenderer.js +72 -42
- package/renderer/CombinedChartRenderer.js.map +1 -1
- package/renderer/DataRenderer.d.ts +78 -4
- package/renderer/DataRenderer.js +65 -6
- package/renderer/DataRenderer.js.map +1 -1
- package/renderer/HorizontalBarChartRenderer.d.ts +5 -2
- package/renderer/HorizontalBarChartRenderer.js +87 -66
- package/renderer/HorizontalBarChartRenderer.js.map +1 -1
- package/renderer/LegendRenderer.d.ts +32 -0
- package/renderer/LegendRenderer.js +98 -59
- package/renderer/LegendRenderer.js.map +1 -1
- package/renderer/LineChartRenderer.d.ts +38 -1
- package/renderer/LineChartRenderer.js +185 -110
- package/renderer/LineChartRenderer.js.map +1 -1
- package/renderer/LineRadarRenderer.d.ts +19 -0
- package/renderer/LineRadarRenderer.js +25 -1
- package/renderer/LineRadarRenderer.js.map +1 -1
- package/renderer/LineScatterCandleRadarRenderer.d.ts +11 -0
- package/renderer/LineScatterCandleRadarRenderer.js +26 -9
- package/renderer/LineScatterCandleRadarRenderer.js.map +1 -1
- package/renderer/PieChartRenderer.d.ts +45 -1
- package/renderer/PieChartRenderer.js +195 -122
- package/renderer/PieChartRenderer.js.map +1 -1
- package/renderer/RadarChartRenderer.d.ts +10 -0
- package/renderer/RadarChartRenderer.js +119 -77
- package/renderer/RadarChartRenderer.js.map +1 -1
- package/renderer/Renderer.d.ts +8 -0
- package/renderer/Renderer.js +5 -0
- package/renderer/Renderer.js.map +1 -1
- package/renderer/ScatterChartRenderer.d.ts +5 -5
- package/renderer/ScatterChartRenderer.js +51 -37
- package/renderer/ScatterChartRenderer.js.map +1 -1
- package/renderer/XAxisRenderer.d.ts +29 -4
- package/renderer/XAxisRenderer.js +128 -95
- package/renderer/XAxisRenderer.js.map +1 -1
- package/renderer/XAxisRendererHorizontalBarChart.d.ts +11 -0
- package/renderer/XAxisRendererHorizontalBarChart.js +75 -57
- package/renderer/XAxisRendererHorizontalBarChart.js.map +1 -1
- package/renderer/XAxisRendererRadarChart.d.ts +5 -0
- package/renderer/XAxisRendererRadarChart.js +26 -13
- package/renderer/XAxisRendererRadarChart.js.map +1 -1
- package/renderer/YAxisRenderer.d.ts +42 -5
- package/renderer/YAxisRenderer.js +126 -69
- package/renderer/YAxisRenderer.js.map +1 -1
- package/renderer/YAxisRendererHorizontalBarChart.d.ts +22 -1
- package/renderer/YAxisRendererHorizontalBarChart.js +80 -58
- package/renderer/YAxisRendererHorizontalBarChart.js.map +1 -1
- package/renderer/YAxisRendererRadarChart.js +62 -32
- package/renderer/YAxisRendererRadarChart.js.map +1 -1
- package/renderer/scatter/ChevronDownShapeRenderer.d.ts +4 -0
- package/renderer/scatter/ChevronDownShapeRenderer.js +5 -1
- package/renderer/scatter/ChevronDownShapeRenderer.js.map +1 -1
- package/renderer/scatter/ChevronUpShapeRenderer.d.ts +4 -0
- package/renderer/scatter/ChevronUpShapeRenderer.js +5 -1
- package/renderer/scatter/ChevronUpShapeRenderer.js.map +1 -1
- package/renderer/scatter/CircleShapeRenderer.d.ts +4 -0
- package/renderer/scatter/CircleShapeRenderer.js +8 -5
- package/renderer/scatter/CircleShapeRenderer.js.map +1 -1
- package/renderer/scatter/CrossShapeRenderer.d.ts +4 -0
- package/renderer/scatter/CrossShapeRenderer.js +5 -1
- package/renderer/scatter/CrossShapeRenderer.js.map +1 -1
- package/renderer/scatter/IShapeRenderer.d.ts +14 -0
- package/renderer/scatter/IShapeRenderer.js.map +1 -1
- package/renderer/scatter/SquareShapeRenderer.d.ts +4 -0
- package/renderer/scatter/SquareShapeRenderer.js +8 -5
- package/renderer/scatter/SquareShapeRenderer.js.map +1 -1
- package/renderer/scatter/TriangleShapeRenderer.d.ts +4 -0
- package/renderer/scatter/TriangleShapeRenderer.js +9 -5
- package/renderer/scatter/TriangleShapeRenderer.js.map +1 -1
- package/renderer/scatter/XShapeRenderer.d.ts +4 -0
- package/renderer/scatter/XShapeRenderer.js +5 -1
- package/renderer/scatter/XShapeRenderer.js.map +1 -1
- package/utils/ColorTemplate.d.ts +21 -1
- package/utils/ColorTemplate.js +21 -3
- package/utils/ColorTemplate.js.map +1 -1
- package/utils/HorizontalViewPortHandler.d.ts +3 -0
- package/utils/HorizontalViewPortHandler.js +3 -0
- package/utils/HorizontalViewPortHandler.js.map +1 -1
- package/utils/MPSize.d.ts +7 -0
- package/utils/ObjectPool.d.ts +56 -0
- package/utils/ObjectPool.js +66 -8
- package/utils/ObjectPool.js.map +1 -1
- package/utils/Transformer.d.ts +118 -0
- package/utils/Transformer.js +141 -7
- package/utils/Transformer.js.map +1 -1
- package/utils/TransformerHorizontalBarChart.d.ts +10 -0
- package/utils/TransformerHorizontalBarChart.js +18 -2
- package/utils/TransformerHorizontalBarChart.js.map +1 -1
- package/utils/Utils.d.ts +139 -17
- package/utils/Utils.js +185 -60
- package/utils/Utils.js.map +1 -1
- package/utils/ViewPortHandler.d.ts +234 -19
- package/utils/ViewPortHandler.js +306 -63
- package/utils/ViewPortHandler.js.map +1 -1
- package/utils/colors/colorful.js.map +1 -1
- package/utils/colors/joyful.js.map +1 -1
- package/utils/colors/liberty.js.map +1 -1
- package/utils/colors/material.js.map +1 -1
- package/utils/colors/pastel.js.map +1 -1
- package/utils/colors/vordiplom.js.map +1 -1
- package/animation/ChartAnimator2.d.ts +0 -18
- package/animation/ChartAnimator2.js +0 -69
- package/animation/ChartAnimator2.js.map +0 -1
- package/charts/index.d.ts +0 -11
- package/charts/index.js +0 -15
- package/charts/index.js.map +0 -1
- package/utils/Curve.d.ts +0 -12
- package/utils/Curve.js +0 -156
- package/utils/Curve.js.map +0 -1
- package/utils/MPPointD.js +0 -1
- package/utils/MPPointD.js.map +0 -1
- package/utils/MPPointF.js +0 -1
- package/utils/MPPointF.js.map +0 -1
package/README.md
CHANGED
|
@@ -10,6 +10,12 @@
|
|
|
10
10
|
|
|
11
11
|
---
|
|
12
12
|
|
|
13
|
+
## Migration to 2.x
|
|
14
|
+
|
|
15
|
+
In 2.x most methods like `setColor`/`getColor` have been changed to properties like `color`
|
|
16
|
+
You can either to it manually and update them all (you should get tsc errors for removed or renamed methods), or you can use a regexp like `/set([A-Z])(\w*?)\(/` to search and replace (first group should be lowercase in the replace) with something like `\L$1$2=(`
|
|
17
|
+
Then use typings to fix potential name change
|
|
18
|
+
|
|
13
19
|
## Usage
|
|
14
20
|
|
|
15
21
|
For gestures to work, make sure to add the following code block inside main application file (e.g. app.ts):
|
|
@@ -1,18 +1,61 @@
|
|
|
1
1
|
import { EasingFunction } from './Tween';
|
|
2
2
|
export { EasingFunction };
|
|
3
3
|
export declare class ChartAnimator {
|
|
4
|
+
/** object that is updated upon animation update */
|
|
4
5
|
private mListener;
|
|
6
|
+
/** The phase of drawn values on the y-axis. 0 - 1 */
|
|
5
7
|
protected mPhaseY: number;
|
|
8
|
+
/** The phase of drawn values on the x-axis. 0 - 1 */
|
|
6
9
|
protected mPhaseX: number;
|
|
7
10
|
constructor(listener?: (state: any) => void);
|
|
8
11
|
private startAnim;
|
|
9
12
|
private startXAnim;
|
|
10
13
|
private startYAnim;
|
|
14
|
+
/**
|
|
15
|
+
* Animates values along the X axis.
|
|
16
|
+
*
|
|
17
|
+
* @param durationMillis animation duration
|
|
18
|
+
* @param easing EasingFunction
|
|
19
|
+
*/
|
|
11
20
|
animateX(durationMillis: any, easing?: EasingFunction): void;
|
|
21
|
+
/**
|
|
22
|
+
* Animates values along both the X and Y axes.
|
|
23
|
+
*
|
|
24
|
+
* @param durationMillisX animation duration along the X axis
|
|
25
|
+
* @param durationMillisY animation duration along the Y axis
|
|
26
|
+
* @param easingX EasingFunction for the X axis
|
|
27
|
+
* @param easingY EasingFunction for the Y axis
|
|
28
|
+
*/
|
|
12
29
|
animateXY(durationMillisX: any, durationMillisY: any, easingX?: EasingFunction, easingY?: EasingFunction): void;
|
|
30
|
+
/**
|
|
31
|
+
* Animates values along the Y axis.
|
|
32
|
+
*
|
|
33
|
+
* @param durationMillis animation duration
|
|
34
|
+
* @param easing EasingFunction
|
|
35
|
+
*/
|
|
13
36
|
animateY(durationMillis: any, easing?: EasingFunction): void;
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
37
|
+
/**
|
|
38
|
+
* Gets the Y axis phase of the animation.
|
|
39
|
+
*
|
|
40
|
+
* @return let value of {@link #mPhaseY}
|
|
41
|
+
*/
|
|
42
|
+
get phaseY(): number;
|
|
43
|
+
/**
|
|
44
|
+
* Sets the Y axis phase of the animation.
|
|
45
|
+
*
|
|
46
|
+
* @param phase let value between 0 - 1
|
|
47
|
+
*/
|
|
48
|
+
set phaseY(phase: number);
|
|
49
|
+
/**
|
|
50
|
+
* Gets the X axis phase of the animation.
|
|
51
|
+
*
|
|
52
|
+
* @return let value of {@link #mPhaseX}
|
|
53
|
+
*/
|
|
54
|
+
get phaseX(): number;
|
|
55
|
+
/**
|
|
56
|
+
* Sets the X axis phase of the animation.
|
|
57
|
+
*
|
|
58
|
+
* @param phase let value between 0 - 1
|
|
59
|
+
*/
|
|
60
|
+
set phaseX(phase: number);
|
|
18
61
|
}
|
|
@@ -4,53 +4,91 @@ function clamp(value) {
|
|
|
4
4
|
}
|
|
5
5
|
export class ChartAnimator {
|
|
6
6
|
constructor(listener) {
|
|
7
|
+
/** The phase of drawn values on the y-axis. 0 - 1 */
|
|
7
8
|
this.mPhaseY = 1;
|
|
9
|
+
/** The phase of drawn values on the x-axis. 0 - 1 */
|
|
8
10
|
this.mPhaseX = 1;
|
|
9
11
|
this.mListener = listener;
|
|
10
12
|
}
|
|
11
13
|
startAnim(duration, easing, listener) {
|
|
12
14
|
const anim = new Tween({
|
|
13
|
-
onRender:
|
|
14
|
-
if (listener) {
|
|
15
|
-
listener(state);
|
|
16
|
-
}
|
|
17
|
-
}
|
|
15
|
+
onRender: listener
|
|
18
16
|
});
|
|
19
17
|
anim.tween({ value: 0 }, { value: 1 }, duration);
|
|
20
18
|
return anim;
|
|
21
19
|
}
|
|
22
20
|
startXAnim(duration, easing, listener) {
|
|
23
21
|
return this.startAnim(duration, easing, (state) => {
|
|
24
|
-
this.
|
|
22
|
+
this.phaseX = state.value;
|
|
25
23
|
listener?.(state);
|
|
26
24
|
});
|
|
27
25
|
}
|
|
28
26
|
startYAnim(duration, easing, listener) {
|
|
29
27
|
return this.startAnim(duration, easing, (state) => {
|
|
30
|
-
this.
|
|
28
|
+
this.phaseY = state.value;
|
|
31
29
|
listener?.(state);
|
|
32
30
|
});
|
|
33
31
|
}
|
|
32
|
+
/**
|
|
33
|
+
* Animates values along the X axis.
|
|
34
|
+
*
|
|
35
|
+
* @param durationMillis animation duration
|
|
36
|
+
* @param easing EasingFunction
|
|
37
|
+
*/
|
|
34
38
|
animateX(durationMillis, easing) {
|
|
35
39
|
this.startXAnim(durationMillis, easing, this.mListener);
|
|
36
40
|
}
|
|
41
|
+
/**
|
|
42
|
+
* Animates values along both the X and Y axes.
|
|
43
|
+
*
|
|
44
|
+
* @param durationMillisX animation duration along the X axis
|
|
45
|
+
* @param durationMillisY animation duration along the Y axis
|
|
46
|
+
* @param easingX EasingFunction for the X axis
|
|
47
|
+
* @param easingY EasingFunction for the Y axis
|
|
48
|
+
*/
|
|
37
49
|
animateXY(durationMillisX, durationMillisY, easingX, easingY) {
|
|
38
50
|
this.startXAnim(durationMillisX, easingX, durationMillisX > durationMillisY ? this.mListener : undefined);
|
|
39
51
|
this.startYAnim(durationMillisY, easingY || easingX, durationMillisX > durationMillisY ? undefined : this.mListener);
|
|
40
52
|
}
|
|
53
|
+
/**
|
|
54
|
+
* Animates values along the Y axis.
|
|
55
|
+
*
|
|
56
|
+
* @param durationMillis animation duration
|
|
57
|
+
* @param easing EasingFunction
|
|
58
|
+
*/
|
|
41
59
|
animateY(durationMillis, easing) {
|
|
42
60
|
this.startYAnim(durationMillis, easing, this.mListener);
|
|
43
61
|
}
|
|
44
|
-
|
|
62
|
+
/**
|
|
63
|
+
* Gets the Y axis phase of the animation.
|
|
64
|
+
*
|
|
65
|
+
* @return let value of {@link #mPhaseY}
|
|
66
|
+
*/
|
|
67
|
+
get phaseY() {
|
|
45
68
|
return this.mPhaseY;
|
|
46
69
|
}
|
|
47
|
-
|
|
70
|
+
/**
|
|
71
|
+
* Sets the Y axis phase of the animation.
|
|
72
|
+
*
|
|
73
|
+
* @param phase let value between 0 - 1
|
|
74
|
+
*/
|
|
75
|
+
set phaseY(phase) {
|
|
48
76
|
this.mPhaseY = clamp(phase);
|
|
49
77
|
}
|
|
50
|
-
|
|
78
|
+
/**
|
|
79
|
+
* Gets the X axis phase of the animation.
|
|
80
|
+
*
|
|
81
|
+
* @return let value of {@link #mPhaseX}
|
|
82
|
+
*/
|
|
83
|
+
get phaseX() {
|
|
51
84
|
return this.mPhaseX;
|
|
52
85
|
}
|
|
53
|
-
|
|
86
|
+
/**
|
|
87
|
+
* Sets the X axis phase of the animation.
|
|
88
|
+
*
|
|
89
|
+
* @param phase let value between 0 - 1
|
|
90
|
+
*/
|
|
91
|
+
set phaseX(phase) {
|
|
54
92
|
this.mPhaseX = clamp(phase);
|
|
55
93
|
}
|
|
56
94
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChartAnimator.js","sourceRoot":"
|
|
1
|
+
{"version":3,"file":"ChartAnimator.js","sourceRoot":"","sources":["../../../src/ui-chart/animation/ChartAnimator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,KAAK,EAAE,MAAM,SAAS,CAAC;AAGhD,SAAS,KAAK,CAAC,KAAK;IAChB,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;AAC3C,CAAC;AAED,MAAM,OAAO,aAAa;IAUtB,YAAY,QAA0B;QANtC,qDAAqD;QAC3C,YAAO,GAAG,CAAC,CAAC;QAEtB,qDAAqD;QAC3C,YAAO,GAAG,CAAC,CAAC;QAGlB,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;IAC9B,CAAC;IAEO,SAAS,CAAC,QAAQ,EAAE,MAAuB,EAAE,QAA0B;QAC3E,MAAM,IAAI,GAAG,IAAI,KAAK,CAAC;YACnB,QAAQ,EAAE,QAAQ;SACrB,CAAC,CAAC;QACH,IAAI,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;QACjD,OAAO,IAAI,CAAC;IAChB,CAAC;IACO,UAAU,CAAC,QAAQ,EAAE,MAAuB,EAAE,QAA0B;QAC5E,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;YAC9C,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC;YAC1B,QAAQ,EAAE,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC,CAAC,CAAC;IACP,CAAC;IAEO,UAAU,CAAC,QAAQ,EAAE,MAAuB,EAAE,QAA0B;QAC5E,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;YAC9C,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC;YAC1B,QAAQ,EAAE,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;;;OAKG;IACI,QAAQ,CAAC,cAAc,EAAE,MAAuB;QACnD,IAAI,CAAC,UAAU,CAAC,cAAc,EAAE,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IAC5D,CAAC;IAED;;;;;;;OAOG;IACI,SAAS,CAAC,eAAe,EAAE,eAAe,EAAE,OAAwB,EAAE,OAAwB;QACjG,IAAI,CAAC,UAAU,CAAC,eAAe,EAAE,OAAO,EAAE,eAAe,GAAG,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAC1G,IAAI,CAAC,UAAU,CAAC,eAAe,EAAE,OAAO,IAAI,OAAO,EAAE,eAAe,GAAG,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACzH,CAAC;IAED;;;;;OAKG;IACI,QAAQ,CAAC,cAAc,EAAE,MAAuB;QACnD,IAAI,CAAC,UAAU,CAAC,cAAc,EAAE,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IAC5D,CAAC;IAED;;;;OAIG;IACH,IAAW,MAAM;QACb,OAAO,IAAI,CAAC,OAAO,CAAC;IACxB,CAAC;IAED;;;;OAIG;IACH,IAAW,MAAM,CAAC,KAAK;QACnB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IAED;;;;OAIG;IACH,IAAW,MAAM;QACb,OAAO,IAAI,CAAC,OAAO,CAAC;IACxB,CAAC;IAED;;;;OAIG;IACH,IAAW,MAAM,CAAC,KAAK;QACnB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;CACJ"}
|
package/animation/Tween.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AdditiveTweening, EasingFunction } from 'additween';
|
|
1
|
+
import { AdditiveTweening, EasingFunction } from '@nativescript-community/additween';
|
|
2
2
|
export { EasingFunction };
|
|
3
3
|
export declare class Tween<T extends Record<string, number>> extends AdditiveTweening<T> {
|
|
4
4
|
}
|
package/animation/Tween.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { time } from '@nativescript/core/profiling';
|
|
2
|
-
import {
|
|
2
|
+
import { cancelAnimationFrame, requestAnimationFrame } from '@nativescript/core/animation-frame';
|
|
3
|
+
import { AdditiveTweening } from '@nativescript-community/additween';
|
|
3
4
|
if (!global.window) {
|
|
4
|
-
|
|
5
|
+
global.window = {
|
|
5
6
|
requestAnimationFrame,
|
|
6
7
|
cancelAnimationFrame,
|
|
7
8
|
performance: {
|
|
@@ -13,6 +14,7 @@ else if (!global.window.requestAnimationFrame) {
|
|
|
13
14
|
global.window.requestAnimationFrame = requestAnimationFrame;
|
|
14
15
|
global.window.cancelAnimationFrame = cancelAnimationFrame;
|
|
15
16
|
if (!global.window.performance) {
|
|
17
|
+
//@ts-ignore
|
|
16
18
|
global.window.performance = {
|
|
17
19
|
now: time
|
|
18
20
|
};
|
package/animation/Tween.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tween.js","sourceRoot":"
|
|
1
|
+
{"version":3,"file":"Tween.js","sourceRoot":"","sources":["../../../src/ui-chart/animation/Tween.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,8BAA8B,CAAC;AACpD,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AACjG,OAAO,EAAE,gBAAgB,EAAkB,MAAM,mCAAmC,CAAC;AAErF,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;IACjB,MAAM,CAAC,MAAM,GAAG;QACZ,qBAAqB;QACrB,oBAAoB;QACpB,WAAW,EAAE;YACT,GAAG,EAAE,IAAI;SACZ;KACG,CAAC;AACb,CAAC;KAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,qBAAqB,EAAE,CAAC;IAC9C,MAAM,CAAC,MAAM,CAAC,qBAAqB,GAAG,qBAAqB,CAAC;IAC5D,MAAM,CAAC,MAAM,CAAC,oBAAoB,GAAG,oBAAoB,CAAC;IAC1D,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;QAC7B,YAAY;QACZ,MAAM,CAAC,MAAM,CAAC,WAAW,GAAG;YACxB,GAAG,EAAE,IAAI;SACZ,CAAC;IACN,CAAC;AACL,CAAC;AAED,MAAM,OAAO,KAAwC,SAAQ,gBAAmB;CAAG"}
|
|
@@ -2,14 +2,39 @@ export declare abstract class AbstractBuffer<T> {
|
|
|
2
2
|
protected index: number;
|
|
3
3
|
protected phaseX: number;
|
|
4
4
|
protected phaseY: number;
|
|
5
|
-
protected
|
|
6
|
-
protected
|
|
5
|
+
protected from: number;
|
|
6
|
+
protected to: number;
|
|
7
7
|
buffer: any;
|
|
8
|
+
/**
|
|
9
|
+
* Initialization with buffer-size.
|
|
10
|
+
*
|
|
11
|
+
* @param size
|
|
12
|
+
*/
|
|
8
13
|
constructor(size: number);
|
|
14
|
+
/** limits the drawing on the x-axis */
|
|
9
15
|
limitFrom(from: number): void;
|
|
16
|
+
/** limits the drawing on the x-axis */
|
|
10
17
|
limitTo(to: number): void;
|
|
18
|
+
/**
|
|
19
|
+
* Resets the buffer index to 0 and makes the buffer reusable.
|
|
20
|
+
*/
|
|
11
21
|
reset(): void;
|
|
12
|
-
|
|
22
|
+
/**
|
|
23
|
+
* Returns the size (length) of the buffer array.
|
|
24
|
+
*/
|
|
25
|
+
get length(): any;
|
|
26
|
+
/**
|
|
27
|
+
* Set the phases used for animations.
|
|
28
|
+
*
|
|
29
|
+
* @param phaseX
|
|
30
|
+
* @param phaseY
|
|
31
|
+
*/
|
|
13
32
|
setPhases(phaseX: any, phaseY: any): void;
|
|
33
|
+
/**
|
|
34
|
+
* Builds up the buffer with the provided data and resets the buffer-index
|
|
35
|
+
* after feed-completion. This needs to run FAST.
|
|
36
|
+
*
|
|
37
|
+
* @param data
|
|
38
|
+
*/
|
|
14
39
|
abstract feed(data: any): any;
|
|
15
40
|
}
|
package/buffer/AbstractBuffer.js
CHANGED
|
@@ -1,27 +1,46 @@
|
|
|
1
1
|
import { Utils } from '../utils/Utils';
|
|
2
2
|
export class AbstractBuffer {
|
|
3
|
+
/**
|
|
4
|
+
* Initialization with buffer-size.
|
|
5
|
+
*
|
|
6
|
+
* @param size
|
|
7
|
+
*/
|
|
3
8
|
constructor(size) {
|
|
4
9
|
this.index = 0;
|
|
5
10
|
this.buffer = Utils.getTempArray(size);
|
|
6
11
|
}
|
|
12
|
+
/** limits the drawing on the x-axis */
|
|
7
13
|
limitFrom(from) {
|
|
8
14
|
if (from < 0) {
|
|
9
15
|
from = 0;
|
|
10
16
|
}
|
|
11
|
-
this.
|
|
17
|
+
this.from = from;
|
|
12
18
|
}
|
|
19
|
+
/** limits the drawing on the x-axis */
|
|
13
20
|
limitTo(to) {
|
|
14
21
|
if (to < 0) {
|
|
15
22
|
to = 0;
|
|
16
23
|
}
|
|
17
|
-
this.
|
|
24
|
+
this.to = to;
|
|
18
25
|
}
|
|
26
|
+
/**
|
|
27
|
+
* Resets the buffer index to 0 and makes the buffer reusable.
|
|
28
|
+
*/
|
|
19
29
|
reset() {
|
|
20
30
|
this.index = 0;
|
|
21
31
|
}
|
|
22
|
-
|
|
32
|
+
/**
|
|
33
|
+
* Returns the size (length) of the buffer array.
|
|
34
|
+
*/
|
|
35
|
+
get length() {
|
|
23
36
|
return this.buffer.length;
|
|
24
37
|
}
|
|
38
|
+
/**
|
|
39
|
+
* Set the phases used for animations.
|
|
40
|
+
*
|
|
41
|
+
* @param phaseX
|
|
42
|
+
* @param phaseY
|
|
43
|
+
*/
|
|
25
44
|
setPhases(phaseX, phaseY) {
|
|
26
45
|
this.phaseX = phaseX;
|
|
27
46
|
this.phaseY = phaseY;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AbstractBuffer.js","sourceRoot":"
|
|
1
|
+
{"version":3,"file":"AbstractBuffer.js","sourceRoot":"","sources":["../../../src/ui-chart/buffer/AbstractBuffer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAEvC,MAAM,OAAgB,cAAc;IAShC;;;;OAIG;IACH,YAAY,IAAY;QACpB,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;QACf,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC;IAED,uCAAuC;IAChC,SAAS,CAAC,IAAY;QACzB,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;YACX,IAAI,GAAG,CAAC,CAAC;QACb,CAAC;QACD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACrB,CAAC;IAED,uCAAuC;IAChC,OAAO,CAAC,EAAU;QACrB,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC;YACT,EAAE,GAAG,CAAC,CAAC;QACX,CAAC;QACD,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;IACjB,CAAC;IAED;;OAEG;IACI,KAAK;QACR,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;IACnB,CAAC;IAED;;OAEG;IACH,IAAW,MAAM;QACb,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;IAC9B,CAAC;IAED;;;;;OAKG;IACI,SAAS,CAAC,MAAM,EAAE,MAAM;QAC3B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACzB,CAAC;CASJ"}
|
package/buffer/BarBuffer.d.ts
CHANGED
|
@@ -1,19 +1,15 @@
|
|
|
1
1
|
import { AbstractBuffer } from './AbstractBuffer';
|
|
2
2
|
import { IBarDataSet } from '../interfaces/datasets/IBarDataSet';
|
|
3
3
|
export declare class BarBuffer extends AbstractBuffer<IBarDataSet> {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
4
|
+
dataSetIndex: number;
|
|
5
|
+
dataSetCount: number;
|
|
6
|
+
containsStacks: boolean;
|
|
7
|
+
inverted: boolean;
|
|
8
|
+
/** width of the bar on the x-axis, in values (not pixels) */
|
|
9
|
+
barWidth: number;
|
|
10
|
+
yAxisMin: number;
|
|
11
|
+
yAxisMax: number;
|
|
11
12
|
constructor(size: number, dataSetCount: number, containsStacks: boolean);
|
|
12
|
-
setBarWidth(barWidth: number): void;
|
|
13
|
-
setDataSet(index: number): void;
|
|
14
|
-
setInverted(inverted: boolean): void;
|
|
15
|
-
setYAxisMin(min: number): void;
|
|
16
|
-
setYAxisMax(max: number): void;
|
|
17
13
|
protected addBar(left: any, top: any, right: any, bottom: any): void;
|
|
18
14
|
feed(data: IBarDataSet): void;
|
|
19
15
|
}
|
package/buffer/BarBuffer.js
CHANGED
|
@@ -2,30 +2,16 @@ import { AbstractBuffer } from './AbstractBuffer';
|
|
|
2
2
|
export class BarBuffer extends AbstractBuffer {
|
|
3
3
|
constructor(size, dataSetCount, containsStacks) {
|
|
4
4
|
super(size);
|
|
5
|
-
this.
|
|
6
|
-
this.
|
|
7
|
-
this.
|
|
8
|
-
this.
|
|
9
|
-
|
|
10
|
-
this.
|
|
11
|
-
this.
|
|
12
|
-
this.
|
|
13
|
-
this.
|
|
14
|
-
|
|
15
|
-
setBarWidth(barWidth) {
|
|
16
|
-
this.mBarWidth = barWidth;
|
|
17
|
-
}
|
|
18
|
-
setDataSet(index) {
|
|
19
|
-
this.mDataSetIndex = index;
|
|
20
|
-
}
|
|
21
|
-
setInverted(inverted) {
|
|
22
|
-
this.mInverted = inverted;
|
|
23
|
-
}
|
|
24
|
-
setYAxisMin(min) {
|
|
25
|
-
this.mYAxisMin = min;
|
|
26
|
-
}
|
|
27
|
-
setYAxisMax(max) {
|
|
28
|
-
this.mYAxisMax = max;
|
|
5
|
+
this.dataSetIndex = 0;
|
|
6
|
+
this.dataSetCount = 1;
|
|
7
|
+
this.containsStacks = false;
|
|
8
|
+
this.inverted = false;
|
|
9
|
+
/** width of the bar on the x-axis, in values (not pixels) */
|
|
10
|
+
this.barWidth = 1;
|
|
11
|
+
this.yAxisMin = 0;
|
|
12
|
+
this.yAxisMax = 0;
|
|
13
|
+
this.dataSetCount = dataSetCount;
|
|
14
|
+
this.containsStacks = containsStacks;
|
|
29
15
|
}
|
|
30
16
|
addBar(left, top, right, bottom) {
|
|
31
17
|
this.buffer[this.index++] = left;
|
|
@@ -34,44 +20,52 @@ export class BarBuffer extends AbstractBuffer {
|
|
|
34
20
|
this.buffer[this.index++] = bottom;
|
|
35
21
|
}
|
|
36
22
|
feed(data) {
|
|
37
|
-
const size = data.
|
|
38
|
-
const barWidthHalf = this.
|
|
23
|
+
const size = data.entryCount * this.phaseX;
|
|
24
|
+
const barWidthHalf = this.barWidth / 2;
|
|
39
25
|
const yKey = data.yProperty;
|
|
40
26
|
for (let i = 0; i < size; i++) {
|
|
41
27
|
const e = data.getEntryForIndex(i);
|
|
42
|
-
if (e
|
|
28
|
+
if (!e) {
|
|
43
29
|
continue;
|
|
44
30
|
}
|
|
45
31
|
const x = data.getEntryXValue(e, i);
|
|
46
32
|
let y = e[yKey];
|
|
47
33
|
const vals = e.yVals;
|
|
48
|
-
if (!this.
|
|
34
|
+
if (!this.containsStacks || !vals || vals.length === 0) {
|
|
35
|
+
if (y === undefined || y === null) {
|
|
36
|
+
continue;
|
|
37
|
+
}
|
|
49
38
|
const left = x - barWidthHalf;
|
|
50
39
|
const right = x + barWidthHalf;
|
|
51
40
|
let bottom, top;
|
|
52
|
-
if (this.
|
|
53
|
-
bottom = y >= 0 ? y : this.
|
|
54
|
-
top = y <= 0 ? y : this.
|
|
41
|
+
if (this.inverted) {
|
|
42
|
+
bottom = y >= 0 ? y : this.yAxisMax <= 0 ? this.yAxisMax : 0;
|
|
43
|
+
top = y <= 0 ? y : this.yAxisMin >= 0 ? this.yAxisMin : 0;
|
|
55
44
|
}
|
|
56
45
|
else {
|
|
57
|
-
top = y >= 0 ? y : this.
|
|
58
|
-
bottom = y <= 0 ? y : this.
|
|
46
|
+
top = y >= 0 ? y : this.yAxisMax <= 0 ? this.yAxisMax : 0;
|
|
47
|
+
bottom = y <= 0 ? y : this.yAxisMin >= 0 ? this.yAxisMin : 0;
|
|
59
48
|
}
|
|
49
|
+
// multiply the height of the rect with the phase
|
|
60
50
|
if (top > 0) {
|
|
61
51
|
top = bottom + this.phaseY * (top - bottom);
|
|
62
52
|
}
|
|
63
53
|
else {
|
|
64
54
|
bottom = top + this.phaseY * (bottom - top);
|
|
65
55
|
}
|
|
66
|
-
|
|
56
|
+
if (left !== right && top !== bottom) {
|
|
57
|
+
this.addBar(left, top, right, bottom);
|
|
58
|
+
}
|
|
67
59
|
}
|
|
68
60
|
else {
|
|
69
61
|
let posY = 0;
|
|
70
62
|
let negY = -e.negativeSum;
|
|
71
63
|
let yStart = 0;
|
|
64
|
+
// fill the stack
|
|
72
65
|
for (let k = 0; k < vals.length; k++) {
|
|
73
66
|
const value = vals[k];
|
|
74
67
|
if (value === 0.0 && (posY === 0.0 || negY === 0.0)) {
|
|
68
|
+
// Take care of the situation of a 0.0 value, which overlaps a non-zero bar
|
|
75
69
|
y = value;
|
|
76
70
|
yStart = y;
|
|
77
71
|
}
|
|
@@ -88,7 +82,7 @@ export class BarBuffer extends AbstractBuffer {
|
|
|
88
82
|
const left = x - barWidthHalf;
|
|
89
83
|
const right = x + barWidthHalf;
|
|
90
84
|
let bottom, top;
|
|
91
|
-
if (this.
|
|
85
|
+
if (this.inverted) {
|
|
92
86
|
bottom = y >= yStart ? y : yStart;
|
|
93
87
|
top = y <= yStart ? y : yStart;
|
|
94
88
|
}
|
|
@@ -96,13 +90,16 @@ export class BarBuffer extends AbstractBuffer {
|
|
|
96
90
|
top = y >= yStart ? y : yStart;
|
|
97
91
|
bottom = y <= yStart ? y : yStart;
|
|
98
92
|
}
|
|
93
|
+
// multiply the height of the rect with the phase
|
|
99
94
|
if (top > 0) {
|
|
100
95
|
top = bottom + this.phaseY * (top - bottom);
|
|
101
96
|
}
|
|
102
97
|
else {
|
|
103
98
|
bottom = top + this.phaseY * (bottom - top);
|
|
104
99
|
}
|
|
105
|
-
|
|
100
|
+
if (left !== right && top !== bottom) {
|
|
101
|
+
this.addBar(left, top, right, bottom);
|
|
102
|
+
}
|
|
106
103
|
}
|
|
107
104
|
}
|
|
108
105
|
}
|
package/buffer/BarBuffer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BarBuffer.js","sourceRoot":"
|
|
1
|
+
{"version":3,"file":"BarBuffer.js","sourceRoot":"","sources":["../../../src/ui-chart/buffer/BarBuffer.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,29 +4,30 @@ export class HorizontalBarBuffer extends BarBuffer {
|
|
|
4
4
|
super(size, dataSetCount, containsStacks);
|
|
5
5
|
}
|
|
6
6
|
feed(data) {
|
|
7
|
-
const size = data.
|
|
8
|
-
const barWidthHalf = this.
|
|
7
|
+
const size = data.entryCount * this.phaseX;
|
|
8
|
+
const barWidthHalf = this.barWidth / 2;
|
|
9
9
|
const yKey = data.yProperty;
|
|
10
10
|
for (let i = 0; i < size; i++) {
|
|
11
11
|
const e = data.getEntryForIndex(i);
|
|
12
|
-
if (e
|
|
12
|
+
if (!e) {
|
|
13
13
|
continue;
|
|
14
14
|
}
|
|
15
15
|
const x = data.getEntryXValue(e, i);
|
|
16
16
|
let y = e[yKey];
|
|
17
17
|
const vals = e.yVals;
|
|
18
|
-
if (!this.
|
|
18
|
+
if (!this.containsStacks || !vals) {
|
|
19
19
|
const bottom = x - barWidthHalf;
|
|
20
20
|
const top = x + barWidthHalf;
|
|
21
21
|
let left, right;
|
|
22
|
-
if (this.
|
|
23
|
-
left = y >= 0 ? y : this.
|
|
24
|
-
right = y <= 0 ? y : this.
|
|
22
|
+
if (this.inverted) {
|
|
23
|
+
left = y >= 0 ? y : this.yAxisMax <= 0 ? this.yAxisMax : 0;
|
|
24
|
+
right = y <= 0 ? y : this.yAxisMin >= 0 ? this.yAxisMin : 0;
|
|
25
25
|
}
|
|
26
26
|
else {
|
|
27
|
-
right = y >= 0 ? y : this.
|
|
28
|
-
left = y <= 0 ? y : this.
|
|
27
|
+
right = y >= 0 ? y : this.yAxisMax <= 0 ? this.yAxisMax : 0;
|
|
28
|
+
left = y <= 0 ? y : this.yAxisMin >= 0 ? this.yAxisMin : 0;
|
|
29
29
|
}
|
|
30
|
+
// multiply the height of the rect with the phase
|
|
30
31
|
if (right > 0) {
|
|
31
32
|
right = left + this.phaseY * (right - left);
|
|
32
33
|
}
|
|
@@ -39,6 +40,7 @@ export class HorizontalBarBuffer extends BarBuffer {
|
|
|
39
40
|
let posY = 0;
|
|
40
41
|
let negY = -e.negativeSum;
|
|
41
42
|
let yStart = 0;
|
|
43
|
+
// fill the stack
|
|
42
44
|
for (let k = 0; k < vals.length; k++) {
|
|
43
45
|
const value = vals[k];
|
|
44
46
|
if (value >= 0) {
|
|
@@ -54,7 +56,7 @@ export class HorizontalBarBuffer extends BarBuffer {
|
|
|
54
56
|
const bottom = x - barWidthHalf;
|
|
55
57
|
const top = x + barWidthHalf;
|
|
56
58
|
let left, right;
|
|
57
|
-
if (this.
|
|
59
|
+
if (this.inverted) {
|
|
58
60
|
left = y >= yStart ? y : yStart;
|
|
59
61
|
right = y <= yStart ? y : yStart;
|
|
60
62
|
}
|
|
@@ -62,6 +64,7 @@ export class HorizontalBarBuffer extends BarBuffer {
|
|
|
62
64
|
right = y >= yStart ? y : yStart;
|
|
63
65
|
left = y <= yStart ? y : yStart;
|
|
64
66
|
}
|
|
67
|
+
// multiply the height of the rect with the phase
|
|
65
68
|
if (right > 0) {
|
|
66
69
|
right = left + this.phaseY * (right - left);
|
|
67
70
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HorizontalBarBuffer.js","sourceRoot":"
|
|
1
|
+
{"version":3,"file":"HorizontalBarBuffer.js","sourceRoot":"","sources":["../../../src/ui-chart/buffer/HorizontalBarBuffer.ts"],"names":[],"mappings":"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"}
|