From 7194d190141228a519e1ba54c4d8673d7df75a1f Mon Sep 17 00:00:00 2001 From: ModestFun <61576426+ModestFun@users.noreply.github.com> Date: Mon, 8 Apr 2024 11:49:35 +0800 Subject: [PATCH] :bug: feat: add edge type (#100) Co-authored-by: jiangchu --- docs/guide/demos/customEdge/ButtonEdge.tsx | 32 ++++++++------ docs/guide/demos/customEdge/index.tsx | 50 ++++++++++++++++++++-- package.json | 2 +- src/FlowView/helper.tsx | 11 ++++- 4 files changed, 77 insertions(+), 18 deletions(-) diff --git a/docs/guide/demos/customEdge/ButtonEdge.tsx b/docs/guide/demos/customEdge/ButtonEdge.tsx index 218a2f5..52f2f88 100644 --- a/docs/guide/demos/customEdge/ButtonEdge.tsx +++ b/docs/guide/demos/customEdge/ButtonEdge.tsx @@ -6,17 +6,19 @@ const onEdgeClick = (evt, id) => { alert(` ${id}`); }; -export default function CustomEdge({ - id, - sourceX, - sourceY, - targetX, - targetY, - sourcePosition, - targetPosition, - style = {}, - markerEnd, -}: EdgeProps) { +export default function CustomEdge(edge: EdgeProps) { + const { + id, + sourceX, + sourceY, + targetX, + targetY, + sourcePosition, + targetPosition, + style = {}, + markerEnd, + } = edge; + const [edgePath, labelX, labelY] = getBezierPath({ sourceX, sourceY, @@ -25,10 +27,16 @@ export default function CustomEdge({ targetY, targetPosition, }); + const { styles } = useStyles(); return ( <> - +
getEdges(styles.customEdge), []); + const { selectEdges } = useFlowViewer(); return (
- + + +
+ + + +
+
+
); } -export default App; +function ProApp() { + return ( + + + + ); +} + +export default ProApp; diff --git a/package.json b/package.json index 9fd8653..eef6182 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@ant-design/pro-flow", - "version": "1.3.7", + "version": "1.3.9", "description": "A React based Flow components", "keywords": [ "flow", diff --git a/src/FlowView/helper.tsx b/src/FlowView/helper.tsx index a3cf7a7..39d175e 100644 --- a/src/FlowView/helper.tsx +++ b/src/FlowView/helper.tsx @@ -160,6 +160,8 @@ export function getRenderEdges(edges: FlowViewEdge[]) { id = `${source}-${target}`, } = edge; + const _className = getEdgeClsFromSelectType(select) + ' ' + className; + return { ...edge, id, @@ -168,10 +170,15 @@ export function getRenderEdges(edges: FlowViewEdge[]) { sourceHandle, targetHandle, type, - data, animated, + select, label, - className: getEdgeClsFromSelectType(select) + ' ' + className, + data: { + select, + className: _className, + ...data, + }, + className: _className, }; }); }