diff --git a/frontend/src/lib/components/graph/FlowGraphV2.svelte b/frontend/src/lib/components/graph/FlowGraphV2.svelte index 398cf8aa4f..18a64886ab 100644 --- a/frontend/src/lib/components/graph/FlowGraphV2.svelte +++ b/frontend/src/lib/components/graph/FlowGraphV2.svelte @@ -89,7 +89,10 @@ return { nodes, edges } } - const { nodes: initialNodes, edges: initialEdges } = graphBuilder(modules) + const { nodes: initialNodes, edges: initialEdges } = graphBuilder(modules, { + insertable, + disableAi + }) const { nodes: layoutedNodes, edges: layoutedEdges } = getLayoutedElements( initialNodes, diff --git a/frontend/src/lib/components/graph/graphBuilder.ts b/frontend/src/lib/components/graph/graphBuilder.ts index 4a170d4f25..1cd0153a7f 100644 --- a/frontend/src/lib/components/graph/graphBuilder.ts +++ b/frontend/src/lib/components/graph/graphBuilder.ts @@ -18,7 +18,8 @@ export default function graphBuilder(modules: FlowModule[] | undefined): { data: { value: module.value, offset: offset, - module: module + module: module, + modules: modules }, position: { x: 0, y: 0 }, type: type diff --git a/frontend/src/lib/components/graph/renderers/nodes/BranchAllStart.svelte b/frontend/src/lib/components/graph/renderers/nodes/BranchAllStart.svelte index 15abcf590e..c45294d82a 100644 --- a/frontend/src/lib/components/graph/renderers/nodes/BranchAllStart.svelte +++ b/frontend/src/lib/components/graph/renderers/nodes/BranchAllStart.svelte @@ -2,26 +2,39 @@ import VirtualItem from '$lib/components/flows/map/VirtualItem.svelte' // @ts-ignore import { Handle, NodeToolbar, Position, type NodeProps } from '@xyflow/svelte' + import NodeWrapper from './NodeWrapper.svelte' + import { X } from 'lucide-svelte' + import { createEventDispatcher } from 'svelte' export let data: { label: string + branchIndex: number } + + const dispatch = createEventDispatcher() -
- 0.01s -
+
- - - - + + + 0.01s + + + diff --git a/frontend/src/lib/components/graph/renderers/nodes/ModuleNode.svelte b/frontend/src/lib/components/graph/renderers/nodes/ModuleNode.svelte index ccfc6deddc..ace79b5969 100644 --- a/frontend/src/lib/components/graph/renderers/nodes/ModuleNode.svelte +++ b/frontend/src/lib/components/graph/renderers/nodes/ModuleNode.svelte @@ -1,23 +1,116 @@ -{#if data.time} - - 0.01s - -{/if} + + + -
- -
+ + {#if data.insertable} +
+ {#if data.moving} + + {:else} + { + dispatch('insert', { + modules: data.modules, + index: idx + 1, + detail: 'script', + script: e.detail + }) + }} + on:new={(e) => { + dispatch('insert', { modules: data.modules, index: idx, detail: e.detail }) + }} + index={idx} + modules={data.modules} + /> + {/if} +
+ {/if} +
- - + + {#if data.value.type === 'branchall'} + + {/if} + diff --git a/frontend/src/lib/components/graph/renderers/nodes/NodeWrapper.svelte b/frontend/src/lib/components/graph/renderers/nodes/NodeWrapper.svelte new file mode 100644 index 0000000000..db18e2e063 --- /dev/null +++ b/frontend/src/lib/components/graph/renderers/nodes/NodeWrapper.svelte @@ -0,0 +1,24 @@ + + +
+
+ +
+ + +
+ +{#if enableSourceHandle} + +{/if} + +{#if enableTargetHandle} + +{/if} diff --git a/frontend/src/lib/components/graph/renderers/nodes/branchAllEndNode.svelte b/frontend/src/lib/components/graph/renderers/nodes/branchAllEndNode.svelte index 07eb5214ba..2562b91486 100644 --- a/frontend/src/lib/components/graph/renderers/nodes/branchAllEndNode.svelte +++ b/frontend/src/lib/components/graph/renderers/nodes/branchAllEndNode.svelte @@ -6,7 +6,6 @@ type $$Props = NodeProps export let data: $$Props['data'] - $$restProps {#if data.time}