getSelectedDataPoints method
Provides the list of selected point indices for given series.
Implementation
List<int> getSelectedDataPoints(CartesianSeries series) {
RenderChartPlotArea? plotArea;
if (parentBox is RenderChartPlotArea) {
plotArea = parentBox as RenderChartPlotArea;
} else if (parentBox is RenderBehaviorArea) {
final RenderBehaviorArea behaviorArea = parentBox as RenderBehaviorArea;
plotArea = behaviorArea.plotArea;
}
if (plotArea == null) {
return <int>[];
}
int seriesIndex = -1;
RenderBox? child = plotArea.firstChild;
while (child != null) {
final ContainerParentDataMixin<RenderBox> childParentData =
child.parentData! as ContainerParentDataMixin<RenderBox>;
if (child is ChartSeriesRenderer && child.widget == series) {
seriesIndex = child.index;
break;
}
child = childParentData.nextSibling;
}
if (seriesIndex != -1) {
final Map<int, List<int>> selectedDataPoints =
plotArea.selectionController.selectedDataPoints;
if (selectedDataPoints.containsKey(seriesIndex)) {
return plotArea.selectionController.selectedDataPoints[seriesIndex]!;
}
}
return <int>[];
}