refactor(edge-types): cleanup

This commit is contained in:
moklick
2022-04-11 13:36:39 +02:00
parent c7fdfedd95
commit 8d5305d240
4 changed files with 14 additions and 11 deletions
+5 -3
View File
@@ -11,8 +11,8 @@ import ReactFlow, {
Node, Node,
NodeChange, NodeChange,
EdgeChange, EdgeChange,
HandleType,
} from 'react-flow-renderer'; } from 'react-flow-renderer';
import {HandleType} from "../../../dist";
const initialNodes: Node[] = [ const initialNodes: Node[] = [
{ {
@@ -55,8 +55,10 @@ const initialNodes: Node[] = [
const initialEdges = [{ id: 'e1-2', source: '1', target: '2', label: 'This is a draggable edge' }]; const initialEdges = [{ id: 'e1-2', source: '1', target: '2', label: 'This is a draggable edge' }];
const onInit = (reactFlowInstance: ReactFlowInstance) => reactFlowInstance.fitView(); const onInit = (reactFlowInstance: ReactFlowInstance) => reactFlowInstance.fitView();
const onEdgeUpdateStart = (_: React.MouseEvent, edge: Edge, handleType: HandleType) => console.log(`start update ${handleType} handle`, edge); const onEdgeUpdateStart = (_: React.MouseEvent, edge: Edge, handleType: HandleType) =>
const onEdgeUpdateEnd = (_: MouseEvent, edge: Edge, handleType: HandleType) => console.log(`end update ${handleType} handle`, edge); console.log(`start update ${handleType} handle`, edge);
const onEdgeUpdateEnd = (_: MouseEvent, edge: Edge, handleType: HandleType) =>
console.log(`end update ${handleType} handle`, edge);
const UpdatableEdge = () => { const UpdatableEdge = () => {
const [nodes, setNodes] = useState<Node[]>(initialNodes); const [nodes, setNodes] = useState<Node[]>(initialNodes);
+2 -2
View File
@@ -141,7 +141,7 @@ export default (EdgeComponent: ComponentType<EdgeProps>) => {
(event: React.MouseEvent<SVGGElement, MouseEvent>, isSourceHandle: boolean) => { (event: React.MouseEvent<SVGGElement, MouseEvent>, isSourceHandle: boolean) => {
const nodeId = isSourceHandle ? target : source; const nodeId = isSourceHandle ? target : source;
const handleId = isSourceHandle ? targetHandleId : sourceHandleId; const handleId = isSourceHandle ? targetHandleId : sourceHandleId;
const handleType = isSourceHandle ? 'target' : 'source' const handleType = isSourceHandle ? 'target' : 'source';
const isValidConnection = () => true; const isValidConnection = () => true;
const isTarget = isSourceHandle; const isTarget = isSourceHandle;
@@ -170,7 +170,7 @@ export default (EdgeComponent: ComponentType<EdgeProps>) => {
isValidConnection, isValidConnection,
connectionMode, connectionMode,
handleType, handleType,
_onEdgeUpdate _onEdgeUpdate,
store.getState store.getState
); );
}, },
+3 -2
View File
@@ -31,6 +31,7 @@ import {
OnMoveStart, OnMoveStart,
OnMoveEnd, OnMoveEnd,
} from '.'; } from '.';
import { HandleType } from './handles';
export interface ReactFlowProps extends HTMLAttributes<HTMLDivElement> { export interface ReactFlowProps extends HTMLAttributes<HTMLDivElement> {
nodes?: Node[]; nodes?: Node[];
@@ -106,8 +107,8 @@ export interface ReactFlowProps extends HTMLAttributes<HTMLDivElement> {
onEdgeMouseMove?: (event: ReactMouseEvent, edge: Edge) => void; onEdgeMouseMove?: (event: ReactMouseEvent, edge: Edge) => void;
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) => 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;
noDragClassName?: string; noDragClassName?: string;
noWheelClassName?: string; noWheelClassName?: string;
+4 -4
View File
@@ -1,6 +1,6 @@
import { CSSProperties, HTMLAttributes, ReactNode } from 'react'; import React, { CSSProperties, HTMLAttributes, ReactNode } from 'react';
import { Connection } from './general'; import { Connection } from './general';
import { HandleElement } from './handles'; import { HandleElement, HandleType } from './handles';
import { Node } from './nodes'; import { Node } from './nodes';
import { Position } from './utils'; import { Position } from './utils';
@@ -117,8 +117,8 @@ export interface WrapEdgeProps<T = any> {
onMouseMove?: EdgeMouseHandler; onMouseMove?: EdgeMouseHandler;
onMouseLeave?: EdgeMouseHandler; onMouseLeave?: EdgeMouseHandler;
edgeUpdaterRadius?: number; edgeUpdaterRadius?: number;
onEdgeUpdateStart?: EdgeMouseHandler; onEdgeUpdateStart?: (event: React.MouseEvent, edge: Edge, handleType: HandleType) => void;
onEdgeUpdateEnd?: (event: MouseEvent, edge: Edge) => void; onEdgeUpdateEnd?: (event: MouseEvent, edge: Edge, handleType: HandleType) => void;
markerStart?: EdgeMarkerType; markerStart?: EdgeMarkerType;
markerEnd?: EdgeMarkerType; markerEnd?: EdgeMarkerType;
} }