feat(editor): Add ability to add a node between two nodes in new canvas (no-changelog) (#10006)

This commit is contained in:
Alex Grozav
2024-07-11 17:05:51 +03:00
committed by GitHub
parent d651be4e01
commit 1aae65dfdc
12 changed files with 517 additions and 146 deletions

View File

@@ -80,7 +80,6 @@ import { useTagsStore } from '@/stores/tags.store';
import { usePushConnectionStore } from '@/stores/pushConnection.store';
import { useNDVStore } from '@/stores/ndv.store';
import { getNodeViewTab } from '@/utils/canvasUtils';
import { parseCanvasConnectionHandleString } from '@/utils/canvasUtilsV2';
import CanvasStopCurrentExecutionButton from '@/components/canvas/elements/buttons/CanvasStopCurrentExecutionButton.vue';
import CanvasStopWaitingForWebhookButton from '@/components/canvas/elements/buttons/CanvasStopWaitingForWebhookButton.vue';
import CanvasClearExecutionDataButton from '@/components/canvas/elements/buttons/CanvasClearExecutionDataButton.vue';
@@ -529,14 +528,13 @@ function onCreateConnection(connection: Connection) {
}
function onCreateConnectionCancelled(event: ConnectStartEvent) {
const { type, index } = parseCanvasConnectionHandleString(event.handleId);
setTimeout(() => {
nodeCreatorStore.openNodeCreatorForConnectingNode({
index,
endpointUuid: event.handleId,
connection: {
source: event.nodeId,
sourceHandle: event.handleId,
},
eventSource: NODE_CREATOR_OPEN_SOURCES.NODE_CONNECTION_DROP,
outputType: type,
sourceId: event.nodeId,
});
});
}
@@ -574,6 +572,8 @@ async function onAddNodesAndConnections(
await addConnections(connections, {
offsetIndex: editableWorkflow.value.nodes.length - nodes.length,
});
uiStore.lastSelectedNodeConnection = null;
}
async function onSwitchActiveNode(nodeName: string) {
@@ -588,6 +588,13 @@ function onOpenNodeCreator(options: ToggleNodeCreatorOptions) {
nodeCreatorStore.openNodeCreator(options);
}
function onClickConnectionAdd(connection: Connection) {
nodeCreatorStore.openNodeCreatorForConnectingNode({
connection,
eventSource: NODE_CREATOR_OPEN_SOURCES.NODE_CONNECTION_ACTION,
});
}
/**
* Executions
*/
@@ -1079,6 +1086,7 @@ onBeforeUnmount(() => {
@create:connection="onCreateConnection"
@create:connection:cancelled="onCreateConnectionCancelled"
@delete:connection="onDeleteConnection"
@click:connection:add="onClickConnectionAdd"
@click:pane="onClickPane"
>
<div :class="$style.executionButtons">