@mui/x-charts 9.0.4 → 9.2.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/BarChart/BarChart.d.mts +1 -2
- package/BarChart/BarChart.d.ts +1 -2
- package/BarChart/BarChart.js +2 -913
- package/BarChart/BarChart.mjs +2 -913
- package/BarChart/seriesConfig/bar/seriesProcessor.js +2 -0
- package/BarChart/seriesConfig/bar/seriesProcessor.mjs +2 -0
- package/CHANGELOG.md +236 -0
- package/ChartsAxisHighlightValue/ChartsAxisHighlightValue.d.mts +55 -0
- package/ChartsAxisHighlightValue/ChartsAxisHighlightValue.d.ts +55 -0
- package/ChartsAxisHighlightValue/ChartsAxisHighlightValue.js +94 -0
- package/ChartsAxisHighlightValue/ChartsAxisHighlightValue.mjs +88 -0
- package/ChartsAxisHighlightValue/ChartsAxisHighlightValueItem.d.mts +13 -0
- package/ChartsAxisHighlightValue/ChartsAxisHighlightValueItem.d.ts +13 -0
- package/ChartsAxisHighlightValue/ChartsAxisHighlightValueItem.js +86 -0
- package/ChartsAxisHighlightValue/ChartsAxisHighlightValueItem.mjs +80 -0
- package/ChartsAxisHighlightValue/chartsAxisHighlightValueClasses.d.mts +18 -0
- package/ChartsAxisHighlightValue/chartsAxisHighlightValueClasses.d.ts +18 -0
- package/ChartsAxisHighlightValue/chartsAxisHighlightValueClasses.js +26 -0
- package/ChartsAxisHighlightValue/chartsAxisHighlightValueClasses.mjs +16 -0
- package/ChartsAxisHighlightValue/index.d.mts +1 -0
- package/ChartsAxisHighlightValue/index.d.ts +1 -0
- package/ChartsAxisHighlightValue/index.js +16 -0
- package/ChartsAxisHighlightValue/index.mjs +1 -0
- package/ChartsAxisHighlightValue/useAxisHighlightValue.d.mts +14 -0
- package/ChartsAxisHighlightValue/useAxisHighlightValue.d.ts +14 -0
- package/ChartsAxisHighlightValue/useAxisHighlightValue.js +130 -0
- package/ChartsAxisHighlightValue/useAxisHighlightValue.mjs +124 -0
- package/ChartsContainer/ChartsContainer.js +4 -1431
- package/ChartsContainer/ChartsContainer.mjs +4 -1431
- package/ChartsRadialAxisHighlight/ChartsRadialAxisHighlight.d.mts +15 -0
- package/ChartsRadialAxisHighlight/ChartsRadialAxisHighlight.d.ts +15 -0
- package/ChartsRadialAxisHighlight/ChartsRadialAxisHighlight.js +56 -0
- package/ChartsRadialAxisHighlight/ChartsRadialAxisHighlight.mjs +50 -0
- package/ChartsRadialAxisHighlight/ChartsRadialAxisHighlight.types.d.mts +6 -0
- package/ChartsRadialAxisHighlight/ChartsRadialAxisHighlight.types.d.ts +6 -0
- package/ChartsRadialAxisHighlight/ChartsRadialAxisHighlight.types.js +5 -0
- package/ChartsRadialAxisHighlight/ChartsRadialAxisHighlight.types.mjs +1 -0
- package/ChartsRadialAxisHighlight/ChartsRadialAxisHighlightPath.d.mts +11 -0
- package/ChartsRadialAxisHighlight/ChartsRadialAxisHighlightPath.d.ts +11 -0
- package/ChartsRadialAxisHighlight/ChartsRadialAxisHighlightPath.js +70 -0
- package/ChartsRadialAxisHighlight/ChartsRadialAxisHighlightPath.mjs +64 -0
- package/ChartsRadialAxisHighlight/ChartsRadiusAxisHighlight.d.mts +9 -0
- package/ChartsRadialAxisHighlight/ChartsRadiusAxisHighlight.d.ts +9 -0
- package/ChartsRadialAxisHighlight/ChartsRadiusAxisHighlight.js +104 -0
- package/ChartsRadialAxisHighlight/ChartsRadiusAxisHighlight.mjs +98 -0
- package/ChartsRadialAxisHighlight/ChartsRotationAxisHighlight.d.mts +9 -0
- package/ChartsRadialAxisHighlight/ChartsRotationAxisHighlight.d.ts +9 -0
- package/ChartsRadialAxisHighlight/ChartsRotationAxisHighlight.js +98 -0
- package/ChartsRadialAxisHighlight/ChartsRotationAxisHighlight.mjs +92 -0
- package/ChartsRadialAxisHighlight/chartsRadialAxisHighlightClasses.d.mts +7 -0
- package/ChartsRadialAxisHighlight/chartsRadialAxisHighlightClasses.d.ts +7 -0
- package/ChartsRadialAxisHighlight/chartsRadialAxisHighlightClasses.js +14 -0
- package/ChartsRadialAxisHighlight/chartsRadialAxisHighlightClasses.mjs +6 -0
- package/ChartsRadialAxisHighlight/index.d.mts +5 -0
- package/ChartsRadialAxisHighlight/index.d.ts +5 -0
- package/ChartsRadialAxisHighlight/index.js +47 -0
- package/ChartsRadialAxisHighlight/index.mjs +4 -0
- package/ChartsRadiusAxis/ChartsRadiusAxis.d.mts +1 -47
- package/ChartsRadiusAxis/ChartsRadiusAxis.d.ts +1 -47
- package/ChartsRadiusAxis/ChartsRadiusAxis.js +20 -16
- package/ChartsRadiusAxis/ChartsRadiusAxis.mjs +21 -15
- package/ChartsRadiusAxis/index.d.mts +3 -2
- package/ChartsRadiusAxis/index.d.ts +3 -2
- package/ChartsRadiusAxis/index.mjs +3 -1
- package/ChartsRotationAxis/ChartsRotationAxis.d.mts +1 -47
- package/ChartsRotationAxis/ChartsRotationAxis.d.ts +1 -47
- package/ChartsRotationAxis/ChartsRotationAxis.js +16 -19
- package/ChartsRotationAxis/ChartsRotationAxis.mjs +17 -18
- package/ChartsRotationAxis/index.d.mts +3 -2
- package/ChartsRotationAxis/index.d.ts +3 -2
- package/ChartsRotationAxis/index.mjs +3 -1
- package/ChartsTooltip/useAxesTooltip.d.mts +1 -1
- package/ChartsTooltip/useAxesTooltip.d.ts +1 -1
- package/ChartsTooltip/useAxesTooltip.js +11 -2
- package/ChartsTooltip/useAxesTooltip.mjs +12 -3
- package/ChartsXAxis/useAxisTicksProps.d.mts +162 -81
- package/ChartsXAxis/useAxisTicksProps.d.ts +162 -81
- package/ChartsYAxis/useAxisTicksProps.d.mts +162 -81
- package/ChartsYAxis/useAxisTicksProps.d.ts +162 -81
- package/LICENSE +2 -0
- package/LineChart/LineChart.js +2 -913
- package/LineChart/LineChart.mjs +2 -913
- package/LineChart/seriesConfig/curveEvaluation.d.mts +19 -1
- package/LineChart/seriesConfig/curveEvaluation.d.ts +19 -1
- package/LineChart/seriesConfig/curveEvaluation.js +132 -0
- package/LineChart/seriesConfig/curveEvaluation.mjs +131 -0
- package/LineChart/seriesConfig/getSeriesWithDefaultValues.js +2 -1
- package/LineChart/seriesConfig/getSeriesWithDefaultValues.mjs +2 -1
- package/LineChart/seriesConfig/seriesProcessor.js +4 -0
- package/LineChart/seriesConfig/seriesProcessor.mjs +4 -0
- package/LineChart/useAreaPlotData.js +4 -0
- package/LineChart/useAreaPlotData.mjs +4 -0
- package/LineChart/useLinePlotData.js +2 -0
- package/LineChart/useLinePlotData.mjs +2 -0
- package/LineChart/useMarkPlotData.js +2 -0
- package/LineChart/useMarkPlotData.mjs +2 -0
- package/RadarChart/RadarGrid/CircularRadarStripes.js +2 -3
- package/RadarChart/RadarGrid/CircularRadarStripes.mjs +2 -3
- package/RadarChart/RadarSeriesPlot/useRadarRotationIndex.js +1 -1
- package/RadarChart/RadarSeriesPlot/useRadarRotationIndex.mjs +2 -2
- package/ScatterChart/FocusedScatterMark.js +10 -24
- package/ScatterChart/FocusedScatterMark.mjs +10 -24
- package/ScatterChart/HighlightedScatterMark.d.mts +11 -0
- package/ScatterChart/HighlightedScatterMark.d.ts +11 -0
- package/ScatterChart/HighlightedScatterMark.js +68 -0
- package/ScatterChart/HighlightedScatterMark.mjs +62 -0
- package/ScatterChart/ScatterChart.d.mts +1 -2
- package/ScatterChart/ScatterChart.d.ts +1 -2
- package/ScatterChart/ScatterChart.js +2 -913
- package/ScatterChart/ScatterChart.mjs +2 -913
- package/ScatterChart/index.d.mts +1 -0
- package/ScatterChart/index.d.ts +1 -0
- package/ScatterChart/index.js +12 -0
- package/ScatterChart/index.mjs +1 -0
- package/ScatterChart/scatterClasses.d.mts +3 -1
- package/ScatterChart/scatterClasses.d.ts +3 -1
- package/ScatterChart/scatterClasses.js +3 -2
- package/ScatterChart/scatterClasses.mjs +3 -2
- package/ScatterChart/useScatterChartProps.js +3 -1
- package/ScatterChart/useScatterChartProps.mjs +3 -1
- package/ScatterChart/useScatterItemPosition.d.mts +16 -0
- package/ScatterChart/useScatterItemPosition.d.ts +16 -0
- package/ScatterChart/useScatterItemPosition.js +47 -0
- package/ScatterChart/useScatterItemPosition.mjs +41 -0
- package/SparkLineChart/SparkLineChart.js +2 -913
- package/SparkLineChart/SparkLineChart.mjs +2 -913
- package/hooks/useAxis.d.mts +3 -3
- package/hooks/useAxis.d.ts +3 -3
- package/hooks/useAxisSystem.d.mts +1 -1
- package/hooks/useAxisSystem.d.ts +1 -1
- package/hooks/useAxisSystem.js +1 -1
- package/hooks/useAxisSystem.mjs +1 -1
- package/index.d.mts +2 -0
- package/index.d.ts +2 -0
- package/index.js +25 -1
- package/index.mjs +3 -1
- package/internals/getRingPath.d.mts +16 -0
- package/internals/getRingPath.d.ts +16 -0
- package/internals/getRingPath.js +39 -0
- package/internals/getRingPath.mjs +33 -0
- package/internals/index.d.mts +8 -1
- package/internals/index.d.ts +8 -1
- package/internals/index.js +67 -0
- package/internals/index.mjs +7 -1
- package/internals/plugins/corePlugins/useChartInteractionListener/useChartInteractionListener.js +4 -2
- package/internals/plugins/corePlugins/useChartInteractionListener/useChartInteractionListener.mjs +4 -2
- package/internals/plugins/corePlugins/useChartSeriesConfig/types/polarExtremumGetter.types.d.mts +2 -2
- package/internals/plugins/corePlugins/useChartSeriesConfig/types/polarExtremumGetter.types.d.ts +2 -2
- package/internals/plugins/featurePlugins/useChartCartesianAxis/createZoomLookup.d.mts +3 -3
- package/internals/plugins/featurePlugins/useChartCartesianAxis/createZoomLookup.d.ts +3 -3
- package/internals/plugins/featurePlugins/useChartCartesianAxis/index.d.mts +1 -0
- package/internals/plugins/featurePlugins/useChartCartesianAxis/index.d.ts +1 -0
- package/internals/plugins/featurePlugins/useChartCartesianAxis/index.js +8 -0
- package/internals/plugins/featurePlugins/useChartCartesianAxis/index.mjs +1 -0
- package/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxisPosition.selectors.d.mts +6 -1
- package/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxisPosition.selectors.d.ts +6 -1
- package/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxisPosition.selectors.js +48 -36
- package/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxisPosition.selectors.mjs +47 -36
- package/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxisRendering.selectors.d.mts +77 -3
- package/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxisRendering.selectors.d.ts +77 -3
- package/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianHighlight.selectors.d.mts +152 -2
- package/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianHighlight.selectors.d.ts +152 -2
- package/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianInteraction.selectors.d.mts +2 -2
- package/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianInteraction.selectors.d.ts +2 -2
- package/internals/plugins/featurePlugins/useChartPolarAxis/computeAxisValue.d.mts +4 -7
- package/internals/plugins/featurePlugins/useChartPolarAxis/computeAxisValue.d.ts +4 -7
- package/internals/plugins/featurePlugins/useChartPolarAxis/defaultizeAxis.d.mts +3 -2
- package/internals/plugins/featurePlugins/useChartPolarAxis/defaultizeAxis.d.ts +3 -2
- package/internals/plugins/featurePlugins/useChartPolarAxis/getAxisExtremum.d.mts +2 -2
- package/internals/plugins/featurePlugins/useChartPolarAxis/getAxisExtremum.d.ts +2 -2
- package/internals/plugins/featurePlugins/useChartPolarAxis/getAxisIndex.d.mts +7 -2
- package/internals/plugins/featurePlugins/useChartPolarAxis/getAxisIndex.d.ts +7 -2
- package/internals/plugins/featurePlugins/useChartPolarAxis/getAxisIndex.js +56 -6
- package/internals/plugins/featurePlugins/useChartPolarAxis/getAxisIndex.mjs +54 -5
- package/internals/plugins/featurePlugins/useChartPolarAxis/index.d.mts +2 -1
- package/internals/plugins/featurePlugins/useChartPolarAxis/index.d.ts +2 -1
- package/internals/plugins/featurePlugins/useChartPolarAxis/index.js +12 -0
- package/internals/plugins/featurePlugins/useChartPolarAxis/index.mjs +2 -1
- package/internals/plugins/featurePlugins/useChartPolarAxis/useChartPolarAxis.js +1 -1
- package/internals/plugins/featurePlugins/useChartPolarAxis/useChartPolarAxis.mjs +2 -2
- package/internals/plugins/featurePlugins/useChartPolarAxis/useChartPolarAxis.selectors.d.mts +4 -4
- package/internals/plugins/featurePlugins/useChartPolarAxis/useChartPolarAxis.selectors.d.ts +4 -4
- package/internals/plugins/featurePlugins/useChartPolarAxis/useChartPolarAxis.types.d.mts +3 -3
- package/internals/plugins/featurePlugins/useChartPolarAxis/useChartPolarAxis.types.d.ts +3 -3
- package/internals/plugins/featurePlugins/useChartPolarAxis/useChartPolarInteraction.selectors.d.mts +23 -3
- package/internals/plugins/featurePlugins/useChartPolarAxis/useChartPolarInteraction.selectors.d.ts +23 -3
- package/internals/plugins/featurePlugins/useChartPolarAxis/useChartPolarInteraction.selectors.js +73 -12
- package/internals/plugins/featurePlugins/useChartPolarAxis/useChartPolarInteraction.selectors.mjs +74 -12
- package/models/axis.d.mts +79 -31
- package/models/axis.d.ts +79 -31
- package/models/axis.js +5 -1
- package/models/axis.mjs +5 -1
- package/models/seriesType/line.d.mts +6 -6
- package/models/seriesType/line.d.ts +6 -6
- package/package.json +32 -4
|
@@ -7,25 +7,74 @@ import { clampAngleRad } from "../../../clampAngle.mjs";
|
|
|
7
7
|
* For a pointer coordinate, this function returns the value and dataIndex associated.
|
|
8
8
|
* Returns `-1` if the coordinate does not match a value.
|
|
9
9
|
*/
|
|
10
|
-
export function
|
|
10
|
+
export function getRotationAxisIndex(axisConfig, pointerValue) {
|
|
11
11
|
const {
|
|
12
12
|
scale,
|
|
13
13
|
data: axisData,
|
|
14
|
-
reverse
|
|
14
|
+
reverse,
|
|
15
|
+
isFullCircle
|
|
15
16
|
} = axisConfig;
|
|
17
|
+
const [startAngle, endAngle] = scale.range();
|
|
18
|
+
const angleGap = clampAngleRad(pointerValue - startAngle);
|
|
19
|
+
const maxAngleGap = clampAngleRad(endAngle - startAngle);
|
|
20
|
+
if (!isFullCircle && angleGap > maxAngleGap) {
|
|
21
|
+
// If not a full circle we only consider pointer inside the rotation range.
|
|
22
|
+
return -1;
|
|
23
|
+
}
|
|
16
24
|
if (!isOrdinalScale(scale)) {
|
|
17
25
|
if (axisData === undefined) {
|
|
18
26
|
return -1;
|
|
19
27
|
}
|
|
20
|
-
const angle =
|
|
28
|
+
const angle = startAngle + clampAngleRad(pointerValue - startAngle);
|
|
21
29
|
const valueAsNumber = getAsNumber(scale.invert(angle));
|
|
22
30
|
return findClosestIndex(axisData, valueAsNumber);
|
|
23
31
|
}
|
|
24
32
|
if (!axisData) {
|
|
25
33
|
return -1;
|
|
26
34
|
}
|
|
27
|
-
|
|
28
|
-
|
|
35
|
+
let dataIndex;
|
|
36
|
+
if (scale.bandwidth() === 0) {
|
|
37
|
+
dataIndex = Math.floor((angleGap + scale.step() / 2) / scale.step());
|
|
38
|
+
if (isFullCircle) {
|
|
39
|
+
// To show dataIndex 0 when we are before the startAngle
|
|
40
|
+
dataIndex = dataIndex % axisData.length;
|
|
41
|
+
}
|
|
42
|
+
} else {
|
|
43
|
+
dataIndex = Math.floor(angleGap / scale.step());
|
|
44
|
+
}
|
|
45
|
+
if (dataIndex < 0 || dataIndex >= axisData.length) {
|
|
46
|
+
return -1;
|
|
47
|
+
}
|
|
48
|
+
return reverse ? axisData.length - 1 - dataIndex : dataIndex;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
/**
|
|
52
|
+
* For a pointer coordinate, this function returns the value and dataIndex associated.
|
|
53
|
+
* Returns `-1` if the coordinate does not match a value.
|
|
54
|
+
*/
|
|
55
|
+
export function getRadiusAxisIndex(axisConfig, pointerValue) {
|
|
56
|
+
const {
|
|
57
|
+
scale,
|
|
58
|
+
data: axisData,
|
|
59
|
+
reverse
|
|
60
|
+
} = axisConfig;
|
|
61
|
+
if (!isOrdinalScale(scale)) {
|
|
62
|
+
if (axisData === undefined) {
|
|
63
|
+
return -1;
|
|
64
|
+
}
|
|
65
|
+
const valueAsNumber = getAsNumber(scale.invert(pointerValue));
|
|
66
|
+
return findClosestIndex(axisData, valueAsNumber);
|
|
67
|
+
}
|
|
68
|
+
if (!axisData) {
|
|
69
|
+
return -1;
|
|
70
|
+
}
|
|
71
|
+
let dataIndex;
|
|
72
|
+
const distFromStart = pointerValue - Math.min(...scale.range());
|
|
73
|
+
if (scale.bandwidth() === 0) {
|
|
74
|
+
dataIndex = Math.floor((distFromStart + scale.step() / 2) / scale.step());
|
|
75
|
+
} else {
|
|
76
|
+
dataIndex = Math.floor(distFromStart / scale.step());
|
|
77
|
+
}
|
|
29
78
|
if (dataIndex < 0 || dataIndex >= axisData.length) {
|
|
30
79
|
return -1;
|
|
31
80
|
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
export { useChartPolarAxis } from "./useChartPolarAxis.mjs";
|
|
2
2
|
export type * from "./useChartPolarAxis.types.mjs";
|
|
3
|
-
export * from "./useChartPolarAxis.selectors.mjs";
|
|
3
|
+
export * from "./useChartPolarAxis.selectors.mjs";
|
|
4
|
+
export * from "./useChartPolarInteraction.selectors.mjs";
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
export { useChartPolarAxis } from "./useChartPolarAxis.js";
|
|
2
2
|
export type * from "./useChartPolarAxis.types.js";
|
|
3
|
-
export * from "./useChartPolarAxis.selectors.js";
|
|
3
|
+
export * from "./useChartPolarAxis.selectors.js";
|
|
4
|
+
export * from "./useChartPolarInteraction.selectors.js";
|
|
@@ -24,4 +24,16 @@ Object.keys(_useChartPolarAxis2).forEach(function (key) {
|
|
|
24
24
|
return _useChartPolarAxis2[key];
|
|
25
25
|
}
|
|
26
26
|
});
|
|
27
|
+
});
|
|
28
|
+
var _useChartPolarInteraction = require("./useChartPolarInteraction.selectors");
|
|
29
|
+
Object.keys(_useChartPolarInteraction).forEach(function (key) {
|
|
30
|
+
if (key === "default" || key === "__esModule") return;
|
|
31
|
+
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
32
|
+
if (key in exports && exports[key] === _useChartPolarInteraction[key]) return;
|
|
33
|
+
Object.defineProperty(exports, key, {
|
|
34
|
+
enumerable: true,
|
|
35
|
+
get: function () {
|
|
36
|
+
return _useChartPolarInteraction[key];
|
|
37
|
+
}
|
|
38
|
+
});
|
|
27
39
|
});
|
|
@@ -177,7 +177,7 @@ const useChartPolarAxis = ({
|
|
|
177
177
|
let isRotationAxis = false;
|
|
178
178
|
const svgPoint = (0, _getChartPoint.getChartPoint)(element, event.detail.srcEvent);
|
|
179
179
|
const rotation = (0, _coordinateTransformation.generateSvg2rotation)(center)(svgPoint.x, svgPoint.y);
|
|
180
|
-
const rotationIndex = (0, _getAxisIndex.
|
|
180
|
+
const rotationIndex = (0, _getAxisIndex.getRotationAxisIndex)(rotationAxisWithScale[usedRotationAxisId], rotation);
|
|
181
181
|
isRotationAxis = rotationIndex !== -1;
|
|
182
182
|
dataIndex = isRotationAxis ? rotationIndex : null; // radius index is not yet implemented.
|
|
183
183
|
|
|
@@ -9,7 +9,7 @@ import { selectorChartsInteractionIsInitialized } from "../useChartInteraction/i
|
|
|
9
9
|
import { selectorChartPolarCenter, selectorChartRadiusAxis, selectorChartRotationAxis } from "./useChartPolarAxis.selectors.mjs";
|
|
10
10
|
import { getChartPoint } from "../../../getChartPoint.mjs";
|
|
11
11
|
import { generatePolar2svg, generateSvg2polar, generateSvg2rotation } from "./coordinateTransformation.mjs";
|
|
12
|
-
import {
|
|
12
|
+
import { getRotationAxisIndex } from "./getAxisIndex.mjs";
|
|
13
13
|
import { selectorChartSeriesProcessed } from "../../corePlugins/useChartSeries/index.mjs";
|
|
14
14
|
import { checkHasInteractionPlugin } from "../useChartInteraction/checkHasInteractionPlugin.mjs";
|
|
15
15
|
export const useChartPolarAxis = ({
|
|
@@ -170,7 +170,7 @@ export const useChartPolarAxis = ({
|
|
|
170
170
|
let isRotationAxis = false;
|
|
171
171
|
const svgPoint = getChartPoint(element, event.detail.srcEvent);
|
|
172
172
|
const rotation = generateSvg2rotation(center)(svgPoint.x, svgPoint.y);
|
|
173
|
-
const rotationIndex =
|
|
173
|
+
const rotationIndex = getRotationAxisIndex(rotationAxisWithScale[usedRotationAxisId], rotation);
|
|
174
174
|
isRotationAxis = rotationIndex !== -1;
|
|
175
175
|
dataIndex = isRotationAxis ? rotationIndex : null; // radius index is not yet implemented.
|
|
176
176
|
|
package/internals/plugins/featurePlugins/useChartPolarAxis/useChartPolarAxis.selectors.d.mts
CHANGED
|
@@ -2,15 +2,15 @@ import { type UseChartPolarAxisSignature } from "./useChartPolarAxis.types.mjs";
|
|
|
2
2
|
import { type ChartState } from "../../models/chart.mjs";
|
|
3
3
|
import type { ChartDrawingArea } from "../../../../hooks/useDrawingArea.mjs";
|
|
4
4
|
export declare const selectorChartPolarAxisState: (state: ChartState<[], [UseChartPolarAxisSignature]>) => {
|
|
5
|
-
rotation: import("../../../index.mjs").
|
|
6
|
-
radius: import("../../../index.mjs").
|
|
5
|
+
rotation: import("../../../index.mjs").PolarAxisConfig<import("../../../index.mjs").ScaleName, any, import("../../../index.mjs").ChartsRotationAxisProps>[];
|
|
6
|
+
radius: import("../../../index.mjs").PolarAxisConfig<import("../../../index.mjs").ScaleName, any, import("../../../index.mjs").ChartsRadiusAxisProps>[];
|
|
7
7
|
} | undefined;
|
|
8
8
|
export declare const selectorChartRawRotationAxis: (args_0: import("../../corePlugins/useChartId/useChartId.types.mjs").UseChartIdState & import("../../corePlugins/useChartSeriesConfig/useChartSeriesConfig.types.mjs").UseChartSeriesConfigState<keyof import("../../../index.mjs").ChartsSeriesConfig> & import("../../corePlugins/useChartExperimentalFeature/useChartExperimentalFeature.types.mjs").UseChartExperimentalFeaturesState & import("../../corePlugins/useChartDimensions/useChartDimensions.types.mjs").UseChartDimensionsState & import("../../corePlugins/useChartSeries/useChartSeries.types.mjs").UseChartSeriesState<keyof import("../../../index.mjs").ChartsSeriesConfig> & import("../../corePlugins/useChartAnimation/useChartAnimation.types.mjs").UseChartAnimationState & import("../../../index.mjs").UseChartInteractionListenerState & Partial<import("./useChartPolarAxis.types.mjs").UseChartPolarAxisState> & {
|
|
9
9
|
cacheKey: import("../../models/index.mjs").ChartStateCacheKey;
|
|
10
|
-
}) => import("../../../index.mjs").
|
|
10
|
+
}) => import("../../../index.mjs").PolarAxisConfig<keyof import("../../../index.mjs").AxisScaleConfig, any, import("../../../index.mjs").ChartsRotationAxisProps>[] | undefined;
|
|
11
11
|
export declare const selectorChartRawRadiusAxis: (args_0: import("../../corePlugins/useChartId/useChartId.types.mjs").UseChartIdState & import("../../corePlugins/useChartSeriesConfig/useChartSeriesConfig.types.mjs").UseChartSeriesConfigState<keyof import("../../../index.mjs").ChartsSeriesConfig> & import("../../corePlugins/useChartExperimentalFeature/useChartExperimentalFeature.types.mjs").UseChartExperimentalFeaturesState & import("../../corePlugins/useChartDimensions/useChartDimensions.types.mjs").UseChartDimensionsState & import("../../corePlugins/useChartSeries/useChartSeries.types.mjs").UseChartSeriesState<keyof import("../../../index.mjs").ChartsSeriesConfig> & import("../../corePlugins/useChartAnimation/useChartAnimation.types.mjs").UseChartAnimationState & import("../../../index.mjs").UseChartInteractionListenerState & Partial<import("./useChartPolarAxis.types.mjs").UseChartPolarAxisState> & {
|
|
12
12
|
cacheKey: import("../../models/index.mjs").ChartStateCacheKey;
|
|
13
|
-
}) => import("../../../index.mjs").
|
|
13
|
+
}) => import("../../../index.mjs").PolarAxisConfig<keyof import("../../../index.mjs").AxisScaleConfig, any, import("../../../index.mjs").ChartsRadiusAxisProps>[] | undefined;
|
|
14
14
|
/**
|
|
15
15
|
* The only interesting selectors that merge axis data and zoom if provided.
|
|
16
16
|
*/
|
|
@@ -2,15 +2,15 @@ import { type UseChartPolarAxisSignature } from "./useChartPolarAxis.types.js";
|
|
|
2
2
|
import { type ChartState } from "../../models/chart.js";
|
|
3
3
|
import type { ChartDrawingArea } from "../../../../hooks/useDrawingArea.js";
|
|
4
4
|
export declare const selectorChartPolarAxisState: (state: ChartState<[], [UseChartPolarAxisSignature]>) => {
|
|
5
|
-
rotation: import("../../../index.js").
|
|
6
|
-
radius: import("../../../index.js").
|
|
5
|
+
rotation: import("../../../index.js").PolarAxisConfig<import("../../../index.js").ScaleName, any, import("../../../index.js").ChartsRotationAxisProps>[];
|
|
6
|
+
radius: import("../../../index.js").PolarAxisConfig<import("../../../index.js").ScaleName, any, import("../../../index.js").ChartsRadiusAxisProps>[];
|
|
7
7
|
} | undefined;
|
|
8
8
|
export declare const selectorChartRawRotationAxis: (args_0: import("../../corePlugins/useChartId/useChartId.types.js").UseChartIdState & import("../../corePlugins/useChartSeriesConfig/useChartSeriesConfig.types.js").UseChartSeriesConfigState<keyof import("../../../index.js").ChartsSeriesConfig> & import("../../corePlugins/useChartExperimentalFeature/useChartExperimentalFeature.types.js").UseChartExperimentalFeaturesState & import("../../corePlugins/useChartDimensions/useChartDimensions.types.js").UseChartDimensionsState & import("../../corePlugins/useChartSeries/useChartSeries.types.js").UseChartSeriesState<keyof import("../../../index.js").ChartsSeriesConfig> & import("../../corePlugins/useChartAnimation/useChartAnimation.types.js").UseChartAnimationState & import("../../../index.js").UseChartInteractionListenerState & Partial<import("./useChartPolarAxis.types.js").UseChartPolarAxisState> & {
|
|
9
9
|
cacheKey: import("../../models/index.js").ChartStateCacheKey;
|
|
10
|
-
}) => import("../../../index.js").
|
|
10
|
+
}) => import("../../../index.js").PolarAxisConfig<keyof import("../../../index.js").AxisScaleConfig, any, import("../../../index.js").ChartsRotationAxisProps>[] | undefined;
|
|
11
11
|
export declare const selectorChartRawRadiusAxis: (args_0: import("../../corePlugins/useChartId/useChartId.types.js").UseChartIdState & import("../../corePlugins/useChartSeriesConfig/useChartSeriesConfig.types.js").UseChartSeriesConfigState<keyof import("../../../index.js").ChartsSeriesConfig> & import("../../corePlugins/useChartExperimentalFeature/useChartExperimentalFeature.types.js").UseChartExperimentalFeaturesState & import("../../corePlugins/useChartDimensions/useChartDimensions.types.js").UseChartDimensionsState & import("../../corePlugins/useChartSeries/useChartSeries.types.js").UseChartSeriesState<keyof import("../../../index.js").ChartsSeriesConfig> & import("../../corePlugins/useChartAnimation/useChartAnimation.types.js").UseChartAnimationState & import("../../../index.js").UseChartInteractionListenerState & Partial<import("./useChartPolarAxis.types.js").UseChartPolarAxisState> & {
|
|
12
12
|
cacheKey: import("../../models/index.js").ChartStateCacheKey;
|
|
13
|
-
}) => import("../../../index.js").
|
|
13
|
+
}) => import("../../../index.js").PolarAxisConfig<keyof import("../../../index.js").AxisScaleConfig, any, import("../../../index.js").ChartsRadiusAxisProps>[] | undefined;
|
|
14
14
|
/**
|
|
15
15
|
* The only interesting selectors that merge axis data and zoom if provided.
|
|
16
16
|
*/
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type ChartPluginSignature } from "../../models/index.mjs";
|
|
2
2
|
import { type ChartSeriesType, type DatasetType } from "../../../../models/seriesType/config.mjs";
|
|
3
|
-
import { type ScaleName, type
|
|
3
|
+
import { type ScaleName, type PolarAxisConfig, type ChartsRotationAxisProps, type ChartsRadiusAxisProps, type RadiusAxis, type RotationAxis, type ChartsAxisData } from "../../../../models/axis.mjs";
|
|
4
4
|
import { type UseChartSeriesSignature } from "../../corePlugins/useChartSeries/index.mjs";
|
|
5
5
|
import { type UseChartInteractionSignature } from "../useChartInteraction/index.mjs";
|
|
6
6
|
export interface UseChartPolarAxisInstance {
|
|
@@ -60,8 +60,8 @@ export interface UseChartPolarAxisParameters {
|
|
|
60
60
|
export type UseChartPolarAxisDefaultizedParameters = UseChartPolarAxisParameters & {};
|
|
61
61
|
export interface UseChartPolarAxisState {
|
|
62
62
|
polarAxis: {
|
|
63
|
-
rotation:
|
|
64
|
-
radius:
|
|
63
|
+
rotation: PolarAxisConfig<ScaleName, any, ChartsRotationAxisProps>[];
|
|
64
|
+
radius: PolarAxisConfig<ScaleName, any, ChartsRadiusAxisProps>[];
|
|
65
65
|
};
|
|
66
66
|
}
|
|
67
67
|
export type UseChartPolarAxisSignature<SeriesType extends ChartSeriesType = ChartSeriesType> = ChartPluginSignature<{
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type ChartPluginSignature } from "../../models/index.js";
|
|
2
2
|
import { type ChartSeriesType, type DatasetType } from "../../../../models/seriesType/config.js";
|
|
3
|
-
import { type ScaleName, type
|
|
3
|
+
import { type ScaleName, type PolarAxisConfig, type ChartsRotationAxisProps, type ChartsRadiusAxisProps, type RadiusAxis, type RotationAxis, type ChartsAxisData } from "../../../../models/axis.js";
|
|
4
4
|
import { type UseChartSeriesSignature } from "../../corePlugins/useChartSeries/index.js";
|
|
5
5
|
import { type UseChartInteractionSignature } from "../useChartInteraction/index.js";
|
|
6
6
|
export interface UseChartPolarAxisInstance {
|
|
@@ -60,8 +60,8 @@ export interface UseChartPolarAxisParameters {
|
|
|
60
60
|
export type UseChartPolarAxisDefaultizedParameters = UseChartPolarAxisParameters & {};
|
|
61
61
|
export interface UseChartPolarAxisState {
|
|
62
62
|
polarAxis: {
|
|
63
|
-
rotation:
|
|
64
|
-
radius:
|
|
63
|
+
rotation: PolarAxisConfig<ScaleName, any, ChartsRotationAxisProps>[];
|
|
64
|
+
radius: PolarAxisConfig<ScaleName, any, ChartsRadiusAxisProps>[];
|
|
65
65
|
};
|
|
66
66
|
}
|
|
67
67
|
export type UseChartPolarAxisSignature<SeriesType extends ChartSeriesType = ChartSeriesType> = ChartPluginSignature<{
|
package/internals/plugins/featurePlugins/useChartPolarAxis/useChartPolarInteraction.selectors.d.mts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { AxisItemIdentifier } from "../../../../models/axis.mjs";
|
|
2
2
|
export declare const selectorChartsInteractionRotationAxisIndex: (args_0: import("../../corePlugins/useChartId/useChartId.types.mjs").UseChartIdState & import("../../corePlugins/useChartSeriesConfig/useChartSeriesConfig.types.mjs").UseChartSeriesConfigState<keyof import("../../../index.mjs").ChartsSeriesConfig> & import("../../corePlugins/useChartExperimentalFeature/useChartExperimentalFeature.types.mjs").UseChartExperimentalFeaturesState & import("../../corePlugins/useChartDimensions/useChartDimensions.types.mjs").UseChartDimensionsState & import("../../corePlugins/useChartSeries/useChartSeries.types.mjs").UseChartSeriesState<keyof import("../../../index.mjs").ChartsSeriesConfig> & import("../../corePlugins/useChartAnimation/useChartAnimation.types.mjs").UseChartAnimationState & import("../../../index.mjs").UseChartInteractionListenerState & Partial<import("../useChartInteraction/useChartInteraction.types.mjs").UseChartInteractionState> & {
|
|
3
3
|
cacheKey: import("../../models/index.mjs").ChartStateCacheKey;
|
|
4
4
|
}) => number | null;
|
|
@@ -18,9 +18,29 @@ export declare const selectorChartsInteractionTooltipRotationAxes: (args_0: impo
|
|
|
18
18
|
cacheKey: import("../../models/index.mjs").ChartStateCacheKey;
|
|
19
19
|
}) => AxisItemIdentifier[];
|
|
20
20
|
/**
|
|
21
|
-
*
|
|
21
|
+
* Helper to get the radius associated to the interaction coordinate.
|
|
22
22
|
*/
|
|
23
|
-
export declare const
|
|
23
|
+
export declare const selectorChartsInteractionRadius: (args_0: import("../../corePlugins/useChartId/useChartId.types.mjs").UseChartIdState & import("../../corePlugins/useChartSeriesConfig/useChartSeriesConfig.types.mjs").UseChartSeriesConfigState<keyof import("../../../index.mjs").ChartsSeriesConfig> & import("../../corePlugins/useChartExperimentalFeature/useChartExperimentalFeature.types.mjs").UseChartExperimentalFeaturesState & import("../../corePlugins/useChartDimensions/useChartDimensions.types.mjs").UseChartDimensionsState & import("../../corePlugins/useChartSeries/useChartSeries.types.mjs").UseChartSeriesState<keyof import("../../../index.mjs").ChartsSeriesConfig> & import("../../corePlugins/useChartAnimation/useChartAnimation.types.mjs").UseChartAnimationState & import("../../../index.mjs").UseChartInteractionListenerState & Partial<import("../useChartInteraction/useChartInteraction.types.mjs").UseChartInteractionState> & {
|
|
24
|
+
cacheKey: import("../../models/index.mjs").ChartStateCacheKey;
|
|
25
|
+
}) => number | null;
|
|
26
|
+
export declare const selectorChartsInteractionRadiusAxisIndex: (args_0: import("../../corePlugins/useChartId/useChartId.types.mjs").UseChartIdState & import("../../corePlugins/useChartSeriesConfig/useChartSeriesConfig.types.mjs").UseChartSeriesConfigState<keyof import("../../../index.mjs").ChartsSeriesConfig> & import("../../corePlugins/useChartExperimentalFeature/useChartExperimentalFeature.types.mjs").UseChartExperimentalFeaturesState & import("../../corePlugins/useChartDimensions/useChartDimensions.types.mjs").UseChartDimensionsState & import("../../corePlugins/useChartSeries/useChartSeries.types.mjs").UseChartSeriesState<keyof import("../../../index.mjs").ChartsSeriesConfig> & import("../../corePlugins/useChartAnimation/useChartAnimation.types.mjs").UseChartAnimationState & import("../../../index.mjs").UseChartInteractionListenerState & Partial<import("../useChartInteraction/useChartInteraction.types.mjs").UseChartInteractionState> & {
|
|
27
|
+
cacheKey: import("../../models/index.mjs").ChartStateCacheKey;
|
|
28
|
+
}) => number | null;
|
|
29
|
+
export declare const selectorChartsInteractionRadiusAxisIndexes: (args_0: import("../../corePlugins/useChartId/useChartId.types.mjs").UseChartIdState & import("../../corePlugins/useChartSeriesConfig/useChartSeriesConfig.types.mjs").UseChartSeriesConfigState<keyof import("../../../index.mjs").ChartsSeriesConfig> & import("../../corePlugins/useChartExperimentalFeature/useChartExperimentalFeature.types.mjs").UseChartExperimentalFeaturesState & import("../../corePlugins/useChartDimensions/useChartDimensions.types.mjs").UseChartDimensionsState & import("../../corePlugins/useChartSeries/useChartSeries.types.mjs").UseChartSeriesState<keyof import("../../../index.mjs").ChartsSeriesConfig> & import("../../corePlugins/useChartAnimation/useChartAnimation.types.mjs").UseChartAnimationState & import("../../../index.mjs").UseChartInteractionListenerState & Partial<import("../useChartInteraction/useChartInteraction.types.mjs").UseChartInteractionState> & {
|
|
30
|
+
cacheKey: import("../../models/index.mjs").ChartStateCacheKey;
|
|
31
|
+
}) => number[] | null;
|
|
32
|
+
export declare const selectorChartsInteractionRadiusAxisValue: (args_0: import("../../corePlugins/useChartId/useChartId.types.mjs").UseChartIdState & import("../../corePlugins/useChartSeriesConfig/useChartSeriesConfig.types.mjs").UseChartSeriesConfigState<keyof import("../../../index.mjs").ChartsSeriesConfig> & import("../../corePlugins/useChartExperimentalFeature/useChartExperimentalFeature.types.mjs").UseChartExperimentalFeaturesState & import("../../corePlugins/useChartDimensions/useChartDimensions.types.mjs").UseChartDimensionsState & import("../../corePlugins/useChartSeries/useChartSeries.types.mjs").UseChartSeriesState<keyof import("../../../index.mjs").ChartsSeriesConfig> & import("../../corePlugins/useChartAnimation/useChartAnimation.types.mjs").UseChartAnimationState & import("../../../index.mjs").UseChartInteractionListenerState & Partial<import("./useChartPolarAxis.types.mjs").UseChartPolarAxisState> & {
|
|
33
|
+
cacheKey: import("../../models/index.mjs").ChartStateCacheKey;
|
|
34
|
+
}) => any;
|
|
35
|
+
export declare const selectorChartsInteractionRadiusAxisValues: (args_0: import("../../corePlugins/useChartId/useChartId.types.mjs").UseChartIdState & import("../../corePlugins/useChartSeriesConfig/useChartSeriesConfig.types.mjs").UseChartSeriesConfigState<keyof import("../../../index.mjs").ChartsSeriesConfig> & import("../../corePlugins/useChartExperimentalFeature/useChartExperimentalFeature.types.mjs").UseChartExperimentalFeaturesState & import("../../corePlugins/useChartDimensions/useChartDimensions.types.mjs").UseChartDimensionsState & import("../../corePlugins/useChartSeries/useChartSeries.types.mjs").UseChartSeriesState<keyof import("../../../index.mjs").ChartsSeriesConfig> & import("../../corePlugins/useChartAnimation/useChartAnimation.types.mjs").UseChartAnimationState & import("../../../index.mjs").UseChartInteractionListenerState & Partial<import("./useChartPolarAxis.types.mjs").UseChartPolarAxisState> & {
|
|
36
|
+
cacheKey: import("../../models/index.mjs").ChartStateCacheKey;
|
|
37
|
+
}) => any[] | null;
|
|
38
|
+
/**
|
|
39
|
+
* Get radius-axis ids and corresponding data index that should be display in the tooltip.
|
|
40
|
+
*/
|
|
41
|
+
export declare const selectorChartsInteractionTooltipRadiusAxes: (args_0: import("../../corePlugins/useChartId/useChartId.types.mjs").UseChartIdState & import("../../corePlugins/useChartSeriesConfig/useChartSeriesConfig.types.mjs").UseChartSeriesConfigState<keyof import("../../../index.mjs").ChartsSeriesConfig> & import("../../corePlugins/useChartExperimentalFeature/useChartExperimentalFeature.types.mjs").UseChartExperimentalFeaturesState & import("../../corePlugins/useChartDimensions/useChartDimensions.types.mjs").UseChartDimensionsState & import("../../corePlugins/useChartSeries/useChartSeries.types.mjs").UseChartSeriesState<keyof import("../../../index.mjs").ChartsSeriesConfig> & import("../../corePlugins/useChartAnimation/useChartAnimation.types.mjs").UseChartAnimationState & import("../../../index.mjs").UseChartInteractionListenerState & Partial<import("../useChartInteraction/useChartInteraction.types.mjs").UseChartInteractionState> & {
|
|
42
|
+
cacheKey: import("../../models/index.mjs").ChartStateCacheKey;
|
|
43
|
+
}) => AxisItemIdentifier[];
|
|
24
44
|
/**
|
|
25
45
|
* Return `true` if the axis tooltip has something to display.
|
|
26
46
|
*/
|
package/internals/plugins/featurePlugins/useChartPolarAxis/useChartPolarInteraction.selectors.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { AxisItemIdentifier } from "../../../../models/axis.js";
|
|
2
2
|
export declare const selectorChartsInteractionRotationAxisIndex: (args_0: import("../../corePlugins/useChartId/useChartId.types.js").UseChartIdState & import("../../corePlugins/useChartSeriesConfig/useChartSeriesConfig.types.js").UseChartSeriesConfigState<keyof import("../../../index.js").ChartsSeriesConfig> & import("../../corePlugins/useChartExperimentalFeature/useChartExperimentalFeature.types.js").UseChartExperimentalFeaturesState & import("../../corePlugins/useChartDimensions/useChartDimensions.types.js").UseChartDimensionsState & import("../../corePlugins/useChartSeries/useChartSeries.types.js").UseChartSeriesState<keyof import("../../../index.js").ChartsSeriesConfig> & import("../../corePlugins/useChartAnimation/useChartAnimation.types.js").UseChartAnimationState & import("../../../index.js").UseChartInteractionListenerState & Partial<import("../useChartInteraction/useChartInteraction.types.js").UseChartInteractionState> & {
|
|
3
3
|
cacheKey: import("../../models/index.js").ChartStateCacheKey;
|
|
4
4
|
}) => number | null;
|
|
@@ -18,9 +18,29 @@ export declare const selectorChartsInteractionTooltipRotationAxes: (args_0: impo
|
|
|
18
18
|
cacheKey: import("../../models/index.js").ChartStateCacheKey;
|
|
19
19
|
}) => AxisItemIdentifier[];
|
|
20
20
|
/**
|
|
21
|
-
*
|
|
21
|
+
* Helper to get the radius associated to the interaction coordinate.
|
|
22
22
|
*/
|
|
23
|
-
export declare const
|
|
23
|
+
export declare const selectorChartsInteractionRadius: (args_0: import("../../corePlugins/useChartId/useChartId.types.js").UseChartIdState & import("../../corePlugins/useChartSeriesConfig/useChartSeriesConfig.types.js").UseChartSeriesConfigState<keyof import("../../../index.js").ChartsSeriesConfig> & import("../../corePlugins/useChartExperimentalFeature/useChartExperimentalFeature.types.js").UseChartExperimentalFeaturesState & import("../../corePlugins/useChartDimensions/useChartDimensions.types.js").UseChartDimensionsState & import("../../corePlugins/useChartSeries/useChartSeries.types.js").UseChartSeriesState<keyof import("../../../index.js").ChartsSeriesConfig> & import("../../corePlugins/useChartAnimation/useChartAnimation.types.js").UseChartAnimationState & import("../../../index.js").UseChartInteractionListenerState & Partial<import("../useChartInteraction/useChartInteraction.types.js").UseChartInteractionState> & {
|
|
24
|
+
cacheKey: import("../../models/index.js").ChartStateCacheKey;
|
|
25
|
+
}) => number | null;
|
|
26
|
+
export declare const selectorChartsInteractionRadiusAxisIndex: (args_0: import("../../corePlugins/useChartId/useChartId.types.js").UseChartIdState & import("../../corePlugins/useChartSeriesConfig/useChartSeriesConfig.types.js").UseChartSeriesConfigState<keyof import("../../../index.js").ChartsSeriesConfig> & import("../../corePlugins/useChartExperimentalFeature/useChartExperimentalFeature.types.js").UseChartExperimentalFeaturesState & import("../../corePlugins/useChartDimensions/useChartDimensions.types.js").UseChartDimensionsState & import("../../corePlugins/useChartSeries/useChartSeries.types.js").UseChartSeriesState<keyof import("../../../index.js").ChartsSeriesConfig> & import("../../corePlugins/useChartAnimation/useChartAnimation.types.js").UseChartAnimationState & import("../../../index.js").UseChartInteractionListenerState & Partial<import("../useChartInteraction/useChartInteraction.types.js").UseChartInteractionState> & {
|
|
27
|
+
cacheKey: import("../../models/index.js").ChartStateCacheKey;
|
|
28
|
+
}) => number | null;
|
|
29
|
+
export declare const selectorChartsInteractionRadiusAxisIndexes: (args_0: import("../../corePlugins/useChartId/useChartId.types.js").UseChartIdState & import("../../corePlugins/useChartSeriesConfig/useChartSeriesConfig.types.js").UseChartSeriesConfigState<keyof import("../../../index.js").ChartsSeriesConfig> & import("../../corePlugins/useChartExperimentalFeature/useChartExperimentalFeature.types.js").UseChartExperimentalFeaturesState & import("../../corePlugins/useChartDimensions/useChartDimensions.types.js").UseChartDimensionsState & import("../../corePlugins/useChartSeries/useChartSeries.types.js").UseChartSeriesState<keyof import("../../../index.js").ChartsSeriesConfig> & import("../../corePlugins/useChartAnimation/useChartAnimation.types.js").UseChartAnimationState & import("../../../index.js").UseChartInteractionListenerState & Partial<import("../useChartInteraction/useChartInteraction.types.js").UseChartInteractionState> & {
|
|
30
|
+
cacheKey: import("../../models/index.js").ChartStateCacheKey;
|
|
31
|
+
}) => number[] | null;
|
|
32
|
+
export declare const selectorChartsInteractionRadiusAxisValue: (args_0: import("../../corePlugins/useChartId/useChartId.types.js").UseChartIdState & import("../../corePlugins/useChartSeriesConfig/useChartSeriesConfig.types.js").UseChartSeriesConfigState<keyof import("../../../index.js").ChartsSeriesConfig> & import("../../corePlugins/useChartExperimentalFeature/useChartExperimentalFeature.types.js").UseChartExperimentalFeaturesState & import("../../corePlugins/useChartDimensions/useChartDimensions.types.js").UseChartDimensionsState & import("../../corePlugins/useChartSeries/useChartSeries.types.js").UseChartSeriesState<keyof import("../../../index.js").ChartsSeriesConfig> & import("../../corePlugins/useChartAnimation/useChartAnimation.types.js").UseChartAnimationState & import("../../../index.js").UseChartInteractionListenerState & Partial<import("./useChartPolarAxis.types.js").UseChartPolarAxisState> & {
|
|
33
|
+
cacheKey: import("../../models/index.js").ChartStateCacheKey;
|
|
34
|
+
}) => any;
|
|
35
|
+
export declare const selectorChartsInteractionRadiusAxisValues: (args_0: import("../../corePlugins/useChartId/useChartId.types.js").UseChartIdState & import("../../corePlugins/useChartSeriesConfig/useChartSeriesConfig.types.js").UseChartSeriesConfigState<keyof import("../../../index.js").ChartsSeriesConfig> & import("../../corePlugins/useChartExperimentalFeature/useChartExperimentalFeature.types.js").UseChartExperimentalFeaturesState & import("../../corePlugins/useChartDimensions/useChartDimensions.types.js").UseChartDimensionsState & import("../../corePlugins/useChartSeries/useChartSeries.types.js").UseChartSeriesState<keyof import("../../../index.js").ChartsSeriesConfig> & import("../../corePlugins/useChartAnimation/useChartAnimation.types.js").UseChartAnimationState & import("../../../index.js").UseChartInteractionListenerState & Partial<import("./useChartPolarAxis.types.js").UseChartPolarAxisState> & {
|
|
36
|
+
cacheKey: import("../../models/index.js").ChartStateCacheKey;
|
|
37
|
+
}) => any[] | null;
|
|
38
|
+
/**
|
|
39
|
+
* Get radius-axis ids and corresponding data index that should be display in the tooltip.
|
|
40
|
+
*/
|
|
41
|
+
export declare const selectorChartsInteractionTooltipRadiusAxes: (args_0: import("../../corePlugins/useChartId/useChartId.types.js").UseChartIdState & import("../../corePlugins/useChartSeriesConfig/useChartSeriesConfig.types.js").UseChartSeriesConfigState<keyof import("../../../index.js").ChartsSeriesConfig> & import("../../corePlugins/useChartExperimentalFeature/useChartExperimentalFeature.types.js").UseChartExperimentalFeaturesState & import("../../corePlugins/useChartDimensions/useChartDimensions.types.js").UseChartDimensionsState & import("../../corePlugins/useChartSeries/useChartSeries.types.js").UseChartSeriesState<keyof import("../../../index.js").ChartsSeriesConfig> & import("../../corePlugins/useChartAnimation/useChartAnimation.types.js").UseChartAnimationState & import("../../../index.js").UseChartInteractionListenerState & Partial<import("../useChartInteraction/useChartInteraction.types.js").UseChartInteractionState> & {
|
|
42
|
+
cacheKey: import("../../models/index.js").ChartStateCacheKey;
|
|
43
|
+
}) => AxisItemIdentifier[];
|
|
24
44
|
/**
|
|
25
45
|
* Return `true` if the axis tooltip has something to display.
|
|
26
46
|
*/
|
package/internals/plugins/featurePlugins/useChartPolarAxis/useChartPolarInteraction.selectors.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.selectorChartsInteractionTooltipRotationAxes = exports.selectorChartsInteractionTooltipRadiusAxes = exports.selectorChartsInteractionRotationAxisValues = exports.selectorChartsInteractionRotationAxisValue = exports.selectorChartsInteractionRotationAxisIndexes = exports.selectorChartsInteractionRotationAxisIndex = exports.selectorChartsInteractionPolarAxisTooltip = void 0;
|
|
6
|
+
exports.selectorChartsInteractionTooltipRotationAxes = exports.selectorChartsInteractionTooltipRadiusAxes = exports.selectorChartsInteractionRotationAxisValues = exports.selectorChartsInteractionRotationAxisValue = exports.selectorChartsInteractionRotationAxisIndexes = exports.selectorChartsInteractionRotationAxisIndex = exports.selectorChartsInteractionRadiusAxisValues = exports.selectorChartsInteractionRadiusAxisValue = exports.selectorChartsInteractionRadiusAxisIndexes = exports.selectorChartsInteractionRadiusAxisIndex = exports.selectorChartsInteractionRadius = exports.selectorChartsInteractionPolarAxisTooltip = void 0;
|
|
7
7
|
var _isDeepEqual = require("@mui/x-internals/isDeepEqual");
|
|
8
8
|
var _store = require("@mui/x-internals/store");
|
|
9
9
|
var _useChartInteraction = require("../useChartInteraction/useChartInteraction.selectors");
|
|
@@ -17,10 +17,17 @@ const optionalGetAxisIds = (_, ids) => ids;
|
|
|
17
17
|
* Get interaction indexes
|
|
18
18
|
*/
|
|
19
19
|
|
|
20
|
-
function indexGetter(value, axes, ids) {
|
|
21
|
-
|
|
20
|
+
function indexGetter(value, axes, ids, type) {
|
|
21
|
+
if (type === 'rotation') {
|
|
22
|
+
const rotationAxes = axes;
|
|
23
|
+
return Array.isArray(ids) ? ids.map(id => (0, _getAxisIndex.getRotationAxisIndex)(rotationAxes.axis[id], value)) : (0, _getAxisIndex.getRotationAxisIndex)(rotationAxes.axis[ids], value);
|
|
24
|
+
}
|
|
25
|
+
const radiusAxes = axes;
|
|
26
|
+
return Array.isArray(ids) ? ids.map(id => (0, _getAxisIndex.getRadiusAxisIndex)(radiusAxes.axis[id], value)) : (0, _getAxisIndex.getRadiusAxisIndex)(radiusAxes.axis[ids], value);
|
|
22
27
|
}
|
|
23
28
|
|
|
29
|
+
// ============================= Rotation axis =============================
|
|
30
|
+
|
|
24
31
|
/**
|
|
25
32
|
* Helper to get the rotation associated to the interaction coordinate.
|
|
26
33
|
*/
|
|
@@ -30,8 +37,8 @@ const selectorChartsInteractionRotationAngle = (0, _store.createSelector)(_useCh
|
|
|
30
37
|
}
|
|
31
38
|
return (0, _coordinateTransformation.generateSvg2rotation)(center)(x, y);
|
|
32
39
|
});
|
|
33
|
-
const selectorChartsInteractionRotationAxisIndex = exports.selectorChartsInteractionRotationAxisIndex = (0, _store.createSelector)(selectorChartsInteractionRotationAngle, _useChartPolarAxis.selectorChartRotationAxis, optionalGetAxisId, (rotation, rotationAxis, id) => rotation === null ? null : indexGetter(rotation, rotationAxis, id ?? rotationAxis.axisIds[0]));
|
|
34
|
-
const selectorChartsInteractionRotationAxisIndexes = exports.selectorChartsInteractionRotationAxisIndexes = (0, _store.createSelector)(selectorChartsInteractionRotationAngle, _useChartPolarAxis.selectorChartRotationAxis, optionalGetAxisIds, (rotation, rotationAxis, ids) => rotation === null ? null : indexGetter(rotation, rotationAxis, ids ?? rotationAxis.axisIds));
|
|
40
|
+
const selectorChartsInteractionRotationAxisIndex = exports.selectorChartsInteractionRotationAxisIndex = (0, _store.createSelector)(selectorChartsInteractionRotationAngle, _useChartPolarAxis.selectorChartRotationAxis, optionalGetAxisId, (rotation, rotationAxis, id) => rotation === null ? null : indexGetter(rotation, rotationAxis, id ?? rotationAxis.axisIds[0], 'rotation'));
|
|
41
|
+
const selectorChartsInteractionRotationAxisIndexes = exports.selectorChartsInteractionRotationAxisIndexes = (0, _store.createSelector)(selectorChartsInteractionRotationAngle, _useChartPolarAxis.selectorChartRotationAxis, optionalGetAxisIds, (rotation, rotationAxis, ids) => rotation === null ? null : indexGetter(rotation, rotationAxis, ids ?? rotationAxis.axisIds, 'rotation'));
|
|
35
42
|
const selectorChartsInteractionRotationAxisValue = exports.selectorChartsInteractionRotationAxisValue = (0, _store.createSelector)(_useChartPolarAxis.selectorChartRotationAxis, selectorChartsInteractionRotationAxisIndex, optionalGetAxisId, (rotationAxis, rotationIndex, id) => {
|
|
36
43
|
id = id ?? rotationAxis.axisIds[0];
|
|
37
44
|
if (rotationIndex === null || rotationIndex === -1 || rotationAxis.axisIds.length === 0) {
|
|
@@ -80,16 +87,70 @@ const selectorChartsInteractionTooltipRotationAxes = exports.selectorChartsInter
|
|
|
80
87
|
}) => axes.axis[axisId].triggerTooltip && dataIndex >= 0);
|
|
81
88
|
});
|
|
82
89
|
|
|
90
|
+
// ============================= Radius axis =============================
|
|
91
|
+
|
|
83
92
|
/**
|
|
84
|
-
*
|
|
93
|
+
* Helper to get the radius associated to the interaction coordinate.
|
|
85
94
|
*/
|
|
86
|
-
const
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
}
|
|
95
|
+
const selectorChartsInteractionRadius = exports.selectorChartsInteractionRadius = (0, _store.createSelector)(_useChartInteraction.selectorChartsInteractionPointerX, _useChartInteraction.selectorChartsInteractionPointerY, _useChartPolarAxis.selectorChartPolarCenter, (x, y, center) => {
|
|
96
|
+
if (x === null || y === null) {
|
|
97
|
+
return null;
|
|
98
|
+
}
|
|
99
|
+
return Math.sqrt((x - center.cx) ** 2 + (y - center.cy) ** 2);
|
|
100
|
+
});
|
|
101
|
+
const selectorChartsInteractionRadiusAxisIndex = exports.selectorChartsInteractionRadiusAxisIndex = (0, _store.createSelector)(selectorChartsInteractionRadius, _useChartPolarAxis.selectorChartRadiusAxis, optionalGetAxisId, (radius, radiusAxis, id) => radius === null ? null : indexGetter(radius, radiusAxis, id ?? radiusAxis.axisIds[0], 'radius'));
|
|
102
|
+
const selectorChartsInteractionRadiusAxisIndexes = exports.selectorChartsInteractionRadiusAxisIndexes = (0, _store.createSelector)(selectorChartsInteractionRadius, _useChartPolarAxis.selectorChartRadiusAxis, optionalGetAxisIds, (radius, radiusAxis, ids) => radius === null ? null : indexGetter(radius, radiusAxis, ids ?? radiusAxis.axisIds, 'radius'));
|
|
103
|
+
const selectorChartsInteractionRadiusAxisValue = exports.selectorChartsInteractionRadiusAxisValue = (0, _store.createSelector)(_useChartPolarAxis.selectorChartRadiusAxis, selectorChartsInteractionRadiusAxisIndex, optionalGetAxisId, (radiusAxis, radiusIndex, id) => {
|
|
104
|
+
id = id ?? radiusAxis.axisIds[0];
|
|
105
|
+
if (radiusIndex === null || radiusIndex === -1 || radiusAxis.axisIds.length === 0) {
|
|
106
|
+
return null;
|
|
107
|
+
}
|
|
108
|
+
const data = radiusAxis.axis[id]?.data;
|
|
109
|
+
if (!data) {
|
|
110
|
+
return null;
|
|
111
|
+
}
|
|
112
|
+
return data[radiusIndex];
|
|
113
|
+
});
|
|
114
|
+
const selectorChartsInteractionRadiusAxisValues = exports.selectorChartsInteractionRadiusAxisValues = (0, _store.createSelector)(_useChartPolarAxis.selectorChartRadiusAxis, selectorChartsInteractionRadiusAxisIndexes, optionalGetAxisIds, (radiusAxis, radiusIndexes, ids) => {
|
|
115
|
+
ids = ids ?? radiusAxis.axisIds;
|
|
116
|
+
if (radiusIndexes === null) {
|
|
117
|
+
return null;
|
|
118
|
+
}
|
|
119
|
+
return ids.map((id, axisIndex) => {
|
|
120
|
+
const radiusIndex = radiusIndexes[axisIndex];
|
|
121
|
+
if (radiusIndex === -1) {
|
|
122
|
+
return null;
|
|
123
|
+
}
|
|
124
|
+
return radiusAxis.axis[id].data?.[radiusIndex];
|
|
125
|
+
});
|
|
126
|
+
});
|
|
127
|
+
|
|
128
|
+
/**
|
|
129
|
+
* Get radius-axis ids and corresponding data index that should be display in the tooltip.
|
|
130
|
+
*/
|
|
131
|
+
const selectorChartsInteractionTooltipRadiusAxes = exports.selectorChartsInteractionTooltipRadiusAxes = (0, _store.createSelectorMemoizedWithOptions)({
|
|
132
|
+
memoizeOptions: {
|
|
133
|
+
// Keep the same reference if array content is the same.
|
|
134
|
+
// If possible, avoid this pattern by creating selectors that
|
|
135
|
+
// uses string/number as arguments.
|
|
136
|
+
resultEqualityCheck: _isDeepEqual.isDeepEqual
|
|
137
|
+
}
|
|
138
|
+
})(selectorChartsInteractionRadiusAxisIndexes, _useChartPolarAxis.selectorChartRadiusAxis, (indexes, axes) => {
|
|
139
|
+
if (indexes === null) {
|
|
140
|
+
return [];
|
|
141
|
+
}
|
|
142
|
+
return axes.axisIds.map((axisId, axisIndex) => ({
|
|
143
|
+
axisId,
|
|
144
|
+
dataIndex: indexes[axisIndex]
|
|
145
|
+
})).filter(({
|
|
146
|
+
axisId,
|
|
147
|
+
dataIndex
|
|
148
|
+
}) => axes.axis[axisId].triggerTooltip && dataIndex >= 0);
|
|
149
|
+
});
|
|
150
|
+
|
|
151
|
+
// ============================= Cross axes selectors =============================
|
|
90
152
|
|
|
91
153
|
/**
|
|
92
154
|
* Return `true` if the axis tooltip has something to display.
|
|
93
155
|
*/
|
|
94
|
-
exports.
|
|
95
|
-
const selectorChartsInteractionPolarAxisTooltip = exports.selectorChartsInteractionPolarAxisTooltip = (0, _store.createSelector)(selectorChartsInteractionTooltipRotationAxes, rotationTooltip => rotationTooltip.length > 0);
|
|
156
|
+
const selectorChartsInteractionPolarAxisTooltip = exports.selectorChartsInteractionPolarAxisTooltip = (0, _store.createSelector)(selectorChartsInteractionTooltipRotationAxes, selectorChartsInteractionTooltipRadiusAxes, (rotationTooltip, radiusTooltip) => rotationTooltip.length > 0 || radiusTooltip.length > 0);
|
package/internals/plugins/featurePlugins/useChartPolarAxis/useChartPolarInteraction.selectors.mjs
CHANGED
|
@@ -2,8 +2,8 @@ import { isDeepEqual } from '@mui/x-internals/isDeepEqual';
|
|
|
2
2
|
import { createSelector, createSelectorMemoizedWithOptions } from '@mui/x-internals/store';
|
|
3
3
|
import { selectorChartsInteractionPointerX, selectorChartsInteractionPointerY } from "../useChartInteraction/useChartInteraction.selectors.mjs";
|
|
4
4
|
import { generateSvg2rotation } from "./coordinateTransformation.mjs";
|
|
5
|
-
import {
|
|
6
|
-
import { selectorChartPolarCenter, selectorChartRotationAxis } from "./useChartPolarAxis.selectors.mjs";
|
|
5
|
+
import { getRotationAxisIndex, getRadiusAxisIndex } from "./getAxisIndex.mjs";
|
|
6
|
+
import { selectorChartPolarCenter, selectorChartRadiusAxis, selectorChartRotationAxis } from "./useChartPolarAxis.selectors.mjs";
|
|
7
7
|
const optionalGetAxisId = (_, id) => id;
|
|
8
8
|
const optionalGetAxisIds = (_, ids) => ids;
|
|
9
9
|
|
|
@@ -11,10 +11,17 @@ const optionalGetAxisIds = (_, ids) => ids;
|
|
|
11
11
|
* Get interaction indexes
|
|
12
12
|
*/
|
|
13
13
|
|
|
14
|
-
function indexGetter(value, axes, ids) {
|
|
15
|
-
|
|
14
|
+
function indexGetter(value, axes, ids, type) {
|
|
15
|
+
if (type === 'rotation') {
|
|
16
|
+
const rotationAxes = axes;
|
|
17
|
+
return Array.isArray(ids) ? ids.map(id => getRotationAxisIndex(rotationAxes.axis[id], value)) : getRotationAxisIndex(rotationAxes.axis[ids], value);
|
|
18
|
+
}
|
|
19
|
+
const radiusAxes = axes;
|
|
20
|
+
return Array.isArray(ids) ? ids.map(id => getRadiusAxisIndex(radiusAxes.axis[id], value)) : getRadiusAxisIndex(radiusAxes.axis[ids], value);
|
|
16
21
|
}
|
|
17
22
|
|
|
23
|
+
// ============================= Rotation axis =============================
|
|
24
|
+
|
|
18
25
|
/**
|
|
19
26
|
* Helper to get the rotation associated to the interaction coordinate.
|
|
20
27
|
*/
|
|
@@ -24,8 +31,8 @@ const selectorChartsInteractionRotationAngle = createSelector(selectorChartsInte
|
|
|
24
31
|
}
|
|
25
32
|
return generateSvg2rotation(center)(x, y);
|
|
26
33
|
});
|
|
27
|
-
export const selectorChartsInteractionRotationAxisIndex = createSelector(selectorChartsInteractionRotationAngle, selectorChartRotationAxis, optionalGetAxisId, (rotation, rotationAxis, id) => rotation === null ? null : indexGetter(rotation, rotationAxis, id ?? rotationAxis.axisIds[0]));
|
|
28
|
-
export const selectorChartsInteractionRotationAxisIndexes = createSelector(selectorChartsInteractionRotationAngle, selectorChartRotationAxis, optionalGetAxisIds, (rotation, rotationAxis, ids) => rotation === null ? null : indexGetter(rotation, rotationAxis, ids ?? rotationAxis.axisIds));
|
|
34
|
+
export const selectorChartsInteractionRotationAxisIndex = createSelector(selectorChartsInteractionRotationAngle, selectorChartRotationAxis, optionalGetAxisId, (rotation, rotationAxis, id) => rotation === null ? null : indexGetter(rotation, rotationAxis, id ?? rotationAxis.axisIds[0], 'rotation'));
|
|
35
|
+
export const selectorChartsInteractionRotationAxisIndexes = createSelector(selectorChartsInteractionRotationAngle, selectorChartRotationAxis, optionalGetAxisIds, (rotation, rotationAxis, ids) => rotation === null ? null : indexGetter(rotation, rotationAxis, ids ?? rotationAxis.axisIds, 'rotation'));
|
|
29
36
|
export const selectorChartsInteractionRotationAxisValue = createSelector(selectorChartRotationAxis, selectorChartsInteractionRotationAxisIndex, optionalGetAxisId, (rotationAxis, rotationIndex, id) => {
|
|
30
37
|
id = id ?? rotationAxis.axisIds[0];
|
|
31
38
|
if (rotationIndex === null || rotationIndex === -1 || rotationAxis.axisIds.length === 0) {
|
|
@@ -74,15 +81,70 @@ export const selectorChartsInteractionTooltipRotationAxes = createSelectorMemoiz
|
|
|
74
81
|
}) => axes.axis[axisId].triggerTooltip && dataIndex >= 0);
|
|
75
82
|
});
|
|
76
83
|
|
|
84
|
+
// ============================= Radius axis =============================
|
|
85
|
+
|
|
77
86
|
/**
|
|
78
|
-
*
|
|
87
|
+
* Helper to get the radius associated to the interaction coordinate.
|
|
79
88
|
*/
|
|
80
|
-
export const
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
}
|
|
89
|
+
export const selectorChartsInteractionRadius = createSelector(selectorChartsInteractionPointerX, selectorChartsInteractionPointerY, selectorChartPolarCenter, (x, y, center) => {
|
|
90
|
+
if (x === null || y === null) {
|
|
91
|
+
return null;
|
|
92
|
+
}
|
|
93
|
+
return Math.sqrt((x - center.cx) ** 2 + (y - center.cy) ** 2);
|
|
94
|
+
});
|
|
95
|
+
export const selectorChartsInteractionRadiusAxisIndex = createSelector(selectorChartsInteractionRadius, selectorChartRadiusAxis, optionalGetAxisId, (radius, radiusAxis, id) => radius === null ? null : indexGetter(radius, radiusAxis, id ?? radiusAxis.axisIds[0], 'radius'));
|
|
96
|
+
export const selectorChartsInteractionRadiusAxisIndexes = createSelector(selectorChartsInteractionRadius, selectorChartRadiusAxis, optionalGetAxisIds, (radius, radiusAxis, ids) => radius === null ? null : indexGetter(radius, radiusAxis, ids ?? radiusAxis.axisIds, 'radius'));
|
|
97
|
+
export const selectorChartsInteractionRadiusAxisValue = createSelector(selectorChartRadiusAxis, selectorChartsInteractionRadiusAxisIndex, optionalGetAxisId, (radiusAxis, radiusIndex, id) => {
|
|
98
|
+
id = id ?? radiusAxis.axisIds[0];
|
|
99
|
+
if (radiusIndex === null || radiusIndex === -1 || radiusAxis.axisIds.length === 0) {
|
|
100
|
+
return null;
|
|
101
|
+
}
|
|
102
|
+
const data = radiusAxis.axis[id]?.data;
|
|
103
|
+
if (!data) {
|
|
104
|
+
return null;
|
|
105
|
+
}
|
|
106
|
+
return data[radiusIndex];
|
|
107
|
+
});
|
|
108
|
+
export const selectorChartsInteractionRadiusAxisValues = createSelector(selectorChartRadiusAxis, selectorChartsInteractionRadiusAxisIndexes, optionalGetAxisIds, (radiusAxis, radiusIndexes, ids) => {
|
|
109
|
+
ids = ids ?? radiusAxis.axisIds;
|
|
110
|
+
if (radiusIndexes === null) {
|
|
111
|
+
return null;
|
|
112
|
+
}
|
|
113
|
+
return ids.map((id, axisIndex) => {
|
|
114
|
+
const radiusIndex = radiusIndexes[axisIndex];
|
|
115
|
+
if (radiusIndex === -1) {
|
|
116
|
+
return null;
|
|
117
|
+
}
|
|
118
|
+
return radiusAxis.axis[id].data?.[radiusIndex];
|
|
119
|
+
});
|
|
120
|
+
});
|
|
121
|
+
|
|
122
|
+
/**
|
|
123
|
+
* Get radius-axis ids and corresponding data index that should be display in the tooltip.
|
|
124
|
+
*/
|
|
125
|
+
export const selectorChartsInteractionTooltipRadiusAxes = createSelectorMemoizedWithOptions({
|
|
126
|
+
memoizeOptions: {
|
|
127
|
+
// Keep the same reference if array content is the same.
|
|
128
|
+
// If possible, avoid this pattern by creating selectors that
|
|
129
|
+
// uses string/number as arguments.
|
|
130
|
+
resultEqualityCheck: isDeepEqual
|
|
131
|
+
}
|
|
132
|
+
})(selectorChartsInteractionRadiusAxisIndexes, selectorChartRadiusAxis, (indexes, axes) => {
|
|
133
|
+
if (indexes === null) {
|
|
134
|
+
return [];
|
|
135
|
+
}
|
|
136
|
+
return axes.axisIds.map((axisId, axisIndex) => ({
|
|
137
|
+
axisId,
|
|
138
|
+
dataIndex: indexes[axisIndex]
|
|
139
|
+
})).filter(({
|
|
140
|
+
axisId,
|
|
141
|
+
dataIndex
|
|
142
|
+
}) => axes.axis[axisId].triggerTooltip && dataIndex >= 0);
|
|
143
|
+
});
|
|
144
|
+
|
|
145
|
+
// ============================= Cross axes selectors =============================
|
|
84
146
|
|
|
85
147
|
/**
|
|
86
148
|
* Return `true` if the axis tooltip has something to display.
|
|
87
149
|
*/
|
|
88
|
-
export const selectorChartsInteractionPolarAxisTooltip = createSelector(selectorChartsInteractionTooltipRotationAxes, rotationTooltip => rotationTooltip.length > 0);
|
|
150
|
+
export const selectorChartsInteractionPolarAxisTooltip = createSelector(selectorChartsInteractionTooltipRotationAxes, selectorChartsInteractionTooltipRadiusAxes, (rotationTooltip, radiusTooltip) => rotationTooltip.length > 0 || radiusTooltip.length > 0);
|