diff --git a/frontend/src/app.css b/frontend/src/app.css index a465f6274d..d5992cf075 100644 --- a/frontend/src/app.css +++ b/frontend/src/app.css @@ -226,3 +226,8 @@ html { padding: 0; @apply text-xs; } + +/* svelte-split-pane separator class override */ +.separator { + background-color: #ddd !important; +} \ No newline at end of file diff --git a/frontend/src/lib/components/FlowBuilder.svelte b/frontend/src/lib/components/FlowBuilder.svelte index 0dd91d3ce2..b3757a38e7 100644 --- a/frontend/src/lib/components/FlowBuilder.svelte +++ b/frontend/src/lib/components/FlowBuilder.svelte @@ -18,6 +18,7 @@ import FlowEditor from './flows/FlowEditor.svelte' import { flowStateStore, flowStateToFlow, type FlowState } from './flows/flowState' import { flowStore } from './flows/flowStore' + import FlowImportExportMenu from './flows/header/FlowImportExportMenu.svelte' import { loadFlowSchedule, type Schedule } from './flows/scheduleUtils' import type { FlowEditorContext } from './flows/types' import { cleanInputs } from './flows/utils' @@ -193,7 +194,7 @@ -
+
{#if step == 1} + {:else} +
Suspend
+ + + {:else} + + {/if} + {#if flowModule.stop_after_if} + +
+
Stop condition expression
+ + + +
+ {:else} + + {/if} +
diff --git a/frontend/src/lib/components/flows/flowStateUtils.ts b/frontend/src/lib/components/flows/flowStateUtils.ts index 0221886486..ff61afbbfd 100644 --- a/frontend/src/lib/components/flows/flowStateUtils.ts +++ b/frontend/src/lib/components/flows/flowStateUtils.ts @@ -22,7 +22,8 @@ import { import { get } from 'svelte/store' import { flowStateStore, type FlowModuleSchema, type FlowState } from './flowState' import { flowStore } from './flowStore' -import { jobsToResults, loadSchemaFromModule } from './utils' +import { loadSchemaFromModule } from './utils' + export function emptyFlowModuleSchema(): FlowModuleSchema { return { flowModule: emptyModule(), diff --git a/frontend/src/lib/components/flows/header/FlowImportExportMenu.svelte b/frontend/src/lib/components/flows/header/FlowImportExportMenu.svelte new file mode 100644 index 0000000000..fec69e0b82 --- /dev/null +++ b/frontend/src/lib/components/flows/header/FlowImportExportMenu.svelte @@ -0,0 +1,83 @@ + + + + +
+ jsonSetterDrawer.toggleDrawer()}> + + Import from a JSON OpenFlow + + jsonViewerDrawer.toggleDrawer()}> + + Export to a JSON OpenFlow + + { + const url = new URL('https://hub.windmill.dev/flows/add') + const openFlow = { + value: $flowStore.value, + summary: $flowStore.summary, + description: $flowStore.description, + schema: $flowStore.schema + } + url.searchParams.append('flow', btoa(JSON.stringify(openFlow))) + window.open(url, '_blank')?.focus() + }} + > + + Publish to Hub + +
+
+ + + jsonSetterDrawer.toggleDrawer()}> + + + + + + jsonViewerDrawer.toggleDrawer()}> + + +