stream-charts 1.2.0 → 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/LICENSE +21 -0
- package/README.md +809 -1022
- package/changes.md +40 -0
- package/dist/app/charts/Chart.d.ts +35 -139
- package/dist/app/charts/Chart.d.ts.map +1 -0
- package/dist/app/charts/Chart.js +74 -65
- package/dist/app/charts/Chart.js.map +1 -1
- package/dist/app/charts/axes/AxesState.d.ts +26 -18
- package/dist/app/charts/axes/AxesState.d.ts.map +1 -0
- package/dist/app/charts/axes/AxesState.js +26 -24
- package/dist/app/charts/axes/AxesState.js.map +1 -1
- package/dist/app/charts/axes/AxisInterval.d.ts +44 -26
- package/dist/app/charts/axes/AxisInterval.d.ts.map +1 -0
- package/dist/app/charts/axes/AxisInterval.js +48 -29
- package/dist/app/charts/axes/AxisInterval.js.map +1 -1
- package/dist/app/charts/axes/BaseAxisRange.d.ts +46 -22
- package/dist/app/charts/axes/BaseAxisRange.d.ts.map +1 -0
- package/dist/app/charts/axes/BaseAxisRange.js +17 -12
- package/dist/app/charts/axes/BaseAxisRange.js.map +1 -1
- package/dist/app/charts/axes/ContinuousAxis.d.ts +47 -6
- package/dist/app/charts/axes/ContinuousAxis.d.ts.map +1 -0
- package/dist/app/charts/axes/ContinuousAxis.js +160 -27
- package/dist/app/charts/axes/ContinuousAxis.js.map +1 -1
- package/dist/app/charts/axes/ContinuousAxisRange.d.ts +29 -10
- package/dist/app/charts/axes/ContinuousAxisRange.d.ts.map +1 -0
- package/dist/app/charts/axes/ContinuousAxisRange.js +29 -11
- package/dist/app/charts/axes/ContinuousAxisRange.js.map +1 -1
- package/dist/app/charts/axes/EmptyAxis.d.ts +5 -2
- package/dist/app/charts/axes/EmptyAxis.d.ts.map +1 -0
- package/dist/app/charts/axes/EmptyAxis.js +30 -9
- package/dist/app/charts/axes/EmptyAxis.js.map +1 -1
- package/dist/app/charts/axes/OrdinalAxis.d.ts +5 -3
- package/dist/app/charts/axes/OrdinalAxis.d.ts.map +1 -0
- package/dist/app/charts/axes/OrdinalAxis.js +39 -16
- package/dist/app/charts/axes/OrdinalAxis.js.map +1 -1
- package/dist/app/charts/axes/OrdinalAxisRange.d.ts +76 -13
- package/dist/app/charts/axes/OrdinalAxisRange.d.ts.map +1 -0
- package/dist/app/charts/axes/OrdinalAxisRange.js +95 -16
- package/dist/app/charts/axes/OrdinalAxisRange.js.map +1 -1
- package/dist/app/charts/axes/autoScale.d.ts +111 -0
- package/dist/app/charts/axes/autoScale.d.ts.map +1 -0
- package/dist/app/charts/axes/autoScale.js +188 -0
- package/dist/app/charts/axes/autoScale.js.map +1 -0
- package/dist/app/charts/axes/axes.d.ts +273 -150
- package/dist/app/charts/axes/axes.d.ts.map +1 -0
- package/dist/app/charts/axes/axes.js +808 -583
- package/dist/app/charts/axes/axes.js.map +1 -1
- package/dist/app/charts/d3types.d.ts +40 -11
- package/dist/app/charts/d3types.d.ts.map +1 -0
- package/dist/app/charts/d3types.js +3 -0
- package/dist/app/charts/d3types.js.map +1 -1
- package/dist/app/charts/datasources/StreamingDataSource.d.ts +149 -0
- package/dist/app/charts/datasources/StreamingDataSource.d.ts.map +1 -0
- package/dist/app/charts/datasources/StreamingDataSource.js +110 -0
- package/dist/app/charts/datasources/StreamingDataSource.js.map +1 -0
- package/dist/app/charts/datasources/iteratesDataSource.d.ts +73 -0
- package/dist/app/charts/datasources/iteratesDataSource.d.ts.map +1 -0
- package/dist/app/charts/datasources/iteratesDataSource.js +87 -0
- package/dist/app/charts/datasources/iteratesDataSource.js.map +1 -0
- package/dist/app/charts/datasources/ordinalDataSource.d.ts +75 -0
- package/dist/app/charts/datasources/ordinalDataSource.d.ts.map +1 -0
- package/dist/app/charts/datasources/ordinalDataSource.js +135 -0
- package/dist/app/charts/datasources/ordinalDataSource.js.map +1 -0
- package/dist/app/charts/datasources/outlierDataSource.d.ts +53 -0
- package/dist/app/charts/datasources/outlierDataSource.d.ts.map +1 -0
- package/dist/app/charts/datasources/outlierDataSource.js +57 -0
- package/dist/app/charts/datasources/outlierDataSource.js.map +1 -0
- package/dist/app/charts/datasources/timeSeriesDataSource.d.ts +77 -0
- package/dist/app/charts/datasources/timeSeriesDataSource.d.ts.map +1 -0
- package/dist/app/charts/datasources/timeSeriesDataSource.js +85 -0
- package/dist/app/charts/datasources/timeSeriesDataSource.js.map +1 -0
- package/dist/app/charts/filters/regexFilter.d.ts +31 -4
- package/dist/app/charts/filters/regexFilter.d.ts.map +1 -0
- package/dist/app/charts/filters/regexFilter.js +38 -4
- package/dist/app/charts/filters/regexFilter.js.map +1 -1
- package/dist/app/charts/hooks/AxesProvider.d.ts +21 -0
- package/dist/app/charts/hooks/AxesProvider.d.ts.map +1 -0
- package/dist/app/charts/hooks/AxesProvider.js +213 -0
- package/dist/app/charts/hooks/AxesProvider.js.map +1 -0
- package/dist/app/charts/hooks/CanvasSurfaceProvider.d.ts +25 -0
- package/dist/app/charts/hooks/CanvasSurfaceProvider.d.ts.map +1 -0
- package/dist/app/charts/hooks/CanvasSurfaceProvider.js +76 -0
- package/dist/app/charts/hooks/CanvasSurfaceProvider.js.map +1 -0
- package/dist/app/charts/hooks/ChartProvider.d.ts +40 -0
- package/dist/app/charts/hooks/ChartProvider.d.ts.map +1 -0
- package/dist/app/charts/hooks/ChartProvider.js +33 -0
- package/dist/app/charts/hooks/ChartProvider.js.map +1 -0
- package/dist/app/charts/hooks/InteractionProvider.d.ts +23 -0
- package/dist/app/charts/hooks/InteractionProvider.d.ts.map +1 -0
- package/dist/app/charts/hooks/InteractionProvider.js +60 -0
- package/dist/app/charts/hooks/InteractionProvider.js.map +1 -0
- package/dist/app/charts/hooks/PlotDimensionsProvider.d.ts +16 -0
- package/dist/app/charts/hooks/PlotDimensionsProvider.d.ts.map +1 -0
- package/dist/app/charts/hooks/PlotDimensionsProvider.js +76 -0
- package/dist/app/charts/hooks/PlotDimensionsProvider.js.map +1 -0
- package/dist/app/charts/hooks/defaultAxesValues.d.ts +11 -0
- package/dist/app/charts/hooks/defaultAxesValues.d.ts.map +1 -0
- package/dist/app/charts/hooks/defaultAxesValues.js +36 -0
- package/dist/app/charts/hooks/defaultAxesValues.js.map +1 -0
- package/dist/app/charts/hooks/defaultMouseValues.d.ts +9 -0
- package/dist/app/charts/hooks/defaultMouseValues.d.ts.map +1 -0
- package/dist/app/charts/hooks/defaultMouseValues.js +23 -0
- package/dist/app/charts/hooks/defaultMouseValues.js.map +1 -0
- package/dist/app/charts/hooks/defaultPlotDimensions.d.ts +13 -0
- package/dist/app/charts/hooks/defaultPlotDimensions.d.ts.map +1 -0
- package/dist/app/charts/hooks/defaultPlotDimensions.js +23 -0
- package/dist/app/charts/hooks/defaultPlotDimensions.js.map +1 -0
- package/dist/app/charts/hooks/defaultTooltipValues.d.ts +9 -0
- package/dist/app/charts/hooks/defaultTooltipValues.d.ts.map +1 -0
- package/dist/app/charts/hooks/defaultTooltipValues.js +21 -0
- package/dist/app/charts/hooks/defaultTooltipValues.js.map +1 -0
- package/dist/app/charts/hooks/defaultUseChartValues.d.ts +14 -0
- package/dist/app/charts/hooks/defaultUseChartValues.d.ts.map +1 -0
- package/dist/app/charts/hooks/defaultUseChartValues.js +30 -0
- package/dist/app/charts/hooks/defaultUseChartValues.js.map +1 -0
- package/dist/app/charts/hooks/useAxes.d.ts +49 -36
- package/dist/app/charts/hooks/useAxes.d.ts.map +1 -0
- package/dist/app/charts/hooks/useAxes.js +16 -176
- package/dist/app/charts/hooks/useAxes.js.map +1 -1
- package/dist/app/charts/hooks/useCanvasSurface.d.ts +25 -0
- package/dist/app/charts/hooks/useCanvasSurface.d.ts.map +1 -0
- package/dist/app/charts/hooks/useCanvasSurface.js +18 -0
- package/dist/app/charts/hooks/useCanvasSurface.js.map +1 -0
- package/dist/app/charts/hooks/useChart.d.ts +30 -44
- package/dist/app/charts/hooks/useChart.d.ts.map +1 -0
- package/dist/app/charts/hooks/useChart.js +26 -48
- package/dist/app/charts/hooks/useChart.js.map +1 -1
- package/dist/app/charts/hooks/useDataSource.d.ts +68 -0
- package/dist/app/charts/hooks/useDataSource.d.ts.map +1 -0
- package/dist/app/charts/hooks/useDataSource.js +63 -0
- package/dist/app/charts/hooks/useDataSource.js.map +1 -0
- package/dist/app/charts/hooks/useHoveredSeries.d.ts +25 -0
- package/dist/app/charts/hooks/useHoveredSeries.d.ts.map +1 -0
- package/dist/app/charts/hooks/useHoveredSeries.js +15 -0
- package/dist/app/charts/hooks/useHoveredSeries.js.map +1 -0
- package/dist/app/charts/hooks/useMouse.d.ts +46 -22
- package/dist/app/charts/hooks/useMouse.d.ts.map +1 -0
- package/dist/app/charts/hooks/useMouse.js +12 -56
- package/dist/app/charts/hooks/useMouse.js.map +1 -1
- package/dist/app/charts/hooks/usePlotDimensions.d.ts +25 -13
- package/dist/app/charts/hooks/usePlotDimensions.d.ts.map +1 -0
- package/dist/app/charts/hooks/usePlotDimensions.js +6 -62
- package/dist/app/charts/hooks/usePlotDimensions.js.map +1 -1
- package/dist/app/charts/hooks/useTooltip.d.ts +24 -26
- package/dist/app/charts/hooks/useTooltip.d.ts.map +1 -0
- package/dist/app/charts/hooks/useTooltip.js +12 -42
- package/dist/app/charts/hooks/useTooltip.js.map +1 -1
- package/dist/app/charts/index.d.ts +66 -0
- package/dist/app/charts/index.d.ts.map +1 -0
- package/dist/app/charts/index.js +87 -0
- package/dist/app/charts/index.js.map +1 -0
- package/dist/app/charts/legends/Legend.d.ts +33 -12
- package/dist/app/charts/legends/Legend.d.ts.map +1 -0
- package/dist/app/charts/legends/Legend.js +138 -379
- package/dist/app/charts/legends/Legend.js.map +1 -1
- package/dist/app/charts/legends/constants.d.ts +19 -0
- package/dist/app/charts/legends/constants.d.ts.map +1 -0
- package/dist/app/charts/legends/constants.js +34 -0
- package/dist/app/charts/legends/constants.js.map +1 -0
- package/dist/app/charts/observables/ChartData.d.ts +1 -0
- package/dist/app/charts/observables/ChartData.d.ts.map +1 -0
- package/dist/app/charts/observables/iterates.d.ts +13 -7
- package/dist/app/charts/observables/iterates.d.ts.map +1 -0
- package/dist/app/charts/observables/iterates.js +42 -9
- package/dist/app/charts/observables/iterates.js.map +1 -1
- package/dist/app/charts/observables/ordinals.d.ts +70 -12
- package/dist/app/charts/observables/ordinals.d.ts.map +1 -0
- package/dist/app/charts/observables/ordinals.js +127 -48
- package/dist/app/charts/observables/ordinals.js.map +1 -1
- package/dist/app/charts/observables/outliers.d.ts +18 -0
- package/dist/app/charts/observables/outliers.d.ts.map +1 -0
- package/dist/app/charts/observables/outliers.js +2 -0
- package/dist/app/charts/observables/outliers.js.map +1 -0
- package/dist/app/charts/plots/BarPlot.d.ts +87 -13
- package/dist/app/charts/plots/BarPlot.d.ts.map +1 -0
- package/dist/app/charts/plots/BarPlot.js +603 -356
- package/dist/app/charts/plots/BarPlot.js.map +1 -1
- package/dist/app/charts/plots/OutlierPlot.d.ts +123 -0
- package/dist/app/charts/plots/OutlierPlot.d.ts.map +1 -0
- package/dist/app/charts/plots/OutlierPlot.js +430 -0
- package/dist/app/charts/plots/OutlierPlot.js.map +1 -0
- package/dist/app/charts/plots/PoincarePlot.d.ts +92 -14
- package/dist/app/charts/plots/PoincarePlot.d.ts.map +1 -0
- package/dist/app/charts/plots/PoincarePlot.js +523 -364
- package/dist/app/charts/plots/PoincarePlot.js.map +1 -1
- package/dist/app/charts/plots/RasterPlot.d.ts +31 -10
- package/dist/app/charts/plots/RasterPlot.d.ts.map +1 -0
- package/dist/app/charts/plots/RasterPlot.js +198 -306
- package/dist/app/charts/plots/RasterPlot.js.map +1 -1
- package/dist/app/charts/plots/ScatterPlot.d.ts +77 -21
- package/dist/app/charts/plots/ScatterPlot.d.ts.map +1 -0
- package/dist/app/charts/plots/ScatterPlot.js +359 -302
- package/dist/app/charts/plots/ScatterPlot.js.map +1 -1
- package/dist/app/charts/plots/autoScaleYAxes.d.ts +43 -0
- package/dist/app/charts/plots/autoScaleYAxes.d.ts.map +1 -0
- package/dist/app/charts/plots/autoScaleYAxes.js +71 -0
- package/dist/app/charts/plots/autoScaleYAxes.js.map +1 -0
- package/dist/app/charts/plots/colorizedLine.d.ts +61 -0
- package/dist/app/charts/plots/colorizedLine.d.ts.map +1 -0
- package/dist/app/charts/plots/colorizedLine.js +157 -0
- package/dist/app/charts/plots/colorizedLine.js.map +1 -0
- package/dist/app/charts/plots/constants.d.ts +7 -0
- package/dist/app/charts/plots/constants.d.ts.map +1 -0
- package/dist/app/charts/plots/constants.js +11 -0
- package/dist/app/charts/plots/constants.js.map +1 -0
- package/dist/app/charts/plots/hitTesting.d.ts +88 -0
- package/dist/app/charts/plots/hitTesting.d.ts.map +1 -0
- package/dist/app/charts/plots/hitTesting.js +136 -0
- package/dist/app/charts/plots/hitTesting.js.map +1 -0
- package/dist/app/charts/plots/plot.d.ts +52 -16
- package/dist/app/charts/plots/plot.d.ts.map +1 -0
- package/dist/app/charts/plots/plot.js +108 -35
- package/dist/app/charts/plots/plot.js.map +1 -1
- package/dist/app/charts/plots/useCanvasZoomPan.d.ts +119 -0
- package/dist/app/charts/plots/useCanvasZoomPan.d.ts.map +1 -0
- package/dist/app/charts/plots/useCanvasZoomPan.js +113 -0
- package/dist/app/charts/plots/useCanvasZoomPan.js.map +1 -0
- package/dist/app/charts/plots/useStreamingTimeAxes.d.ts +103 -0
- package/dist/app/charts/plots/useStreamingTimeAxes.d.ts.map +1 -0
- package/dist/app/charts/plots/useStreamingTimeAxes.js +257 -0
- package/dist/app/charts/plots/useStreamingTimeAxes.js.map +1 -0
- package/dist/app/charts/series/baseSeries.d.ts +60 -8
- package/dist/app/charts/series/baseSeries.d.ts.map +1 -0
- package/dist/app/charts/series/baseSeries.js +53 -8
- package/dist/app/charts/series/baseSeries.js.map +1 -1
- package/dist/app/charts/series/iterateSeries.d.ts +9 -8
- package/dist/app/charts/series/iterateSeries.d.ts.map +1 -0
- package/dist/app/charts/series/iterateSeries.js +7 -7
- package/dist/app/charts/series/iterateSeries.js.map +1 -1
- package/dist/app/charts/series/ordinalSeries.d.ts +27 -13
- package/dist/app/charts/series/ordinalSeries.d.ts.map +1 -0
- package/dist/app/charts/series/ordinalSeries.js +29 -15
- package/dist/app/charts/series/ordinalSeries.js.map +1 -1
- package/dist/app/charts/series/outlierSeries.d.ts +142 -0
- package/dist/app/charts/series/outlierSeries.d.ts.map +1 -0
- package/dist/app/charts/series/outlierSeries.js +82 -0
- package/dist/app/charts/series/outlierSeries.js.map +1 -0
- package/dist/app/charts/series/timeSeries.d.ts +13 -9
- package/dist/app/charts/series/timeSeries.d.ts.map +1 -0
- package/dist/app/charts/series/timeSeries.js +6 -3
- package/dist/app/charts/series/timeSeries.js.map +1 -1
- package/dist/app/charts/series/timeSeriesChartData.d.ts +18 -10
- package/dist/app/charts/series/timeSeriesChartData.d.ts.map +1 -0
- package/dist/app/charts/series/timeSeriesChartData.js +28 -14
- package/dist/app/charts/series/timeSeriesChartData.js.map +1 -1
- package/dist/app/charts/styling/barPlotStyle.d.ts +46 -2
- package/dist/app/charts/styling/barPlotStyle.d.ts.map +1 -0
- package/dist/app/charts/styling/barPlotStyle.js +37 -3
- package/dist/app/charts/styling/barPlotStyle.js.map +1 -1
- package/dist/app/charts/styling/canvasStyle.d.ts +53 -0
- package/dist/app/charts/styling/canvasStyle.d.ts.map +1 -0
- package/dist/app/charts/styling/canvasStyle.js +71 -0
- package/dist/app/charts/styling/canvasStyle.js.map +1 -0
- package/dist/app/charts/styling/margins.d.ts +21 -2
- package/dist/app/charts/styling/margins.d.ts.map +1 -0
- package/dist/app/charts/styling/margins.js +25 -4
- package/dist/app/charts/styling/margins.js.map +1 -1
- package/dist/app/charts/styling/svgStyle.d.ts +10 -56
- package/dist/app/charts/styling/svgStyle.d.ts.map +1 -0
- package/dist/app/charts/styling/svgStyle.js +3 -78
- package/dist/app/charts/styling/svgStyle.js.map +1 -1
- package/dist/app/charts/subscriptions/viewDrivers.d.ts +124 -0
- package/dist/app/charts/subscriptions/viewDrivers.d.ts.map +1 -0
- package/dist/app/charts/subscriptions/viewDrivers.js +338 -0
- package/dist/app/charts/subscriptions/viewDrivers.js.map +1 -0
- package/dist/app/charts/tooltips/BarPlotTooltipContent.d.ts +12 -78
- package/dist/app/charts/tooltips/BarPlotTooltipContent.d.ts.map +1 -0
- package/dist/app/charts/tooltips/BarPlotTooltipContent.js +65 -257
- package/dist/app/charts/tooltips/BarPlotTooltipContent.js.map +1 -1
- package/dist/app/charts/tooltips/DefaultOutlierTooltipContent.d.ts +9 -0
- package/dist/app/charts/tooltips/DefaultOutlierTooltipContent.d.ts.map +1 -0
- package/dist/app/charts/tooltips/DefaultOutlierTooltipContent.js +16 -0
- package/dist/app/charts/tooltips/DefaultOutlierTooltipContent.js.map +1 -0
- package/dist/app/charts/tooltips/OutlierPlotTooltipContent.d.ts +30 -0
- package/dist/app/charts/tooltips/OutlierPlotTooltipContent.d.ts.map +1 -0
- package/dist/app/charts/tooltips/OutlierPlotTooltipContent.js +26 -0
- package/dist/app/charts/tooltips/OutlierPlotTooltipContent.js.map +1 -0
- package/dist/app/charts/tooltips/PoincarePlotTooltipContent.d.ts +22 -72
- package/dist/app/charts/tooltips/PoincarePlotTooltipContent.d.ts.map +1 -0
- package/dist/app/charts/tooltips/PoincarePlotTooltipContent.js +104 -171
- package/dist/app/charts/tooltips/PoincarePlotTooltipContent.js.map +1 -1
- package/dist/app/charts/tooltips/RasterPlotTooltipContent.d.ts +32 -8
- package/dist/app/charts/tooltips/RasterPlotTooltipContent.d.ts.map +1 -0
- package/dist/app/charts/tooltips/RasterPlotTooltipContent.js +62 -115
- package/dist/app/charts/tooltips/RasterPlotTooltipContent.js.map +1 -1
- package/dist/app/charts/tooltips/ScatterPlotTooltipContent.d.ts +39 -12
- package/dist/app/charts/tooltips/ScatterPlotTooltipContent.d.ts.map +1 -0
- package/dist/app/charts/tooltips/ScatterPlotTooltipContent.js +162 -134
- package/dist/app/charts/tooltips/ScatterPlotTooltipContent.js.map +1 -1
- package/dist/app/charts/tooltips/Tooltip.d.ts +27 -32
- package/dist/app/charts/tooltips/Tooltip.d.ts.map +1 -0
- package/dist/app/charts/tooltips/Tooltip.js +37 -81
- package/dist/app/charts/tooltips/Tooltip.js.map +1 -1
- package/dist/app/charts/tooltips/TooltipContent.d.ts +81 -0
- package/dist/app/charts/tooltips/TooltipContent.d.ts.map +1 -0
- package/dist/app/charts/tooltips/TooltipContent.js +99 -0
- package/dist/app/charts/tooltips/TooltipContent.js.map +1 -0
- package/dist/app/charts/tooltips/tooltipUtils.d.ts +186 -36
- package/dist/app/charts/tooltips/tooltipUtils.d.ts.map +1 -0
- package/dist/app/charts/tooltips/tooltipUtils.js +277 -48
- package/dist/app/charts/tooltips/tooltipUtils.js.map +1 -1
- package/dist/app/charts/tooltips/useOutlierTooltip.d.ts +59 -0
- package/dist/app/charts/tooltips/useOutlierTooltip.d.ts.map +1 -0
- package/dist/app/charts/tooltips/useOutlierTooltip.js +16 -0
- package/dist/app/charts/tooltips/useOutlierTooltip.js.map +1 -0
- package/dist/app/charts/tooltips/useTooltipPlacement.d.ts +51 -0
- package/dist/app/charts/tooltips/useTooltipPlacement.d.ts.map +1 -0
- package/dist/app/charts/tooltips/useTooltipPlacement.js +52 -0
- package/dist/app/charts/tooltips/useTooltipPlacement.js.map +1 -0
- package/dist/app/charts/tooltips/useTooltipStyle.d.ts +11 -0
- package/dist/app/charts/tooltips/useTooltipStyle.d.ts.map +1 -0
- package/dist/app/charts/tooltips/useTooltipStyle.js +14 -0
- package/dist/app/charts/tooltips/useTooltipStyle.js.map +1 -0
- package/dist/app/charts/trackers/Tracker.d.ts +22 -6
- package/dist/app/charts/trackers/Tracker.d.ts.map +1 -0
- package/dist/app/charts/trackers/Tracker.js +36 -22
- package/dist/app/charts/trackers/Tracker.js.map +1 -1
- package/dist/app/charts/trackers/trackerUtils.d.ts +40 -18
- package/dist/app/charts/trackers/trackerUtils.d.ts.map +1 -0
- package/dist/app/charts/trackers/trackerUtils.js +213 -300
- package/dist/app/charts/trackers/trackerUtils.js.map +1 -1
- package/dist/app/charts/utils.d.ts +72 -33
- package/dist/app/charts/utils.d.ts.map +1 -0
- package/dist/app/charts/utils.js +87 -42
- package/dist/app/charts/utils.js.map +1 -1
- package/dist/index.d.ts +2 -45
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +2 -72
- package/dist/index.js.map +1 -1
- package/package.json +87 -46
- package/src/app/charts/Chart.tsx +132 -168
- package/src/app/charts/axes/AxesState.ts +27 -29
- package/src/app/charts/axes/AxisInterval.ts +57 -32
- package/src/app/charts/axes/BaseAxisRange.ts +47 -27
- package/src/app/charts/axes/ContinuousAxis.tsx +235 -39
- package/src/app/charts/axes/ContinuousAxisRange.ts +29 -11
- package/src/app/charts/axes/EmptyAxis.tsx +52 -17
- package/src/app/charts/axes/OrdinalAxis.tsx +54 -28
- package/src/app/charts/axes/OrdinalAxisRange.ts +96 -16
- package/src/app/charts/axes/autoScale.ts +244 -0
- package/src/app/charts/axes/axes.ts +954 -735
- package/src/app/charts/d3types.ts +42 -13
- package/src/app/charts/datasources/StreamingDataSource.ts +214 -0
- package/src/app/charts/datasources/iteratesDataSource.ts +122 -0
- package/src/app/charts/datasources/ordinalDataSource.ts +205 -0
- package/src/app/charts/datasources/outlierDataSource.ts +90 -0
- package/src/app/charts/datasources/timeSeriesDataSource.ts +133 -0
- package/src/app/charts/filters/regexFilter.ts +45 -5
- package/src/app/charts/hooks/AxesProvider.tsx +301 -0
- package/src/app/charts/hooks/CanvasSurfaceProvider.tsx +117 -0
- package/src/app/charts/hooks/ChartProvider.tsx +79 -0
- package/src/app/charts/hooks/InteractionProvider.tsx +88 -0
- package/src/app/charts/hooks/PlotDimensionsProvider.tsx +109 -0
- package/src/app/charts/hooks/defaultAxesValues.ts +40 -0
- package/src/app/charts/hooks/defaultMouseValues.ts +24 -0
- package/src/app/charts/hooks/defaultPlotDimensions.ts +27 -0
- package/src/app/charts/hooks/defaultTooltipValues.tsx +23 -0
- package/src/app/charts/hooks/defaultUseChartValues.tsx +36 -0
- package/src/app/charts/hooks/useAxes.tsx +60 -228
- package/src/app/charts/hooks/useCanvasSurface.tsx +35 -0
- package/src/app/charts/hooks/useChart.tsx +47 -106
- package/src/app/charts/hooks/useDataSource.tsx +106 -0
- package/src/app/charts/hooks/useHoveredSeries.tsx +33 -0
- package/src/app/charts/hooks/useMouse.tsx +58 -82
- package/src/app/charts/hooks/usePlotDimensions.tsx +25 -89
- package/src/app/charts/hooks/useTooltip.tsx +32 -63
- package/src/app/charts/index.ts +213 -0
- package/src/app/charts/legends/Legend.tsx +198 -479
- package/src/app/charts/legends/constants.ts +37 -0
- package/src/app/charts/observables/iterates.ts +32 -12
- package/src/app/charts/observables/ordinals.ts +141 -67
- package/src/app/charts/observables/outliers.ts +20 -0
- package/src/app/charts/plots/BarPlot.tsx +784 -666
- package/src/app/charts/plots/OutlierPlot.tsx +685 -0
- package/src/app/charts/plots/PoincarePlot.tsx +707 -489
- package/src/app/charts/plots/RasterPlot.tsx +253 -445
- package/src/app/charts/plots/ScatterPlot.tsx +480 -463
- package/src/app/charts/plots/autoScaleYAxes.ts +102 -0
- package/src/app/charts/plots/colorizedLine.ts +185 -0
- package/src/app/charts/plots/constants.ts +16 -0
- package/src/app/charts/plots/hitTesting.ts +198 -0
- package/src/app/charts/plots/plot.ts +138 -44
- package/src/app/charts/plots/useCanvasZoomPan.ts +240 -0
- package/src/app/charts/plots/useStreamingTimeAxes.ts +384 -0
- package/src/app/charts/series/baseSeries.ts +81 -14
- package/src/app/charts/series/iterateSeries.ts +8 -8
- package/src/app/charts/series/ordinalSeries.ts +35 -20
- package/src/app/charts/series/outlierSeries.ts +188 -0
- package/src/app/charts/series/timeSeries.ts +14 -12
- package/src/app/charts/series/timeSeriesChartData.ts +31 -17
- package/src/app/charts/styling/barPlotStyle.ts +48 -5
- package/src/app/charts/styling/canvasStyle.ts +86 -0
- package/src/app/charts/styling/margins.ts +28 -4
- package/src/app/charts/styling/svgStyle.ts +10 -91
- package/src/app/charts/subscriptions/viewDrivers.ts +447 -0
- package/src/app/charts/tooltips/BarPlotTooltipContent.tsx +156 -380
- package/src/app/charts/tooltips/DefaultOutlierTooltipContent.tsx +40 -0
- package/src/app/charts/tooltips/OutlierPlotTooltipContent.tsx +67 -0
- package/src/app/charts/tooltips/PoincarePlotTooltipContent.tsx +229 -292
- package/src/app/charts/tooltips/RasterPlotTooltipContent.tsx +164 -217
- package/src/app/charts/tooltips/ScatterPlotTooltipContent.tsx +373 -236
- package/src/app/charts/tooltips/Tooltip.tsx +58 -124
- package/src/app/charts/tooltips/TooltipContent.tsx +177 -0
- package/src/app/charts/tooltips/tooltipUtils.ts +359 -61
- package/src/app/charts/tooltips/useOutlierTooltip.tsx +68 -0
- package/src/app/charts/tooltips/useTooltipPlacement.ts +86 -0
- package/src/app/charts/tooltips/useTooltipStyle.ts +15 -0
- package/src/app/charts/trackers/Tracker.tsx +68 -33
- package/src/app/charts/trackers/trackerUtils.ts +263 -376
- package/src/app/charts/utils.ts +90 -48
- package/src/index.ts +2 -322
- package/dist/app/charts/axes/AxesState.test.d.ts +0 -1
- package/dist/app/charts/axes/AxesState.test.js +0 -30
- package/dist/app/charts/axes/AxesState.test.js.map +0 -1
- package/dist/app/charts/axes/AxisInterval.test.d.ts +0 -1
- package/dist/app/charts/axes/AxisInterval.test.js +0 -120
- package/dist/app/charts/axes/AxisInterval.test.js.map +0 -1
- package/dist/app/charts/axes/ContinuousAxisRange.test.d.ts +0 -1
- package/dist/app/charts/axes/ContinuousAxisRange.test.js +0 -47
- package/dist/app/charts/axes/ContinuousAxisRange.test.js.map +0 -1
- package/dist/app/charts/axes/OrdinalAxisRange.test.d.ts +0 -1
- package/dist/app/charts/axes/OrdinalAxisRange.test.js +0 -48
- package/dist/app/charts/axes/OrdinalAxisRange.test.js.map +0 -1
- package/dist/app/charts/filters/regexFilter.test.d.ts +0 -1
- package/dist/app/charts/filters/regexFilter.test.js +0 -11
- package/dist/app/charts/filters/regexFilter.test.js.map +0 -1
- package/dist/app/charts/hooks/useDataObservable.d.ts +0 -72
- package/dist/app/charts/hooks/useDataObservable.js +0 -74
- package/dist/app/charts/hooks/useDataObservable.js.map +0 -1
- package/dist/app/charts/hooks/useInitialData.d.ts +0 -36
- package/dist/app/charts/hooks/useInitialData.js +0 -28
- package/dist/app/charts/hooks/useInitialData.js.map +0 -1
- package/dist/app/charts/observables/iterates.test.d.ts +0 -1
- package/dist/app/charts/observables/iterates.test.js +0 -180
- package/dist/app/charts/observables/iterates.test.js.map +0 -1
- package/dist/app/charts/observables/ordinals.test.d.ts +0 -1
- package/dist/app/charts/observables/ordinals.test.js +0 -102
- package/dist/app/charts/observables/ordinals.test.js.map +0 -1
- package/dist/app/charts/series/datumSeries.test.d.ts +0 -1
- package/dist/app/charts/series/datumSeries.test.js +0 -50
- package/dist/app/charts/series/datumSeries.test.js.map +0 -1
- package/dist/app/charts/styling/margins.test.d.ts +0 -1
- package/dist/app/charts/styling/margins.test.js +0 -19
- package/dist/app/charts/styling/margins.test.js.map +0 -1
- package/dist/app/charts/subscriptions/subscription.test.d.ts +0 -1
- package/dist/app/charts/subscriptions/subscription.test.js +0 -395
- package/dist/app/charts/subscriptions/subscription.test.js.map +0 -1
- package/dist/app/charts/subscriptions/subscriptions.d.ts +0 -100
- package/dist/app/charts/subscriptions/subscriptions.js +0 -449
- package/dist/app/charts/subscriptions/subscriptions.js.map +0 -1
- package/src/app/charts/axes/AxesState.test.ts +0 -34
- package/src/app/charts/axes/AxisInterval.test.ts +0 -143
- package/src/app/charts/axes/ContinuousAxisRange.test.ts +0 -55
- package/src/app/charts/axes/OrdinalAxisRange.test.ts +0 -55
- package/src/app/charts/filters/regexFilter.test.ts +0 -13
- package/src/app/charts/hooks/useDataObservable.tsx +0 -170
- package/src/app/charts/hooks/useInitialData.tsx +0 -64
- package/src/app/charts/observables/iterates.test.ts +0 -201
- package/src/app/charts/observables/ordinals.test.ts +0 -135
- package/src/app/charts/series/datumSeries.test.ts +0 -60
- package/src/app/charts/styling/margins.test.ts +0 -22
- package/src/app/charts/subscriptions/subscription.test.ts +0 -499
- package/src/app/charts/subscriptions/subscriptions.ts +0 -635
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"subscriptions.js","sourceRoot":"","sources":["../../../../src/app/charts/subscriptions/subscriptions.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import {AxesState} from "./AxesState";
|
|
2
|
-
import {AxisLocation, BaseAxis} from "./axes";
|
|
3
|
-
import {AxisElementSelection} from "../d3types";
|
|
4
|
-
|
|
5
|
-
describe('AxesState', () => {
|
|
6
|
-
describe('creating axes-state', () => {
|
|
7
|
-
it('should create an empty axes state', () => {
|
|
8
|
-
expect(AxesState.empty<BaseAxis>().isEmpty()).toBe(true)
|
|
9
|
-
});
|
|
10
|
-
|
|
11
|
-
it('should create an axes state with one axis', () => {
|
|
12
|
-
const axis: BaseAxis = {
|
|
13
|
-
axisId: 'new-axis',
|
|
14
|
-
location: AxisLocation.Bottom,
|
|
15
|
-
selection: undefined as unknown as AxisElementSelection
|
|
16
|
-
}
|
|
17
|
-
const axesState = AxesState.from<BaseAxis>(new Map([['new-added-axis', axis]]));
|
|
18
|
-
expect(axesState.isEmpty()).toBe(false);
|
|
19
|
-
})
|
|
20
|
-
|
|
21
|
-
it('should be able to start with an empty axes state and add to it', () => {
|
|
22
|
-
const axesState = AxesState.empty<BaseAxis>();
|
|
23
|
-
expect(axesState.isEmpty()).toBe(true);
|
|
24
|
-
|
|
25
|
-
const axis: BaseAxis = {
|
|
26
|
-
axisId: 'new-axis',
|
|
27
|
-
location: AxisLocation.Bottom,
|
|
28
|
-
selection: undefined as unknown as AxisElementSelection
|
|
29
|
-
}
|
|
30
|
-
const updatedAxesState = axesState.addAxis(axis, 'new-added-axis');
|
|
31
|
-
expect(updatedAxesState.isEmpty()).toBe(false);
|
|
32
|
-
})
|
|
33
|
-
})
|
|
34
|
-
})
|
|
@@ -1,143 +0,0 @@
|
|
|
1
|
-
import {AxisInterval, copyRangeMap} from "./AxisInterval";
|
|
2
|
-
|
|
3
|
-
describe('AxisInterval', () => {
|
|
4
|
-
|
|
5
|
-
describe('AxisInterval creation', () => {
|
|
6
|
-
it('should create an AxisInterval with valid start and end values', () => {
|
|
7
|
-
const interval = AxisInterval.from(1, 5);
|
|
8
|
-
expect(interval.start).toBe(1);
|
|
9
|
-
expect(interval.end).toBe(5);
|
|
10
|
-
});
|
|
11
|
-
|
|
12
|
-
it('should create an AxisInterval with correct start and end when the start is greater than the end', () => {
|
|
13
|
-
const interval = AxisInterval.from(5, 1);
|
|
14
|
-
expect(interval.start).toBe(1);
|
|
15
|
-
expect(interval.end).toBe(5);
|
|
16
|
-
})
|
|
17
|
-
|
|
18
|
-
it('should create an AxisInterval from a tuple holding start and end values', () => {
|
|
19
|
-
const interval = AxisInterval.as([1, 5]);
|
|
20
|
-
expect(interval.start).toBe(1);
|
|
21
|
-
expect(interval.end).toBe(5);
|
|
22
|
-
})
|
|
23
|
-
|
|
24
|
-
it('should create an empty AxisInterval', () => {
|
|
25
|
-
const interval = AxisInterval.empty();
|
|
26
|
-
expect(interval.start).toBeNaN()
|
|
27
|
-
expect(interval.end).toBeNaN()
|
|
28
|
-
})
|
|
29
|
-
|
|
30
|
-
it('should create an empty AxisInterval with start and end NaN', () => {
|
|
31
|
-
const interval = AxisInterval.from(NaN, NaN);
|
|
32
|
-
expect(interval.start).toBeNaN()
|
|
33
|
-
expect(interval.end).toBeNaN()
|
|
34
|
-
})
|
|
35
|
-
|
|
36
|
-
it('should create a new copy of an existing AxisInterval', () => {
|
|
37
|
-
const interval = AxisInterval.from(1, 5);
|
|
38
|
-
const copy = interval.copy();
|
|
39
|
-
expect(copy.start).toBe(1);
|
|
40
|
-
expect(copy.end).toBe(5);
|
|
41
|
-
expect(copy).not.toBe(interval);
|
|
42
|
-
})
|
|
43
|
-
})
|
|
44
|
-
|
|
45
|
-
describe('AxisInterval comparison', () => {
|
|
46
|
-
const interval1 = AxisInterval.from(1, 5);
|
|
47
|
-
const interval2 = AxisInterval.from(1, 5);
|
|
48
|
-
const interval3 = AxisInterval.from(2, 5);
|
|
49
|
-
const emptyInterval = AxisInterval.empty();
|
|
50
|
-
|
|
51
|
-
it('should return true when comparing two AxisIntervals with the same start and end values', () => {
|
|
52
|
-
expect(interval1.equals(interval2)).toBe(true)
|
|
53
|
-
expect(interval1.equalsInterval(1, 5)).toBe(true)
|
|
54
|
-
});
|
|
55
|
-
|
|
56
|
-
it('should return not-equal when comparing two AxisIntervals with different start and end values', () => {
|
|
57
|
-
expect(interval1.equals(interval3)).toBe(false)
|
|
58
|
-
expect(interval1.equalsInterval(1, 3)).toBe(false)
|
|
59
|
-
})
|
|
60
|
-
|
|
61
|
-
it('should return true when comparing two empty intervals', () => {
|
|
62
|
-
expect(AxisInterval.empty().equals(emptyInterval)).toBe(true)
|
|
63
|
-
})
|
|
64
|
-
})
|
|
65
|
-
|
|
66
|
-
describe('AxisInterval conversion', () => {
|
|
67
|
-
it('should convert an AxisInterval to a tuple', () => {
|
|
68
|
-
const interval = AxisInterval.from(1, 5);
|
|
69
|
-
const tuple = interval.asTuple();
|
|
70
|
-
expect(tuple).toEqual([1, 5]);
|
|
71
|
-
})
|
|
72
|
-
|
|
73
|
-
it('should map an AxisInterval to a new AxisInterval', () => {
|
|
74
|
-
const interval = AxisInterval.from(1, 5)
|
|
75
|
-
const mappedInterval = interval.map((start, end) => ([start * 2, end * 3]))
|
|
76
|
-
|
|
77
|
-
expect(mappedInterval.start).toBe(2);
|
|
78
|
-
expect(mappedInterval.end).toBe(15);
|
|
79
|
-
expect(mappedInterval).not.toBe(interval);
|
|
80
|
-
})
|
|
81
|
-
|
|
82
|
-
it('should calculate the measure of an AxisInterval', () => {
|
|
83
|
-
const interval = AxisInterval.from(1, 5)
|
|
84
|
-
expect(interval.measure()).toBe(4);
|
|
85
|
-
})
|
|
86
|
-
|
|
87
|
-
it('should calculate the measure of an empty AxisInterval', () => {
|
|
88
|
-
const interval = AxisInterval.empty()
|
|
89
|
-
expect(interval.measure()).toBe(0);
|
|
90
|
-
})
|
|
91
|
-
|
|
92
|
-
it('should translate the start of the AxisInterval', () => {
|
|
93
|
-
const interval = AxisInterval.from(1, 5)
|
|
94
|
-
const translatedInterval = interval.translateStart(12)
|
|
95
|
-
expect(translatedInterval.start).toBe(5);
|
|
96
|
-
expect(translatedInterval.end).toBe(13);
|
|
97
|
-
expect(translatedInterval).not.toBe(interval);
|
|
98
|
-
})
|
|
99
|
-
|
|
100
|
-
it('should translate the start of an empty interval into an empty interval', () => {
|
|
101
|
-
expect(AxisInterval.empty().translateStart(12)).toEqual(AxisInterval.empty())
|
|
102
|
-
})
|
|
103
|
-
|
|
104
|
-
it('should translate the end of the AxisInterval', () => {
|
|
105
|
-
const interval = AxisInterval.from(1, 5)
|
|
106
|
-
const translatedInterval = interval.translateEnd(-12)
|
|
107
|
-
expect(translatedInterval.start).toBe(-7);
|
|
108
|
-
expect(translatedInterval.end).toBe(1);
|
|
109
|
-
expect(translatedInterval).not.toBe(interval);
|
|
110
|
-
})
|
|
111
|
-
|
|
112
|
-
it('should translate the end of an empty interval into an empty interval', () => {
|
|
113
|
-
expect(AxisInterval.empty().translateEnd(12)).toEqual(AxisInterval.empty())
|
|
114
|
-
})
|
|
115
|
-
|
|
116
|
-
it('should translate an AxisInterval', () => {
|
|
117
|
-
const interval = AxisInterval.from(1, 5)
|
|
118
|
-
const translatedInterval = interval.translate(-12)
|
|
119
|
-
expect(translatedInterval.start).toBe(-11);
|
|
120
|
-
expect(translatedInterval.end).toBe(-7);
|
|
121
|
-
expect(translatedInterval).not.toBe(interval);
|
|
122
|
-
})
|
|
123
|
-
|
|
124
|
-
it('should translate an empty interval into an empty interval', () => {
|
|
125
|
-
expect(AxisInterval.empty().translate(12)).toEqual(AxisInterval.empty())
|
|
126
|
-
})
|
|
127
|
-
})
|
|
128
|
-
|
|
129
|
-
describe('Copy a range map', () => {
|
|
130
|
-
it('should create a copy of a range map', () => {
|
|
131
|
-
const ranges = new Map<string, AxisInterval>([
|
|
132
|
-
['a', AxisInterval.from(1, 5)],
|
|
133
|
-
['b', AxisInterval.from(10, 20)]
|
|
134
|
-
])
|
|
135
|
-
const copy = copyRangeMap(ranges)
|
|
136
|
-
|
|
137
|
-
expect(copy).not.toBe(ranges)
|
|
138
|
-
expect(copy.size).toBe(ranges.size)
|
|
139
|
-
expect(copy.get('a')).toEqual(ranges.get('a'))
|
|
140
|
-
expect(copy.get('b')).toEqual(ranges.get('b'))
|
|
141
|
-
})
|
|
142
|
-
})
|
|
143
|
-
})
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
import {ContinuousAxisRange} from "./ContinuousAxisRange";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
test('creates a time-range', () => {
|
|
5
|
-
const timeRange = ContinuousAxisRange.from(10, 100);
|
|
6
|
-
expect(timeRange.current).toEqual({start: 10, end: 100});
|
|
7
|
-
expect(timeRange.scaleFactor).toBe(1);
|
|
8
|
-
});
|
|
9
|
-
|
|
10
|
-
test('scaling a time-range', () => {
|
|
11
|
-
const timeRange = ContinuousAxisRange.from(0, 100).scale(2, 50);
|
|
12
|
-
// the midpoint must remain at 50, so the new range will be 50 - 2 * (50 - 0) to
|
|
13
|
-
// 50 + 2 * (100 - 50) => (-50, 150)
|
|
14
|
-
expect(timeRange.current).toEqual({start: -50, end: 150})
|
|
15
|
-
expect(timeRange.scaleFactor).toBe(2);
|
|
16
|
-
|
|
17
|
-
// setting the scale factor back to 1, from its current value of 2 should
|
|
18
|
-
// return the original time-range (this may be a bit unintuitive, because it
|
|
19
|
-
// may seem like we should pass in a factor of 0.5 to shrink the scale back, but
|
|
20
|
-
// that would mean the new interval has a scale factor 4 times smaller.)
|
|
21
|
-
// this behavior is implemented so that zooming in at out from a point seems
|
|
22
|
-
// natural to the user.
|
|
23
|
-
const original = timeRange.scale(1, 50);
|
|
24
|
-
expect(original.current).toEqual({start: 0, end: 100});
|
|
25
|
-
expect(original.scaleFactor).toBe(1);
|
|
26
|
-
// the original shouldn't be changed
|
|
27
|
-
expect(timeRange.current).toEqual({start: -50, end: 150});
|
|
28
|
-
expect(timeRange.scaleFactor).toBe(2);
|
|
29
|
-
});
|
|
30
|
-
|
|
31
|
-
test('translating a time-range', () => {
|
|
32
|
-
const timeRange = ContinuousAxisRange.from(0, 100).translate(50);
|
|
33
|
-
expect(timeRange.current).toEqual({start: 50, end: 150});
|
|
34
|
-
expect(timeRange.scaleFactor).toBe(1);
|
|
35
|
-
});
|
|
36
|
-
|
|
37
|
-
test('scaling and translating', () => {
|
|
38
|
-
const original = ContinuousAxisRange.from(0, 100);
|
|
39
|
-
const scaled = original.scale(2, 50);
|
|
40
|
-
const translated = scaled.translate(50);
|
|
41
|
-
|
|
42
|
-
expect(translated.current).toEqual({start: 0, end: 200});
|
|
43
|
-
expect(translated.scaleFactor).toBe(2);
|
|
44
|
-
|
|
45
|
-
// after the translation, the time-range should shrink around the new time
|
|
46
|
-
const rescaled = translated.scale(1, 100);
|
|
47
|
-
expect(rescaled.current).toEqual({start: 50, end: 150});
|
|
48
|
-
expect(rescaled.scaleFactor).toBe(1);
|
|
49
|
-
|
|
50
|
-
// the original interval, maintained by each new time-range, should not change
|
|
51
|
-
expect(original.matchesOriginal(0, 100)).toEqual(true);
|
|
52
|
-
expect(scaled.matchesOriginal(0, 100)).toEqual(true);
|
|
53
|
-
expect(translated.matchesOriginal(0, 100)).toEqual(true);
|
|
54
|
-
expect(rescaled.matchesOriginal(0, 100)).toEqual(true);
|
|
55
|
-
});
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
import {OrdinalAxisRange} from './OrdinalAxisRange';
|
|
2
|
-
|
|
3
|
-
describe('scaleOrdinalBounds', () => {
|
|
4
|
-
function validateRanges(actualRanges: OrdinalAxisRange, expectedRanges: OrdinalAxisRange): void {
|
|
5
|
-
const {current: actualRange, original: actualOriginal} = actualRanges
|
|
6
|
-
|
|
7
|
-
expect(actualRange.start).toBeCloseTo(expectedRanges.current.start)
|
|
8
|
-
expect(actualRange.end).toBeCloseTo(expectedRanges.current.end)
|
|
9
|
-
expect(actualOriginal.start).toBe(expectedRanges.original.start)
|
|
10
|
-
expect(actualOriginal.end).toBe(expectedRanges.original.end)
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
function calculateScale(ranges: OrdinalAxisRange): number {
|
|
14
|
-
return ranges.currentDistance / ranges.originalDistance
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
/**
|
|
18
|
-
* Ranges before and after zoom should have the same scale as calculated by the
|
|
19
|
-
* measure of the zoomed range divided by the measure of the original range.
|
|
20
|
-
* @param previousRanges The ranges before the zoom
|
|
21
|
-
* @param currentRanges The ranges after the zoom
|
|
22
|
-
*/
|
|
23
|
-
function validateScale(previousRanges: OrdinalAxisRange, currentRanges: OrdinalAxisRange): void {
|
|
24
|
-
expect(Math.abs(calculateScale(previousRanges) - calculateScale(currentRanges))).toBeLessThan(1e-10)
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
it('should scale bounds and original bounds the same when they are both the same', () => {
|
|
28
|
-
const expectedRange = OrdinalAxisRange.from(0, 200, 0, 200)
|
|
29
|
-
const range = OrdinalAxisRange.from(0, 100, 0, 100)
|
|
30
|
-
const zoomedRange = range.zoom(100, 200)
|
|
31
|
-
validateRanges(zoomedRange, expectedRange)
|
|
32
|
-
validateScale(range, zoomedRange)
|
|
33
|
-
})
|
|
34
|
-
|
|
35
|
-
it('should scale bounds and original bounds when ordinal axis is zoomed by 10 percent', () => {
|
|
36
|
-
const expectedRange = OrdinalAxisRange.from(-55, 220, 0, 110)
|
|
37
|
-
const range = OrdinalAxisRange.from(-50, 200, 0, 100)
|
|
38
|
-
const zoomedRange = range.zoom(100, 110)
|
|
39
|
-
validateRanges(zoomedRange, expectedRange)
|
|
40
|
-
})
|
|
41
|
-
|
|
42
|
-
it('should scale bounds and original bounds when ordinal axis is zoomed by 500 percent', () => {
|
|
43
|
-
const expectedRange = OrdinalAxisRange.from(-250, 1000, 0, 500)
|
|
44
|
-
const range = OrdinalAxisRange.from(-50, 200, 0, 100)
|
|
45
|
-
const zoomedRange = range.zoom(100, 500)
|
|
46
|
-
validateRanges(zoomedRange, expectedRange)
|
|
47
|
-
})
|
|
48
|
-
|
|
49
|
-
it('should scale bounds and original bounds when ordinal axis is zoomed by 10 percent and ends are same', () => {
|
|
50
|
-
const expectedRange = OrdinalAxisRange.from(-750, 500, 0, 500)
|
|
51
|
-
const range = OrdinalAxisRange.from(-150, 100, 0, 100)
|
|
52
|
-
const zoomedRange = range.zoom(100, 500)
|
|
53
|
-
validateRanges(zoomedRange, expectedRange)
|
|
54
|
-
})
|
|
55
|
-
});
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import {regexFilter} from "./regexFilter";
|
|
2
|
-
|
|
3
|
-
test('option should contain a valid regex', () => {
|
|
4
|
-
expect(regexFilter("^[0-9]+$").succeeded).toEqual(true);
|
|
5
|
-
});
|
|
6
|
-
|
|
7
|
-
test('should allow progression of building regex', () => {
|
|
8
|
-
let filter = regexFilter("^[0-9").map(regex => '100a200'.match(regex)!.map(t => t)).getOrUndefined();
|
|
9
|
-
expect(filter).toBeUndefined();
|
|
10
|
-
|
|
11
|
-
filter = regexFilter("^[0-9]+").map(regex => '100a200'.match(regex)!.map(t => t)).getOrUndefined();
|
|
12
|
-
expect(filter).toEqual(['100']);
|
|
13
|
-
});
|
|
@@ -1,170 +0,0 @@
|
|
|
1
|
-
import {createContext, JSX, useContext} from "react";
|
|
2
|
-
import {concat, from, Observable, Subscription} from "rxjs";
|
|
3
|
-
import {ChartData} from "../observables/ChartData";
|
|
4
|
-
import {useInitialData} from "./useInitialData";
|
|
5
|
-
import {BaseSeries} from "../series/baseSeries";
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* No operation function for use when a default function is needed
|
|
9
|
-
*/
|
|
10
|
-
const noop = () => {
|
|
11
|
-
/* empty on purpose */
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
/**
|
|
15
|
-
* The values exposed through the {@link useDataObservable} react hook
|
|
16
|
-
*/
|
|
17
|
-
export interface UseObservableValues<CD extends ChartData, D> {
|
|
18
|
-
/**
|
|
19
|
-
* An observable source for chart data
|
|
20
|
-
*/
|
|
21
|
-
// seriesObservable?: SeriesObservable
|
|
22
|
-
seriesObservable?: Observable<CD>
|
|
23
|
-
/**
|
|
24
|
-
* When `true` the chart will subscribe to the observable, or if already subscribed, will remain
|
|
25
|
-
* subscribed. When `false` the chart will unsubscribe to the observable if subscribed, or will
|
|
26
|
-
* remain unsubscribed if not already subscribed.
|
|
27
|
-
*/
|
|
28
|
-
shouldSubscribe?: boolean
|
|
29
|
-
/**
|
|
30
|
-
* The windowing time for aggregating chart-data events. Defines the update rate of the chart.
|
|
31
|
-
* For example if chart-data events occur every 1 ms, and the windowing time is set to 10 ms,
|
|
32
|
-
* then events will be aggregated for 10 ms, and then the chart will be updated. In this example,
|
|
33
|
-
* the chart would be updated only once per 10 ms.
|
|
34
|
-
*/
|
|
35
|
-
windowingTime?: number
|
|
36
|
-
|
|
37
|
-
/*
|
|
38
|
-
| USER CALLBACK FUNCTIONS
|
|
39
|
-
*/
|
|
40
|
-
/**
|
|
41
|
-
* Callback function that is called when the chart subscribes to the observable
|
|
42
|
-
* @param subscription The subscription resulting form the subscribe action
|
|
43
|
-
*/
|
|
44
|
-
onSubscribe: (subscription: Subscription) => void
|
|
45
|
-
/**
|
|
46
|
-
* Callback function that is called when new data arrives to the chart.
|
|
47
|
-
* @param seriesName The name of the series for which new data arrived
|
|
48
|
-
* @param data The new data that arrived in the windowing tine
|
|
49
|
-
* @see UseChartValues.windowingTime
|
|
50
|
-
*/
|
|
51
|
-
onUpdateData?: (seriesName: string, data: Array<D>) => void
|
|
52
|
-
/**
|
|
53
|
-
* todo
|
|
54
|
-
* @param time
|
|
55
|
-
*/
|
|
56
|
-
onUpdateChartTime?: (time: number) => void
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
const defaultObservableValues: UseObservableValues<any, any> = {
|
|
60
|
-
windowingTime: NaN,
|
|
61
|
-
shouldSubscribe: false,
|
|
62
|
-
|
|
63
|
-
// user callbacks
|
|
64
|
-
onSubscribe: noop,
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
const DataObservableContext = createContext<UseObservableValues<any, any>>(defaultObservableValues)
|
|
68
|
-
|
|
69
|
-
export interface Props<CD extends ChartData, D> {
|
|
70
|
-
// live data
|
|
71
|
-
seriesObservable?: Observable<CD>
|
|
72
|
-
windowingTime?: number
|
|
73
|
-
shouldSubscribe?: boolean
|
|
74
|
-
|
|
75
|
-
/*
|
|
76
|
-
| USER CALLBACK FUNCTIONS
|
|
77
|
-
*/
|
|
78
|
-
/**
|
|
79
|
-
* Callback function that is called when the chart subscribes to the observable
|
|
80
|
-
* @param subscription The subscription resulting form the subscribe action
|
|
81
|
-
*/
|
|
82
|
-
onSubscribe?: (subscription: Subscription) => void
|
|
83
|
-
/**
|
|
84
|
-
* Callback function that is called when new data arrives to the chart.
|
|
85
|
-
* @param seriesName The name of the series for which new data arrived
|
|
86
|
-
* @param data The new data that arrived in the windowing tine
|
|
87
|
-
* @see UseChartValues.windowingTime
|
|
88
|
-
*/
|
|
89
|
-
onUpdateData?: (seriesName: string, data: Array<D>) => void
|
|
90
|
-
onUpdateChartTime?: (time: number) => void
|
|
91
|
-
|
|
92
|
-
children: JSX.Element | Array<JSX.Element>
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
/**
|
|
96
|
-
* The react context provider for the {@link UseObservableValues}
|
|
97
|
-
* @param props The properties
|
|
98
|
-
* @return The children wrapped in this provider
|
|
99
|
-
*/
|
|
100
|
-
export default function DataObservableProvider<CD extends ChartData, D>(props: Props<CD, D>): JSX.Element {
|
|
101
|
-
|
|
102
|
-
const {
|
|
103
|
-
seriesObservable,
|
|
104
|
-
windowingTime = defaultObservableValues.windowingTime || 100,
|
|
105
|
-
shouldSubscribe,
|
|
106
|
-
|
|
107
|
-
onSubscribe = noop,
|
|
108
|
-
onUpdateData = noop,
|
|
109
|
-
onUpdateChartTime = noop,
|
|
110
|
-
} = props
|
|
111
|
-
|
|
112
|
-
// when initial data is provided, and importantly, when a function is provided that converts
|
|
113
|
-
// the initial data into an object of type ChartData, and when there is a defined series
|
|
114
|
-
// observable, then the initial data is prepended to the data observable.
|
|
115
|
-
const {initialData, asChartData} = useInitialData<CD, D>()
|
|
116
|
-
const observable = dataObservable<CD, D>(seriesObservable, initialData, asChartData)
|
|
117
|
-
|
|
118
|
-
return <DataObservableContext.Provider
|
|
119
|
-
value={{
|
|
120
|
-
seriesObservable: observable,
|
|
121
|
-
windowingTime,
|
|
122
|
-
shouldSubscribe,
|
|
123
|
-
|
|
124
|
-
onSubscribe,
|
|
125
|
-
onUpdateData,
|
|
126
|
-
onUpdateChartTime,
|
|
127
|
-
}}
|
|
128
|
-
>
|
|
129
|
-
{props.children}
|
|
130
|
-
</DataObservableContext.Provider>
|
|
131
|
-
}
|
|
132
|
-
|
|
133
|
-
/**
|
|
134
|
-
* When initial data is provided, and importantly, when a function is provided that converts
|
|
135
|
-
* the initial data into an object of type ChartData, and when there is a defined series
|
|
136
|
-
* observable, then the initial data is prepended to the data observable. When only initial data
|
|
137
|
-
* is provided and a conversion function, then a creates an observable from the initial data.
|
|
138
|
-
* And, when only a defined series observable is specified, then that is used (this is the default,
|
|
139
|
-
* and backward compatible behavior).
|
|
140
|
-
* @param seriesObservable An optional series observable
|
|
141
|
-
* @param initialData An array of initial data series
|
|
142
|
-
* @param asChartData A function that converts the initial data series into chart data
|
|
143
|
-
* @return An {@link Observable} of {@link ChartData}, or an `undefined`
|
|
144
|
-
*/
|
|
145
|
-
function dataObservable<CD extends ChartData, D>(
|
|
146
|
-
seriesObservable?: Observable<CD>,
|
|
147
|
-
initialData?: Array<BaseSeries<D>>,
|
|
148
|
-
asChartData?: (seriesList: Array<BaseSeries<D>>) => CD
|
|
149
|
-
): Observable<CD> | undefined {
|
|
150
|
-
if (seriesObservable !== undefined && initialData !== undefined && initialData.length > 0 && asChartData !== undefined) {
|
|
151
|
-
return concat(from([asChartData(initialData)]), seriesObservable)
|
|
152
|
-
} else if (initialData !== undefined && initialData.length > 0 && asChartData !== undefined) {
|
|
153
|
-
return from([asChartData(initialData)])
|
|
154
|
-
} else {
|
|
155
|
-
return seriesObservable
|
|
156
|
-
}
|
|
157
|
-
}
|
|
158
|
-
|
|
159
|
-
/**
|
|
160
|
-
* React hook that sets up the React context for the chart values.
|
|
161
|
-
* @return The {@link UseObservableValues} held in the React context.
|
|
162
|
-
*/
|
|
163
|
-
export function useDataObservable<CD extends ChartData, D>(): UseObservableValues<CD, D> {
|
|
164
|
-
const context = useContext<UseObservableValues<CD, D>>(DataObservableContext)
|
|
165
|
-
const {onSubscribe} = context
|
|
166
|
-
if (onSubscribe === undefined) {
|
|
167
|
-
throw new Error("useDataObservable can only be used when the parent is a <DataObservableProvider/>")
|
|
168
|
-
}
|
|
169
|
-
return context
|
|
170
|
-
}
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
import {createContext, JSX, useContext} from "react";
|
|
2
|
-
import {BaseSeries} from "../series/baseSeries";
|
|
3
|
-
import {ChartData} from "../observables/ChartData";
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
/**
|
|
7
|
-
* The values exposed through the {@link useInitialData} react hook
|
|
8
|
-
*/
|
|
9
|
-
export type UseInitialDataValues<CD extends ChartData, D> = {
|
|
10
|
-
/**
|
|
11
|
-
* An array of series representing the initial data for the chart (i.e. static data
|
|
12
|
-
* before streaming starts) where D is a datum, whose type must be the same as that
|
|
13
|
-
* used for the Observable on the chart data
|
|
14
|
-
*/
|
|
15
|
-
initialData: Array<BaseSeries<D>>
|
|
16
|
-
|
|
17
|
-
/**
|
|
18
|
-
* Function that takes an array of series (which has elements of type D) and converts
|
|
19
|
-
* it into a chart data type, CD
|
|
20
|
-
* @param seriesList
|
|
21
|
-
*/
|
|
22
|
-
asChartData?: (seriesList: Array<BaseSeries<D>>) => CD
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
const defaultInitialDataValues: UseInitialDataValues<any, any> = {
|
|
26
|
-
initialData: new Array<BaseSeries<any>>()
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
const InitialDataContext = createContext<UseInitialDataValues<any, any>>(defaultInitialDataValues)
|
|
30
|
-
|
|
31
|
-
export interface Props<CD extends ChartData, D> {
|
|
32
|
-
initialData: Array<BaseSeries<D>>
|
|
33
|
-
asChartData?: (seriesList: Array<BaseSeries<D>>) => CD
|
|
34
|
-
children: JSX.Element | Array<JSX.Element>
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
/**
|
|
38
|
-
* The React context provider for the {@link UseInitialDataValues}
|
|
39
|
-
* @param props The properties
|
|
40
|
-
* @return The children wrapped in this provider
|
|
41
|
-
*/
|
|
42
|
-
export default function InitialDataProvider<CD extends ChartData, D>(props: Props<CD, D>): JSX.Element {
|
|
43
|
-
const {
|
|
44
|
-
initialData,
|
|
45
|
-
asChartData
|
|
46
|
-
} = props
|
|
47
|
-
|
|
48
|
-
return <InitialDataContext.Provider value={{initialData, asChartData}}>
|
|
49
|
-
{props.children}
|
|
50
|
-
</InitialDataContext.Provider>
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
/**
|
|
54
|
-
* React hook that sets up the React context for the initial data values.
|
|
55
|
-
* @return The {@link UseInitialDataValues} held in the React context.
|
|
56
|
-
*/
|
|
57
|
-
export function useInitialData<CD extends ChartData, D>(): UseInitialDataValues<CD, D> {
|
|
58
|
-
const context = useContext<UseInitialDataValues<CD, D>>(InitialDataContext)
|
|
59
|
-
const {initialData} = context
|
|
60
|
-
if (initialData === undefined) {
|
|
61
|
-
throw new Error("useInitialData can only be used when the parent is a <InitialDataProvider/>")
|
|
62
|
-
}
|
|
63
|
-
return context
|
|
64
|
-
}
|