diff --git a/frontend/src/lib/components/ArgInput.svelte b/frontend/src/lib/components/ArgInput.svelte
index 08a20fda0a..46e3185c36 100644
--- a/frontend/src/lib/components/ArgInput.svelte
+++ b/frontend/src/lib/components/ArgInput.svelte
@@ -184,7 +184,7 @@
{error === '' ? '...' : error}
-
-
-
diff --git a/frontend/src/lib/components/FlowEditor.svelte b/frontend/src/lib/components/FlowEditor.svelte
index 21f803988e..5d19c93a08 100644
--- a/frontend/src/lib/components/FlowEditor.svelte
+++ b/frontend/src/lib/components/FlowEditor.svelte
@@ -36,8 +36,6 @@
let open = 0
let args: Record = {}
-
- $: numberOfSteps = $flowStore?.value.modules.length - 1
@@ -197,7 +195,12 @@
diff --git a/frontend/src/lib/components/FlowPreview.svelte b/frontend/src/lib/components/FlowPreview.svelte
index d79f4d565e..864e7379af 100644
--- a/frontend/src/lib/components/FlowPreview.svelte
+++ b/frontend/src/lib/components/FlowPreview.svelte
@@ -28,7 +28,7 @@
let intervalId: NodeJS.Timer
let uptoText =
- i == flow.value.modules.length - 1 ? 'Preview whole flow' : 'Preview up to this step'
+ i >= flow.value.modules.length - 1 ? 'Preview whole flow' : 'Preview up to this step'
let job: Job | undefined
let jobs = []
let jobId: string
@@ -89,21 +89,21 @@
})
-
- {
- viewPreview = !viewPreview
- }}
- >
+ {
+ viewPreview = !viewPreview
+ }}
+>
+
Preview mode
-
-
+
+
{#if viewPreview}
- {#if i != flow.value.modules.length - 1}
+ {#if i != flow.value.modules.length}
- (open = -1)}>(-)
+ (open = -1)}
+ >
{:else}
- (open = i)}>(+)
+ (open = i)}
+ >
{/if}
diff --git a/frontend/src/lib/components/RunForm.svelte b/frontend/src/lib/components/RunForm.svelte
index 1aa8bab50a..6f3d750505 100644
--- a/frontend/src/lib/components/RunForm.svelte
+++ b/frontend/src/lib/components/RunForm.svelte
@@ -66,7 +66,7 @@
{/if}
{#if !runnable.schema.properties || Object.keys(runnable.schema.properties).length === 0}
- No arguments
+ No arguments
{:else}
{
@@ -112,6 +114,15 @@
}}
>
{
+ Object.keys(overlays).forEach((k) => {
+ if (k == argName) {
+ overlays[k].focus()
+ } else {
+ overlays[k].unfocus()
+ }
+ })
+ }}
label={argName}
bind:description={schema.properties[argName].description}
bind:value={args[argName].value}
diff --git a/frontend/src/lib/components/propertyPicker/ObjectViewer.svelte b/frontend/src/lib/components/propertyPicker/ObjectViewer.svelte
index 332ec83c93..dea4632097 100644
--- a/frontend/src/lib/components/propertyPicker/ObjectViewer.svelte
+++ b/frontend/src/lib/components/propertyPicker/ObjectViewer.svelte
@@ -102,9 +102,6 @@
@apply text-black;
}
- .hidden {
- display: none;
- }
.val {
@apply text-black;
}
diff --git a/frontend/src/lib/components/propertyPicker/OverlayPropertyPicker.svelte b/frontend/src/lib/components/propertyPicker/OverlayPropertyPicker.svelte
index 61832bc181..dc309571af 100644
--- a/frontend/src/lib/components/propertyPicker/OverlayPropertyPicker.svelte
+++ b/frontend/src/lib/components/propertyPicker/OverlayPropertyPicker.svelte
@@ -11,38 +11,40 @@
export let pickableProperties: Object | undefined
export let disabled = false
let isOpen = false
+ let isFocused = true
+
+ let timeout: NodeJS.Timeout
+
+ export function unfocus() {
+ isFocused = false
+ close()
+ }
+ export function focus() {
+ isFocused = true
+ open()
+ }
+
+ function open() {
+ if (isFocused) {
+ clearTimeout(timeout)
+ !isOpen && (isOpen = true)
+ }
+ }
+ function close() {
+ timeout = setTimeout(() => (isOpen = false), 200)
+ }
const dispatch = createEventDispatcher()
-
- function toggle() {
- isOpen = !isOpen
- }
-
- function onMouseLeave(mouseEvent: MouseEvent) {
- const { offsetY } = mouseEvent
- const target = mouseEvent.target as HTMLInputElement
-
- const down = offsetY >= target.clientHeight
- const up = offsetY <= 0
-
- const content = document.getElementsByClassName('content')
- const overlayBottom = content.item(0)?.getAttribute('data-popper-placement') === 'bottom'
-
- if ((down && overlayBottom) || (up && !overlayBottom)) {
- return
- }
- toggle()
- }
{#if !disabled}
-
!isOpen && toggle()} on:mouseleave={onMouseLeave}>
+
{#if isOpen}
-
+
{
diff --git a/frontend/src/lib/components/propertyPicker/PropPicker.svelte b/frontend/src/lib/components/propertyPicker/PropPicker.svelte
index 6f5d3bf3f7..e729c8e7e5 100644
--- a/frontend/src/lib/components/propertyPicker/PropPicker.svelte
+++ b/frontend/src/lib/components/propertyPicker/PropPicker.svelte
@@ -11,14 +11,14 @@
search === EMPTY_STRING ? pickableProperties : keepByKey(pickableProperties, search)
-