@@ -10,6 +10,7 @@ import {
10
10
useReactFlow
11
11
} from "@xyflow/react"
12
12
import { PlayArrow , Widgets , Save , Delete } from "@mui/icons-material"
13
+ import type { ComputeBlock } from "./nodes/ComputeBlockNode"
13
14
import ComputeBlockNode from "./nodes/ComputeBlockNode"
14
15
import "@xyflow/react/dist/style.css"
15
16
import LoadingAndError from "./LoadingAndError"
@@ -40,12 +41,13 @@ export default function Workbench() {
40
41
41
42
useEffect ( ( ) => {
42
43
if ( projectDetails ) {
43
- setNodes ( projectDetails as FlowNode < Node > [ ] ) // Ensure projectDetails matches the Node type
44
+ // TODO: Fix this type workaround below (mega ugly)
45
+ setNodes ( projectDetails as unknown as FlowNode < Node > [ ] )
44
46
}
45
47
} , [ projectDetails ] )
46
48
47
49
const onNodesChange = useCallback (
48
- ( changes : NodeChange [ ] ) => setNodes ( ( nds ) => applyNodeChanges ( changes , nds ) ) ,
50
+ ( changes : NodeChange [ ] ) => setNodes ( ( nds ) => applyNodeChanges ( changes , nds ) as FlowNode < Node > [ ] ) ,
49
51
[ ]
50
52
)
51
53
@@ -79,6 +81,7 @@ export default function Workbench() {
79
81
id : `${ type } _${ nodes . length + 1 } ` ,
80
82
type : "computeBlock" ,
81
83
position,
84
+ // @ts -expect-error label is somehow not recognized here from the type: maybe fix: FlowNode<Node<ComputeBlock>>
82
85
data : { label : `${ type } Node` } ,
83
86
}
84
87
@@ -142,7 +145,8 @@ export default function Workbench() {
142
145
nodes = { nodes }
143
146
onNodesChange = { onNodesChange }
144
147
fitView
145
- onNodeClick = { ( _ , node ) => setSelectedComputeBlock ( node . data ) }
148
+ // TODO: fix the ugly type workaround
149
+ onNodeClick = { ( _ , node ) => setSelectedComputeBlock ( node . data as unknown as ComputeBlock ) }
146
150
onPaneClick = { ( ) => setSelectedComputeBlock ( undefined ) }
147
151
onDragOver = { onDragOver }
148
152
onDrop = { onDrop }
0 commit comments