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,359 +1,272 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
1
|
+
import { containerDimensionsFrom } from "../styling/margins";
|
|
2
|
+
import { fontStringFor, mouseInPlotAreaFor, textDimensions } from "../utils";
|
|
3
|
+
import { canvasLocalPoint } from "../plots/hitTesting";
|
|
4
4
|
import { AxisLocation } from "../axes/axes";
|
|
5
|
-
|
|
5
|
+
/**
|
|
6
|
+
* The default font of the tracker's labels
|
|
7
|
+
*/
|
|
6
8
|
export const defaultTrackerLabelFont = {
|
|
7
9
|
size: 12,
|
|
8
10
|
color: '#d2933f',
|
|
9
11
|
weight: 300,
|
|
10
12
|
family: 'sans-serif'
|
|
11
13
|
};
|
|
14
|
+
/**
|
|
15
|
+
* The default tracker style (hidden)
|
|
16
|
+
*/
|
|
12
17
|
export const defaultTrackerStyle = {
|
|
13
18
|
visible: false,
|
|
14
19
|
color: '#d2933f',
|
|
15
20
|
lineWidth: 1,
|
|
16
21
|
};
|
|
17
|
-
// create namespaced "mousemoved" event names to distinguish between vertical and horizontal trackers
|
|
18
|
-
const MOUSE_MOVED_EVENT_VERTICAL_AXIS = "mousemove.vertical";
|
|
19
|
-
const MOUSE_MOVED_EVENT_HORIZONTAL_AXIS = "mousemove.horizontal";
|
|
20
22
|
const TRACKER_ID = "stream-chart-tracker";
|
|
21
23
|
/**
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
*
|
|
24
|
+
* The location of the tracker label
|
|
25
|
+
* Note: replaces enums to support `erasableSyntaxOnly`
|
|
26
|
+
* TS1294: This syntax is not allowed when 'erasableSyntaxOnly' is enabled.
|
|
25
27
|
*/
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
28
|
+
export const TrackerLabelLocation = {
|
|
29
|
+
Nowhere: "Nowhere",
|
|
30
|
+
ByAxis: "ByAxis",
|
|
31
|
+
};
|
|
29
32
|
/**
|
|
30
|
-
*
|
|
31
|
-
*
|
|
32
|
-
* @return SVG ID for the vertical tracker line
|
|
33
|
+
* A small, fixed corner radius (px) used for the tracker label's background, matching the old
|
|
34
|
+
* SVG version's hard-coded `rx: '5px'`.
|
|
33
35
|
*/
|
|
34
|
-
|
|
35
|
-
return `${TRACKER_ID}-line-horizontal-${chartId}`;
|
|
36
|
-
}
|
|
36
|
+
const LABEL_BACKGROUND_RADIUS = 5;
|
|
37
37
|
/**
|
|
38
|
-
*
|
|
38
|
+
* Registers a tracker (a line that follows the mouse, with optional per-axis labels) with the
|
|
39
|
+
* canvas context. Replaces the old `trackerControlInstance`, which created SVG `<line>`/`<text>`/
|
|
40
|
+
* `<rect>` elements and updated them via a namespaced `mousemove` handler on the `<svg>`. The
|
|
41
|
+
* canvas version instead registers a draw function that reads the mouse's last-known position
|
|
42
|
+
* (tracked via its own `mousemove` listener on the canvas) and paints the tracker fresh every
|
|
43
|
+
* redraw.
|
|
44
|
+
* @param cc The canvas context to register the tracker's draw function with
|
|
39
45
|
* @param chartId The ID of the chart
|
|
40
|
-
* @param axisLocation The location of the axis for which the tracker label is to be shown
|
|
41
|
-
* @return SVG ID for the vertical tracker line
|
|
42
|
-
*/
|
|
43
|
-
function trackerLabelId(chartId, axisLocation) {
|
|
44
|
-
switch (axisLocation) {
|
|
45
|
-
case AxisLocation.Bottom:
|
|
46
|
-
case AxisLocation.Top:
|
|
47
|
-
return `${TRACKER_ID}-label-vertical-${chartId}-${axisLocation}`;
|
|
48
|
-
case AxisLocation.Left:
|
|
49
|
-
case AxisLocation.Right:
|
|
50
|
-
return `${TRACKER_ID}-label-horizontal-${chartId}-${axisLocation}`;
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
/**
|
|
54
|
-
* Creates or returns the existing SVG elements for displaying a tracker line that is either
|
|
55
|
-
* vertical (for x-axes) or horizontal (for y-axes).
|
|
56
|
-
* @param chartId The ID of the chart
|
|
57
|
-
* @param container The SVG container
|
|
58
|
-
* @param svg The SVG selection
|
|
59
46
|
* @param plotDimensions The dimensions of the plot
|
|
60
47
|
* @param margin The margins around the plot
|
|
61
48
|
* @param style The tracker style
|
|
62
49
|
* @param labelFont The font used for the axis labels
|
|
63
|
-
* @param label A function that
|
|
64
|
-
* @param labelStyle
|
|
50
|
+
* @param label A map associating each axis with the function that formats the tracker's label for that axis' value
|
|
51
|
+
* @param labelStyle Where the tracker's labels are shown (by the axes, or nowhere)
|
|
65
52
|
* @param onTrackerUpdate A callback function that accepts the current tracker's axis information
|
|
66
53
|
* @param [axisLocation = AxisLocation.Bottom] The optional location of the axis for which the tracker is to
|
|
67
54
|
* be shown. Default is bottom.
|
|
68
55
|
* @param backgroundColor The background color of the tracker label
|
|
69
|
-
* @return
|
|
56
|
+
* @return A cleanup function that unregisters the tracker's draw function and removes its
|
|
57
|
+
* `mousemove` listener. Call this when the tracker becomes invisible or unmounts (replaces the
|
|
58
|
+
* old `removeTrackerControl`).
|
|
70
59
|
*/
|
|
71
|
-
export function trackerControlInstance(
|
|
60
|
+
export function trackerControlInstance(cc, chartId, plotDimensions, margin, style, labelFont, label, labelStyle, onTrackerUpdate, axisLocation = AxisLocation.Bottom, backgroundColor) {
|
|
72
61
|
switch (axisLocation) {
|
|
73
62
|
case AxisLocation.Bottom:
|
|
74
63
|
case AxisLocation.Top:
|
|
75
|
-
return verticalTrackerControlInstance(
|
|
64
|
+
return verticalTrackerControlInstance(cc, chartId, plotDimensions, margin, style, labelFont, label, labelStyle, onTrackerUpdate, backgroundColor);
|
|
76
65
|
case AxisLocation.Left:
|
|
77
66
|
case AxisLocation.Right:
|
|
78
67
|
default:
|
|
79
|
-
return horizontalTrackerControlInstance(
|
|
68
|
+
return horizontalTrackerControlInstance(cc, chartId, plotDimensions, margin, style, labelFont, label, labelStyle, onTrackerUpdate, backgroundColor);
|
|
80
69
|
}
|
|
81
70
|
}
|
|
82
71
|
/**
|
|
83
|
-
*
|
|
72
|
+
* Registers a vertical tracker line (for x-axes) with the canvas context: the line follows the
|
|
73
|
+
* mouse across the plot area, with a label by each x-axis showing that axis' value at the mouse
|
|
74
|
+
* (see {@link trackerControlInstance}).
|
|
75
|
+
* @param cc The canvas context to register the tracker's draw function with
|
|
84
76
|
* @param chartId The ID of the chart
|
|
85
|
-
* @param container The SVG container
|
|
86
|
-
* @param svg The SVG selection
|
|
87
77
|
* @param plotDimensions The dimensions of the plot
|
|
88
78
|
* @param margin The margins around the plot
|
|
89
79
|
* @param style The tracker style
|
|
90
80
|
* @param labelFont The font used for the axis labels
|
|
91
|
-
* @param label A function that
|
|
92
|
-
* @param labelStyle
|
|
81
|
+
* @param label A map associating each axis with the function that formats the tracker's label for that axis' value
|
|
82
|
+
* @param labelStyle Where the tracker's labels are shown (by the axes, or nowhere)
|
|
93
83
|
* @param onTrackerUpdate A callback function that accepts the current tracker's axis information
|
|
94
84
|
* @param backgroundColor The background color of the tracker label
|
|
95
|
-
* @return
|
|
85
|
+
* @return A cleanup function that unregisters the tracker's draw function and removes its mouse listeners
|
|
96
86
|
*/
|
|
97
|
-
function verticalTrackerControlInstance(
|
|
98
|
-
const
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
.
|
|
121
|
-
|
|
122
|
-
.
|
|
123
|
-
.
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
.
|
|
127
|
-
|
|
128
|
-
|
|
87
|
+
function verticalTrackerControlInstance(cc, chartId, plotDimensions, margin, style, labelFont, label, labelStyle, onTrackerUpdate, backgroundColor) {
|
|
88
|
+
const drawHandle = `${TRACKER_ID}-vertical-${chartId}`;
|
|
89
|
+
// the mouse's last-known position, in canvas coordinates; null when the mouse is outside the canvas
|
|
90
|
+
let mouseX = null;
|
|
91
|
+
let mouseY = null;
|
|
92
|
+
const draw = (context) => {
|
|
93
|
+
if (mouseX === null || mouseY === null)
|
|
94
|
+
return;
|
|
95
|
+
const { context2D } = context;
|
|
96
|
+
const dimensions = containerDimensionsFrom(plotDimensions, margin);
|
|
97
|
+
const inPlot = mouseInPlotAreaFor(mouseX, mouseY, margin, dimensions);
|
|
98
|
+
context2D.save();
|
|
99
|
+
context2D.globalAlpha = inPlot ? 1 : 0;
|
|
100
|
+
context2D.strokeStyle = style.color;
|
|
101
|
+
context2D.lineWidth = style.lineWidth;
|
|
102
|
+
context2D.beginPath();
|
|
103
|
+
context2D.moveTo(mouseX, margin.top);
|
|
104
|
+
context2D.lineTo(mouseX, plotDimensions.height + margin.top);
|
|
105
|
+
context2D.stroke();
|
|
106
|
+
context2D.restore();
|
|
107
|
+
const updateInfo = [];
|
|
108
|
+
label.forEach((trackerLabel, axis) => {
|
|
109
|
+
if (labelStyle === TrackerLabelLocation.ByAxis) {
|
|
110
|
+
const value = axis.scale.invert(mouseX - margin.left);
|
|
111
|
+
const text = trackerLabel(value);
|
|
112
|
+
context2D.save();
|
|
113
|
+
context2D.font = fontStringFor(labelFont.size, labelFont.family, labelFont.weight);
|
|
114
|
+
const { width: labelWidth, height: labelHeight } = textDimensions(context2D, text);
|
|
115
|
+
const space = 10;
|
|
116
|
+
const labelY = axis.location === AxisLocation.Top ?
|
|
117
|
+
margin.top + labelFont.size + space :
|
|
118
|
+
margin.top + plotDimensions.height - space;
|
|
119
|
+
const xOffset = 10;
|
|
120
|
+
const labelX = Math.min(dimensions.width - margin.right - labelWidth, mouseX + xOffset);
|
|
121
|
+
// label background
|
|
122
|
+
const padding = 3;
|
|
123
|
+
context2D.globalAlpha = inPlot ? 0.8 : 0;
|
|
124
|
+
context2D.fillStyle = backgroundColor;
|
|
125
|
+
context2D.beginPath();
|
|
126
|
+
context2D.roundRect(labelX - padding, labelY - labelHeight - padding, labelWidth + 2 * padding, labelHeight + 2 * padding, LABEL_BACKGROUND_RADIUS);
|
|
127
|
+
context2D.fill();
|
|
128
|
+
// label text
|
|
129
|
+
context2D.globalAlpha = inPlot ? 1 : 0;
|
|
130
|
+
context2D.fillStyle = labelFont.color;
|
|
131
|
+
context2D.textAlign = 'left';
|
|
132
|
+
context2D.textBaseline = 'alphabetic';
|
|
133
|
+
context2D.fillText(text, labelX, labelY);
|
|
134
|
+
context2D.restore();
|
|
135
|
+
}
|
|
136
|
+
updateInfo.push([axis.axisId, {
|
|
137
|
+
x: axis.scale.invert(mouseX - margin.left),
|
|
138
|
+
axisLocation: axis.location
|
|
139
|
+
}]);
|
|
129
140
|
});
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
141
|
+
if (inPlot) {
|
|
142
|
+
onTrackerUpdate(new Map(updateInfo));
|
|
143
|
+
}
|
|
144
|
+
};
|
|
145
|
+
cc.register(drawHandle, draw, 20);
|
|
146
|
+
const handleMouseMove = (event) => {
|
|
147
|
+
const [x, y] = canvasLocalPoint(event, cc.canvas);
|
|
148
|
+
mouseX = x;
|
|
149
|
+
mouseY = y;
|
|
150
|
+
cc.requestRedraw();
|
|
151
|
+
};
|
|
152
|
+
const handleMouseLeave = () => {
|
|
153
|
+
mouseX = null;
|
|
154
|
+
mouseY = null;
|
|
155
|
+
cc.requestRedraw();
|
|
156
|
+
};
|
|
157
|
+
cc.canvas.addEventListener('mousemove', handleMouseMove);
|
|
158
|
+
cc.canvas.addEventListener('mouseleave', handleMouseLeave);
|
|
159
|
+
return () => {
|
|
160
|
+
cc.unregister(drawHandle);
|
|
161
|
+
cc.canvas.removeEventListener('mousemove', handleMouseMove);
|
|
162
|
+
cc.canvas.removeEventListener('mouseleave', handleMouseLeave);
|
|
163
|
+
};
|
|
134
164
|
}
|
|
135
165
|
/**
|
|
136
|
-
*
|
|
166
|
+
* Registers a horizontal tracker line (for y-axes) with the canvas context: the line follows the
|
|
167
|
+
* mouse up and down the plot area, with a label by each y-axis showing that axis' value at the
|
|
168
|
+
* mouse (see {@link trackerControlInstance}).
|
|
169
|
+
* @param cc The canvas context to register the tracker's draw function with
|
|
137
170
|
* @param chartId The ID of the chart
|
|
138
|
-
* @param container The SVG container
|
|
139
|
-
* @param svg The SVG selection
|
|
140
171
|
* @param plotDimensions The dimensions of the plot
|
|
141
172
|
* @param margin The margins around the plot
|
|
142
173
|
* @param style The tracker style
|
|
143
174
|
* @param labelFont The font used for the axis labels
|
|
144
|
-
* @param label A function that
|
|
145
|
-
* @param labelStyle
|
|
175
|
+
* @param label A map associating each axis with the function that formats the tracker's label for that axis' value
|
|
176
|
+
* @param labelStyle Where the tracker's labels are shown (by the axes, or nowhere)
|
|
146
177
|
* @param onTrackerUpdate A callback function that accepts the current tracker's axis information
|
|
147
178
|
* @param backgroundColor The background color of the tracker label
|
|
148
|
-
* @return
|
|
179
|
+
* @return A cleanup function that unregisters the tracker's draw function and removes its mouse listeners
|
|
149
180
|
*/
|
|
150
|
-
function horizontalTrackerControlInstance(
|
|
151
|
-
const
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
.
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
const [x, y] = d3.pointer(event, container);
|
|
220
|
-
const inPlot = mouseInPlotAreaFor(x, y, margin, dimensions);
|
|
221
|
-
const updateInfo = Array.from(label.entries())
|
|
222
|
-
.map(([axis, trackerLabel]) => {
|
|
223
|
-
// when the mouse is in the plot area, then set the opacity of the tracker line and label to 1,
|
|
224
|
-
// which means it is fully visible. when the mouse is not in the plot area, set the opacity to 0,
|
|
225
|
-
// which means the tracker line and label are invisible.
|
|
226
|
-
d3.select(`#${verticalTrackerLineId(chartId)}`)
|
|
227
|
-
.attr('x1', x)
|
|
228
|
-
.attr('x2', x)
|
|
229
|
-
.attr('stroke', trackerStyle.color)
|
|
230
|
-
.attr('stroke-width', trackerStyle.lineWidth)
|
|
231
|
-
.attr('opacity', () => inPlot ? 1 : 0);
|
|
232
|
-
// when the label-style is to be with the mouse
|
|
233
|
-
if (labelStyle === TrackerLabelLocation.ByAxis) {
|
|
234
|
-
const label = d3.select(`#${trackerLabelId(chartId, axis.location)}`)
|
|
235
|
-
.attr('fill', labelFont.color)
|
|
236
|
-
.attr('font-family', labelFont.family)
|
|
237
|
-
.attr('font-size', labelFont.size)
|
|
238
|
-
.attr('font-weight', labelFont.weight)
|
|
239
|
-
.attr('opacity', () => inPlot ? 1 : 0)
|
|
240
|
-
.text(() => trackerLabel(axis.scale.invert(x - margin.left)));
|
|
241
|
-
const labelBackground = d3.select(`#${trackerLabelId(chartId, axis.location)}-background`)
|
|
242
|
-
.attr('fill', backgroundColor)
|
|
243
|
-
.attr('opacity', () => inPlot ? 0.8 : 0)
|
|
244
|
-
.attr('rx', '5px');
|
|
245
|
-
const space = 10;
|
|
246
|
-
const { height } = plotDimensionsFrom(dimensions.width, dimensions.height, margin);
|
|
247
|
-
const labelY = axis.location === AxisLocation.Top ?
|
|
248
|
-
margin.top + labelFont.size + space :
|
|
249
|
-
margin.top + height - space;
|
|
250
|
-
label.attr('y', labelY);
|
|
251
|
-
// adjust the label position when the tracker is at the right-most edges of the plot so that
|
|
252
|
-
// the label remains visible (i.e., doesn't get clipped)
|
|
253
|
-
const xOffset = TrackerLabelLocation.ByAxis ? 10 : 0;
|
|
254
|
-
const { width: labelWidth, height: labelHeight } = textDimensions(label);
|
|
255
|
-
const labelX = Math.min(dimensions.width - margin.right - labelWidth, x + xOffset);
|
|
256
|
-
label.attr('x', labelX);
|
|
257
|
-
// set the background location and width
|
|
258
|
-
const padding = 3;
|
|
259
|
-
labelBackground
|
|
260
|
-
.attr('x', labelX - padding)
|
|
261
|
-
.attr('y', labelY - labelHeight - padding)
|
|
262
|
-
.attr('width', labelWidth + 2 * padding)
|
|
263
|
-
.attr('height', labelHeight + 2 * padding);
|
|
264
|
-
}
|
|
265
|
-
const trackerInfo = {
|
|
266
|
-
x: axis.scale.invert(x - margin.left),
|
|
267
|
-
axisLocation: axis.location
|
|
268
|
-
};
|
|
269
|
-
return [axis.axisId, trackerInfo];
|
|
270
|
-
});
|
|
271
|
-
if (inPlot) {
|
|
272
|
-
onTrackerUpdate(new Map(updateInfo));
|
|
273
|
-
}
|
|
274
|
-
}
|
|
275
|
-
/**
|
|
276
|
-
* Callback when the horizontal mouse tracker is to be shown
|
|
277
|
-
* @param chartId The ID number of the chart
|
|
278
|
-
* @param container The svg container
|
|
279
|
-
* @param event The mouse-over series event
|
|
280
|
-
* @param margin The plot margins
|
|
281
|
-
* @param dimensions The container dimensions (i.e., the plot dimensions plus its margins)
|
|
282
|
-
* @param trackerStyle The style settings for the tracker line
|
|
283
|
-
* @param labelFont The style settings for the tracker font
|
|
284
|
-
* @param label A function that returns the tracker label string
|
|
285
|
-
* @param labelStyle Where to display the tracker labels (i.e., with-mouse, with-axes, no-where)
|
|
286
|
-
* @param onTrackerUpdate A callback function that accepts the current tracker's axis information
|
|
287
|
-
* @param backgroundColor The background color of the tracker label
|
|
288
|
-
*/
|
|
289
|
-
function handleShowHorizontalTracker(chartId, container, event, margin, dimensions, trackerStyle, labelFont, label, labelStyle, onTrackerUpdate, backgroundColor) {
|
|
290
|
-
var _a;
|
|
291
|
-
// determine whether the mouse is in the plot area
|
|
292
|
-
const [x, y] = d3.pointer(event, container);
|
|
293
|
-
const inPlot = mouseInPlotAreaFor(x, y, margin, dimensions);
|
|
294
|
-
//
|
|
295
|
-
// need to calculate each axis-label position separately, because at the plot edges, the axis-label
|
|
296
|
-
// positions depend on each other. For example, at the left edge, the left-axis label needs to move
|
|
297
|
-
// to the right of the mouse to remain in the plot area. Therefore, the right-axis label needs
|
|
298
|
-
// to move as well but needs to know the width of the left-axis label to do so.
|
|
299
|
-
//
|
|
300
|
-
// add the labels and calculate the bounding boxes
|
|
301
|
-
const boundingBoxes = new Map(Array.from(label.entries())
|
|
302
|
-
.map(([axis, trackerLabel]) => {
|
|
303
|
-
// when the mouse is in the plot area, then set the opacity of the tracker line and label to 1,
|
|
304
|
-
// which means it is fully visible. when the mouse is not in the plot area, set the opacity to 0,
|
|
305
|
-
// which means the tracker line and label are invisible.
|
|
306
|
-
d3.select(`#${horizontalTrackerLineId(chartId)}`)
|
|
307
|
-
.attr('y1', y)
|
|
308
|
-
.attr('y2', y)
|
|
309
|
-
.attr('stroke', trackerStyle.color)
|
|
310
|
-
.attr('stroke-width', trackerStyle.lineWidth)
|
|
311
|
-
.attr('opacity', () => inPlot ? 1 : 0);
|
|
312
|
-
const label = d3.select(`#${trackerLabelId(chartId, axis.location)}`)
|
|
313
|
-
.attr('fill', labelFont.color)
|
|
314
|
-
.attr('font-family', labelFont.family)
|
|
315
|
-
.attr('font-size', labelFont.size)
|
|
316
|
-
.attr('font-weight', labelFont.weight)
|
|
317
|
-
.attr('opacity', () => inPlot ? 1 : 0)
|
|
318
|
-
.text(() => trackerLabel(axis.scale.invert(y - margin.top)));
|
|
319
|
-
const labelBackground = d3.select(`#${trackerLabelId(chartId, axis.location)}-background`)
|
|
320
|
-
.attr('fill', backgroundColor)
|
|
321
|
-
.attr('opacity', () => inPlot && labelStyle !== TrackerLabelLocation.Nowhere ? 0.8 : 0)
|
|
322
|
-
.attr('rx', '5px');
|
|
323
|
-
return [axis.location, { axis, labelSelection: label, labelBoundingBox: textDimensions(label), labelBackground }];
|
|
324
|
-
}));
|
|
325
|
-
// place the labels so that they remain in the plot area
|
|
326
|
-
const space = 10;
|
|
327
|
-
const rightLabelWidth = (((_a = boundingBoxes.get(AxisLocation.Right)) === null || _a === void 0 ? void 0 : _a.labelBoundingBox.width) || -space) + space;
|
|
328
|
-
const updateInfo = Array.from(boundingBoxes.entries())
|
|
329
|
-
.map(([location, { axis, labelSelection, labelBoundingBox, labelBackground }]) => {
|
|
330
|
-
if (labelStyle === TrackerLabelLocation.ByAxis) {
|
|
331
|
-
const { width } = plotDimensionsFrom(dimensions.width, dimensions.height, margin);
|
|
332
|
-
const labelX = location === AxisLocation.Left ?
|
|
333
|
-
margin.left + space :
|
|
334
|
-
margin.left + width - rightLabelWidth - space;
|
|
335
|
-
labelSelection.attr('x', labelX);
|
|
336
|
-
// adjust the label position when the tracker is at the right-most edges of the plot so that
|
|
337
|
-
// the label remains visible (i.e., doesn't get clipped)
|
|
338
|
-
const yOffset = labelStyle === TrackerLabelLocation.ByAxis ? space : 0;
|
|
339
|
-
const labelY = Math.max(y - yOffset, margin.top + yOffset + labelBoundingBox.height);
|
|
340
|
-
labelSelection.attr('y', labelY);
|
|
341
|
-
// set the background location and width
|
|
342
|
-
const padding = 5;
|
|
343
|
-
labelBackground
|
|
344
|
-
.attr('x', labelX - padding)
|
|
345
|
-
.attr('y', labelY - labelBoundingBox.height - 1)
|
|
346
|
-
.attr('width', labelBoundingBox.width + 2 * padding)
|
|
347
|
-
.attr('height', labelBoundingBox.height + 2 * padding);
|
|
181
|
+
function horizontalTrackerControlInstance(cc, chartId, plotDimensions, margin, style, labelFont, label, labelStyle, onTrackerUpdate, backgroundColor) {
|
|
182
|
+
const drawHandle = `${TRACKER_ID}-horizontal-${chartId}`;
|
|
183
|
+
let mouseX = null;
|
|
184
|
+
let mouseY = null;
|
|
185
|
+
const draw = (context) => {
|
|
186
|
+
var _a;
|
|
187
|
+
if (mouseX === null || mouseY === null)
|
|
188
|
+
return;
|
|
189
|
+
const { context2D } = context;
|
|
190
|
+
const dimensions = containerDimensionsFrom(plotDimensions, margin);
|
|
191
|
+
const inPlot = mouseInPlotAreaFor(mouseX, mouseY, margin, dimensions);
|
|
192
|
+
context2D.save();
|
|
193
|
+
context2D.globalAlpha = inPlot ? 1 : 0;
|
|
194
|
+
context2D.strokeStyle = style.color;
|
|
195
|
+
context2D.lineWidth = style.lineWidth;
|
|
196
|
+
context2D.beginPath();
|
|
197
|
+
context2D.moveTo(margin.left, mouseY);
|
|
198
|
+
context2D.lineTo(plotDimensions.width + margin.left, mouseY);
|
|
199
|
+
context2D.stroke();
|
|
200
|
+
context2D.restore();
|
|
201
|
+
// need to calculate each axis-label position separately, because at the plot edges, the axis-label
|
|
202
|
+
// positions depend on each other. For example, at the left edge, the left-axis label needs to move
|
|
203
|
+
// to the right of the mouse to remain in the plot area. Therefore, the right-axis label needs
|
|
204
|
+
// to move as well but needs to know the width of the left-axis label to do so.
|
|
205
|
+
//
|
|
206
|
+
// measure all the labels first, then position them (mirrors the old two-phase SVG approach,
|
|
207
|
+
// where text had to be set before `getBBox()` would return a meaningful size)
|
|
208
|
+
context2D.font = fontStringFor(labelFont.size, labelFont.family, labelFont.weight);
|
|
209
|
+
const boundingBoxes = new Map(Array.from(label.entries())
|
|
210
|
+
.map(([axis, trackerLabel]) => {
|
|
211
|
+
const text = trackerLabel(axis.scale.invert(mouseY - margin.top));
|
|
212
|
+
const { width: labelWidth, height: labelHeight } = textDimensions(context2D, text);
|
|
213
|
+
return [axis.location, { axis, text, labelWidth, labelHeight }];
|
|
214
|
+
}));
|
|
215
|
+
// place the labels so that they remain in the plot area
|
|
216
|
+
const space = 10;
|
|
217
|
+
const rightLabelWidth = (((_a = boundingBoxes.get(AxisLocation.Right)) === null || _a === void 0 ? void 0 : _a.labelWidth) || -space) + space;
|
|
218
|
+
const updateInfo = Array.from(boundingBoxes.entries())
|
|
219
|
+
.map(([location, { axis, text, labelWidth, labelHeight }]) => {
|
|
220
|
+
if (labelStyle === TrackerLabelLocation.ByAxis) {
|
|
221
|
+
const labelX = location === AxisLocation.Left ?
|
|
222
|
+
margin.left + space :
|
|
223
|
+
margin.left + plotDimensions.width - rightLabelWidth - space;
|
|
224
|
+
const yOffset = space;
|
|
225
|
+
const labelY = Math.max(mouseY - yOffset, margin.top + yOffset + labelHeight);
|
|
226
|
+
// label background
|
|
227
|
+
const padding = 5;
|
|
228
|
+
context2D.save();
|
|
229
|
+
context2D.globalAlpha = inPlot ? 0.8 : 0;
|
|
230
|
+
context2D.fillStyle = backgroundColor;
|
|
231
|
+
context2D.beginPath();
|
|
232
|
+
context2D.roundRect(labelX - padding, labelY - labelHeight - 1, labelWidth + 2 * padding, labelHeight + 2 * padding, LABEL_BACKGROUND_RADIUS);
|
|
233
|
+
context2D.fill();
|
|
234
|
+
// label text
|
|
235
|
+
context2D.globalAlpha = inPlot ? 1 : 0;
|
|
236
|
+
context2D.fillStyle = labelFont.color;
|
|
237
|
+
context2D.textAlign = 'left';
|
|
238
|
+
context2D.textBaseline = 'alphabetic';
|
|
239
|
+
context2D.fillText(text, labelX, labelY);
|
|
240
|
+
context2D.restore();
|
|
241
|
+
}
|
|
242
|
+
const trackerInfo = {
|
|
243
|
+
x: axis.scale.invert(mouseY - margin.top + margin.bottom),
|
|
244
|
+
axisLocation: axis.location
|
|
245
|
+
};
|
|
246
|
+
return [axis.axisId, trackerInfo];
|
|
247
|
+
});
|
|
248
|
+
if (inPlot) {
|
|
249
|
+
onTrackerUpdate(new Map(updateInfo));
|
|
348
250
|
}
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
251
|
+
};
|
|
252
|
+
cc.register(drawHandle, draw, 20);
|
|
253
|
+
const handleMouseMove = (event) => {
|
|
254
|
+
const [x, y] = canvasLocalPoint(event, cc.canvas);
|
|
255
|
+
mouseX = x;
|
|
256
|
+
mouseY = y;
|
|
257
|
+
cc.requestRedraw();
|
|
258
|
+
};
|
|
259
|
+
const handleMouseLeave = () => {
|
|
260
|
+
mouseX = null;
|
|
261
|
+
mouseY = null;
|
|
262
|
+
cc.requestRedraw();
|
|
263
|
+
};
|
|
264
|
+
cc.canvas.addEventListener('mousemove', handleMouseMove);
|
|
265
|
+
cc.canvas.addEventListener('mouseleave', handleMouseLeave);
|
|
266
|
+
return () => {
|
|
267
|
+
cc.unregister(drawHandle);
|
|
268
|
+
cc.canvas.removeEventListener('mousemove', handleMouseMove);
|
|
269
|
+
cc.canvas.removeEventListener('mouseleave', handleMouseLeave);
|
|
270
|
+
};
|
|
358
271
|
}
|
|
359
272
|
//# sourceMappingURL=trackerUtils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trackerUtils.js","sourceRoot":"","sources":["../../../../src/app/charts/trackers/trackerUtils.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"trackerUtils.js","sourceRoot":"","sources":["../../../../src/app/charts/trackers/trackerUtils.ts"],"names":[],"mappings":"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"}
|