diff --git a/frontend/src/lib/components/flows/map/FlowModuleSchemaMap.svelte b/frontend/src/lib/components/flows/map/FlowModuleSchemaMap.svelte index 983d2ef7c2..d8293c9284 100644 --- a/frontend/src/lib/components/flows/map/FlowModuleSchemaMap.svelte +++ b/frontend/src/lib/components/flows/map/FlowModuleSchemaMap.svelte @@ -21,7 +21,7 @@ import { slide } from 'svelte/transition' export let root: boolean = false - export let modules: FlowModule[] + export let modules: FlowModule[] | undefined let indexToRemove: number | undefined = undefined const { select } = getContext('FlowEditorContext') @@ -41,6 +41,7 @@ ;[module, state] = await createBranchAll(module.id) } const flowModule = module + if (!modules) return modules.splice(index, 0, flowModule) modules = modules $flowStateStore[flowModule.id] = state @@ -50,6 +51,7 @@ function removeAtIndex(index: number): void { select('settings') + if (!modules) return const [removedModule] = modules.splice(index, 1) modules = modules @@ -107,25 +109,27 @@ {/if} - {#each modules as mod, index (mod.id ?? index)} -
- { - if (event.detail.detail.shiftKey || mod.value.type === 'identity') { - removeAtIndex(index) - } else { - indexToRemove = index - } - }} - on:insert={(e) => { - insertNewModuleAtIndex(index, e.detail) - }} - /> -
- {/each} + {#if modules} + {#each modules as mod, index (mod.id ?? index)} +
+ { + if (event.detail.detail.shiftKey || mod.value.type === 'identity') { + removeAtIndex(index) + } else { + indexToRemove = index + } + }} + on:insert={(e) => { + insertNewModuleAtIndex(index, e.detail) + }} + /> +
+ {/each} + {/if} - insertNewModuleAtIndex(modules.length, e.detail)} /> + insertNewModuleAtIndex(modules?.length ?? 0, e.detail)} /> {#if root}