diff --git a/packages/x-charts/src/BarChart/checkClickEvent.test.tsx b/packages/x-charts/src/BarChart/checkClickEvent.test.tsx index 7804217e7402a..b485c1e43062d 100644 --- a/packages/x-charts/src/BarChart/checkClickEvent.test.tsx +++ b/packages/x-charts/src/BarChart/checkClickEvent.test.tsx @@ -80,6 +80,59 @@ describe('BarChart - click event', () => { seriesValues: { s1: 1, s2: 1 }, }); }); + + it('should provide the right context as second argument with layout="horizontal"', function test() { + if (isJSDOM) { + // can't do Pointer event with JSDom https://github.com/jsdom/jsdom/issues/2527 + this.skip(); + } + const onAxisClick = spy(); + render( +
+ +
, + ); + const svg = document.querySelector('svg')!; + + firePointerEvent(svg, 'pointermove', { + clientX: 60, + clientY: 198, + }); + fireEvent.click(svg); + + expect(onAxisClick.lastCall.args[1]).to.deep.equal({ + dataIndex: 0, + axisValue: 'A', + seriesValues: { s1: 4, s2: 2 }, + }); + + firePointerEvent(svg, 'pointermove', { + clientX: 60, + clientY: 201, + }); + fireEvent.click(svg); + + expect(onAxisClick.lastCall.args[1]).to.deep.equal({ + dataIndex: 1, + axisValue: 'B', + seriesValues: { s1: 1, s2: 1 }, + }); + }); }); describe('onItemClick', () => { diff --git a/packages/x-charts/src/ChartsOnAxisClickHandler/ChartsOnAxisClickHandler.tsx b/packages/x-charts/src/ChartsOnAxisClickHandler/ChartsOnAxisClickHandler.tsx index 66dd4c1f68168..c53130c8c2365 100644 --- a/packages/x-charts/src/ChartsOnAxisClickHandler/ChartsOnAxisClickHandler.tsx +++ b/packages/x-charts/src/ChartsOnAxisClickHandler/ChartsOnAxisClickHandler.tsx @@ -38,7 +38,7 @@ function ChartsOnAxisClickHandler(props: ChartsOnAxisClickHandlerProps) { const handleMouseClick = (event: MouseEvent) => { event.preventDefault(); - const isXaxis = (axis.x && axis.x.index) !== undefined; + const isXaxis = axis.x && axis.x.index !== -1; const USED_AXIS_ID = isXaxis ? xAxisIds[0] : yAxisIds[0]; const dataIndex = isXaxis ? axis.x && axis.x.index : axis.y && axis.y.index;