diff --git a/frontend/src/lib/components/Popover.svelte b/frontend/src/lib/components/Popover.svelte index ef6612f762..3192f4f457 100644 --- a/frontend/src/lib/components/Popover.svelte +++ b/frontend/src/lib/components/Popover.svelte @@ -7,6 +7,7 @@ export let placement: `${typeof SIDE[number]}` | `${typeof SIDE[number]}-${typeof ALIGN[number]}` = 'auto' export let notClickable = false export let popupClass = '' + export let disapperTimoout = 100 const [popperRef, popperContent] = createPopperActions({ placement }) const betterPreventOverflow = (options) => ({ @@ -39,20 +40,30 @@ showTooltip = true } function close() { - timeout = setTimeout(() => (showTooltip = false), 100) + timeout = setTimeout(() => (showTooltip = false), disapperTimoout) } - +{#if notClickable} + + + +{:else} + +{/if} {#if showTooltip}
import { Button, type ButtonType } from '$lib/components/common' + import { faUser } from '@fortawesome/free-solid-svg-icons' import { getContext } from 'svelte' + import { Icon } from 'svelte-awesome' import type { AppInput } from '../../inputType' import type { Output } from '../../rx' import type { AppEditorContext } from '../../types' @@ -27,6 +29,8 @@ let isLoading: boolean = false + $: noInputs = componentInput?.type != 'runnable' || Object.values(componentInput?.fields ?? {}).filter((x) => x.type == 'user').length == 0 + $: outputs = $worldStore?.outputsById[id] as { result: Output> loading: Output @@ -56,39 +60,47 @@ {extraQueryParams} autoRefresh={false} forceSchemaDisplay={true} + runnableClass="!flex-col" >
- {#if componentInput?.type != 'runnable' || Object.values(componentInput?.fields ?? {}).filter((x) => x.type == 'user').length == 0} - - Run forms are associated with a runnable that has user inputs. Once a runnable is - chosen, set some 'Runnable Inputs' to 'User Input' - + {#if noInputs} +
+ Run forms are associated with a runnable that has user inputs. +
+ Once a script or flow is chosen, set some Runnable Inputs to + + User Input + + +
{/if}
- + if (recomputeIds) { + recomputeIds.forEach((id) => { + $runnableComponents[id]?.() + }) + } + }} + {size} + {color} + > + {labelValue} + + {/if}
diff --git a/frontend/src/lib/components/apps/components/helpers/RunnableComponent.svelte b/frontend/src/lib/components/apps/components/helpers/RunnableComponent.svelte index fcf6aba3d3..5bef3edc2f 100644 --- a/frontend/src/lib/components/apps/components/helpers/RunnableComponent.svelte +++ b/frontend/src/lib/components/apps/components/helpers/RunnableComponent.svelte @@ -24,6 +24,7 @@ export let noMinH = false export let defaultUserInput = false export let flexWrap = false + export let wrapperClass = '' const { worldStore, runnableComponents, workspace, appPath, isEditor, jobs, noBackend } = getContext('AppEditorContext') @@ -271,7 +272,7 @@ bind:this={testJobLoader} /> -
+
{#if autoRefresh === true}
diff --git a/frontend/src/lib/components/apps/components/helpers/RunnableWrapper.svelte b/frontend/src/lib/components/apps/components/helpers/RunnableWrapper.svelte index 0b08ccb1cf..e144020d2e 100644 --- a/frontend/src/lib/components/apps/components/helpers/RunnableWrapper.svelte +++ b/frontend/src/lib/components/apps/components/helpers/RunnableWrapper.svelte @@ -17,6 +17,7 @@ export let forceSchemaDisplay: boolean = false export let defaultUserInput = false export let flexWrap = false + export let runnableClass = '' const { staticExporter, noBackend } = getContext('AppEditorContext') @@ -47,6 +48,7 @@ {extraQueryParams} {forceSchemaDisplay} {noMinH} + wrapperClass={runnableClass} > diff --git a/frontend/src/lib/components/apps/editor/settingsPanel/InputsSpecsEditor.svelte b/frontend/src/lib/components/apps/editor/settingsPanel/InputsSpecsEditor.svelte index 6cf9505c54..0b43bbc5ef 100644 --- a/frontend/src/lib/components/apps/editor/settingsPanel/InputsSpecsEditor.svelte +++ b/frontend/src/lib/components/apps/editor/settingsPanel/InputsSpecsEditor.svelte @@ -13,6 +13,8 @@ import { getContext } from 'svelte' import type { AppEditorContext } from '../../types' import Tooltip from '$lib/components/Tooltip.svelte' + import Popup from '../../../common/popup/Popup.svelte' + import Popover from '../../../Popover.svelte' export let inputSpecs: Record< string, @@ -36,7 +38,7 @@ {shouldCapitalize ? capitalize(inputSpecKey) : inputSpecKey} -
+
{input.fieldType === 'array' && input.subFieldType ? `${capitalize(fieldTypeToTsType(input.subFieldType))}[]` @@ -57,47 +59,64 @@ } }} > - - {#if rowColumns} + Use the column name to have the value of the cell be passed to the action + iconOnly + /> + + Static + + + {#if rowColumns} + + + + Use the column name to have the value of the cell be passed to the action + + + + Column + + {/if} - {#if userInputEnabled && !input.format?.startsWith('resource-')} + {#if userInputEnabled && (!input.format?.startsWith('resource-'))} + + + + User Input + + + {/if} + - {/if} - + + Connect + + {/if}