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} + +