Skip to content
Snippets Groups Projects
Commit bc636c7f authored by BrittainJackson7's avatar BrittainJackson7
Browse files

update help box to close when clicked off

parent 4894553e
No related branches found
No related tags found
No related merge requests found
import React, { useState } from 'react'; import React, { useState, useRef, useEffect } from 'react';
function RasterVsVectorBox() { function RasterVsVectorBox() {
return ( return (
...@@ -50,6 +50,22 @@ export default function HelpBox({ isOpen, onClose }) { ...@@ -50,6 +50,22 @@ export default function HelpBox({ isOpen, onClose }) {
if(!isOpen) return null; if(!isOpen) return null;
const [showSubPopup, setShowSubPopup] = useState(null); const [showSubPopup, setShowSubPopup] = useState(null);
const popupRef = useRef();
useEffect(() => {
function handleClickOutside(event) {
if (event.target === popupRef.current) {
onClose();
}
}
if (isOpen) {
document.addEventListener('mousedown', handleClickOutside);
}
return () => {
document.removeEventListener('mousedown', handleClickOutside);
};
}, [isOpen, onClose]);
const handleRasterVsVectorClick = () => { const handleRasterVsVectorClick = () => {
setShowSubPopup('rasterVsVector'); setShowSubPopup('rasterVsVector');
...@@ -64,7 +80,7 @@ export default function HelpBox({ isOpen, onClose }) { ...@@ -64,7 +80,7 @@ export default function HelpBox({ isOpen, onClose }) {
}; };
return ( return (
<div id="helpBoxBackground"> <div id="helpBoxBackground" ref={popupRef}>
<div className="helpBoxContent"> <div className="helpBoxContent">
<h2>Help Menu</h2> <h2>Help Menu</h2>
<button className="helpButton" onClick={handleRasterVsVectorClick}>Raster vs Vector</button> <button className="helpButton" onClick={handleRasterVsVectorClick}>Raster vs Vector</button>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment