mirror of
https://github.com/windmill-labs/windmill.git
synced 2026-09-09 08:03:50 +00:00
The "Loaded your saved draft" toast and the auto-opening
OtherUsersDraftsModal both surprised users on every editor mount. Move
both signals into the AutosaveIndicator label: "Loaded from draft" or
"Others are working on this {kind}" (priority) sits where Saving/Saved
do, with a one-shot light-green flash behind the indicator that fades
to transparent. Saving/Saved still win when they fire. The popover
gains a "See others' drafts" button that flips the modal open on
demand; the modal itself is now externally controlled via a bindable
\`isOpen\` threaded through DraftEditorModals.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
53 lines
2.1 KiB
TypeScript
53 lines
2.1 KiB
TypeScript
import type { Flow, OpenFlow } from '$lib/gen'
|
|
import type { StateStore } from '$lib/utils'
|
|
import type { FlowState } from './flows/flowState'
|
|
import type { Trigger } from './triggers/utils'
|
|
import type { DiffDrawerI } from './diff_drawer'
|
|
import type { FlowBuilderWhitelabelCustomUi } from './custom_ui'
|
|
import type { ScheduleTrigger } from './triggers'
|
|
import type { stepState } from './stepHistoryLoader.svelte'
|
|
import type { WorkspaceItem } from './workspacePicker'
|
|
|
|
export type FlowBuilderProps = {
|
|
initialPath?: string
|
|
pathStoreInit?: string | undefined
|
|
newFlow: boolean
|
|
selectedId: string | undefined
|
|
initialArgs?: Record<string, any>
|
|
loading?: boolean
|
|
flowStore: StateStore<OpenFlow>
|
|
flowStateStore: StateStore<FlowState>
|
|
savedFlow?: Flow | undefined
|
|
diffDrawer?: DiffDrawerI | undefined
|
|
customUi?: FlowBuilderWhitelabelCustomUi
|
|
disableAi?: boolean
|
|
disabledFlowInputs?: boolean
|
|
savedPrimarySchedule?: ScheduleTrigger | undefined // used to set the primary schedule in the legacy primaryScheduleStore
|
|
version?: number | undefined
|
|
draftTriggersFromUrl?: Trigger[] | undefined
|
|
selectedTriggerIndexFromUrl?: number | undefined
|
|
children?: import('svelte').Snippet
|
|
loadedFromHistoryFromUrl?: {
|
|
flowJobInitial: boolean | undefined
|
|
stepsState: Record<string, stepState>
|
|
}
|
|
noInitial?: boolean
|
|
liveEditorDraftStoragePath?: string
|
|
onDeploy?: ({ path }: { path: string }) => void
|
|
onDeployError?: ({ error }: { error: any }) => void
|
|
onDetails?: ({ path }: { path: string }) => void
|
|
onHistoryRestore?: () => void
|
|
onNavigate?: (item: WorkspaceItem) => void
|
|
// Threaded to the `AutosaveIndicator` popover so its "Reset to
|
|
// deployed" button can do the same thing the load-time toast offers.
|
|
onResetToDeployed?: () => void | Promise<void>
|
|
// See ScriptBuilderProps — same semantics for the flow editor's
|
|
// indicator.
|
|
loadedFromDraft?: boolean
|
|
othersDraftsCount?: number
|
|
onOpenOthersDrafts?: () => void
|
|
// Fired whenever a test run is started from the flow editor, with the
|
|
// preview job id. Used by whitelabel embedders to track test jobs.
|
|
onTestJob?: (e: { jobId: string }) => void
|
|
}
|