import { FC } from 'react'; import { Element } from '../types'; interface ElementViewProps { onElementCombine: (elementId: number) => void; element: Element; interactive: boolean; isPreview: boolean; } const ElementView: FC = ({ onElementCombine, element, interactive, isPreview, }) => { const onDragStart = (e: React.DragEvent) => { e.stopPropagation(); e.dataTransfer.setData('text/plain', element.name); e.dataTransfer.setData('id', element.id.toString()); }; const onDragOver = (e: React.DragEvent) => { e.preventDefault(); }; const onDrop = (e: React.DragEvent) => { const elementId = e.dataTransfer.getData('id'); onElementCombine(Number.parseInt(elementId)); e.preventDefault(); }; return (
{isPreview ? (
) : ( )} {element.name.length > 0 ? element.name : '\u00A0'}
); }; export default ElementView;