Also add 'handleType' parameter to 'onEdgeUpdateEnd' callback analogous to 'onEdgeUpdateStart'

This commit is contained in:
Andreas Schultz
2022-04-11 07:39:22 +02:00
parent 68ec5d87d7
commit 4d6c6ffc7d
5 changed files with 7 additions and 6 deletions
+3 -2
View File
@@ -9,6 +9,7 @@ import ReactFlow, {
Edge, Edge,
removeElements, removeElements,
} from 'react-flow-renderer'; } from 'react-flow-renderer';
import {HandleType} from "../../../dist";
const initialElements: Elements = [ const initialElements: Elements = [
{ {
@@ -50,8 +51,8 @@ const initialElements: Elements = [
]; ];
const onLoad = (reactFlowInstance: OnLoadParams) => reactFlowInstance.fitView(); const onLoad = (reactFlowInstance: OnLoadParams) => reactFlowInstance.fitView();
const onEdgeUpdateStart = (_: React.MouseEvent, edge: Edge) => console.log('start update', edge); const onEdgeUpdateStart = (_: React.MouseEvent, edge: Edge, handleType: HandleType) => console.log(`start update ${handleType} handle`, edge);
const onEdgeUpdateEnd = (_: MouseEvent, edge: Edge) => console.log('end update', edge); const onEdgeUpdateEnd = (_: MouseEvent, edge: Edge, handleType: HandleType) => console.log(`end update ${handleType} handle`, edge);
const UpdatableEdge = () => { const UpdatableEdge = () => {
const [elements, setElements] = useState<Elements>(initialElements); const [elements, setElements] = useState<Elements>(initialElements);
+1 -1
View File
@@ -144,7 +144,7 @@ export default (EdgeComponent: ComponentType<EdgeProps>) => {
onEdgeUpdateStart?.(event, edgeElement, handleType); onEdgeUpdateStart?.(event, edgeElement, handleType);
const _onEdgeUpdate = onEdgeUpdateEnd const _onEdgeUpdate = onEdgeUpdateEnd
? (evt: MouseEvent): void => onEdgeUpdateEnd(evt, edgeElement) ? (evt: MouseEvent): void => onEdgeUpdateEnd(evt, edgeElement, handleType)
: undefined; : undefined;
onMouseDown( onMouseDown(
+1 -1
View File
@@ -36,7 +36,7 @@ interface EdgeRendererProps {
onEdgeMouseMove?: (event: React.MouseEvent, edge: Edge) => void; onEdgeMouseMove?: (event: React.MouseEvent, edge: Edge) => void;
onEdgeMouseLeave?: (event: React.MouseEvent, edge: Edge) => void; onEdgeMouseLeave?: (event: React.MouseEvent, edge: Edge) => void;
onEdgeUpdateStart?: (event: React.MouseEvent, edge: Edge, handleType: HandleType) => void; onEdgeUpdateStart?: (event: React.MouseEvent, edge: Edge, handleType: HandleType) => void;
onEdgeUpdateEnd?: (event: MouseEvent, edge: Edge) => void; onEdgeUpdateEnd?: (event: MouseEvent, edge: Edge, handleType: HandleType) => void;
edgeUpdaterRadius?: number; edgeUpdaterRadius?: number;
} }
+1 -1
View File
@@ -125,7 +125,7 @@ export interface ReactFlowProps extends Omit<HTMLAttributes<HTMLDivElement>, 'on
onEdgeMouseLeave?: (event: ReactMouseEvent, edge: Edge) => void; onEdgeMouseLeave?: (event: ReactMouseEvent, edge: Edge) => void;
onEdgeDoubleClick?: (event: ReactMouseEvent, edge: Edge) => void; onEdgeDoubleClick?: (event: ReactMouseEvent, edge: Edge) => void;
onEdgeUpdateStart?: (event: ReactMouseEvent, edge: Edge, handleType: HandleType) => void; onEdgeUpdateStart?: (event: ReactMouseEvent, edge: Edge, handleType: HandleType) => void;
onEdgeUpdateEnd?: (event: MouseEvent, edge: Edge) => void; onEdgeUpdateEnd?: (event: MouseEvent, edge: Edge, handleType: HandleType) => void;
edgeUpdaterRadius?: number; edgeUpdaterRadius?: number;
nodeTypesId?: string; nodeTypesId?: string;
edgeTypesId?: string; edgeTypesId?: string;
+1 -1
View File
@@ -133,7 +133,7 @@ export interface WrapEdgeProps<T = any> {
onMouseLeave?: (event: React.MouseEvent, edge: Edge) => void; onMouseLeave?: (event: React.MouseEvent, edge: Edge) => void;
edgeUpdaterRadius?: number; edgeUpdaterRadius?: number;
onEdgeUpdateStart?: (event: React.MouseEvent, edge: Edge, handleType: HandleType) => void; onEdgeUpdateStart?: (event: React.MouseEvent, edge: Edge, handleType: HandleType) => void;
onEdgeUpdateEnd?: (event: MouseEvent, edge: Edge) => void; onEdgeUpdateEnd?: (event: MouseEvent, edge: Edge, handleType: HandleType) => void;
} }
export interface EdgeProps<T = any> { export interface EdgeProps<T = any> {