allow null and correct behavior
This commit is contained in:
@@ -82,6 +82,18 @@ const initialNodes: Node[] = [
|
|||||||
data: { label: 'Output 12' },
|
data: { label: 'Output 12' },
|
||||||
position: { x: 825, y: 300 },
|
position: { x: 825, y: 300 },
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
id: '13',
|
||||||
|
type: 'output',
|
||||||
|
data: { label: 'Output 13' },
|
||||||
|
position: { x: 900, y: 200 },
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: '14',
|
||||||
|
type: 'output',
|
||||||
|
data: { label: 'Output 14' },
|
||||||
|
position: { x: 825, y: 100 },
|
||||||
|
},
|
||||||
];
|
];
|
||||||
|
|
||||||
const initialEdges: Edge[] = [
|
const initialEdges: Edge[] = [
|
||||||
@@ -211,7 +223,7 @@ const initialEdges: Edge[] = [
|
|||||||
id: 'e4-12',
|
id: 'e4-12',
|
||||||
source: '4',
|
source: '4',
|
||||||
target: '12',
|
target: '12',
|
||||||
label: 'Marker No Prop Color (should use CSS variable)',
|
label: 'Marker explicitly undefined Color (defaults to none)',
|
||||||
className: 'css-variable-edge',
|
className: 'css-variable-edge',
|
||||||
markerEnd: {
|
markerEnd: {
|
||||||
type: MarkerType.ArrowClosed,
|
type: MarkerType.ArrowClosed,
|
||||||
@@ -220,6 +232,31 @@ const initialEdges: Edge[] = [
|
|||||||
height: 40,
|
height: 40,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
id: 'e4-13',
|
||||||
|
source: '4',
|
||||||
|
target: '13',
|
||||||
|
label: 'Marker null Color (should use `--xy-edge-stroke` CSS variable)',
|
||||||
|
className: 'css-variable-edge',
|
||||||
|
markerEnd: {
|
||||||
|
type: MarkerType.ArrowClosed,
|
||||||
|
color: null,
|
||||||
|
width: 40,
|
||||||
|
height: 40,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 'e4-14',
|
||||||
|
source: '4',
|
||||||
|
target: '14',
|
||||||
|
label: 'Marker implicitly undefined Color (defaults to defaultMarkerColor)',
|
||||||
|
className: 'css-variable-edge',
|
||||||
|
markerEnd: {
|
||||||
|
type: MarkerType.ArrowClosed,
|
||||||
|
width: 40,
|
||||||
|
height: 40,
|
||||||
|
},
|
||||||
|
},
|
||||||
];
|
];
|
||||||
|
|
||||||
const edgeTypes: EdgeTypes = {
|
const edgeTypes: EdgeTypes = {
|
||||||
@@ -271,6 +308,7 @@ const EdgesFlow = () => {
|
|||||||
onEdgeMouseLeave={onEdgeMouseLeave}
|
onEdgeMouseLeave={onEdgeMouseLeave}
|
||||||
onDelete={console.log}
|
onDelete={console.log}
|
||||||
defaultEdgeOptions={defaultEdgeOptions}
|
defaultEdgeOptions={defaultEdgeOptions}
|
||||||
|
defaultMarkerColor={'purple'}
|
||||||
>
|
>
|
||||||
<MiniMap />
|
<MiniMap />
|
||||||
<Controls />
|
<Controls />
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ type SymbolProps = Omit<EdgeMarker, 'type'>;
|
|||||||
const ArrowSymbol = ({ color = 'none', strokeWidth = 1 }: SymbolProps) => {
|
const ArrowSymbol = ({ color = 'none', strokeWidth = 1 }: SymbolProps) => {
|
||||||
const style = {
|
const style = {
|
||||||
strokeWidth,
|
strokeWidth,
|
||||||
...(color && color !== 'none' && { stroke: color, fill: color }),
|
...(color && { stroke: color }),
|
||||||
};
|
};
|
||||||
|
|
||||||
return <polyline style={style} strokeLinecap="round" strokeLinejoin="round" fill="none" points="-5,-4 0,0 -5,4" />;
|
return <polyline style={style} strokeLinecap="round" strokeLinejoin="round" fill="none" points="-5,-4 0,0 -5,4" />;
|
||||||
@@ -17,7 +17,7 @@ const ArrowSymbol = ({ color = 'none', strokeWidth = 1 }: SymbolProps) => {
|
|||||||
const ArrowClosedSymbol = ({ color = 'none', strokeWidth = 1 }: SymbolProps) => {
|
const ArrowClosedSymbol = ({ color = 'none', strokeWidth = 1 }: SymbolProps) => {
|
||||||
const style = {
|
const style = {
|
||||||
strokeWidth,
|
strokeWidth,
|
||||||
...(color && color !== 'none' && { stroke: color, fill: color }),
|
...(color && { stroke: color, fill: color }),
|
||||||
};
|
};
|
||||||
|
|
||||||
return <polyline style={style} strokeLinecap="round" strokeLinejoin="round" points="-5,-4 0,0 -5,4 -5,-4" />;
|
return <polyline style={style} strokeLinecap="round" strokeLinejoin="round" points="-5,-4 0,0 -5,4 -5,-4" />;
|
||||||
|
|||||||
@@ -139,7 +139,12 @@ export interface ReactFlowProps<NodeType extends Node = Node, EdgeType extends E
|
|||||||
* This event fires when the user releases the source or target of an editable edge. It is called
|
* This event fires when the user releases the source or target of an editable edge. It is called
|
||||||
* even if an edge update does not occur.
|
* even if an edge update does not occur.
|
||||||
*/
|
*/
|
||||||
onReconnectEnd?: (event: MouseEvent | TouchEvent, edge: EdgeType, handleType: HandleType, connectionState: FinalConnectionState) => void;
|
onReconnectEnd?: (
|
||||||
|
event: MouseEvent | TouchEvent,
|
||||||
|
edge: EdgeType,
|
||||||
|
handleType: HandleType,
|
||||||
|
connectionState: FinalConnectionState
|
||||||
|
) => void;
|
||||||
/**
|
/**
|
||||||
* Use this event handler to add interactivity to a controlled flow.
|
* Use this event handler to add interactivity to a controlled flow.
|
||||||
* It is called on node drag, select, and move.
|
* It is called on node drag, select, and move.
|
||||||
@@ -494,9 +499,10 @@ export interface ReactFlowProps<NodeType extends Node = Node, EdgeType extends E
|
|||||||
nodeExtent?: CoordinateExtent;
|
nodeExtent?: CoordinateExtent;
|
||||||
/**
|
/**
|
||||||
* Color of edge markers.
|
* Color of edge markers.
|
||||||
|
* You can pass `null` to use the CSS variable `--xy-edge-stroke` for the marker color.
|
||||||
* @default '#b1b1b7'
|
* @default '#b1b1b7'
|
||||||
*/
|
*/
|
||||||
defaultMarkerColor?: string;
|
defaultMarkerColor?: string | null;
|
||||||
/**
|
/**
|
||||||
* Controls if the viewport should zoom by scrolling inside the container.
|
* Controls if the viewport should zoom by scrolling inside the container.
|
||||||
* @default true
|
* @default true
|
||||||
|
|||||||
@@ -91,7 +91,7 @@ export enum ConnectionLineType {
|
|||||||
*/
|
*/
|
||||||
export type EdgeMarker = {
|
export type EdgeMarker = {
|
||||||
type: MarkerType | `${MarkerType}`;
|
type: MarkerType | `${MarkerType}`;
|
||||||
color?: string;
|
color?: string | null;
|
||||||
width?: number;
|
width?: number;
|
||||||
height?: number;
|
height?: number;
|
||||||
markerUnits?: string;
|
markerUnits?: string;
|
||||||
|
|||||||
Reference in New Issue
Block a user