MCPcopy
hub / github.com/xyflow/xyflow / BasicFlow

Function BasicFlow

examples/react/src/examples/Basic/index.tsx:62–190  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

60};
61
62const BasicFlow = () => {
63 const {
64 addNodes,
65 setNodes,
66 getNodes,
67 setEdges,
68 getEdges,
69 deleteElements,
70 updateNodeData,
71 toObject,
72 setViewport,
73 fitView,
74 } = useReactFlow();
75
76 const updatePos = () => {
77 setNodes((nodes) =>
78 nodes.map((node) => {
79 return {
80 ...node,
81 position: {
82 x: Math.random() * 400,
83 y: Math.random() * 400,
84 },
85 };
86 })
87 );
88 };
89
90 const logToObject = () => console.log(toObject());
91 const resetTransform = () => setViewport({ x: 0, y: 0, zoom: 1 });
92
93 const toggleClassnames = () => {
94 setNodes((nodes) =>
95 nodes.map((node) => {
96 return {
97 ...node,
98 className: node.className === 'light' ? 'dark' : 'light',
99 };
100 })
101 );
102 };
103
104 const deleteSelectedElements = useCallback(() => {
105 const selectedNodes = getNodes().filter((node) => node.selected);
106 const selectedEdges = getEdges().filter((edge) => edge.selected);
107 deleteElements({ nodes: selectedNodes, edges: selectedEdges });
108 }, [deleteElements]);
109
110 const deleteSomeElements = useCallback(() => {
111 deleteElements({ nodes: [{ id: '2' }], edges: [{ id: 'e1-3' }] });
112 }, []);
113
114 const onSetNodes = () => {
115 setNodes([
116 { id: 'a', position: { x: 0, y: 0 }, data: { label: 'Node a' } },
117 { id: 'b', position: { x: 0, y: 150 }, data: { label: 'Node b' } },
118 ]);
119

Callers

nothing calls this directly

Calls 2

useReactFlowFunction · 0.90
printSelectionEventFunction · 0.85

Tested by

no test coverage detected