diff --git a/frontend/src/lib/components/DeployWorkspace.svelte b/frontend/src/lib/components/DeployWorkspace.svelte
index d56a9819e1..9cccd0cb29 100644
--- a/frontend/src/lib/components/DeployWorkspace.svelte
+++ b/frontend/src/lib/components/DeployWorkspace.svelte
@@ -60,6 +60,7 @@
let diffDrawer: DiffDrawer | undefined = $state(undefined)
let notSet: boolean | undefined = $state(undefined)
+ let isFlow: boolean | undefined = $state(undefined)
async function reload(path: string) {
try {
@@ -638,7 +639,7 @@
{:else if seeTarget == true}
All related deployable items
-
+
{#each dependencies ?? [] as { kind, path, include }, i}
{@const statusPath = computeStatusPath(kind, path)}
@@ -683,6 +684,7 @@
class="text-blue-600 font-normal mt-1"
onclick={() => {
showDiff(kind, path)
+ isFlow = kind === 'flow'
}}>diff
{/if}
{
if (!data || !diffType) return undefined
@@ -30,14 +31,16 @@
? 'metadata'
: undefined
})
+
let diffViewer: Drawer | undefined = $state(undefined)
interface Props {
restoreDeployed?: () => Promise
restoreDraft?: () => Promise
+ isFlow?: boolean
}
- let { restoreDeployed = async () => {}, restoreDraft = async () => {} }: Props = $props()
+ let { restoreDeployed = undefined, restoreDraft = undefined, isFlow = false }: Props = $props()
let data:
| {
@@ -158,7 +161,7 @@
unifiedSize="md"
variant="default"
wrapperClasses="self-start"
- on:click={restoreDraft}
+ onClick={restoreDraft}
disabled={orderedJsonStringify(data.draft) === orderedJsonStringify(data.current)}
>Restore to latest saved draft
@@ -167,7 +170,7 @@
unifiedSize="md"
variant="default"
wrapperClasses="self-start"
- on:click={restoreDeployed}
+ onClick={restoreDeployed}
disabled={!data.draft &&
orderedJsonStringify(data.deployed) === orderedJsonStringify(data.current)}
>
@@ -228,19 +231,50 @@
/>
{/await}
{:else if contentType === 'metadata'}
- {#await import('$lib/components/DiffEditor.svelte')}
-
- {:then Module}
-
- {/await}
+ {#if isFlow}
+
+
+
+
+ {#if flowdiffMode === 'yaml'}
+ {#await import('$lib/components/DiffEditor.svelte')}
+
+ {:then Module}
+
+ {/await}
+ {:else if flowdiffMode === 'graph'}
+ {#await import('$lib/components/FlowGraphDiffViewer.svelte')}
+
+ {:then Module}
+
+ {/await}
+ {/if}
+ {:else}
+ {#await import('$lib/components/DiffEditor.svelte')}
+
+ {:then Module}
+
+ {/await}
+ {/if}
{/if}
{/key}
@@ -264,7 +298,7 @@
{#if data?.button}