windmill-components 1.504.6 → 1.511.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package/ata/index.js +1 -1
- package/package/components/AppConnectInner.svelte +184 -29
- package/package/components/ArgInput.svelte +33 -103
- package/package/components/AuthSettings.svelte +45 -1
- package/package/components/Dev.svelte +31 -24
- package/package/components/DisplayResult.svelte +53 -26
- package/package/components/DisplayResult.svelte.d.ts +1 -1
- package/package/components/DynSelect.svelte +3 -3
- package/package/components/Editor.svelte +115 -88
- package/package/components/Editor.svelte.d.ts +30 -55
- package/package/components/EditorBar.svelte +2 -2
- package/package/components/ErrorOrRecoveryHandler.svelte +73 -67
- package/package/components/ErrorOrRecoveryHandler.svelte.d.ts +8 -24
- package/package/components/FlowBuilder.svelte +11 -2
- package/package/components/FlowJobResult.svelte +12 -17
- package/package/components/FlowJobResult.svelte.d.ts +5 -18
- package/package/components/FlowPreviewContent.svelte +13 -10
- package/package/components/FlowPreviewContent.svelte.d.ts +1 -1
- package/package/components/FlowPreviewResult.svelte +14 -6
- package/package/components/FlowStatusViewer.svelte +11 -24
- package/package/components/FlowStatusViewer.svelte.d.ts +19 -18
- package/package/components/FlowStatusViewerInner.svelte +110 -131
- package/package/components/FlowStatusViewerInner.svelte.d.ts +20 -18
- package/package/components/GitDiffPreview.svelte +55 -0
- package/package/components/GitDiffPreview.svelte.d.ts +13 -0
- package/package/components/HistoricInputs.svelte +2 -2
- package/package/components/HttpAgentWorkerDrawer.svelte +1 -1
- package/package/components/InitGitRepoPopover.svelte +410 -0
- package/package/components/InitGitRepoPopover.svelte.d.ts +13 -0
- package/package/components/InstanceSetting.svelte +21 -9
- package/package/components/InstanceSettings.svelte +16 -3
- package/package/components/JobLoader.svelte +567 -0
- package/package/components/JobLoader.svelte.d.ts +53 -0
- package/package/components/JobLogs.svelte +6 -4
- package/package/components/JobLogs.svelte.d.ts +5 -18
- package/package/components/JsonEditor.svelte +11 -11
- package/package/components/JsonEditor.svelte.d.ts +14 -56
- package/package/components/Label.svelte +6 -11
- package/package/components/Label.svelte.d.ts +14 -39
- package/package/components/LightweightResourcePicker.svelte +18 -39
- package/package/components/LightweightResourcePicker.svelte.d.ts +6 -22
- package/package/components/LogViewer.svelte +35 -41
- package/package/components/LogViewer.svelte.d.ts +6 -20
- package/package/components/ModulePreviewResultViewer.svelte +3 -1
- package/package/components/ModulePreviewResultViewer.svelte.d.ts +1 -0
- package/package/components/ModuleTest.svelte +16 -11
- package/package/components/NumberTypeNarrowing.svelte +13 -16
- package/package/components/NumberTypeNarrowing.svelte.d.ts +4 -18
- package/package/components/PullGitRepoPopover.svelte +355 -0
- package/package/components/PullGitRepoPopover.svelte.d.ts +18 -0
- package/package/components/ResourceTypePicker.svelte +20 -17
- package/package/components/ResourceTypePicker.svelte.d.ts +7 -6
- package/package/components/S3FilePicker.svelte +5 -3
- package/package/components/SavedInputs.svelte +2 -2
- package/package/components/ScriptBuilder.svelte +4 -3
- package/package/components/ScriptEditor.svelte +34 -31
- package/package/components/ScriptEditor.svelte.d.ts +3 -3
- package/package/components/Section.svelte +7 -20
- package/package/components/Section.svelte.d.ts +20 -47
- package/package/components/ServiceLogsInner.svelte +2 -1
- package/package/components/ServiceLogsInner.svelte.d.ts +1 -0
- package/package/components/SimpleEditor.svelte +4 -4
- package/package/components/SimpleEditor.svelte.d.ts +1 -0
- package/package/components/SqlRepl.svelte +0 -1
- package/package/components/Subsection.svelte +10 -12
- package/package/components/Subsection.svelte.d.ts +15 -39
- package/package/components/UserSettings.svelte +1 -1
- package/package/components/WorkerGroup.svelte +260 -165
- package/package/components/WorkerGroup.svelte.d.ts +2 -0
- package/package/components/WorkerTagPicker.svelte +3 -3
- package/package/components/WorkerTagSelect.svelte +33 -4
- package/package/components/apps/components/buttons/AppButton.svelte +7 -1
- package/package/components/apps/components/buttons/AppButton.svelte.d.ts +1 -0
- package/package/components/apps/components/display/AppCustomComponent.svelte +1 -1
- package/package/components/apps/components/display/AppDisplayComponentByJobId.svelte +16 -11
- package/package/components/apps/components/display/AppJobIdLogComponent.svelte +13 -10
- package/package/components/apps/components/display/AppMenu.svelte +5 -0
- package/package/components/apps/components/display/dbtable/AppDbExplorer.svelte +3 -3
- package/package/components/apps/components/display/dbtable/DeleteRow.svelte +3 -3
- package/package/components/apps/components/display/dbtable/InsertRowRunnable.svelte +3 -3
- package/package/components/apps/components/display/dbtable/UpdateCell.svelte +3 -3
- package/package/components/apps/components/display/table/AppAggridInfiniteTable.svelte +3 -3
- package/package/components/apps/components/helpers/RunnableComponent.svelte +65 -54
- package/package/components/apps/components/helpers/RunnableComponent.svelte.d.ts +5 -5
- package/package/components/apps/components/inputs/AppUserResource.svelte +26 -8
- package/package/components/apps/editor/AppEditorHeader.svelte +11 -5
- package/package/components/apps/editor/AppJobsDrawer.svelte +5 -5
- package/package/components/apps/editor/RunnableJobPanel.svelte +4 -4
- package/package/components/apps/editor/component/components.d.ts +12 -0
- package/package/components/apps/editor/component/components.js +19 -7
- package/package/components/assets/AssetButtons.svelte +38 -0
- package/package/components/assets/AssetButtons.svelte.d.ts +15 -0
- package/package/components/assets/AssetsDropdownButton.svelte +60 -72
- package/package/components/assets/AssetsDropdownButton.svelte.d.ts +3 -4
- package/package/components/assets/AssetsUsageDrawer.svelte +10 -10
- package/package/components/assets/JobAssetsViewer.svelte +79 -0
- package/package/components/assets/JobAssetsViewer.svelte.d.ts +7 -0
- package/package/components/assets/README_DEV.md +0 -0
- package/package/components/assets/lib.d.ts +9 -1
- package/package/components/assets/lib.js +48 -7
- package/package/components/common/fileUpload/FileUpload.svelte +126 -84
- package/package/components/common/fileUpload/FileUpload.svelte.d.ts +13 -3
- package/package/components/common/fileUpload/S3ArgInput.svelte +111 -0
- package/package/components/common/fileUpload/S3ArgInput.svelte.d.ts +21 -0
- package/package/components/common/table/ScriptRow.svelte +3 -1
- package/package/components/copilot/AIFormSettings.svelte +3 -4
- package/package/components/copilot/AIFormSettings.svelte.d.ts +5 -19
- package/package/components/copilot/autocomplete/Autocompletor.d.ts +3 -1
- package/package/components/copilot/autocomplete/Autocompletor.js +269 -35
- package/package/components/copilot/autocomplete/request.d.ts +3 -0
- package/package/components/copilot/autocomplete/request.js +15 -7
- package/package/components/copilot/chat/AIChatDisplay.svelte +8 -0
- package/package/components/copilot/chat/AIChatManager.svelte.js +13 -8
- package/package/components/copilot/chat/flow/ModuleAcceptReject.svelte +5 -5
- package/package/components/copilot/chat/flow/core.d.ts +1 -1
- package/package/components/copilot/chat/flow/core.js +2 -38
- package/package/components/copilot/chat/navigator/apiTools.d.ts +8 -0
- package/package/components/copilot/chat/navigator/apiTools.js +95 -15
- package/package/components/copilot/chat/navigator/core.d.ts +1 -1
- package/package/components/copilot/chat/navigator/core.js +2 -1
- package/package/components/copilot/chat/script/core.d.ts +11 -2
- package/package/components/copilot/chat/script/core.js +165 -23
- package/package/components/copilot/chat/shared.d.ts +10 -0
- package/package/components/copilot/chat/shared.js +56 -0
- package/package/components/copilot/lib.d.ts +1 -0
- package/package/components/copilot/lib.js +30 -9
- package/package/components/custom_ui.d.ts +1 -0
- package/package/components/flows/FlowAssetsHandler.svelte +133 -0
- package/package/components/flows/FlowAssetsHandler.svelte.d.ts +14 -0
- package/package/components/flows/content/FlowModuleCache.svelte +4 -4
- package/package/components/flows/content/FlowModuleCache.svelte.d.ts +4 -18
- package/package/components/flows/content/FlowModuleComponent.svelte +16 -19
- package/package/components/flows/content/FlowModuleDeleteAfterUse.svelte +3 -4
- package/package/components/flows/content/FlowModuleDeleteAfterUse.svelte.d.ts +4 -18
- package/package/components/flows/content/FlowModuleSleep.svelte +6 -7
- package/package/components/flows/content/FlowModuleSleep.svelte.d.ts +4 -18
- package/package/components/flows/content/FlowModuleSuspend.svelte +19 -17
- package/package/components/flows/content/FlowModuleSuspend.svelte.d.ts +4 -18
- package/package/components/flows/content/FlowModuleTimeout.svelte +4 -4
- package/package/components/flows/content/FlowModuleTimeout.svelte.d.ts +4 -18
- package/package/components/flows/flowStore.d.ts +1 -1
- package/package/components/flows/map/FlowModuleSchemaItem.svelte +1 -0
- package/package/components/flows/propPicker/OutputPicker.svelte +9 -4
- package/package/components/flows/scheduleUtils.js +1 -1
- package/package/components/flows/types.d.ts +2 -1
- package/package/components/graph/FlowGraphV2.svelte +8 -104
- package/package/components/graph/FlowGraphV2.svelte.d.ts +0 -2
- package/package/components/graph/graphBuilder.svelte.d.ts +6 -3
- package/package/components/graph/graphBuilder.svelte.js +35 -9
- package/package/components/graph/renderers/edges/BaseEdge.svelte +2 -5
- package/package/components/graph/renderers/edges/BaseEdge.svelte.d.ts +1 -0
- package/package/components/graph/renderers/nodes/AssetNode.svelte +23 -20
- package/package/components/graph/renderers/nodes/AssetNode.svelte.d.ts +5 -10
- package/package/components/graph/renderers/nodes/AssetsOverflowedNode.svelte +1 -1
- package/package/components/graph/util.js +1 -1
- package/package/components/home/ItemsList.svelte +2 -0
- package/package/components/icons/AssetGenericIcon.svelte +0 -3
- package/package/components/jobs/JobPreview.svelte +10 -6
- package/package/components/raw_apps/RawAppInlineScriptRunnable.svelte +13 -12
- package/package/components/runs/BatchReRunOptionsPane.svelte +5 -1
- package/package/components/runs/JobPreview.svelte +26 -16
- package/package/components/runs/{JobLoader.svelte.d.ts → JobsLoader.svelte.d.ts} +3 -3
- package/package/components/runs/NoWorkerWithTagWarning.svelte +2 -2
- package/package/components/runs/NoWorkerWithTagWarning.svelte.d.ts +1 -0
- package/package/components/runs/RunsFilter.svelte.d.ts +1 -1
- package/package/components/scriptEditor/LogPanel.svelte +3 -2
- package/package/components/script_builder.d.ts +2 -2
- package/package/components/settings/CreateToken.svelte +76 -41
- package/package/components/settings/CreateToken.svelte.d.ts +1 -1
- package/package/components/settings/ScopeSelector.svelte +613 -0
- package/package/components/settings/ScopeSelector.svelte.d.ts +8 -0
- package/package/components/settings/TokenDisplay.svelte +103 -0
- package/package/components/settings/TokenDisplay.svelte.d.ts +10 -0
- package/package/components/settings/TokensTable.svelte +70 -349
- package/package/components/sidebar/CriticalAlertModal.svelte +3 -0
- package/package/components/triggers/DeleteTriggerButton.svelte +1 -1
- package/package/components/triggers/TriggerEditorToolbar.svelte +3 -3
- package/package/components/triggers/TriggerRetriesAndErrorHandler.svelte +55 -0
- package/package/components/triggers/TriggerRetriesAndErrorHandler.svelte.d.ts +13 -0
- package/package/components/triggers/TriggersEditor.svelte +45 -3
- package/package/components/triggers/TriggersWrapper.svelte +2 -2
- package/package/components/triggers/gcp/GcpTriggerEditorInner.svelte +47 -6
- package/package/components/triggers/gcp/utils.js +9 -1
- package/package/components/triggers/http/OpenAPISpecGenerator.svelte +3 -2
- package/package/components/triggers/http/RouteEditorConfigSection.svelte +26 -23
- package/package/components/triggers/http/RouteEditorConfigSection.svelte.d.ts +5 -19
- package/package/components/triggers/http/RouteEditorInner.svelte +219 -175
- package/package/components/triggers/http/RouteEditorInner.svelte.d.ts +6 -2
- package/package/components/triggers/http/utils.js +9 -3
- package/package/components/triggers/kafka/KafkaTriggerEditorInner.svelte +47 -6
- package/package/components/triggers/kafka/utils.js +9 -1
- package/package/components/triggers/mqtt/MqttEditorConfigSection.svelte +4 -132
- package/package/components/triggers/mqtt/MqttEditorConfigSection.svelte.d.ts +2 -5
- package/package/components/triggers/mqtt/MqttTriggerEditorInner.svelte +182 -13
- package/package/components/triggers/mqtt/utils.js +9 -1
- package/package/components/triggers/nats/NatsTriggerEditorInner.svelte +47 -6
- package/package/components/triggers/nats/utils.js +9 -1
- package/package/components/triggers/postgres/PostgresTriggerEditorInner.svelte +41 -2
- package/package/components/triggers/postgres/utils.js +9 -1
- package/package/components/triggers/schedules/ScheduleEditorInner.svelte +38 -92
- package/package/components/triggers/sqs/SqsTriggerEditorInner.svelte +47 -6
- package/package/components/triggers/sqs/utils.js +9 -1
- package/package/components/triggers/utils.js +12 -0
- package/package/components/triggers/websocket/WebsocketTriggerEditorInner.svelte +47 -6
- package/package/components/triggers/websocket/utils.js +11 -1
- package/package/components/workspaceSettings/AISettings.svelte +0 -2
- package/package/components/workspaceSettings/FilterList.svelte +56 -0
- package/package/components/workspaceSettings/FilterList.svelte.d.ts +8 -0
- package/package/components/workspaceSettings/GitSyncFilterSettings.svelte +785 -0
- package/package/components/workspaceSettings/GitSyncFilterSettings.svelte.d.ts +18 -0
- package/package/gen/core/OpenAPI.js +1 -1
- package/package/gen/schemas.gen.d.ts +305 -23
- package/package/gen/schemas.gen.js +305 -23
- package/package/gen/services.gen.d.ts +33 -1
- package/package/gen/services.gen.js +66 -2
- package/package/gen/types.gen.d.ts +216 -11
- package/package/history.svelte.js +0 -2
- package/package/hub.d.ts +1 -0
- package/package/hubPaths.json +5 -2
- package/package/infer.js +16 -10
- package/package/svelte5Utils.svelte.d.ts +1 -0
- package/package/svelte5Utils.svelte.js +25 -18
- package/package/toast.js +10 -0
- package/package/utils.d.ts +3 -2
- package/package/utils.js +20 -5
- package/package.json +11 -11
- package/package/components/ResultJobLoader.svelte +0 -219
- package/package/components/ResultJobLoader.svelte.d.ts +0 -52
- package/package/components/TestJobLoader.svelte +0 -274
- package/package/components/TestJobLoader.svelte.d.ts +0 -43
- package/package/components/icons/AssetVarIcon.svelte +0 -31
- package/package/components/icons/AssetVarIcon.svelte.d.ts +0 -9
- /package/package/components/runs/{JobLoader.svelte → JobsLoader.svelte} +0 -0
|
@@ -4,6 +4,34 @@ import { type Preview } from '../gen';
|
|
|
4
4
|
import type { Text } from 'yjs';
|
|
5
5
|
import { editor as meditor, type IDisposable } from 'monaco-editor';
|
|
6
6
|
import { type DepsToGet } from '../ata/index';
|
|
7
|
+
interface Props {
|
|
8
|
+
code?: string;
|
|
9
|
+
cmdEnterAction?: (() => void) | undefined;
|
|
10
|
+
formatAction?: (() => void) | undefined;
|
|
11
|
+
automaticLayout?: boolean;
|
|
12
|
+
websocketAlive?: any;
|
|
13
|
+
shouldBindKey?: boolean;
|
|
14
|
+
fixedOverflowWidgets?: boolean;
|
|
15
|
+
path?: string | undefined;
|
|
16
|
+
yContent?: Text | undefined;
|
|
17
|
+
awareness?: any | undefined;
|
|
18
|
+
folding?: boolean;
|
|
19
|
+
args?: Record<string, any> | undefined;
|
|
20
|
+
useWebsockets?: boolean;
|
|
21
|
+
small?: boolean;
|
|
22
|
+
scriptLang: Preview['language'] | 'bunnative' | 'tsx' | 'jsx' | 'json' | undefined;
|
|
23
|
+
disabled?: boolean;
|
|
24
|
+
lineNumbersMinChars?: number;
|
|
25
|
+
files?: Record<string, {
|
|
26
|
+
code: string;
|
|
27
|
+
readonly?: boolean;
|
|
28
|
+
}> | undefined;
|
|
29
|
+
extraLib?: string | undefined;
|
|
30
|
+
changeTimeout?: number;
|
|
31
|
+
loadAsync?: boolean;
|
|
32
|
+
key?: string | undefined;
|
|
33
|
+
class?: string | undefined;
|
|
34
|
+
}
|
|
7
35
|
interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
|
|
8
36
|
new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
|
|
9
37
|
$$bindings?: Bindings;
|
|
@@ -17,60 +45,7 @@ interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> =
|
|
|
17
45
|
};
|
|
18
46
|
z_$$bindings?: Bindings;
|
|
19
47
|
}
|
|
20
|
-
declare const Editor: $$__sveltets_2_IsomorphicComponent<{
|
|
21
|
-
[x: string]: any;
|
|
22
|
-
code?: string | undefined;
|
|
23
|
-
cmdEnterAction?: (() => void) | undefined | undefined;
|
|
24
|
-
formatAction?: (() => void) | undefined | undefined;
|
|
25
|
-
automaticLayout?: boolean | undefined;
|
|
26
|
-
websocketAlive?: {
|
|
27
|
-
pyright: boolean;
|
|
28
|
-
ruff: boolean;
|
|
29
|
-
deno: boolean;
|
|
30
|
-
go: boolean;
|
|
31
|
-
shellcheck: boolean;
|
|
32
|
-
} | undefined;
|
|
33
|
-
shouldBindKey?: boolean | undefined;
|
|
34
|
-
fixedOverflowWidgets?: boolean | undefined;
|
|
35
|
-
path?: string | undefined | undefined;
|
|
36
|
-
yContent?: Text | undefined;
|
|
37
|
-
awareness?: any | undefined;
|
|
38
|
-
folding?: boolean | undefined;
|
|
39
|
-
args?: Record<string, any> | undefined;
|
|
40
|
-
useWebsockets?: boolean | undefined;
|
|
41
|
-
small?: boolean | undefined;
|
|
42
|
-
scriptLang: Preview["language"] | "bunnative" | "tsx" | "jsx" | "json" | undefined;
|
|
43
|
-
disabled?: boolean | undefined;
|
|
44
|
-
lineNumbersMinChars?: number | undefined;
|
|
45
|
-
files?: Record<string, {
|
|
46
|
-
code: string;
|
|
47
|
-
readonly?: boolean;
|
|
48
|
-
}> | undefined;
|
|
49
|
-
extraLib?: string | undefined | undefined;
|
|
50
|
-
changeTimeout?: number | undefined;
|
|
51
|
-
loadAsync?: boolean | undefined;
|
|
52
|
-
key?: string | undefined | undefined;
|
|
53
|
-
switchToFile?: ((path: string, value: string, lang: string) => void) | undefined;
|
|
54
|
-
getCode?: (() => string) | undefined;
|
|
55
|
-
getModel?: (() => meditor.IEditorModel | undefined) | undefined;
|
|
56
|
-
insertAtCursor?: ((code: string) => void) | undefined;
|
|
57
|
-
arrowDown?: (() => void) | undefined;
|
|
58
|
-
backspace?: (() => void) | undefined;
|
|
59
|
-
insertAtBeginning?: ((code: string) => void) | undefined;
|
|
60
|
-
insertAtLine?: ((code: string, line: number) => void) | undefined;
|
|
61
|
-
getSelectedLines?: (() => string | undefined) | undefined;
|
|
62
|
-
onDidChangeCursorSelection?: ((f: (e: meditor.ICursorSelectionChangedEvent) => void) => IDisposable | undefined) | undefined;
|
|
63
|
-
show?: (() => void) | undefined;
|
|
64
|
-
hide?: (() => void) | undefined;
|
|
65
|
-
setCode?: ((ncode: string, noHistory?: boolean) => void) | undefined;
|
|
66
|
-
append?: ((code: string) => void) | undefined;
|
|
67
|
-
format?: (() => Promise<void>) | undefined;
|
|
68
|
-
getScriptLang?: (() => string | undefined) | undefined;
|
|
69
|
-
reviewAndApplyCode?: ((code: string) => void) | undefined;
|
|
70
|
-
reloadWebsocket?: (() => Promise<void>) | undefined;
|
|
71
|
-
fetchPackageDeps?: ((deps: DepsToGet) => Promise<void>) | undefined;
|
|
72
|
-
addAction?: ((id: string, label: string, callback: (editor: meditor.IStandaloneCodeEditor) => void, keybindings?: number[]) => void) | undefined;
|
|
73
|
-
}, {
|
|
48
|
+
declare const Editor: $$__sveltets_2_IsomorphicComponent<Props, {
|
|
74
49
|
change: CustomEvent<any>;
|
|
75
50
|
saveDraft: CustomEvent<any>;
|
|
76
51
|
blur: CustomEvent<any>;
|
|
@@ -100,6 +75,6 @@ declare const Editor: $$__sveltets_2_IsomorphicComponent<{
|
|
|
100
75
|
reloadWebsocket: () => Promise<void>;
|
|
101
76
|
fetchPackageDeps: (deps: DepsToGet) => Promise<void>;
|
|
102
77
|
addAction: (id: string, label: string, callback: (editor: meditor.IStandaloneCodeEditor) => void, keybindings?: number[]) => void;
|
|
103
|
-
},
|
|
78
|
+
}, "code" | "websocketAlive">;
|
|
104
79
|
type Editor = InstanceType<typeof Editor>;
|
|
105
80
|
export default Editor;
|
|
@@ -500,10 +500,10 @@ JsonNode ${windmillPathToCamelCaseName(path)} = JsonNode.Parse(await client.GetS
|
|
|
500
500
|
let t = { postgresql: 'postgres', mysql: 'mysql', bigquery: 'bigquery' }[resType]
|
|
501
501
|
if (!t) {
|
|
502
502
|
sendUserToast(`Resource type ${resType} is not supported in DuckDB`, true)
|
|
503
|
-
editor.insertAtCursor(`'
|
|
503
|
+
editor.insertAtCursor(`'res://${path}'`)
|
|
504
504
|
return
|
|
505
505
|
} else {
|
|
506
|
-
editor.insertAtCursor(`ATTACH '
|
|
506
|
+
editor.insertAtCursor(`ATTACH 'res://${path}' AS db (TYPE ${t});`)
|
|
507
507
|
}
|
|
508
508
|
}
|
|
509
509
|
|
|
@@ -18,24 +18,15 @@ const slackSuccessHandler = hubPaths.slackSuccessHandler;
|
|
|
18
18
|
const teamsRecoveryHandler = hubPaths.teamsRecoveryHandler;
|
|
19
19
|
const teamsHandlerScriptPath = hubPaths.teamsErrorHandler;
|
|
20
20
|
const teamsSuccessHandler = hubPaths.teamsSuccessHandler;
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
export let customHandlerKind = 'script';
|
|
31
|
-
let customHandlerSchema;
|
|
32
|
-
let slackHandlerSchema;
|
|
33
|
-
let isFetching = false;
|
|
34
|
-
let teams_channels = [];
|
|
35
|
-
let teams_team_name = undefined;
|
|
36
|
-
let workspaceConnectedToSlack = undefined;
|
|
37
|
-
let workspaceConnectedToTeams = undefined;
|
|
38
|
-
let connectionTestJob;
|
|
21
|
+
let { errorOrRecovery, isEditable, toggleText = 'Enable', showScriptHelpText = false, handlerSelected = $bindable(), handlerPath = $bindable(), handlerExtraArgs = $bindable(), customScriptTemplate, customHandlerKind = $bindable('script'), customTabTooltip } = $props();
|
|
22
|
+
let customHandlerSchema = $state();
|
|
23
|
+
let slackHandlerSchema = $state();
|
|
24
|
+
let isFetching = $state(false);
|
|
25
|
+
let teams_channels = $state([]);
|
|
26
|
+
let teams_team_name = $state(undefined);
|
|
27
|
+
let workspaceConnectedToSlack = $state(undefined);
|
|
28
|
+
let workspaceConnectedToTeams = $state(undefined);
|
|
29
|
+
let connectionTestJob = $state();
|
|
39
30
|
async function loadSlackResources() {
|
|
40
31
|
const settings = await WorkspaceService.getSettings({ workspace: $workspaceStore });
|
|
41
32
|
if (!emptyString(settings.slack_name) && !emptyString(settings.slack_team_id)) {
|
|
@@ -146,7 +137,7 @@ async function loadHandlerScriptArgs(p, defaultArgs = []) {
|
|
|
146
137
|
}
|
|
147
138
|
}
|
|
148
139
|
function isSlackHandler(scriptPath) {
|
|
149
|
-
if (scriptPath
|
|
140
|
+
if (!scriptPath) {
|
|
150
141
|
return false;
|
|
151
142
|
}
|
|
152
143
|
if (errorOrRecovery == 'error') {
|
|
@@ -161,7 +152,7 @@ function isSlackHandler(scriptPath) {
|
|
|
161
152
|
}
|
|
162
153
|
}
|
|
163
154
|
function isTeamsHandler(scriptPath) {
|
|
164
|
-
if (scriptPath
|
|
155
|
+
if (!scriptPath) {
|
|
165
156
|
return false;
|
|
166
157
|
}
|
|
167
158
|
if (errorOrRecovery == 'error') {
|
|
@@ -175,67 +166,82 @@ function isTeamsHandler(scriptPath) {
|
|
|
175
166
|
return scriptPath.startsWith('hub/') && scriptPath.endsWith('/schedule-success-handler-teams');
|
|
176
167
|
}
|
|
177
168
|
}
|
|
178
|
-
|
|
169
|
+
$effect(() => {
|
|
179
170
|
if ($workspaceStore) {
|
|
180
171
|
loadSlackResources();
|
|
181
172
|
loadTeamsResources();
|
|
182
173
|
}
|
|
183
|
-
}
|
|
184
|
-
|
|
185
|
-
|
|
174
|
+
});
|
|
175
|
+
$effect(() => {
|
|
176
|
+
if (handlerSelected === 'slack' && isSlackHandler(handlerPath)) {
|
|
177
|
+
handlerExtraArgs['slack'] = '$res:f/slack_bot/bot_token';
|
|
178
|
+
}
|
|
179
|
+
else {
|
|
180
|
+
handlerExtraArgs['slack'] = undefined;
|
|
181
|
+
}
|
|
182
|
+
});
|
|
183
|
+
let lastHandlerSelected = $state(undefined);
|
|
184
|
+
let channelCache = $state({
|
|
186
185
|
slack: undefined,
|
|
187
186
|
teams: undefined
|
|
188
|
-
};
|
|
189
|
-
|
|
187
|
+
});
|
|
188
|
+
$effect(() => {
|
|
190
189
|
if (lastHandlerSelected !== handlerSelected && lastHandlerSelected !== undefined) {
|
|
191
190
|
if (lastHandlerSelected === 'teams' || lastHandlerSelected === 'slack') {
|
|
192
191
|
channelCache[lastHandlerSelected] = handlerExtraArgs['channel'];
|
|
193
192
|
}
|
|
194
193
|
if (handlerSelected === 'custom') {
|
|
195
194
|
handlerExtraArgs['channel'] = '';
|
|
195
|
+
handlerPath = undefined;
|
|
196
196
|
}
|
|
197
197
|
else {
|
|
198
198
|
handlerExtraArgs['channel'] = channelCache[handlerSelected] ?? '';
|
|
199
199
|
}
|
|
200
200
|
}
|
|
201
201
|
lastHandlerSelected = handlerSelected;
|
|
202
|
-
}
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
202
|
+
});
|
|
203
|
+
$effect(() => {
|
|
204
|
+
handlerPath &&
|
|
205
|
+
!isSlackHandler(handlerPath) &&
|
|
206
|
+
!isTeamsHandler(handlerPath) &&
|
|
207
|
+
loadHandlerScriptArgs(handlerPath, [
|
|
208
|
+
'path',
|
|
209
|
+
'workspace_id',
|
|
210
|
+
'job_id',
|
|
211
|
+
'is_flow',
|
|
212
|
+
'schedule_path',
|
|
213
|
+
'error',
|
|
214
|
+
'error_started_at',
|
|
215
|
+
'failed_times',
|
|
216
|
+
'started_at',
|
|
217
|
+
'success_times',
|
|
218
|
+
'success_result',
|
|
219
|
+
'success_started_at',
|
|
220
|
+
'email',
|
|
221
|
+
'trigger_path'
|
|
222
|
+
]).then((schema) => (customHandlerSchema = schema));
|
|
223
|
+
});
|
|
224
|
+
$effect(() => {
|
|
225
|
+
handlerPath &&
|
|
226
|
+
isSlackHandler(handlerPath) &&
|
|
227
|
+
loadHandlerScriptArgs(handlerPath, [
|
|
228
|
+
'path',
|
|
229
|
+
'workspace_id',
|
|
230
|
+
'job_id',
|
|
231
|
+
'is_flow',
|
|
232
|
+
'schedule_path',
|
|
233
|
+
'error',
|
|
234
|
+
'error_started_at',
|
|
235
|
+
'failed_times',
|
|
236
|
+
'started_at',
|
|
237
|
+
'success_times',
|
|
238
|
+
'success_result',
|
|
239
|
+
'success_started_at',
|
|
240
|
+
'email',
|
|
241
|
+
'trigger_path',
|
|
242
|
+
'slack'
|
|
243
|
+
]).then((schema) => (slackHandlerSchema = schema));
|
|
244
|
+
});
|
|
239
245
|
</script>
|
|
240
246
|
|
|
241
247
|
<div>
|
|
@@ -244,7 +250,7 @@ $: handlerPath &&
|
|
|
244
250
|
<Tab value="teams" disabled={!isEditable}>Teams</Tab>
|
|
245
251
|
<Tab value="custom" disabled={!isEditable}>
|
|
246
252
|
Custom
|
|
247
|
-
|
|
253
|
+
{@render customTabTooltip?.()}
|
|
248
254
|
</Tab>
|
|
249
255
|
</Tabs>
|
|
250
256
|
</div>
|
|
@@ -253,15 +259,15 @@ $: handlerPath &&
|
|
|
253
259
|
<div class="flex flex-row mb-2">
|
|
254
260
|
<ScriptPicker
|
|
255
261
|
disabled={!isEditable || !$enterpriseLicense}
|
|
256
|
-
initialPath={customInitialScriptPath}
|
|
257
262
|
kinds={['script', 'failure']}
|
|
258
263
|
allowFlow={true}
|
|
259
264
|
bind:scriptPath={handlerPath}
|
|
260
265
|
bind:itemKind={customHandlerKind}
|
|
261
266
|
allowRefresh={isEditable}
|
|
267
|
+
clearable
|
|
262
268
|
/>
|
|
263
269
|
|
|
264
|
-
{#if handlerPath
|
|
270
|
+
{#if !handlerPath}
|
|
265
271
|
<Button
|
|
266
272
|
btnClasses="ml-4 mt-2"
|
|
267
273
|
color="dark"
|
|
@@ -427,7 +433,7 @@ $: handlerPath &&
|
|
|
427
433
|
/>
|
|
428
434
|
<div class="flex-shrink-0">
|
|
429
435
|
<button
|
|
430
|
-
|
|
436
|
+
onclick={loadTeamsResources}
|
|
431
437
|
class="flex items-center gap-1 p-1.5 rounded hover:bg-surface-hover focus:bg-surface-hover"
|
|
432
438
|
>
|
|
433
439
|
<RefreshCcw size={16} class={isFetching ? 'animate-spin' : ''} />
|
|
@@ -1,31 +1,15 @@
|
|
|
1
|
-
interface
|
|
2
|
-
|
|
3
|
-
$$bindings?: Bindings;
|
|
4
|
-
} & Exports;
|
|
5
|
-
(internal: unknown, props: Props & {
|
|
6
|
-
$$events?: Events;
|
|
7
|
-
$$slots?: Slots;
|
|
8
|
-
}): Exports & {
|
|
9
|
-
$set?: any;
|
|
10
|
-
$on?: any;
|
|
11
|
-
};
|
|
12
|
-
z_$$bindings?: Bindings;
|
|
13
|
-
}
|
|
14
|
-
declare const ErrorOrRecoveryHandler: $$__sveltets_2_IsomorphicComponent<{
|
|
15
|
-
errorOrRecovery: "error" | "recovery" | "success";
|
|
1
|
+
interface Props {
|
|
2
|
+
errorOrRecovery: 'error' | 'recovery' | 'success';
|
|
16
3
|
isEditable: boolean;
|
|
17
4
|
toggleText?: string;
|
|
18
5
|
showScriptHelpText?: boolean;
|
|
19
|
-
handlerSelected:
|
|
6
|
+
handlerSelected: 'custom' | 'slack' | 'teams';
|
|
20
7
|
handlerPath: string | undefined;
|
|
21
8
|
handlerExtraArgs: Record<string, any>;
|
|
22
|
-
customInitialScriptPath: string | undefined;
|
|
23
9
|
customScriptTemplate: string;
|
|
24
|
-
customHandlerKind?:
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
},
|
|
28
|
-
|
|
29
|
-
}, {}, string>;
|
|
30
|
-
type ErrorOrRecoveryHandler = InstanceType<typeof ErrorOrRecoveryHandler>;
|
|
10
|
+
customHandlerKind?: 'flow' | 'script';
|
|
11
|
+
customTabTooltip?: import('svelte').Snippet;
|
|
12
|
+
}
|
|
13
|
+
declare const ErrorOrRecoveryHandler: import("svelte").Component<Props, {}, "handlerSelected" | "handlerPath" | "handlerExtraArgs" | "customHandlerKind">;
|
|
14
|
+
type ErrorOrRecoveryHandler = ReturnType<typeof ErrorOrRecoveryHandler>;
|
|
31
15
|
export default ErrorOrRecoveryHandler;
|
|
@@ -37,6 +37,7 @@ import { TestSteps } from './flows/testSteps.svelte';
|
|
|
37
37
|
import { aiChatManager } from './copilot/chat/AIChatManager.svelte';
|
|
38
38
|
import { setStepHistoryLoaderContext, StepHistoryLoader } from './stepHistoryLoader.svelte';
|
|
39
39
|
import { ModulesTestStates } from './modulesTest.svelte';
|
|
40
|
+
import FlowAssetsHandler, { initFlowGraphAssetsCtx } from './flows/FlowAssetsHandler.svelte';
|
|
40
41
|
let { initialPath = $bindable(''), pathStoreInit = undefined, newFlow, selectedId, initialArgs = {}, loading = false, flowStore, flowStateStore, savedFlow = $bindable(undefined), diffDrawer = undefined, customUi = {}, disableAi = false, disabledFlowInputs = false, savedPrimarySchedule = undefined, version = undefined, setSavedraftCb = undefined, draftTriggersFromUrl = undefined, selectedTriggerIndexFromUrl = undefined, children, loadedFromHistoryFromUrl, noInitial = false, onSaveInitial, onSaveDraft, onDeploy, onDeployError, onDetails, onSaveDraftError, onSaveDraftOnlyAtNewPath, onHistoryRestore } = $props();
|
|
41
42
|
let initialPathStore = writable(initialPath);
|
|
42
43
|
// used for new flows for captures
|
|
@@ -475,6 +476,7 @@ setContext('FlowEditorContext', {
|
|
|
475
476
|
modulesTestStates,
|
|
476
477
|
outputPickerOpenFns
|
|
477
478
|
});
|
|
479
|
+
setContext('FlowGraphAssetContext', initFlowGraphAssetsCtx({ getModules: () => flowStore.val.value.modules }));
|
|
478
480
|
// Add triggers context store
|
|
479
481
|
const triggersState = $state(new Triggers([
|
|
480
482
|
{ type: 'webhook', path: '', isDraft: false },
|
|
@@ -784,9 +786,9 @@ const flowHasChanged = $derived(flowPreviewContent?.flowHasChanged());
|
|
|
784
786
|
redoProps={{ disabled: $history.index === $history.history.length - 1 }}
|
|
785
787
|
on:undo={() => {
|
|
786
788
|
const currentModules = flowStore.val?.value?.modules
|
|
787
|
-
console.log('undo before', flowStore.val, JSON.stringify(flowStore.val, null, 2))
|
|
789
|
+
// console.log('undo before', flowStore.val, JSON.stringify(flowStore.val, null, 2))
|
|
788
790
|
flowStore.val = undo(history, flowStore.val)
|
|
789
|
-
console.log('undo after', flowStore.val, JSON.stringify(flowStore.val, null, 2))
|
|
791
|
+
// console.log('undo after', flowStore.val, JSON.stringify(flowStore.val, null, 2))
|
|
790
792
|
|
|
791
793
|
const newModules = flowStore.val?.value?.modules
|
|
792
794
|
const restoredModules = newModules?.filter(
|
|
@@ -1030,3 +1032,10 @@ const flowHasChanged = $derived(flowPreviewContent?.flowHasChanged());
|
|
|
1030
1032
|
renderCount += 1
|
|
1031
1033
|
}}
|
|
1032
1034
|
/>
|
|
1035
|
+
|
|
1036
|
+
<FlowAssetsHandler
|
|
1037
|
+
modules={flowStore.val.value.modules}
|
|
1038
|
+
enableParser
|
|
1039
|
+
enableDbExplore
|
|
1040
|
+
enablePathScriptAndFlowAssets
|
|
1041
|
+
/>
|
|
@@ -6,22 +6,10 @@ import { workspaceStore } from '../stores';
|
|
|
6
6
|
import DrawerContent from './common/drawer/DrawerContent.svelte';
|
|
7
7
|
import { Drawer } from './common';
|
|
8
8
|
import AllFlowLogs from './AllFlowLogs.svelte';
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
export let noBorder = false;
|
|
14
|
-
export let loading;
|
|
15
|
-
export let filename = undefined;
|
|
16
|
-
export let jobId = undefined;
|
|
17
|
-
export let tag = undefined;
|
|
18
|
-
export let workspaceId = undefined;
|
|
19
|
-
export let refreshLog = false;
|
|
20
|
-
export let durationStates;
|
|
21
|
-
export let downloadLogs = true;
|
|
22
|
-
let lastJobId = undefined;
|
|
23
|
-
let drawer = undefined;
|
|
24
|
-
$: jobId != lastJobId && diffJobId();
|
|
9
|
+
import { untrack } from 'svelte';
|
|
10
|
+
let { waitingForExecutor = false, result, logs = $bindable(), col = false, noBorder = false, loading, filename = undefined, jobId = undefined, tag = undefined, workspaceId = undefined, refreshLog = false, durationStates, downloadLogs = true, tagLabel = undefined } = $props();
|
|
11
|
+
let lastJobId = $state(undefined);
|
|
12
|
+
let drawer = $state(undefined);
|
|
25
13
|
let iteration = 0;
|
|
26
14
|
let logOffset = 0;
|
|
27
15
|
async function diffJobId() {
|
|
@@ -53,6 +41,12 @@ async function getLogs() {
|
|
|
53
41
|
}, iteration < 10 ? 1000 : iteration < 20 ? 2000 : 5000);
|
|
54
42
|
}
|
|
55
43
|
}
|
|
44
|
+
$effect(() => {
|
|
45
|
+
jobId;
|
|
46
|
+
untrack(() => {
|
|
47
|
+
jobId != lastJobId && diffJobId();
|
|
48
|
+
});
|
|
49
|
+
});
|
|
56
50
|
</script>
|
|
57
51
|
|
|
58
52
|
<Drawer bind:this={drawer}>
|
|
@@ -78,9 +72,10 @@ async function getLogs() {
|
|
|
78
72
|
</div>
|
|
79
73
|
<div class="overflow-auto {col ? '' : 'max-h-80'} relative">
|
|
80
74
|
<div class="absolute z-40 text-xs top-0 left-1"
|
|
81
|
-
><button class=""
|
|
75
|
+
><button class="" onclick={drawer.openDrawer}>explore all steps' logs</button></div
|
|
82
76
|
>
|
|
83
77
|
<LogViewer
|
|
78
|
+
{tagLabel}
|
|
84
79
|
download={downloadLogs}
|
|
85
80
|
content={logs ?? ''}
|
|
86
81
|
{jobId}
|
|
@@ -1,19 +1,6 @@
|
|
|
1
1
|
import type { DurationStatus } from './graph';
|
|
2
2
|
import type { Writable } from 'svelte/store';
|
|
3
|
-
interface
|
|
4
|
-
new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
|
|
5
|
-
$$bindings?: Bindings;
|
|
6
|
-
} & Exports;
|
|
7
|
-
(internal: unknown, props: Props & {
|
|
8
|
-
$$events?: Events;
|
|
9
|
-
$$slots?: Slots;
|
|
10
|
-
}): Exports & {
|
|
11
|
-
$set?: any;
|
|
12
|
-
$on?: any;
|
|
13
|
-
};
|
|
14
|
-
z_$$bindings?: Bindings;
|
|
15
|
-
}
|
|
16
|
-
declare const FlowJobResult: $$__sveltets_2_IsomorphicComponent<{
|
|
3
|
+
interface Props {
|
|
17
4
|
waitingForExecutor?: boolean;
|
|
18
5
|
result: any;
|
|
19
6
|
logs: string | undefined;
|
|
@@ -27,8 +14,8 @@ declare const FlowJobResult: $$__sveltets_2_IsomorphicComponent<{
|
|
|
27
14
|
refreshLog?: boolean;
|
|
28
15
|
durationStates: Writable<Record<string, DurationStatus>> | undefined;
|
|
29
16
|
downloadLogs?: boolean;
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
type FlowJobResult =
|
|
17
|
+
tagLabel?: string | undefined;
|
|
18
|
+
}
|
|
19
|
+
declare const FlowJobResult: import("svelte").Component<Props, {}, "logs">;
|
|
20
|
+
type FlowJobResult = ReturnType<typeof FlowJobResult>;
|
|
34
21
|
export default FlowJobResult;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
<script lang="ts">import {
|
|
1
|
+
<script lang="ts">import { stopPropagation } from 'svelte/legacy';
|
|
2
2
|
import { JobService } from '../gen';
|
|
3
3
|
import { workspaceStore } from '../stores';
|
|
4
4
|
import { Badge, Button } from './common';
|
|
5
5
|
import Popover from './meltComponents/Popover.svelte';
|
|
6
|
-
import { createEventDispatcher, getContext } from 'svelte';
|
|
6
|
+
import { createEventDispatcher, getContext, untrack } from 'svelte';
|
|
7
7
|
import { runFlowPreview } from './flows/utils';
|
|
8
8
|
import SchemaForm from './SchemaForm.svelte';
|
|
9
9
|
import SchemaFormWithArgPicker from './SchemaFormWithArgPicker.svelte';
|
|
@@ -58,7 +58,7 @@ function extractFlow(previewMode) {
|
|
|
58
58
|
}
|
|
59
59
|
let lastPreviewFlow = $state(undefined);
|
|
60
60
|
export async function runPreview(args, restartedFrom) {
|
|
61
|
-
if (stepHistoryLoader?.flowJobInitial) {
|
|
61
|
+
if (stepHistoryLoader?.flowJobInitial !== false) {
|
|
62
62
|
stepHistoryLoader?.setFlowJobInitial(false);
|
|
63
63
|
}
|
|
64
64
|
try {
|
|
@@ -141,20 +141,23 @@ async function selectInput(input, type) {
|
|
|
141
141
|
export function refresh() {
|
|
142
142
|
renderCount++;
|
|
143
143
|
}
|
|
144
|
-
let scrollableDiv = undefined;
|
|
144
|
+
let scrollableDiv = $state(undefined);
|
|
145
145
|
function handleScroll() {
|
|
146
|
-
|
|
146
|
+
let newScroll = scrollableDiv?.scrollTop ?? 0;
|
|
147
|
+
if (newScroll != 0 && render) {
|
|
148
|
+
scrollTop = newScroll;
|
|
149
|
+
}
|
|
147
150
|
}
|
|
148
151
|
function onScrollableDivChange() {
|
|
149
152
|
if (scrollTop != 0 && scrollableDiv) {
|
|
150
153
|
scrollableDiv.scrollTop = scrollTop;
|
|
151
154
|
}
|
|
152
155
|
}
|
|
153
|
-
|
|
154
|
-
selectedJobStep !== undefined && onSelectedJobStepChange();
|
|
156
|
+
$effect.pre(() => {
|
|
157
|
+
selectedJobStep !== undefined && untrack(() => onSelectedJobStepChange());
|
|
155
158
|
});
|
|
156
|
-
|
|
157
|
-
scrollableDiv && onScrollableDivChange();
|
|
159
|
+
$effect(() => {
|
|
160
|
+
scrollableDiv && render && untrack(() => onScrollableDivChange());
|
|
158
161
|
});
|
|
159
162
|
export async function cancelTest() {
|
|
160
163
|
isRunning = false;
|
|
@@ -482,7 +485,7 @@ export function flowHasChanged() {
|
|
|
482
485
|
wideResults
|
|
483
486
|
{flowStateStore}
|
|
484
487
|
{jobId}
|
|
485
|
-
on:done={() => {
|
|
488
|
+
on:done={(x) => {
|
|
486
489
|
isRunning = false
|
|
487
490
|
$executionCount = $executionCount + 1
|
|
488
491
|
onJobDone?.()
|
|
@@ -54,6 +54,6 @@ declare const FlowPreviewContent: $$__sveltets_2_IsomorphicComponent<Props, {
|
|
|
54
54
|
getIsOwner: () => boolean;
|
|
55
55
|
getJob: () => Job | undefined;
|
|
56
56
|
flowHasChanged: () => boolean;
|
|
57
|
-
}, "initial" | "preventEscape" | "job" | "jobId" | "scrollTop" | "localDurationStatuses" | "
|
|
57
|
+
}, "initial" | "preventEscape" | "job" | "jobId" | "scrollTop" | "localDurationStatuses" | "rightColumnSelect" | "localModuleStates" | "selectedJobStep" | "previewMode" | "selectedJobStepIsTopLevel" | "selectedJobStepType" | "branchOrIterationN">;
|
|
58
58
|
type FlowPreviewContent = InstanceType<typeof FlowPreviewContent>;
|
|
59
59
|
export default FlowPreviewContent;
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
<script lang="ts">import {
|
|
1
|
+
<script lang="ts">import { Loader2 } from 'lucide-svelte';
|
|
2
2
|
import FlowJobResult from './FlowJobResult.svelte';
|
|
3
3
|
import FlowPreviewStatus from './preview/FlowPreviewStatus.svelte';
|
|
4
4
|
import FlowStatusWaitingForEvents from './FlowStatusWaitingForEvents.svelte';
|
|
5
5
|
import { emptyString } from '../utils';
|
|
6
|
+
import Badge from './common/badge/Badge.svelte';
|
|
6
7
|
let { job, workspaceId, isOwner, hideFlowResult, hideDownloadLogs, localDurationStatuses, innerModules, suspendStatus, hideJobId, extra } = $props();
|
|
7
8
|
</script>
|
|
8
9
|
|
|
@@ -52,10 +53,17 @@ let { job, workspaceId, isOwner, hideFlowResult, hideDownloadLogs, localDuration
|
|
|
52
53
|
{#if mod.type == 'InProgress'}
|
|
53
54
|
{@const rawMod = job.raw_flow?.modules[i]}
|
|
54
55
|
|
|
55
|
-
<div
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
56
|
+
<div>
|
|
57
|
+
<span class="inline-flex gap-1">
|
|
58
|
+
<Badge
|
|
59
|
+
color="indigo"
|
|
60
|
+
wrapperClass="max-w-full"
|
|
61
|
+
baseClass="max-w-full truncate !px-1"
|
|
62
|
+
title={mod.id}
|
|
63
|
+
>
|
|
64
|
+
<span class="max-w-full text-2xs truncate">{mod.id}</span></Badge
|
|
65
|
+
>
|
|
66
|
+
<span class="font-medium text-primary mt-0.5">
|
|
59
67
|
{#if !emptyString(rawMod?.summary)}
|
|
60
68
|
{rawMod?.summary ?? ''}
|
|
61
69
|
{:else if rawMod?.value.type == 'script'}
|
|
@@ -65,7 +73,7 @@ let { job, workspaceId, isOwner, hideFlowResult, hideDownloadLogs, localDuration
|
|
|
65
73
|
{/if}
|
|
66
74
|
</span>
|
|
67
75
|
|
|
68
|
-
<Loader2 class="animate-spin" /></span
|
|
76
|
+
<Loader2 class="animate-spin mt-0.5" /></span
|
|
69
77
|
></div
|
|
70
78
|
>
|
|
71
79
|
{/if}
|