feat(edges): add labelBgBorderRadius option closes #421

This commit is contained in:
moklick
2020-08-12 13:00:54 +02:00
parent f65a29d96a
commit ee74c90f15
10 changed files with 35 additions and 4 deletions
+3 -1
View File
@@ -50,10 +50,11 @@ export default memo(
labelStyle,
labelShowBg,
labelBgStyle,
labelBgPadding,
labelBgBorderRadius,
style,
arrowHeadType,
markerEndId,
labelBgPadding,
}: EdgeBezierProps) => {
const [centerX, centerY] = getCenter({ sourceX, sourceY, targetX, targetY });
const path = getBezierPath({
@@ -74,6 +75,7 @@ export default memo(
labelShowBg={labelShowBg}
labelBgStyle={labelBgStyle}
labelBgPadding={labelBgPadding}
labelBgBorderRadius={labelBgBorderRadius}
/>
) : null;
+12 -1
View File
@@ -3,7 +3,16 @@ import React, { memo, useRef, useState, useEffect } from 'react';
import { EdgeTextProps, Rect } from '../../types';
export default memo(
({ x, y, label, labelStyle = {}, labelShowBg = true, labelBgStyle = {}, labelBgPadding = [2, 4] }: EdgeTextProps) => {
({
x,
y,
label,
labelStyle = {},
labelShowBg = true,
labelBgStyle = {},
labelBgPadding = [2, 4],
labelBgBorderRadius = 2,
}: EdgeTextProps) => {
const edgeRef = useRef<SVGTextElement>(null);
const [edgeTextBbox, setEdgeTextBbox] = useState<Rect>({ x: 0, y: 0, width: 0, height: 0 });
@@ -34,6 +43,8 @@ export default memo(
height={edgeTextBbox.height + 2 * labelBgPadding[1]}
className="react-flow__edge-textbg"
style={labelBgStyle}
rx={labelBgBorderRadius}
ry={labelBgBorderRadius}
/>
)}
<text className="react-flow__edge-text" y={edgeTextBbox.height / 2} dy="0.3em" ref={edgeRef} style={labelStyle}>
+2
View File
@@ -132,6 +132,7 @@ export default memo(
labelShowBg,
labelBgStyle,
labelBgPadding,
labelBgBorderRadius,
style,
sourcePosition = Position.Bottom,
targetPosition = Position.Top,
@@ -162,6 +163,7 @@ export default memo(
labelShowBg={labelShowBg}
labelBgStyle={labelBgStyle}
labelBgPadding={labelBgPadding}
labelBgBorderRadius={labelBgBorderRadius}
/>
) : null;
+2
View File
@@ -15,6 +15,7 @@ export default memo(
labelShowBg,
labelBgStyle,
labelBgPadding,
labelBgBorderRadius,
style,
arrowHeadType,
markerEndId,
@@ -35,6 +36,7 @@ export default memo(
labelShowBg={labelShowBg}
labelBgStyle={labelBgStyle}
labelBgPadding={labelBgPadding}
labelBgBorderRadius={labelBgBorderRadius}
/>
) : null;
+3
View File
@@ -14,6 +14,7 @@ interface EdgeWrapperProps {
labelShowBg?: boolean;
labelBgStyle?: CSSProperties;
labelBgPadding?: [number, number];
labelBgBorderRadius?: number;
className?: string;
onClick?: (event: React.MouseEvent, edge: Edge) => void;
animated?: boolean;
@@ -38,6 +39,7 @@ export default (EdgeComponent: ComponentType<EdgeCompProps>) => {
labelShowBg,
labelBgStyle,
labelBgPadding,
labelBgBorderRadius,
className,
isHidden,
data,
@@ -80,6 +82,7 @@ export default (EdgeComponent: ComponentType<EdgeCompProps>) => {
labelShowBg={labelShowBg}
labelBgStyle={labelBgStyle}
labelBgPadding={labelBgPadding}
labelBgBorderRadius={labelBgBorderRadius}
data={data}
{...rest}
/>