From 809de82eb71694a3b121e0f74805e69673678ae5 Mon Sep 17 00:00:00 2001 From: moklick Date: Tue, 20 Sep 2022 16:00:22 +0200 Subject: [PATCH] refactor(edge-updater): add separate class name for source and target, cleanup --- .../core/src/components/Edges/EdgeAnchor.tsx | 20 +++++-- .../core/src/components/Edges/wrapEdge.tsx | 52 ++++++++++--------- 2 files changed, 44 insertions(+), 28 deletions(-) diff --git a/packages/core/src/components/Edges/EdgeAnchor.tsx b/packages/core/src/components/Edges/EdgeAnchor.tsx index bad20972..a88ed364 100644 --- a/packages/core/src/components/Edges/EdgeAnchor.tsx +++ b/packages/core/src/components/Edges/EdgeAnchor.tsx @@ -1,4 +1,4 @@ -import { FC, HTMLAttributes } from 'react'; +import { FC, MouseEvent as ReactMouseEvent, SVGAttributes } from 'react'; import cc from 'classcat'; import { Position } from '../../types'; @@ -15,22 +15,34 @@ const shiftY = (y: number, shift: number, position: Position): number => { return y; }; -export interface EdgeAnchorProps extends HTMLAttributes { +export interface EdgeAnchorProps extends SVGAttributes { position: Position; centerX: number; centerY: number; radius?: number; + onMouseDown: (event: ReactMouseEvent) => void; + onMouseEnter: (event: ReactMouseEvent) => void; + onMouseOut: (event: ReactMouseEvent) => void; + type: string; } +const EdgeUpdaterClassName = 'react-flow__edgeupdater'; + export const EdgeAnchor: FC = ({ - className, position, centerX, centerY, radius = 10, + onMouseDown, + onMouseEnter, + onMouseOut, + type, }: EdgeAnchorProps) => ( ) => { const inactive = !elementsSelectable && !onClick; const handleEdgeUpdate = typeof onEdgeUpdate !== 'undefined'; - const edgeClasses = cc([ - 'react-flow__edge', - `react-flow__edge-${type}`, - className, - { selected, animated, inactive, updating: updateHover }, - ]); const onKeyDown = (event: KeyboardEvent) => { if (elementSelectionKeys.includes(event.key) && elementsSelectable) { @@ -152,7 +146,12 @@ export default (EdgeComponent: ComponentType) => { return ( ) => { interactionWidth={interactionWidth} /> )} - {handleEdgeUpdate && ( - - - - )} - {handleEdgeUpdate && ( - - - + <> + + + )} );