import { useState, useEffect, useRef } from 'react'; import { Edit, Download, FileSignature, MoreVertical, Trash2, CircleDot, Copy } from 'lucide-react'; export const DropdownMenuTable = ({ row, onEdit, onStatus, onESign, onDownload, onDelete, onDulipcate }: { row: any; onEdit?: () => void; onStatus?: () => void; onESign?: () => void; onDownload?: () => void; onDelete?: () => void; onDulipcate?: () => void; }) => { const [isOpen, setIsOpen] = useState(false); const dropdownRef = useRef(null); // Fermer le menu quand on clique à l'extérieur useEffect(() => { const handleClickOutside = (event: MouseEvent) => { if (dropdownRef.current && !dropdownRef.current.contains(event.target as Node)) { setIsOpen(false); } }; if (isOpen) { document.addEventListener('mousedown', handleClickOutside); } return () => { document.removeEventListener('mousedown', handleClickOutside); }; }, [isOpen]); return (
{isOpen && (
{ onEdit && ( ) } { onDulipcate && ( ) } { onStatus && ( ) } { onESign && ( ) } { onDownload && ( ) } { onDelete && ( <>
) }
)}
); };