Files
windmill/frontend/src/lib/components/flows/content/FlowInputEditor.svelte
Guilhem 0dd16ab99d feat (frontend): improve capture UI (#5051)
* feat (frontend): improve capture UI

* show schema diff

* add accept reject form

* add diff for first node input

* move update schema button

* change modified properties display

* propagate change through nested components

* allow modification of nested object in schema

* reject nested changes

* clean logic

* clean code

* clean

* nit

* fix first strep input

* fix argument preview

* clean

* restore indentation for nested objects

* ignore undefined field in diff computation

* fix run button disabled update

* nit

* fix update JSON

* fix deletion of nested components

* dark mode

* clean

* replace dropdown with sidebar

* only check type for compatibility

* add shadow

* disbale dnd on edit

* auto-scroll within schema

* fix nested not dnd object diff viewer

* fix captures drawer

* open edit tab on add new arg

* change button label when schema is the same

* ajust padding

* fix arg update

* fix oneof display

* propagate change event through nested schema

* handle oneOf

* fix preview arg sync

* handle s3 object

* fix arg sync

* update schema input compatibility

* clean compatible

* accept empty array items

* clean

* increase of schema args gap

* fix nested schema update

* allow number and int compatibility

* reset args when modifying schema

* open fields on add with addPropertyV2

---------

Co-authored-by: Ruben Fiszel <ruben@windmill.dev>
2025-01-22 12:51:14 +01:00

27 lines
571 B
Svelte

<script lang="ts">
import { createEventDispatcher, onDestroy } from 'svelte'
const dispatch = createEventDispatcher()
export let title: string = ''
onDestroy(() => {
dispatch('destroy')
})
</script>
<div class="flex flex-col h-full px-3 pb-3">
<div
class="items-center grow-0 flex flex-row justify-between gap-2 data-schema-picker min-h-[40px]"
>
<h2 class="font-semibold text-secondary text-sm flex flex-row items-center gap-1 leading-6">
{title}
</h2>
<slot name="action" />
</div>
<div class="w-full min-h-0 grow">
<slot />
</div>
</div>