UNPKG

@data-ui/xy-chart

Version:

A package of charts with standard x- and y- axes. https://williaster.github.io/data-ui

30 lines (26 loc) 1.05 kB
import { Children } from 'react'; import AreaDifferenceSeries from '../series/AreaDifferenceSeries'; import { isSeries, isDefined, componentName } from './chartUtils'; // this function collects all data from child series to defines a voronoi overlay // because x,y coordinates are required to define a voronoi, it filters any points // with undefined x or y values export default function collectVoronoiData(_ref) { var children = _ref.children, getX = _ref.getX, getY = _ref.getY; return Children.toArray(children).reduce(function (result, Child) { var name = componentName(Child); if (isSeries(name) && !Child.props.disableMouseEvents) { if (name === AreaDifferenceSeries.displayName) { return result.concat(collectVoronoiData({ children: Child.props.children, getX: getX, getY: getY })); } return result.concat(Child.props.data.filter(function (d) { return isDefined(getX(d)) && isDefined(getY(d)); })); } return result; }, []); }