Spaces:
Configuration error
Configuration error
zack
commited on
Commit
·
0c6bba7
1
Parent(s):
ac09650
🔧 Update ReactFlow environment setup
Browse files
frontend/src/components/ReactFlow/ReactFlowEnv.js
CHANGED
@@ -59,6 +59,26 @@ export default function ReactEnviorment() {
|
|
59 |
restore();
|
60 |
},[deleteNode, deleteEdge]);
|
61 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
62 |
const onNodesChange = useCallback(
|
63 |
(changes) => setNodes((nds) => applyNodeChanges(changes, nds)),
|
64 |
[setNodes]
|
@@ -202,7 +222,7 @@ export default function ReactEnviorment() {
|
|
202 |
<button onClick={() => setShowProxmoxForm(true)} className="absolute top-10 right-10 z-50 p-2 bg-green-500 text-white">Add Proxmox VM</button>
|
203 |
<div className={`flex h-screen w-screen ${theme ? "dark" : ""} transition-all`}>
|
204 |
<ReactFlowProvider>
|
205 |
-
<Navbar onDelete={deleteNodeContains} colour={JSON.parse(localStorage.getItem('colour'))} emoji={JSON.parse(localStorage.getItem('emoji'))}/>
|
206 |
<div className="h-screen w-screen" ref={reactFlowWrapper}>
|
207 |
<ReactFlow nodes={nodes} edges={edges} nodeTypes={NODE} edgeTypes={EDGE} onNodesChange={onNodesChange} onNodesDelete={deleteNode} onEdgesChange={onEdgesChange} onEdgeUpdate={onEdgeUpdate} onConnect={onConnect} onDragOver={onDragOver} onDrop={onDrop} onInit={setReactFlowInstance} connectionLineComponent={CustomLine} fitView>
|
208 |
<Background variant='dots' size={1} className=" bg-white dark:bg-neutral-800"/>
|
|
|
59 |
restore();
|
60 |
},[deleteNode, deleteEdge]);
|
61 |
|
62 |
+
const handleAddProxmoxVnc = async ({ vmid, node }) => {
|
63 |
+
const response = await fetch('http://localhost:5000/api/proxmox/vnc', {
|
64 |
+
method: 'POST',
|
65 |
+
headers: { 'Content-Type': 'application/json' },
|
66 |
+
body: JSON.stringify({ vmid, node }),
|
67 |
+
});
|
68 |
+
const data = await response.json();
|
69 |
+
// Use data.iframe_src to create a new node in React Flow
|
70 |
+
};
|
71 |
+
|
72 |
+
const handleAddEmbed = useCallback((embedData) => {
|
73 |
+
const newNode = {
|
74 |
+
id: `embed-${nodes.length + 1}`,
|
75 |
+
type: 'embed',
|
76 |
+
position: reactFlowInstance.project({ x: 0, y: 0 }), // Adjust position as needed
|
77 |
+
data: { url: embedData.url, width: embedData.width || '100%', height: embedData.height || '400px' },
|
78 |
+
};
|
79 |
+
setNodes((nds) => nds.concat(newNode));
|
80 |
+
}, [nodes, reactFlowInstance]);
|
81 |
+
|
82 |
const onNodesChange = useCallback(
|
83 |
(changes) => setNodes((nds) => applyNodeChanges(changes, nds)),
|
84 |
[setNodes]
|
|
|
222 |
<button onClick={() => setShowProxmoxForm(true)} className="absolute top-10 right-10 z-50 p-2 bg-green-500 text-white">Add Proxmox VM</button>
|
223 |
<div className={`flex h-screen w-screen ${theme ? "dark" : ""} transition-all`}>
|
224 |
<ReactFlowProvider>
|
225 |
+
<Navbar onDelete={deleteNodeContains} colour={JSON.parse(localStorage.getItem('colour'))} emoji={JSON.parse(localStorage.getItem('emoji'))} nodes={nodes}/>
|
226 |
<div className="h-screen w-screen" ref={reactFlowWrapper}>
|
227 |
<ReactFlow nodes={nodes} edges={edges} nodeTypes={NODE} edgeTypes={EDGE} onNodesChange={onNodesChange} onNodesDelete={deleteNode} onEdgesChange={onEdgesChange} onEdgeUpdate={onEdgeUpdate} onConnect={onConnect} onDragOver={onDragOver} onDrop={onDrop} onInit={setReactFlowInstance} connectionLineComponent={CustomLine} fitView>
|
228 |
<Background variant='dots' size={1} className=" bg-white dark:bg-neutral-800"/>
|