UNPKG

@mui/x-charts

Version:

The community edition of MUI X Charts components.

54 lines (53 loc) 1.28 kB
"use strict"; 'use client'; Object.defineProperty(exports, "__esModule", { value: true }); exports.useChartItemClick = void 0; var _getSVGPoint = require("../../../../internals/getSVGPoint"); const useChartItemClick = ({ params, store, instance }) => { const { onItemClick } = params; if (!onItemClick) { return { instance: {} }; } const getItemPosition = event => { const svgPoint = (0, _getSVGPoint.getSVGPoint)(event?.currentTarget, event); if (!instance.isPointInside(svgPoint.x, svgPoint.y)) { return undefined; } let item = undefined; for (const seriesType of Object.keys(store.state.series.seriesConfig)) { // @ts-ignore The type inference for store.state does not support generic yet item = store.state.series.seriesConfig[seriesType].getItemAtPosition?.(store.state, { x: svgPoint.x, y: svgPoint.y }); if (item) { return item; } } return item; }; return { instance: { handleClick: event => { const item = getItemPosition(event); if (item !== undefined) { onItemClick(event, item); } } } }; }; exports.useChartItemClick = useChartItemClick; useChartItemClick.params = { onItemClick: true };