diff --git a/web/src/routes/(user)/workflows/[workflowId]/+page.svelte b/web/src/routes/(user)/workflows/[workflowId]/+page.svelte
index a17ee55342..17cbdd5e2f 100644
--- a/web/src/routes/(user)/workflows/[workflowId]/+page.svelte
+++ b/web/src/routes/(user)/workflows/[workflowId]/+page.svelte
@@ -100,6 +100,13 @@
}
};
+ const handleInsertStep = async (index: number) => {
+ const step = await modalManager.show(WorkflowAddStepModal, { trigger });
+ if (step) {
+ steps = [...steps.slice(0, index), step, ...steps.slice(index)];
+ }
+ };
+
const replaceStep = (index: number, step: WorkflowStepDto) => {
steps = steps.map((current, i) => (i === index ? cloneDeep(step) : current));
};
@@ -384,16 +391,7 @@
- {#snippet sequenceConnector()}
-
- {/snippet}
-
{#each steps as step, index (index)}
- {@render sequenceConnector()}
void;
onDelete: (index: number) => void;
+ onInsertBefore: (index: number) => void;
onDragStart: (index: number, event: DragEvent) => void;
onDragEnd: () => void;
onDragOver: (index: number, event: DragEvent) => void;
@@ -30,6 +38,7 @@
isDropTarget,
onEdit,
onDelete,
+ onInsertBefore,
onDragStart,
onDragEnd,
onDragOver,
@@ -75,95 +84,112 @@
};
- onDragOver(index, event)}
- ondragleave={() => onDragLeave(index)}
- ondrop={(event) => onDrop(index, event)}
- role="listitem"
->
-
-
-
-
-
onDragHandleEnter(index)}
- onmouseleave={onDragHandleLeave}
- ondragstart={(event) => onDragStart(index, event)}
- ondragend={onDragEnd}
- title={$t('drag_to_reorder')}
- >
-
-
-
-
-
-
-
- {index + 1}
- {pluginManager.getMethodLabel(step.method)}
-
- {#if method?.description}
- {method.description}
- {/if}
-
-
- onEdit(index)}
- />
- onDelete(index)}
- />
-
-
-
+
+
+
+
+
+
+
- {#if configEntries.length > 0}
-
-
- {#each configEntries as [key, value] (key)}
-
onDragOver(index, event)}
+ ondragleave={() => onDragLeave(index)}
+ ondrop={(event) => onDrop(index, event)}
+ role="listitem"
+ >
+
+
+
+
+
onDragHandleEnter(index)}
+ onmouseleave={onDragHandleLeave}
+ ondragstart={(event) => onDragStart(index, event)}
+ ondragend={onDragEnd}
+ title={$t('drag_to_reorder')}
+ >
+
+
+
+
+
+
+
+ {index + 1}
+ {pluginManager.getMethodLabel(step.method)}
+
+ {#if method?.description}
+ {method.description}
+ {/if}
+
+
+
- {key}{formatConfigValue(value)}
-
- {/each}
+ onclick={() => onEdit(index)}
+ />
+ onDelete(index)}
+ />
+
-
- {/if}
-
+
+
+ {#if configEntries.length > 0}
+
+
+ {#each configEntries as [key, value] (key)}
+
+ {key}{formatConfigValue(value)}
+
+ {/each}
+
+
+ {/if}
+
+