From f2816f44f2fad60025d57bca6721c3c1cec8f14b Mon Sep 17 00:00:00 2001 From: Alexandr Pryshchepa Date: Fri, 10 Apr 2020 21:06:47 +0300 Subject: [PATCH] fix(line): fix onMouseLeave firing --- packages/line/src/Mesh.js | 14 ++++++++++---- packages/voronoi/src/Mesh.js | 4 ++-- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/packages/line/src/Mesh.js b/packages/line/src/Mesh.js index aa5748523e..cd23391835 100644 --- a/packages/line/src/Mesh.js +++ b/packages/line/src/Mesh.js @@ -19,6 +19,7 @@ const Mesh = ({ setCurrent, onMouseEnter, onMouseMove, + onMouseLeave, onClick, tooltip, debug, @@ -51,10 +52,14 @@ const Mesh = ({ [setCurrent, showTooltipAt, tooltip, onMouseMove] ) - const handleMouseLeave = useCallback(() => { - hideTooltip() - setCurrent(null) - }, [hideTooltip, setCurrent]) + const handleMouseLeave = useCallback( + (point, event) => { + hideTooltip() + setCurrent(null) + onMouseLeave && onMouseLeave(point, event) + }, + [hideTooltip, setCurrent, onMouseLeave] + ) const handleClick = useCallback( (point, event) => { @@ -85,6 +90,7 @@ Mesh.propTypes = { setCurrent: PropTypes.func.isRequired, onMouseEnter: PropTypes.func, onMouseMove: PropTypes.func, + onMouseLeave: PropTypes.func, onClick: PropTypes.func, tooltip: PropTypes.oneOfType([PropTypes.func, PropTypes.object]).isRequired, debug: PropTypes.bool.isRequired, diff --git a/packages/voronoi/src/Mesh.js b/packages/voronoi/src/Mesh.js index 1c085f4b0f..7d9fa56b5e 100644 --- a/packages/voronoi/src/Mesh.js +++ b/packages/voronoi/src/Mesh.js @@ -70,10 +70,10 @@ const Mesh = ({ if (currentIndex !== undefined && currentIndex !== null) { previousNode = nodes[currentIndex] } - onMouseLeave(previousNode, event) + previousNode && onMouseLeave(previousNode, event) } }, - [setCurrentIndex] + [setCurrentIndex, currentIndex, nodes] ) const handleClick = useCallback( event => {