diff --git a/frontend/src/lib/components/FlowEditor.svelte b/frontend/src/lib/components/FlowEditor.svelte index b68e9a7392..2d9fbe3ded 100644 --- a/frontend/src/lib/components/FlowEditor.svelte +++ b/frontend/src/lib/components/FlowEditor.svelte @@ -11,6 +11,7 @@ import RadioButtonV2 from './RadioButtonV2.svelte' import SchemaEditor from './SchemaEditor.svelte' import Required from './Required.svelte' + import { pathIsEmpty } from '$lib/utils' export let pathError = '' export let initialPath: string = '' @@ -120,6 +121,7 @@
  • diff --git a/frontend/src/lib/components/ModuleStep.svelte b/frontend/src/lib/components/ModuleStep.svelte index e37e9ba3a7..0e5832b266 100644 --- a/frontend/src/lib/components/ModuleStep.svelte +++ b/frontend/src/lib/components/ModuleStep.svelte @@ -72,7 +72,7 @@ deno={mod.value.language === FlowModuleValue.language.DENO} /> - {/if} diff --git a/frontend/src/lib/components/SchemaForm.svelte b/frontend/src/lib/components/SchemaForm.svelte index ea30d45c67..1710e2937c 100644 --- a/frontend/src/lib/components/SchemaForm.svelte +++ b/frontend/src/lib/components/SchemaForm.svelte @@ -35,7 +35,7 @@ previous_result.${key}` {#if Object.keys(schema?.properties ?? {}).length > 0} {#each Object.keys(schema?.properties ?? {}) as argName} {#if inputTransform && args[argName] != undefined} -
    +
    @@ -44,11 +37,8 @@
    - (open = i)} - on:click|preventDefault={scrollIntoView}>
    (open = i)} on:click|preventDefault={scrollTo} + >
    diff --git a/frontend/src/lib/components/flows/flowStore.ts b/frontend/src/lib/components/flows/flowStore.ts index e70602278b..ae1720f9d0 100644 --- a/frontend/src/lib/components/flows/flowStore.ts +++ b/frontend/src/lib/components/flows/flowStore.ts @@ -3,7 +3,7 @@ import { FlowModuleValue, ScriptService, type Flow, type FlowModule } from '$lib import { initialCode } from '$lib/script_helpers' import { userStore, workspaceStore } from '$lib/stores' import { derived, get, writable } from 'svelte/store' -import { createInlineScriptModuleFromPath, getFirstStepSchema, loadSchemaFromModule } from './utils' +import { createInlineScriptModuleFromPath, getFirstStepSchema, loadSchemaFromModule, scrollIntoView } from './utils' export type FlowMode = 'push' | 'pull' @@ -37,9 +37,14 @@ export function addModule(i?: number) { input_transform: {} } + flowStore.update((flow: Flow) => { - flow.value.modules.splice(i ?? flow.value.modules.length, 0, newModule) + const insertAt = i ?? flow.value.modules.length + + flow.value.modules.splice(insertAt, 0, newModule) flow.value.modules = flow.value.modules + setTimeout(() => scrollIntoView(document.querySelector(`#module-${insertAt}`)), 100) + return flow }) } diff --git a/frontend/src/lib/components/flows/utils.ts b/frontend/src/lib/components/flows/utils.ts index 6d6e6a20ef..954cb84246 100644 --- a/frontend/src/lib/components/flows/utils.ts +++ b/frontend/src/lib/components/flows/utils.ts @@ -153,6 +153,15 @@ export async function createInlineScriptModuleFromPath(path: string): Promise schema: Schema diff --git a/frontend/src/routes/flows/add.svelte b/frontend/src/routes/flows/add.svelte index a5a2837ed4..ffbe647b65 100644 --- a/frontend/src/routes/flows/add.svelte +++ b/frontend/src/routes/flows/add.svelte @@ -23,7 +23,6 @@ } initFlow(flow) - addModule()