| | |
| | | import React from 'react' |
| | | import { useDrag, useDrop } from 'react-dnd' |
| | | import { Icon } from 'antd' |
| | | import { Icon, Popover } from 'antd' |
| | | import ItemTypes from './itemtypes' |
| | | import './index.scss' |
| | | |
| | | const Card = ({ id, text, moveCard, findCard, editCard }) => { |
| | | const Card = ({ id, text, moveCard, findCard, editCard, delCard }) => { |
| | | const originalIndex = findCard(id).index |
| | | const [{ isDragging }, drag] = useDrag({ |
| | | item: { type: ItemTypes.CARD, id, originalIndex }, |
| | |
| | | const edit = () => { |
| | | editCard(id) |
| | | } |
| | | |
| | | const del = () => { |
| | | delCard(id) |
| | | } |
| | | |
| | | return ( |
| | | <div className="card" style={{ opacity }}> |
| | | <div ref={node => drag(drop(node))}> |
| | | {text} |
| | | <Popover overlayClassName="mk-popover-control-wrap header-menu" mouseLeaveDelay={0.2} mouseEnterDelay={0.2} content={ |
| | | <div className="mk-popover-control"> |
| | | <Icon className="edit" type="edit" onClick={edit} /> |
| | | <Icon className="close" type="close" onClick={del} /> |
| | | </div> |
| | | <Icon className="edit" type="edit" onClick={edit} /> |
| | | </div> |
| | | } trigger="hover"> |
| | | <div className="card" style={{ opacity }}> |
| | | <div ref={node => drag(drop(node))}> |
| | | {text} |
| | | </div> |
| | | </div> |
| | | </Popover> |
| | | ) |
| | | } |
| | | export default Card |