mirror of
https://github.com/Zagrios/bs-manager.git
synced 2026-07-03 14:08:25 +02:00
add filters panel (partial)
This commit is contained in:
@@ -0,0 +1,22 @@
|
||||
import { MutableRefObject, useEffect } from "react";
|
||||
|
||||
export function useClickOutside(ref: MutableRefObject<any>, handler: (e: MouseEvent) => void) {
|
||||
|
||||
useEffect(() => {
|
||||
|
||||
if(!handler){ return () => {}; }
|
||||
|
||||
const handleClickOutside = (event: MouseEvent) => {
|
||||
if (ref.current && !ref.current.contains(event.target)) {
|
||||
handler?.(event);
|
||||
}
|
||||
}
|
||||
|
||||
document.addEventListener("click", handleClickOutside);
|
||||
return () => {
|
||||
document.removeEventListener("click", handleClickOutside);
|
||||
};
|
||||
|
||||
}, [ref]);
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user