feat(general): add defaultNodes, defaultEdges and defaultEdgeOptions

This commit is contained in:
moklick
2022-01-18 13:05:41 +01:00
parent 660ec00be5
commit 634b592b3a
14 changed files with 364 additions and 60 deletions
+5
View File
@@ -32,6 +32,11 @@ export interface Edge<T = any> {
zIndex?: number;
}
export type DefaultEdgeOptions = Omit<
Edge,
'id' | 'source' | 'target' | 'sourceHandle' | 'targetHandle' | 'sourceNode' | 'targetNode'
>;
// props that get passed to a custom edge
export interface EdgeProps<T = any> {
id: string;
+4
View File
@@ -6,6 +6,7 @@ import { NodeChange, EdgeChange } from './changes';
import { Node, NodeInternals, NodeDimensionUpdate, NodeDiffUpdate } from './nodes';
import { Edge } from './edges';
import { HandleType, StartHandle } from './handles';
import { DefaultEdgeOptions } from '.';
export type NodeTypesType = { [key: string]: ReactNode };
export type EdgeTypesType = NodeTypesType;
@@ -142,6 +143,7 @@ export type ReactFlowStore = {
selectedNodesBbox: Rect;
onNodesChange: OnNodesChange | null;
onEdgesChange: OnEdgesChange | null;
isControlled: boolean;
d3Zoom: ZoomBehavior<Element, unknown> | null;
d3Selection: D3Selection<Element, unknown, null, undefined> | null;
@@ -182,11 +184,13 @@ export type ReactFlowStore = {
onConnectEnd?: OnConnectEnd;
connectOnClick: boolean;
defaultEdgeOptions?: DefaultEdgeOptions;
};
export type ReactFlowActions = {
setNodes: (nodes: Node[]) => void;
setEdges: (edges: Edge[]) => void;
setDefaultNodesAndEdges: (nodes: Node[], edges?: Edge[]) => void;
updateNodeDimensions: (updates: NodeDimensionUpdate[]) => void;
updateNodePosition: (update: NodeDiffUpdate) => void;
resetSelectedElements: () => void;