diff --git a/frontend/src/lib/components/Dev.svelte b/frontend/src/lib/components/Dev.svelte index 5cd76e16a31cb..ccdda7524ea14 100644 --- a/frontend/src/lib/components/Dev.svelte +++ b/frontend/src/lib/components/Dev.svelte @@ -490,7 +490,8 @@ triggersCount: triggersCount, simplifiedPoll: writable(false), defaultValues: writable(undefined), - captureOn: writable(undefined) + captureOn: writable(undefined), + showCaptureHint: writable(undefined) }) setContext('FlowEditorContext', { selectedId: selectedIdStore, diff --git a/frontend/src/lib/components/FlowBuilder.svelte b/frontend/src/lib/components/FlowBuilder.svelte index 580950a0cf4bf..44ce7e1f6b156 100644 --- a/frontend/src/lib/components/FlowBuilder.svelte +++ b/frontend/src/lib/components/FlowBuilder.svelte @@ -491,6 +491,7 @@ const history = initHistory($flowStore) const pathStore = writable(pathStoreInit ?? initialPath) const captureOn = writable(false) + const showCaptureHint = writable(undefined) const flowInputEditorStateStore = writable({ selectedTab: undefined, editPanelSize: 0, @@ -544,7 +545,8 @@ triggersCount, simplifiedPoll, defaultValues: writable(undefined), - captureOn + captureOn, + showCaptureHint }) async function loadTriggers() { @@ -1430,6 +1432,7 @@ select('triggers') selectTrigger(e.detail.kind) captureOn.set(true) + showCaptureHint.set(true) }} bind:this={flowPreviewButtons} /> diff --git a/frontend/src/lib/components/ScriptBuilder.svelte b/frontend/src/lib/components/ScriptBuilder.svelte index e541ee9dd70e1..08dd50497e50d 100644 --- a/frontend/src/lib/components/ScriptBuilder.svelte +++ b/frontend/src/lib/components/ScriptBuilder.svelte @@ -147,13 +147,15 @@ const triggerDefaultValuesStore = writable | undefined>(undefined) const captureOn = writable(undefined) + const showCaptureHint = writable(undefined) setContext('TriggerContext', { selectedTrigger: selectedTriggerStore, primarySchedule: primaryScheduleStore, triggersCount, simplifiedPoll, defaultValues: triggerDefaultValuesStore, - captureOn: captureOn + captureOn: captureOn, + showCaptureHint: showCaptureHint }) const enterpriseLangs = ['bigquery', 'snowflake', 'mssql'] diff --git a/frontend/src/lib/components/common/button/PulseButton.svelte b/frontend/src/lib/components/common/button/PulseButton.svelte new file mode 100644 index 0000000000000..c947cdb715513 --- /dev/null +++ b/frontend/src/lib/components/common/button/PulseButton.svelte @@ -0,0 +1,66 @@ + + +
+
0 ? 'active' : ''}`} + style={`--pulse-duration: ${pulseDuration}ms`} + /> + +
+ + diff --git a/frontend/src/lib/components/details/DetailPageLayout.svelte b/frontend/src/lib/components/details/DetailPageLayout.svelte index d951f757411c4..9a6fa139b143b 100644 --- a/frontend/src/lib/components/details/DetailPageLayout.svelte +++ b/frontend/src/lib/components/details/DetailPageLayout.svelte @@ -30,7 +30,8 @@ triggersCount, simplifiedPoll, defaultValues: writable(undefined), - captureOn: writable(undefined) + captureOn: writable(undefined), + showCaptureHint: writable(undefined) }) diff --git a/frontend/src/lib/components/flows/content/FlowEditorPanel.svelte b/frontend/src/lib/components/flows/content/FlowEditorPanel.svelte index d9fd7a0894749..779a9a9e70b4c 100644 --- a/frontend/src/lib/components/flows/content/FlowEditorPanel.svelte +++ b/frontend/src/lib/components/flows/content/FlowEditorPanel.svelte @@ -30,7 +30,8 @@ flowInputEditorState } = getContext('FlowEditorContext') - const { selectedTrigger, defaultValues, captureOn } = getContext('TriggerContext') + const { selectedTrigger, defaultValues, captureOn, showCaptureHint } = + getContext('TriggerContext') function checkDup(modules: FlowModule[]): string | undefined { let seenModules: string[] = [] for (const m of modules) { @@ -78,6 +79,7 @@ selectedTrigger.set(ev.detail.kind) defaultValues.set(ev.detail.config) captureOn.set(true) + showCaptureHint.set(true) }} on:applyArgs /> diff --git a/frontend/src/lib/components/flows/content/FlowPathViewer.svelte b/frontend/src/lib/components/flows/content/FlowPathViewer.svelte index 04de37b099e98..cb7e4afdfe60f 100644 --- a/frontend/src/lib/components/flows/content/FlowPathViewer.svelte +++ b/frontend/src/lib/components/flows/content/FlowPathViewer.svelte @@ -23,7 +23,8 @@ triggersCount: triggersCount, simplifiedPoll: writable(false), defaultValues: writable(undefined), - captureOn: writable(undefined) + captureOn: writable(undefined), + showCaptureHint: writable(undefined) }) async function loadFlow(path: string) { diff --git a/frontend/src/lib/components/triggers.ts b/frontend/src/lib/components/triggers.ts index e585c7d989621..b3f7237b65e6d 100644 --- a/frontend/src/lib/components/triggers.ts +++ b/frontend/src/lib/components/triggers.ts @@ -16,6 +16,7 @@ export type TriggerContext = { simplifiedPoll: Writable defaultValues: Writable | undefined> captureOn: Writable + showCaptureHint: Writable } export function setScheduledPollSchedule( diff --git a/frontend/src/lib/components/triggers/CaptureSection.svelte b/frontend/src/lib/components/triggers/CaptureSection.svelte index c0c806603391a..9680279a97875 100644 --- a/frontend/src/lib/components/triggers/CaptureSection.svelte +++ b/frontend/src/lib/components/triggers/CaptureSection.svelte @@ -12,16 +12,18 @@
- - - + + + + + {#if captureInfo.active} diff --git a/frontend/src/lib/components/triggers/CaptureTable.svelte b/frontend/src/lib/components/triggers/CaptureTable.svelte index 45c671f160045..c4c21c486c0bb 100644 --- a/frontend/src/lib/components/triggers/CaptureTable.svelte +++ b/frontend/src/lib/components/triggers/CaptureTable.svelte @@ -76,7 +76,6 @@ let hasAlreadyFailed = false export async function loadCaptures(refresh?: boolean) { - console.log('dbg: loadCaptures', refresh) hasMore = false try { @@ -125,7 +124,6 @@ } function deselect() { - if (!selected) return selected = undefined dispatch('select', undefined) } @@ -153,6 +151,8 @@ deselect() } } + + let firstClick = true @@ -186,6 +186,10 @@ class={twMerge('grow min-h-0', captures.length > 7 ? 'h-[300px]' : 'h-auto')} use:clickOutside={{ capture: false, exclude: getPropPickerElements }} on:click_outside={() => { + if (firstClick) { + firstClick = false + return + } deselect() }} > @@ -292,7 +296,6 @@ if (isFlow && testKind === 'main') { dispatch('testWithArgs', payloadData) } else { - console.log('dbg: applyArgs from table', payloadData) dispatch('applyArgs', { kind: testKind, args: payloadData diff --git a/frontend/src/routes/flows/dev/+page.svelte b/frontend/src/routes/flows/dev/+page.svelte index 49780c216ad01..db36f81d935ad 100644 --- a/frontend/src/routes/flows/dev/+page.svelte +++ b/frontend/src/routes/flows/dev/+page.svelte @@ -88,7 +88,8 @@ triggersCount: triggersCount, simplifiedPoll: writable(false), defaultValues: writable(undefined), - captureOn: writable(undefined) + captureOn: writable(undefined), + showCaptureHint: writable(undefined) }) setContext('FlowEditorContext', {