fix: fix the creation of new phases so that the data is deepcloned instead of referenced
This commit is contained in:
@@ -56,7 +56,7 @@ function addNode(nodeType: keyof typeof NodeTypes, position: XYPosition) {
|
|||||||
|
|
||||||
// Find out if there's any default data about our ndoe
|
// Find out if there's any default data about our ndoe
|
||||||
const defaultData = NodeDefaults[nodeType] ?? {}
|
const defaultData = NodeDefaults[nodeType] ?? {}
|
||||||
|
|
||||||
// Currently, we find out what the Id is by checking the last node and adding one
|
// Currently, we find out what the Id is by checking the last node and adding one
|
||||||
const sameTypeNodes = nodes.filter((node) => node.type === nodeType);
|
const sameTypeNodes = nodes.filter((node) => node.type === nodeType);
|
||||||
const nextNumber =
|
const nextNumber =
|
||||||
@@ -75,7 +75,9 @@ function addNode(nodeType: keyof typeof NodeTypes, position: XYPosition) {
|
|||||||
id: id,
|
id: id,
|
||||||
type: nodeType,
|
type: nodeType,
|
||||||
position,
|
position,
|
||||||
data: {...defaultData}
|
// Deep copy using JSON because thats how things work:
|
||||||
|
// Ref: https://developer.mozilla.org/en-US/docs/Glossary/Deep_copy
|
||||||
|
data: structuredClone(defaultData)
|
||||||
}
|
}
|
||||||
setNodes([...nodes, newNode]);
|
setNodes([...nodes, newNode]);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user