import React, { useRef } from 'react'; import { useDashboardStore } from '../store/store'; import cn from 'classnames'; import { ItemMenu } from 'UI'; import { useDrag, useDrop } from 'react-dnd'; interface Props { className?: string; widget?: any; index?: number; moveListItem?: any; isPreview?: boolean; } function WidgetWrapper(props: Props) { const { widget = {}, index = 0, moveListItem = null, isPreview = false } = props; const [{ opacity, isDragging }, dragRef] = useDrag({ type: 'item', item: { index }, collect: (monitor) => ({ isDragging: monitor.isDragging(), opacity: monitor.isDragging() ? 0.5 : 1, }), }); const [{ isOver, canDrop }, dropRef] = useDrop({ accept: 'item', drop: (item: any) => { if (item.index === index) return; moveListItem(item.index, index); }, collect: (monitor: any) => ({ isOver: monitor.isOver(), canDrop: monitor.canDrop(), }), }) const ref: any = useRef(null) const dragDropRef: any = dragRef(dropRef(ref)) return (
{/* */}
{widget.name} - {widget.position}
{ console.log('edit'); } }, ]} /> {/* */}
{/* */}
); } export default WidgetWrapper;