From 783e2cf9fc44305dc11f9b54174bd6e9b35915ea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9rgio=20Salgado?= Date: Wed, 16 Dec 2020 02:22:50 +0000 Subject: [PATCH] fix: add tooltip hook --- new-lamassu-admin/src/components/Tooltip.js | 49 +++++++++++---------- 1 file changed, 25 insertions(+), 24 deletions(-) diff --git a/new-lamassu-admin/src/components/Tooltip.js b/new-lamassu-admin/src/components/Tooltip.js index 53d7fc80..f9c9a183 100644 --- a/new-lamassu-admin/src/components/Tooltip.js +++ b/new-lamassu-admin/src/components/Tooltip.js @@ -18,7 +18,7 @@ const useStyles = makeStyles({ }) }) -const Tooltip = memo(({ children, width, Icon = HelpIcon }) => { +const usePopperHandler = width => { const classes = useStyles({ width }) const [helpPopperAnchorEl, setHelpPopperAnchorEl] = useState(null) @@ -32,19 +32,31 @@ const Tooltip = memo(({ children, width, Icon = HelpIcon }) => { const helpPopperOpen = Boolean(helpPopperAnchorEl) + return { + classes, + helpPopperAnchorEl, + helpPopperOpen, + handleOpenHelpPopper, + handleCloseHelpPopper + } +} + +const Tooltip = memo(({ children, width, Icon = HelpIcon }) => { + const handler = usePopperHandler(width) + return ( - +
-
{children}
+
{children}
@@ -52,31 +64,20 @@ const Tooltip = memo(({ children, width, Icon = HelpIcon }) => { }) const HoverableTooltip = memo(({ parentElements, children, width }) => { - const classes = useStyles({ width }) - const [helpPopperAnchorEl, setHelpPopperAnchorEl] = useState(null) - - const handleOpenHelpPopper = event => { - setHelpPopperAnchorEl(helpPopperAnchorEl ? null : event.currentTarget) - } - - const handleCloseHelpPopper = () => { - setHelpPopperAnchorEl(null) - } - - const helpPopperOpen = Boolean(helpPopperAnchorEl) + const handler = usePopperHandler(width) return (
+ onMouseEnter={handler.handleOpenHelpPopper} + onMouseLeave={handler.handleCloseHelpPopper}> {parentElements}
-
{children}
+
{children}
)