Feat(Builder): Fix delete block is non-undoable (#7922)

* Feat(Builder): Fix delete block is non-undoable

* prettier
This commit is contained in:
Bently
2024-08-30 09:05:37 +01:00
committed by GitHub
parent cbe553a547
commit 6fff06f0f6

View File

@@ -195,9 +195,19 @@ const FlowEditor: React.FC<{
// Remove all edges that were connected to deleted nodes
nodeChanges
.filter((change) => change.type == "remove")
.filter((change) => change.type === "remove")
.forEach((deletedNode) => {
const nodeID = deletedNode.id;
const deletedNodeData = nodes.find((node) => node.id === nodeID);
if (deletedNodeData) {
history.push({
type: "DELETE_NODE",
payload: { node: deletedNodeData },
undo: () => addNodes(deletedNodeData),
redo: () => deleteElements({ nodes: [{ id: nodeID }] }),
});
}
const connectedEdges = edges.filter((edge) =>
[edge.source, edge.target].includes(nodeID),
@@ -207,7 +217,7 @@ const FlowEditor: React.FC<{
});
});
},
[deleteElements, setNodes],
[deleteElements, setNodes, nodes, edges, addNodes],
);
const formatEdgeID = useCallback((conn: Link | Connection): string => {