diff --git a/frontend/src/lib/components/DisplayResult.svelte b/frontend/src/lib/components/DisplayResult.svelte index 54a352e15c..6a515b45f3 100644 --- a/frontend/src/lib/components/DisplayResult.svelte +++ b/frontend/src/lib/components/DisplayResult.svelte @@ -96,7 +96,7 @@ {#if Array.isArray(result[col])} {#each result[col] as item} -
+
{typeof item === 'string' ? item : JSON.stringify(item)}
{/each} @@ -105,14 +105,14 @@ {/each}
{:else if !forceJson && resultKind == 'table-row'}
{#each asListOfList(result) as row} {#each row as v} - {truncate(JSON.stringify(v), 200) ?? ''} + {truncate(JSON.stringify(v), 200) ?? ''} {/each} {/each} @@ -142,7 +142,9 @@ >
{:else if !forceJson && resultKind == 'error'}
- {result.error.name}: {result.error.message} + {result.error.name}: {result.error.message}
{result.error.stack ?? ''}
{:else if !forceJson && resultKind == 'approval'}
diff --git a/frontend/src/lib/components/FlowPreviewContent.svelte b/frontend/src/lib/components/FlowPreviewContent.svelte index c07fe71c89..cc19015183 100644 --- a/frontend/src/lib/components/FlowPreviewContent.svelte +++ b/frontend/src/lib/components/FlowPreviewContent.svelte @@ -150,11 +150,11 @@
-
+
= {} let can_write = true let loadingSchema = false - + let linkedVars: string[] = [] let drawer: Drawer let rawCode: string | undefined = undefined @@ -48,6 +48,9 @@ can_write = resourceToEdit.workspace_id == $workspaceStore && canWrite(p, resourceToEdit.extra_perms ?? {}, $userStore) + linkedVars = Object.entries(args) + .filter(([_, v]) => typeof v == 'string' && v == `$var:${initialPath}`) + .map(([k, _]) => k) } async function editResource(): Promise { @@ -58,7 +61,7 @@ requestBody: { path, value: args, description } }) sendUserToast(`Updated resource at ${path}`) - dispatch('refresh') + dispatch('refresh', path) drawer.closeDrawer?.() } else { throw Error('Cannot edit undefined resourceToEdit') @@ -100,6 +103,14 @@ jsonError = e.message } } + + $: linkedVars.length > 0 && path && updateArgsFromLinkedVars() + + function updateArgsFromLinkedVars() { + linkedVars.forEach((k) => { + args[k] = `$var:${path}` + }) + } diff --git a/frontend/src/lib/components/ResourcePicker.svelte b/frontend/src/lib/components/ResourcePicker.svelte index 9c4a2b966c..35b2c717ad 100644 --- a/frontend/src/lib/components/ResourcePicker.svelte +++ b/frontend/src/lib/components/ResourcePicker.svelte @@ -46,7 +46,16 @@ bind:this={appConnect} /> - loadResources(resourceType)} /> + { + await loadResources(resourceType) + console.log(e) + if (e.detail) { + value = e.detail + } + }} +/>