mirror of
https://github.com/windmill-labs/windmill.git
synced 2026-09-07 00:01:49 +00:00
* feat: captures * flow UI and improvements * fix: build * fix sqlx * Move Capture WIP * Add capture to webhook and websocket * Move connection status viewer in the head * change trigger section label * Add popover capture picker using melt ui * Add shortcut to triggers capture from input form * remove capture tab in input * Allways show capture * remove useless logs * Add email capture * Add kafka capture into triggers * Add edit option in capture table * use light header for arg input * Add prefilled group id * Change button label * fix logic * Open resource drawer if prototype has fields * fix default completion * Change name Prototype * Dissociate Editor Mode for triggers * Fix bug for script * Fix apply args * fix apply schema * Add capture table to script * fix apply args * Add capture button for script * Delete capture tab * Set capture on when opening triggers capture * fix connection indicator * fix minor issues * Add preprocessor logic * Use slot in log Panel for captures * handle capture refresh in script * Delete capture tab from script editor * reset kafka resource on toggle static * fix minor issue * Allow resource in kafka capture * use simple capture button in flow * Remove capture panel * Polish route trigger editor * Fix resource saving * Remove excessive padding * merge nits * Add history tab # Conflicts: # frontend/src/lib/components/EditableSchemaForm.svelte * add workflow_dispatch to build * add workflow_dispatch to build * Move input copy from in a panel * better capture UI * Add smoothing animation on open input editor * fix bad wrapping in input editor menu * clean code * restore captureTable * clean * fix sqlx * fix build * fix build * build * make initial_messages optional in line with db * fix npm check * better handle args for capture webhook and http * add capture pagination * Add capture table * Add table for history inputs * nit * simplify capture table * stop capturing on closing capture section * show only 10 items per page for captures * set focus to logs on script test * Fix collapsable section * nit * open captures when applying args from triggers * update edit input drawer * fix all EditableSchemaForm * fix panel init animation * Add capture popover * change open tab button * clean code * fix bad table display * Fix JSON input bad sync * make capture icon bigger * nit * nit * revert unwanted change * Change capture name and nits * infinite scroll and cleaning * Add toast when failing to retreive first step input * add icons to dropdown edit input list * remove unused log * Add click outside to all schema pickers * fix click oustide * Fix migrations * solve run button not refreshing properly * Add a capture drawer * change apply args and schema logic * change apply args and schema logic * fix toggle display * fix schema display * improve preview mode * Add first step panel * nit * clean * Add hint for captures * clean * nit * nit * fix script node page height * improve animation on redirecting to capture * improve saved input picker * nit * add Json placeholder * nit * add list animations * delete useless logs * add animated list to captures history and saved inputs * Delete unused component * clean * nit * clean code * improve tab scroll experience * nit * nits * nits * fix script args update * nit * nit: include preview in history inputs in edit mode --------- Co-authored-by: HugoCasa <hugo@casademont.ch> Co-authored-by: Ruben Fiszel <ruben@rubenfiszel.com> Co-authored-by: Ruben Fiszel <ruben@windmill.dev>
47 lines
1.5 KiB
Svelte
47 lines
1.5 KiB
Svelte
<script lang="ts">
|
|
import Skeleton from '$lib/components/common/skeleton/Skeleton.svelte'
|
|
import FlowGraphViewer from '$lib/components/FlowGraphViewer.svelte'
|
|
import type { ScheduleTrigger, TriggerContext } from '$lib/components/triggers'
|
|
import { FlowService, type Flow, type TriggersCount } from '$lib/gen'
|
|
import { workspaceStore } from '$lib/stores'
|
|
import { setContext } from 'svelte'
|
|
import { writable } from 'svelte/store'
|
|
|
|
export let path: string
|
|
export let noSide = false
|
|
|
|
let flow: Flow | undefined = undefined
|
|
|
|
const selectedTriggerStore = writable<
|
|
'webhooks' | 'emails' | 'schedules' | 'cli' | 'routes' | 'scheduledPoll'
|
|
>('webhooks')
|
|
const primaryScheduleStore = writable<ScheduleTrigger | undefined | false>(undefined)
|
|
const triggersCount = writable<TriggersCount | undefined>(undefined)
|
|
setContext<TriggerContext>('TriggerContext', {
|
|
primarySchedule: primaryScheduleStore,
|
|
selectedTrigger: selectedTriggerStore,
|
|
triggersCount: triggersCount,
|
|
simplifiedPoll: writable(false),
|
|
defaultValues: writable(undefined),
|
|
captureOn: writable(undefined),
|
|
showCaptureHint: writable(undefined)
|
|
})
|
|
|
|
async function loadFlow(path: string) {
|
|
flow = await FlowService.getFlowByPath({ workspace: $workspaceStore!, path })
|
|
triggersCount.set(
|
|
await FlowService.getTriggersCountOfFlow({ workspace: $workspaceStore!, path })
|
|
)
|
|
}
|
|
|
|
$: path && loadFlow(path)
|
|
</script>
|
|
|
|
<div class="flex flex-col flex-1 h-full overflow-auto">
|
|
{#if flow}
|
|
<FlowGraphViewer triggerNode={true} {noSide} {flow} />
|
|
{:else}
|
|
<Skeleton layout={[[40]]} />
|
|
{/if}
|
|
</div>
|