in public/components/Charts/Highlight/Highlight.js [142:176]
_convertAreaToCoordinates(brushArea) {
// NOTE only continuous scales are supported for brushing/getting coordinates back
const { enableX, enableY, marginLeft, marginTop } = this.props;
const xScale = ScaleUtils.getAttributeScale(this.props, 'x');
const yScale = ScaleUtils.getAttributeScale(this.props, 'y');
// Ensure that users wishes are being respected about which scales are evaluated
// this is specifically enabled to ensure brushing on mixed categorical and linear
// charts will run as expected
if (enableX && enableY) {
return {
bottom: yScale.invert(brushArea.bottom),
left: xScale.invert(brushArea.left - marginLeft),
right: xScale.invert(brushArea.right - marginLeft),
top: yScale.invert(brushArea.top),
};
}
if (enableY) {
return {
bottom: yScale.invert(brushArea.bottom - marginTop),
top: yScale.invert(brushArea.top - marginTop),
};
}
if (enableX) {
return {
left: xScale.invert(brushArea.left - marginLeft),
right: xScale.invert(brushArea.right - marginLeft),
};
}
return {};
}