Skip to content

Commit c68b162

Browse files
authored
fix(Charts): fix onDataPointClick event not firing or firing for wrong segment on Donut/PieChart (#524)
1 parent b580cb5 commit c68b162

File tree

1 file changed

+8
-8
lines changed

1 file changed

+8
-8
lines changed

packages/charts/src/components/PieChart/PieChart.tsx

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -116,15 +116,15 @@ const PieChart: FC<PieChartProps> = forwardRef((props: PieChartProps, ref: Ref<a
116116
const onItemLegendClick = useLegendItemClick(onLegendClick, () => measure.accessor);
117117

118118
const onDataPointClickInternal = useCallback(
119-
(payload, event) => {
120-
if (payload && payload?.activePayload && onDataPointClick) {
119+
(payload, dataIndex, event) => {
120+
if (payload && payload && typeof onDataPointClick === 'function') {
121121
onDataPointClick(
122122
enrichEventWithDetails(event, {
123-
value: payload.activePayload[0].value,
124-
dataKey: payload.activePayload[0].dataKey,
125-
name: payload.activePayload[0].payload.name,
126-
payload: payload.activePayload[0].payload,
127-
dataIndex: payload.activeTooltipIndex
123+
value: payload.value,
124+
dataKey: payload.tooltipPayload?.[0]?.dataKey,
125+
name: payload.name,
126+
payload: payload.payload,
127+
dataIndex
128128
})
129129
);
130130
}
@@ -145,11 +145,11 @@ const PieChart: FC<PieChartProps> = forwardRef((props: PieChartProps, ref: Ref<a
145145
resizeDebounce={chartConfig.resizeDebounce}
146146
>
147147
<PieChartLib
148-
onClick={onDataPointClickInternal}
149148
margin={chartConfig.margin}
150149
className={typeof onDataPointClick === 'function' ? 'has-click-handler' : undefined}
151150
>
152151
<Pie
152+
onClick={onDataPointClickInternal}
153153
innerRadius={chartConfig.innerRadius}
154154
outerRadius={chartConfig.outerRadius}
155155
paddingAngle={chartConfig.paddingAngle}

0 commit comments

Comments
 (0)