support deleting workflow edges

This commit is contained in:
ali asaria
2025-04-09 15:58:29 -04:00
parent e7e9834311
commit 3ade792a66
2 changed files with 28 additions and 2 deletions

View File

@@ -121,7 +121,6 @@ const Flow = ({
const onConnect = useCallback((params) => {
setEdges((els) => addEdge(params, els));
alert(JSON.stringify(params));
fetch(
chatAPI.Endpoints.Workflows.AddEdge(
selectedWorkflow?.id,
@@ -148,7 +147,23 @@ const Flow = ({
if (!edgeReconnectSuccessful.current) {
setEdges((eds) => {
const updatedEdges = eds.filter((e) => e.id !== edge.id);
alert('edge broken'); // Alert when an edge is deleted
fetch(
chatAPI.Endpoints.Workflows.RemoveEdge(
selectedWorkflow?.id,
edge.source,
edge.target,
),
{
method: 'POST',
},
)
.then(() => {
mutateWorkflows();
return updatedEdges;
})
.catch((error) => {
console.error('Failed to remove edge:', error);
});
return updatedEdges;
});
}
@@ -163,6 +178,7 @@ const Flow = ({
// The workflow isn't updating when I switch workflows
// so I do this hack:
useEffect(() => {
// console.log('updating workflow');
setNodes(generateNodes(selectedWorkflow));
setEdges(generateEdges(selectedWorkflow));
}, [selectedWorkflow]);

View File

@@ -1,3 +1,4 @@
/* eslint-disable camelcase */
/* eslint-disable prefer-template */
/* eslint-disable no-console */
/* eslint-disable import/prefer-default-export */
@@ -1111,6 +1112,15 @@ Endpoints.Workflows = {
'/add_edge' +
'?end_node_id=' +
to,
RemoveEdge: (workflowId: string, start_node_id: string, to: string) =>
API_URL() +
'workflows/' +
workflowId +
'/' +
start_node_id +
'/remove_edge' +
'?end_node_id=' +
to,
RunWorkflow: (workflowId: string) =>
API_URL() + 'workflows/' + workflowId + '/start',
};