mirror of
https://github.com/windmill-labs/windmill.git
synced 2026-08-19 00:02:03 +00:00
ebfde197fc
* 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>
61 lines
1.6 KiB
Svelte
61 lines
1.6 KiB
Svelte
<script lang="ts">
|
|
import { displayDate } from '$lib/utils.js'
|
|
import { InputService, type CreateInput, type RunnableType } from '$lib/gen/index.js'
|
|
import { workspaceStore } from '$lib/stores.js'
|
|
import { Button } from '$lib/components/common'
|
|
import { Save } from 'lucide-svelte'
|
|
import { sendUserToast } from '$lib/utils.js'
|
|
import { createEventDispatcher } from 'svelte'
|
|
import Tooltip from '$lib/components/Tooltip.svelte'
|
|
|
|
const dispatch = createEventDispatcher()
|
|
|
|
export let runnableId: string | undefined
|
|
export let runnableType: RunnableType | undefined
|
|
export let args: object
|
|
export let disabled: boolean = false
|
|
export let small: boolean | undefined = undefined
|
|
export let showTooltip: boolean | undefined = undefined
|
|
|
|
let savingInputs = false
|
|
|
|
async function saveInput(args: object) {
|
|
savingInputs = true
|
|
|
|
const requestBody: CreateInput = {
|
|
name: 'Saved ' + displayDate(new Date()),
|
|
args: args as any
|
|
}
|
|
|
|
try {
|
|
await InputService.createInput({
|
|
workspace: $workspaceStore!,
|
|
runnableId,
|
|
runnableType,
|
|
requestBody
|
|
})
|
|
} catch (err) {
|
|
console.error(err)
|
|
sendUserToast(`Failed to save Input: ${err}`, true)
|
|
}
|
|
|
|
savingInputs = false
|
|
dispatch('update')
|
|
}
|
|
</script>
|
|
|
|
<Button
|
|
on:click={() => saveInput(args)}
|
|
{disabled}
|
|
loading={savingInputs}
|
|
startIcon={{ icon: Save }}
|
|
variant={small ? 'border' : 'contained'}
|
|
color="light"
|
|
size="xs"
|
|
>
|
|
<span>{small ? 'Save inputs' : 'Save current input'}</span>
|
|
{#if showTooltip}
|
|
<Tooltip>Shared inputs are available to anyone with access to the script</Tooltip>
|
|
{/if}
|
|
</Button>
|