diff --git a/backend/ee-repo-ref.txt b/backend/ee-repo-ref.txt index 20dc3db333..7d8849c19a 100644 --- a/backend/ee-repo-ref.txt +++ b/backend/ee-repo-ref.txt @@ -1 +1 @@ -daa1c26c268c778e55756f02a459b6c7628c9267 \ No newline at end of file +daa1c26c268c778e55756f02a459b6c7628c9267 diff --git a/frontend/src/lib/components/DropdownV2.svelte b/frontend/src/lib/components/DropdownV2.svelte index 9415635bab..34404779ad 100644 --- a/frontend/src/lib/components/DropdownV2.svelte +++ b/frontend/src/lib/components/DropdownV2.svelte @@ -18,6 +18,7 @@ import { twMerge } from 'tailwind-merge' import { triggerableByAI } from '$lib/actions/triggerableByAI.svelte' import { untrack } from 'svelte' + import { fly } from 'svelte/transition' interface Props { aiId?: string | undefined @@ -33,6 +34,7 @@ customWidth?: number | undefined customMenu?: boolean class?: string | undefined + enableFlyTransition?: boolean buttonReplacement?: import('svelte').Snippet menu?: import('svelte').Snippet } @@ -51,6 +53,7 @@ customWidth = undefined, customMenu = false, class: classNames = undefined, + enableFlyTransition = false, buttonReplacement, menu }: Props = $props() @@ -148,7 +151,12 @@ {#if open && !hidePopup} -
+
{#if customMenu} {@render menu?.()} {:else} diff --git a/frontend/src/lib/components/EditableSchemaForm.svelte b/frontend/src/lib/components/EditableSchemaForm.svelte index 297ee73ad0..9c91888960 100644 --- a/frontend/src/lib/components/EditableSchemaForm.svelte +++ b/frontend/src/lib/components/EditableSchemaForm.svelte @@ -186,7 +186,7 @@ let index = 0 let hasChanged = false for (let k of properties) { - if (schema.properties[k].type === 'object' && schema.properties[k].properties) { + if (schema.properties[k]?.type === 'object' && schema.properties[k].properties) { hasChanged = hasChanged || alignOrderWithProperties(schema.properties[k]) } if (!norder.includes(k)) { @@ -220,7 +220,7 @@ function computeSelected(property: any) { if (!opened) return '' - if (property.type !== 'object') return property.type + if (property?.type !== 'object') return property?.type if (property.format === 'resource-s3_object') return 'S3' if (property.format?.startsWith('dynselect-')) return 'dynselect' if (property.format?.startsWith('dynmultiselect-')) return 'dynmultiselect' @@ -344,7 +344,7 @@ Object.entries(schema?.properties ?? {}) .filter(([_, property]) => { const props = property as any - return props.type === 'object' && DynamicInput.isDynInputFormat(props.format) + return props?.type === 'object' && DynamicInput.isDynInputFormat(props.format) }) .map(([fieldName, _]) => fieldName.replace(/\s+/g, '_')) ) @@ -652,7 +652,7 @@ {#if typeof args == 'object' && schema?.properties[argName]} { try { if (BROWSER) { diff --git a/frontend/src/lib/components/common/popup/PopupV2.svelte b/frontend/src/lib/components/common/popup/PopupV2.svelte index 5523b3fc73..bbd68fe47b 100644 --- a/frontend/src/lib/components/common/popup/PopupV2.svelte +++ b/frontend/src/lib/components/common/popup/PopupV2.svelte @@ -2,6 +2,7 @@ import Portal from '$lib/components/Portal.svelte' import { clickOutside } from '$lib/utils' import { createFloatingActions, type ComputeConfig } from 'svelte-floating-ui' + import { fly } from 'svelte/transition' interface Props { floatingConfig?: ComputeConfig @@ -58,6 +59,7 @@ class="border rounded-lg shadow-lg bg-surface z5000" style="position:absolute" use:floatingContent + transition:fly={{ duration: 100, y: -16 }} >
- { - open = false - dispatch('confirmed') - }} - on:canceled - title="Windmill AI wants to add the following inputs to the flow:" -> -
    - {#each inputs as input} -
  • {input}
  • - {/each} -
- - -
+
    + {#each inputs as input} +
  • {input}
  • + {/each} +
+ + + + diff --git a/frontend/src/lib/components/flows/map/InsertModuleInner.svelte b/frontend/src/lib/components/flows/map/InsertModuleInner.svelte index c2e887063a..7c531a8d87 100644 --- a/frontend/src/lib/components/flows/map/InsertModuleInner.svelte +++ b/frontend/src/lib/components/flows/map/InsertModuleInner.svelte @@ -6,8 +6,6 @@ import ToggleHubWorkspaceQuick from '$lib/components/ToggleHubWorkspaceQuick.svelte' import TopLevelNode from '../pickers/TopLevelNode.svelte' - // import type { Writable } from 'svelte/store' - const dispatch = createEventDispatcher() interface Props { stop?: boolean @@ -32,26 +30,14 @@ $state(kind) let preFilter: 'all' | 'workspace' | 'hub' = $state('all') let loading = $state(false) - let small = $state(false) + let small = $derived(kind === 'preprocessor' || kind === 'failure') let width = $state(0) let height = $state(0) let displayPath = $derived(width > 650 || height > 400) - - $effect(() => { - small = kind === 'preprocessor' || kind === 'failure' - }) - - - -
+ let listHubIntegrationsCached = createCache( + (params: { kind: HubScriptKind & string }) => IntegrationService.listHubIntegrations(params), + { initial: { kind: 'script' } } + ) + let listHubScriptsCached = createCache( + async ({ + filter, + kind, + appFilter + }: { + filter: string + kind: HubScriptKind & string + appFilter: string | undefined + }) => + filter.length > 0 + ? await ScriptService.queryHubScripts({ text: filter, limit: 40, kind }) + : ((await ScriptService.getTopHubScripts({ limit: 40, kind, app: appFilter })).asks ?? []), + { initial: { filter: '', kind: 'script', appFilter: undefined } } + ) + + +