import { getBezierPath, EdgeText } from 'reactflow' import PropTypes from 'prop-types' import { useDispatch } from 'react-redux' import { useContext } from 'react' import { SET_DIRTY } from 'store/actions' import { flowContext } from 'store/context/ReactFlowContext' import './index.css' const foreignObjectSize = 40 const ButtonEdge = ({ id, sourceX, sourceY, targetX, targetY, sourcePosition, targetPosition, style = {}, data, markerEnd }) => { const [edgePath, edgeCenterX, edgeCenterY] = getBezierPath({ sourceX, sourceY, sourcePosition, targetX, targetY, targetPosition }) const { deleteEdge } = useContext(flowContext) const dispatch = useDispatch() const onEdgeClick = (evt, id) => { evt.stopPropagation() deleteEdge(id) dispatch({ type: SET_DIRTY }) } return ( <> {data && data.label && ( )}
) } ButtonEdge.propTypes = { id: PropTypes.string, sourceX: PropTypes.number, sourceY: PropTypes.number, targetX: PropTypes.number, targetY: PropTypes.number, sourcePosition: PropTypes.any, targetPosition: PropTypes.any, style: PropTypes.object, data: PropTypes.object, markerEnd: PropTypes.any } export default ButtonEdge