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
|
@@ -1,16 +1,12 @@
|
|
|
1
|
-
<script lang="ts">import '
|
|
1
|
+
<script lang="ts">import { run } from 'svelte/legacy';
|
|
2
|
+
import '@codingame/monaco-vscode-standalone-json-language-features';
|
|
2
3
|
import SimpleEditor from './SimpleEditor.svelte';
|
|
3
4
|
import { createEventDispatcher } from 'svelte';
|
|
4
5
|
import { createDispatcherIfMounted } from '../createDispatcherIfMounted';
|
|
5
6
|
import Button from './common/button/Button.svelte';
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
export let editor = undefined;
|
|
10
|
-
export let small = false;
|
|
11
|
-
export let loadAsync = false;
|
|
12
|
-
$: tooBig = code && code?.length > 1000000;
|
|
13
|
-
let loadTooBigAnyway = false;
|
|
7
|
+
let { code = $bindable(), value = $bindable(undefined), error = $bindable(), editor = $bindable(undefined), small = false, loadAsync = false, class: clazz = undefined, disabled = false, fixedOverflowWidgets = true } = $props();
|
|
8
|
+
let tooBig = $derived(code && code?.length > 1000000);
|
|
9
|
+
let loadTooBigAnyway = $state(false);
|
|
14
10
|
const dispatch = createEventDispatcher();
|
|
15
11
|
const dispatchIfMounted = createDispatcherIfMounted(dispatch);
|
|
16
12
|
function parseJson() {
|
|
@@ -28,7 +24,9 @@ function parseJson() {
|
|
|
28
24
|
error = e.message;
|
|
29
25
|
}
|
|
30
26
|
}
|
|
31
|
-
|
|
27
|
+
run(() => {
|
|
28
|
+
code != undefined && parseJson();
|
|
29
|
+
});
|
|
32
30
|
</script>
|
|
33
31
|
|
|
34
32
|
{#if tooBig && !loadTooBigAnyway}
|
|
@@ -51,7 +49,9 @@ $: code != undefined && parseJson();
|
|
|
51
49
|
autoHeight
|
|
52
50
|
lang="json"
|
|
53
51
|
bind:code
|
|
54
|
-
class={
|
|
52
|
+
class={clazz}
|
|
53
|
+
{disabled}
|
|
54
|
+
{fixedOverflowWidgets}
|
|
55
55
|
/>
|
|
56
56
|
</div>
|
|
57
57
|
{#if error != ''}
|
|
@@ -1,5 +1,16 @@
|
|
|
1
|
-
import { SvelteComponent } from "svelte";
|
|
2
1
|
import '@codingame/monaco-vscode-standalone-json-language-features';
|
|
2
|
+
import SimpleEditor from './SimpleEditor.svelte';
|
|
3
|
+
interface Props {
|
|
4
|
+
code: string | undefined;
|
|
5
|
+
value?: any;
|
|
6
|
+
error?: string;
|
|
7
|
+
editor?: SimpleEditor | undefined;
|
|
8
|
+
small?: boolean;
|
|
9
|
+
loadAsync?: boolean;
|
|
10
|
+
class?: string | undefined;
|
|
11
|
+
disabled?: boolean;
|
|
12
|
+
fixedOverflowWidgets?: boolean;
|
|
13
|
+
}
|
|
3
14
|
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> {
|
|
4
15
|
new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
|
|
5
16
|
$$bindings?: Bindings;
|
|
@@ -13,65 +24,12 @@ interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> =
|
|
|
13
24
|
};
|
|
14
25
|
z_$$bindings?: Bindings;
|
|
15
26
|
}
|
|
16
|
-
declare const JsonEditor: $$__sveltets_2_IsomorphicComponent<{
|
|
17
|
-
[x: string]: any;
|
|
18
|
-
code: string | undefined;
|
|
19
|
-
value?: any;
|
|
20
|
-
error?: string | undefined;
|
|
21
|
-
editor?: (SvelteComponent<{
|
|
22
|
-
lang: string;
|
|
23
|
-
code?: string;
|
|
24
|
-
hash?: string;
|
|
25
|
-
cmdEnterAction?: () => void;
|
|
26
|
-
formatAction?: () => void;
|
|
27
|
-
automaticLayout?: boolean;
|
|
28
|
-
extraLib?: string;
|
|
29
|
-
placeholder?: string;
|
|
30
|
-
disableSuggestions?: boolean;
|
|
31
|
-
disableLinting?: boolean;
|
|
32
|
-
hideLineNumbers?: boolean;
|
|
33
|
-
shouldBindKey?: boolean;
|
|
34
|
-
autoHeight?: boolean;
|
|
35
|
-
fixedOverflowWidgets?: boolean;
|
|
36
|
-
small?: boolean;
|
|
37
|
-
domLib?: boolean;
|
|
38
|
-
autofocus?: boolean;
|
|
39
|
-
allowVim?: boolean;
|
|
40
|
-
tailwindClasses?: string[];
|
|
41
|
-
class?: string;
|
|
42
|
-
loadAsync?: boolean;
|
|
43
|
-
initialCursorPos?: import("monaco-editor").IPosition;
|
|
44
|
-
key?: string;
|
|
45
|
-
}, {
|
|
46
|
-
change: CustomEvent<any>;
|
|
47
|
-
focus: CustomEvent<any>;
|
|
48
|
-
blur: CustomEvent<any>;
|
|
49
|
-
} & {
|
|
50
|
-
[evt: string]: CustomEvent<any>;
|
|
51
|
-
}, {}> & {
|
|
52
|
-
$$bindings?: "code" | undefined;
|
|
53
|
-
} & {
|
|
54
|
-
getCode: () => string;
|
|
55
|
-
insertAtCursor: (code: string) => void;
|
|
56
|
-
setCode: (ncode: string, formatCode?: boolean) => void;
|
|
57
|
-
formatCode: () => void;
|
|
58
|
-
format: () => void;
|
|
59
|
-
focus: () => void;
|
|
60
|
-
getSelectedLines: () => string | undefined;
|
|
61
|
-
onDidChangeCursorSelection: (f: (e: import("monaco-editor").editor.ICursorSelectionChangedEvent) => void) => import("monaco-editor").IDisposable | undefined;
|
|
62
|
-
show: () => void;
|
|
63
|
-
hide: () => void;
|
|
64
|
-
setSuggestion: (value: string) => void;
|
|
65
|
-
setCursorToEnd: () => void;
|
|
66
|
-
}) | undefined;
|
|
67
|
-
small?: boolean | undefined;
|
|
68
|
-
loadAsync?: boolean | undefined;
|
|
69
|
-
}, {
|
|
27
|
+
declare const JsonEditor: $$__sveltets_2_IsomorphicComponent<Props, {
|
|
70
28
|
focus: CustomEvent<any>;
|
|
71
29
|
blur: CustomEvent<any>;
|
|
72
30
|
change: CustomEvent<any>;
|
|
73
31
|
} & {
|
|
74
32
|
[evt: string]: CustomEvent<any>;
|
|
75
|
-
}, {}, {},
|
|
33
|
+
}, {}, {}, "value" | "error" | "code" | "editor">;
|
|
76
34
|
type JsonEditor = InstanceType<typeof JsonEditor>;
|
|
77
35
|
export default JsonEditor;
|
|
@@ -1,14 +1,9 @@
|
|
|
1
1
|
<script lang="ts">import { twMerge } from 'tailwind-merge';
|
|
2
2
|
import Required from './Required.svelte';
|
|
3
|
-
|
|
4
|
-
export let primary = false;
|
|
5
|
-
export let disabled = false;
|
|
6
|
-
export let headless = false;
|
|
7
|
-
export let required = false;
|
|
8
|
-
export let headerClass = '';
|
|
3
|
+
let { label = undefined, primary = false, disabled = false, headless = false, required = false, headerClass = '', class: clazz = undefined, header, error, action, children } = $props();
|
|
9
4
|
</script>
|
|
10
5
|
|
|
11
|
-
<div class={twMerge(disabled ? 'opacity-60 pointer-events-none' : '',
|
|
6
|
+
<div class={twMerge(disabled ? 'opacity-60 pointer-events-none' : '', clazz)}>
|
|
12
7
|
<div class="flex flex-row justify-between items-center w-full">
|
|
13
8
|
{#if !headless}
|
|
14
9
|
<div class={twMerge('flex flex-row items-center gap-2', headerClass)}>
|
|
@@ -19,11 +14,11 @@ export let headerClass = '';
|
|
|
19
14
|
<Required required={true} />
|
|
20
15
|
{/if}
|
|
21
16
|
</span>
|
|
22
|
-
|
|
17
|
+
{@render header?.()}
|
|
23
18
|
</div>
|
|
24
19
|
{/if}
|
|
25
|
-
|
|
26
|
-
|
|
20
|
+
{@render error?.()}
|
|
21
|
+
{@render action?.()}
|
|
27
22
|
</div>
|
|
28
|
-
|
|
23
|
+
{@render children?.()}
|
|
29
24
|
</div>
|
|
@@ -1,41 +1,16 @@
|
|
|
1
|
-
interface
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
1
|
+
interface Props {
|
|
2
|
+
label?: string | undefined;
|
|
3
|
+
primary?: boolean;
|
|
4
|
+
disabled?: boolean;
|
|
5
|
+
headless?: boolean;
|
|
6
|
+
required?: boolean;
|
|
7
|
+
headerClass?: string;
|
|
8
|
+
class?: string | undefined;
|
|
9
|
+
header?: import('svelte').Snippet;
|
|
10
|
+
error?: import('svelte').Snippet;
|
|
11
|
+
action?: import('svelte').Snippet;
|
|
12
|
+
children?: import('svelte').Snippet;
|
|
13
13
|
}
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
} ? Props extends Record<string, never> ? any : {
|
|
17
|
-
children?: any;
|
|
18
|
-
} : {});
|
|
19
|
-
declare const Label: $$__sveltets_2_IsomorphicComponent<$$__sveltets_2_PropsWithChildren<{
|
|
20
|
-
[x: string]: any;
|
|
21
|
-
label?: string | undefined | undefined;
|
|
22
|
-
primary?: boolean | undefined;
|
|
23
|
-
disabled?: boolean | undefined;
|
|
24
|
-
headless?: boolean | undefined;
|
|
25
|
-
required?: boolean | undefined;
|
|
26
|
-
headerClass?: string | undefined;
|
|
27
|
-
}, {
|
|
28
|
-
header: {};
|
|
29
|
-
error: {};
|
|
30
|
-
action: {};
|
|
31
|
-
default: {};
|
|
32
|
-
}>, {
|
|
33
|
-
[evt: string]: CustomEvent<any>;
|
|
34
|
-
}, {
|
|
35
|
-
header: {};
|
|
36
|
-
error: {};
|
|
37
|
-
action: {};
|
|
38
|
-
default: {};
|
|
39
|
-
}, {}, string>;
|
|
40
|
-
type Label = InstanceType<typeof Label>;
|
|
14
|
+
declare const Label: import("svelte").Component<Props, {}, "">;
|
|
15
|
+
type Label = ReturnType<typeof Label>;
|
|
41
16
|
export default Label;
|
|
@@ -1,31 +1,17 @@
|
|
|
1
1
|
<script lang="ts">import { ResourceService } from '../gen';
|
|
2
2
|
import { workspaceStore } from '../stores';
|
|
3
|
-
import {
|
|
3
|
+
import { getContext, untrack } from 'svelte';
|
|
4
4
|
import DarkModeObserver from './DarkModeObserver.svelte';
|
|
5
5
|
import { Button, Drawer, DrawerContent } from './common';
|
|
6
6
|
import { Plus, Loader2, Link2Off } from 'lucide-svelte';
|
|
7
7
|
import { sendUserToast } from '../toast';
|
|
8
|
-
import { createDispatcherIfMounted } from '../createDispatcherIfMounted';
|
|
9
8
|
import Select from './select/Select.svelte';
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
export let value = initialValue;
|
|
14
|
-
export let resourceType = undefined;
|
|
15
|
-
export let disablePortal = false;
|
|
16
|
-
export let expressOAuthSetup = false;
|
|
17
|
-
export let disabled = false;
|
|
18
|
-
let open = false;
|
|
19
|
-
let refreshCount = 0;
|
|
9
|
+
let { value = $bindable(), resourceType = undefined, disablePortal = false, expressOAuthSetup = false, disabled = false } = $props();
|
|
10
|
+
let open = $state(false);
|
|
11
|
+
let refreshCount = $state(0);
|
|
20
12
|
const appViewerContext = getContext('AppViewerContext');
|
|
21
|
-
let
|
|
22
|
-
|
|
23
|
-
value: value ?? initialValue,
|
|
24
|
-
label: value ?? initialValue
|
|
25
|
-
}
|
|
26
|
-
: undefined;
|
|
27
|
-
let collection = valueSelect ? [valueSelect] : [];
|
|
28
|
-
let loading = true;
|
|
13
|
+
let collection = $state(value ? [{ value, label: value }] : []);
|
|
14
|
+
let loading = $state(true);
|
|
29
15
|
async function loadResources(resourceType) {
|
|
30
16
|
loading = true;
|
|
31
17
|
try {
|
|
@@ -37,23 +23,23 @@ async function loadResources(resourceType) {
|
|
|
37
23
|
label: x.path
|
|
38
24
|
}));
|
|
39
25
|
// TODO check if this is needed
|
|
40
|
-
if (!nc.find((x) => x.value == value) &&
|
|
41
|
-
nc.push({ value: value
|
|
26
|
+
if (!nc.find((x) => x.value == value) && value) {
|
|
27
|
+
nc.push({ value: value, label: value });
|
|
42
28
|
}
|
|
43
29
|
collection = nc;
|
|
44
30
|
if (expressOAuthSetup && nc.length > 0) {
|
|
45
31
|
value = nc[0].value;
|
|
46
|
-
valueSelect = nc[0];
|
|
47
32
|
}
|
|
48
33
|
}
|
|
49
34
|
finally {
|
|
50
35
|
loading = false;
|
|
51
36
|
}
|
|
52
37
|
}
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
let
|
|
38
|
+
$effect(() => {
|
|
39
|
+
$workspaceStore && resourceType && untrack(() => loadResources(resourceType));
|
|
40
|
+
});
|
|
41
|
+
let darkMode = $state(false);
|
|
42
|
+
let drawer = $state(undefined);
|
|
57
43
|
export function askNewResource() {
|
|
58
44
|
refreshCount += 1;
|
|
59
45
|
open = true;
|
|
@@ -77,7 +63,6 @@ export function askNewResource() {
|
|
|
77
63
|
on:refresh={async (e) => {
|
|
78
64
|
await loadResources(resourceType)
|
|
79
65
|
value = e.detail
|
|
80
|
-
valueSelect = { value, label: value }
|
|
81
66
|
open = false
|
|
82
67
|
}}
|
|
83
68
|
/>
|
|
@@ -105,7 +90,6 @@ export function askNewResource() {
|
|
|
105
90
|
on:refresh={async (e) => {
|
|
106
91
|
await loadResources(resourceType)
|
|
107
92
|
value = e.detail
|
|
108
|
-
valueSelect = { value, label: value }
|
|
109
93
|
drawer?.closeDrawer?.()
|
|
110
94
|
open = false
|
|
111
95
|
}}
|
|
@@ -141,7 +125,6 @@ export function askNewResource() {
|
|
|
141
125
|
const item = collection[0]
|
|
142
126
|
if (item) {
|
|
143
127
|
value = item.value
|
|
144
|
-
valueSelect = item
|
|
145
128
|
}
|
|
146
129
|
}}>Use existing</Button
|
|
147
130
|
>
|
|
@@ -151,15 +134,13 @@ export function askNewResource() {
|
|
|
151
134
|
{disabled}
|
|
152
135
|
{disablePortal}
|
|
153
136
|
bind:value={
|
|
154
|
-
() =>
|
|
137
|
+
() => value,
|
|
155
138
|
(v) => {
|
|
156
139
|
value = v
|
|
157
|
-
valueSelect = collection.find((x) => x.value === v)
|
|
158
140
|
}
|
|
159
141
|
}
|
|
160
142
|
onClear={() => {
|
|
161
143
|
value = undefined
|
|
162
|
-
valueSelect = undefined
|
|
163
144
|
}}
|
|
164
145
|
clearable
|
|
165
146
|
items={collection}
|
|
@@ -168,7 +149,7 @@ export function askNewResource() {
|
|
|
168
149
|
/>
|
|
169
150
|
{/if}
|
|
170
151
|
<div class="flex gap-1 items-center">
|
|
171
|
-
{#if
|
|
152
|
+
{#if value && expressOAuthSetup}
|
|
172
153
|
<Button
|
|
173
154
|
{disabled}
|
|
174
155
|
color="light"
|
|
@@ -177,15 +158,13 @@ export function askNewResource() {
|
|
|
177
158
|
btnClasses="w-8 px-0.5 py-1.5"
|
|
178
159
|
iconOnly
|
|
179
160
|
on:click={async () => {
|
|
180
|
-
if (
|
|
181
|
-
value = undefined
|
|
161
|
+
if (value) {
|
|
182
162
|
await ResourceService.deleteResource({
|
|
183
163
|
workspace: appViewerContext?.workspace ?? $workspaceStore,
|
|
184
|
-
path:
|
|
164
|
+
path: value
|
|
185
165
|
})
|
|
186
|
-
await loadResources(resourceType)
|
|
187
166
|
value = undefined
|
|
188
|
-
|
|
167
|
+
await loadResources(resourceType)
|
|
189
168
|
}
|
|
190
169
|
}}
|
|
191
170
|
startIcon={{ icon: Link2Off }}
|
|
@@ -1,28 +1,12 @@
|
|
|
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 LightweightResourcePicker: $$__sveltets_2_IsomorphicComponent<{
|
|
15
|
-
initialValue?: string | undefined;
|
|
16
|
-
value?: string | undefined;
|
|
1
|
+
interface Props {
|
|
2
|
+
value: string | undefined;
|
|
17
3
|
resourceType?: string | undefined;
|
|
18
4
|
disablePortal?: boolean;
|
|
19
5
|
expressOAuthSetup?: boolean;
|
|
20
6
|
disabled?: boolean;
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
[evt: string]: CustomEvent<any>;
|
|
24
|
-
}, {}, {
|
|
7
|
+
}
|
|
8
|
+
declare const LightweightResourcePicker: import("svelte").Component<Props, {
|
|
25
9
|
askNewResource: () => void;
|
|
26
|
-
},
|
|
27
|
-
type LightweightResourcePicker =
|
|
10
|
+
}, "value">;
|
|
11
|
+
type LightweightResourcePicker = ReturnType<typeof LightweightResourcePicker>;
|
|
28
12
|
export default LightweightResourcePicker;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
<script lang="ts"
|
|
1
|
+
<script lang="ts" module>"use strict";
|
|
2
2
|
const s3LogPrefixes = [
|
|
3
3
|
'\n[windmill] Previous logs have been saved to object storage at logs/',
|
|
4
4
|
'\n[windmill] Previous logs have been saved to disk at logs/',
|
|
@@ -15,34 +15,17 @@ import AnsiUp from 'ansi_up';
|
|
|
15
15
|
import NoWorkerWithTagWarning from './runs/NoWorkerWithTagWarning.svelte';
|
|
16
16
|
import { JobService } from '../gen';
|
|
17
17
|
import Tooltip from './Tooltip.svelte';
|
|
18
|
-
|
|
19
|
-
export let isLoading;
|
|
20
|
-
export let duration = undefined;
|
|
21
|
-
export let mem = undefined;
|
|
22
|
-
export let wrapperClass = '';
|
|
23
|
-
export let jobId = undefined;
|
|
24
|
-
export let tag;
|
|
25
|
-
export let small = false;
|
|
26
|
-
export let drawerOpen = false;
|
|
27
|
-
export let noMaxH = false;
|
|
28
|
-
export let noAutoScroll = false;
|
|
29
|
-
export let download = true;
|
|
30
|
-
export let customEmptyMessage = 'No logs are available yet';
|
|
18
|
+
let { content, isLoading, duration = undefined, mem = undefined, wrapperClass = '', jobId = undefined, tag, small = false, drawerOpen = $bindable(false), noMaxH = false, noAutoScroll = false, download = true, customEmptyMessage = 'No logs are available yet', tagLabel = undefined } = $props();
|
|
31
19
|
// @ts-ignore
|
|
32
|
-
const ansi_up = new AnsiUp();
|
|
20
|
+
const ansi_up = $state(new AnsiUp());
|
|
33
21
|
ansi_up.use_classes = true;
|
|
34
|
-
let scroll = true;
|
|
35
|
-
let div = null;
|
|
22
|
+
let scroll = $state(true);
|
|
23
|
+
let div = $state(null);
|
|
36
24
|
// let downloadStartUrl: string | undefined = undefined
|
|
37
25
|
let LOG_INC = 10000;
|
|
38
|
-
let LOG_LIMIT = LOG_INC;
|
|
39
|
-
let lastJobId = jobId;
|
|
40
|
-
let loadedFromObjectStore = '';
|
|
41
|
-
$: if (jobId !== lastJobId) {
|
|
42
|
-
lastJobId = jobId;
|
|
43
|
-
loadedFromObjectStore = '';
|
|
44
|
-
LOG_LIMIT = LOG_INC;
|
|
45
|
-
}
|
|
26
|
+
let LOG_LIMIT = $state(LOG_INC);
|
|
27
|
+
let lastJobId = $state(jobId);
|
|
28
|
+
let loadedFromObjectStore = $state('');
|
|
46
29
|
function findPrefixIndex(truncateContent) {
|
|
47
30
|
let index = s3LogPrefixes.findIndex((x) => truncateContent.startsWith(x));
|
|
48
31
|
if (index == -1) {
|
|
@@ -73,9 +56,6 @@ function tooltipText(prefixIndex) {
|
|
|
73
56
|
return 'Attempt to download the logs from disk. Assume there is a shared disk between the workers and the server at /tmp/windmill/logs. Since you are on EE, you can alternatively use an object store such as S3 configured in the instance settings instead of a shared volume..';
|
|
74
57
|
}
|
|
75
58
|
}
|
|
76
|
-
$: truncatedContent = truncateContent(content, loadedFromObjectStore, LOG_LIMIT);
|
|
77
|
-
$: prefixIndex = findPrefixIndex(truncatedContent);
|
|
78
|
-
$: downloadStartUrl = findStartUrl(truncatedContent, prefixIndex);
|
|
79
59
|
function truncateContent(jobContent, loadedFromObjectStore, limit) {
|
|
80
60
|
let content = loadedFromObjectStore + (jobContent ?? '');
|
|
81
61
|
if (content.length > limit) {
|
|
@@ -83,14 +63,11 @@ function truncateContent(jobContent, loadedFromObjectStore, limit) {
|
|
|
83
63
|
}
|
|
84
64
|
return content;
|
|
85
65
|
}
|
|
86
|
-
$: truncatedContent && scrollToBottom();
|
|
87
|
-
$: html = ansi_up.ansi_to_html(downloadStartUrl && prefixIndex != undefined
|
|
88
|
-
? truncatedContent.substring(truncatedContent.substring(1).indexOf('\n') + 2, truncatedContent.length)
|
|
89
|
-
: truncatedContent);
|
|
90
66
|
export function scrollToBottom() {
|
|
67
|
+
// console.log('scrollToBottom', scroll, div)
|
|
91
68
|
scroll && setTimeout(() => div?.scroll({ top: div?.scrollHeight, behavior: 'smooth' }), 100);
|
|
92
69
|
}
|
|
93
|
-
let logViewer;
|
|
70
|
+
let logViewer = $state();
|
|
94
71
|
async function getStoreLogs() {
|
|
95
72
|
if (downloadStartUrl) {
|
|
96
73
|
scroll = false;
|
|
@@ -111,13 +88,28 @@ async function getStoreLogs() {
|
|
|
111
88
|
function showMoreTruncate(len) {
|
|
112
89
|
scroll = false;
|
|
113
90
|
LOG_LIMIT += LOG_INC;
|
|
114
|
-
console.log(LOG_INC, len, LOG_LIMIT);
|
|
115
91
|
let newC = truncateContent(content, loadedFromObjectStore, LOG_LIMIT);
|
|
116
92
|
let newlineIndex = newC.indexOf('\n') + 1;
|
|
117
93
|
if (newlineIndex < LOG_INC / 2) {
|
|
118
94
|
LOG_LIMIT -= newlineIndex;
|
|
119
95
|
}
|
|
120
96
|
}
|
|
97
|
+
$effect.pre(() => {
|
|
98
|
+
if (jobId !== lastJobId) {
|
|
99
|
+
lastJobId = jobId;
|
|
100
|
+
loadedFromObjectStore = '';
|
|
101
|
+
LOG_LIMIT = LOG_INC;
|
|
102
|
+
}
|
|
103
|
+
});
|
|
104
|
+
let truncatedContent = $derived(truncateContent(content, loadedFromObjectStore, LOG_LIMIT));
|
|
105
|
+
let prefixIndex = $derived(findPrefixIndex(truncatedContent));
|
|
106
|
+
let downloadStartUrl = $derived(findStartUrl(truncatedContent, prefixIndex));
|
|
107
|
+
$effect.pre(() => {
|
|
108
|
+
truncatedContent && scrollToBottom();
|
|
109
|
+
});
|
|
110
|
+
let html = $derived(ansi_up.ansi_to_html(downloadStartUrl && prefixIndex != undefined
|
|
111
|
+
? truncatedContent.substring(truncatedContent.substring(1).indexOf('\n') + 2, truncatedContent.length)
|
|
112
|
+
: truncatedContent));
|
|
121
113
|
</script>
|
|
122
114
|
|
|
123
115
|
<Drawer bind:this={logViewer} bind:open={drawerOpen} size="900px">
|
|
@@ -154,10 +146,10 @@ function showMoreTruncate(len) {
|
|
|
154
146
|
>{#if content}{@const len =
|
|
155
147
|
(content?.length ?? 0) +
|
|
156
148
|
(loadedFromObjectStore?.length ?? 0)}{#if downloadStartUrl}<button
|
|
157
|
-
|
|
149
|
+
onclick={getStoreLogs}
|
|
158
150
|
>Show more... <Tooltip>{tooltipText(prefixIndex)}</Tooltip></button
|
|
159
151
|
><br />{:else if len > LOG_LIMIT}(truncated to the last {LOG_LIMIT} characters)...<br
|
|
160
|
-
/><button
|
|
152
|
+
/><button onclick={() => showMoreTruncate(len)}>Show more..</button><br
|
|
161
153
|
/>{/if}{@html html}{:else if isLoading}Waiting for job to start...{:else}No logs are available yet{/if}</pre
|
|
162
154
|
>
|
|
163
155
|
</div>
|
|
@@ -182,7 +174,7 @@ function showMoreTruncate(len) {
|
|
|
182
174
|
</a>
|
|
183
175
|
</div>
|
|
184
176
|
{/if}
|
|
185
|
-
<button
|
|
177
|
+
<button onclick={logViewer.openDrawer}><Expand size="12" /></button>
|
|
186
178
|
{#if !noAutoScroll}
|
|
187
179
|
<div
|
|
188
180
|
class="{small ? '' : 'py-2'} pr-2 {small
|
|
@@ -200,8 +192,10 @@ function showMoreTruncate(len) {
|
|
|
200
192
|
<Loader2 class="animate-spin" />
|
|
201
193
|
{#if tag}
|
|
202
194
|
<div class="flex flex-row items-center gap-1">
|
|
203
|
-
<div class="text-secondary {small ? '!text-2xs' : '!text-xs'}"
|
|
204
|
-
|
|
195
|
+
<div class="text-secondary {small ? '!text-2xs' : '!text-xs'}"
|
|
196
|
+
>{tagLabel ?? 'tag'}: {tag}</div
|
|
197
|
+
>
|
|
198
|
+
<NoWorkerWithTagWarning {tagLabel} {tag} />
|
|
205
199
|
</div>
|
|
206
200
|
{/if}
|
|
207
201
|
</div>
|
|
@@ -222,10 +216,10 @@ function showMoreTruncate(len) {
|
|
|
222
216
|
<pre class="whitespace-pre break-words {small ? '!text-2xs' : '!text-xs'} w-full p-2"
|
|
223
217
|
>{#if content}{@const len =
|
|
224
218
|
(content?.length ?? 0) +
|
|
225
|
-
(loadedFromObjectStore?.length ?? 0)}{#if downloadStartUrl}<button
|
|
219
|
+
(loadedFromObjectStore?.length ?? 0)}{#if downloadStartUrl}<button onclick={getStoreLogs}
|
|
226
220
|
>Show more... <Tooltip>{tooltipText(prefixIndex)}</Tooltip></button
|
|
227
221
|
><br />{:else if len > LOG_LIMIT}(truncated to the last {LOG_LIMIT} characters)<br
|
|
228
|
-
/><button
|
|
222
|
+
/><button onclick={() => showMoreTruncate(len)}>Show more..</button><br />{/if}<span
|
|
229
223
|
>{@html html}</span
|
|
230
224
|
>{:else if !isLoading}<span>{customEmptyMessage}</span>{/if}</pre
|
|
231
225
|
>
|
|
@@ -1,17 +1,4 @@
|
|
|
1
|
-
interface
|
|
2
|
-
new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
|
|
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 LogViewer: $$__sveltets_2_IsomorphicComponent<{
|
|
1
|
+
interface Props {
|
|
15
2
|
content: string | undefined;
|
|
16
3
|
isLoading: boolean;
|
|
17
4
|
duration?: number | undefined;
|
|
@@ -25,11 +12,10 @@ declare const LogViewer: $$__sveltets_2_IsomorphicComponent<{
|
|
|
25
12
|
noAutoScroll?: boolean;
|
|
26
13
|
download?: boolean;
|
|
27
14
|
customEmptyMessage?: string;
|
|
28
|
-
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
}, {}, {
|
|
15
|
+
tagLabel?: string;
|
|
16
|
+
}
|
|
17
|
+
declare const LogViewer: import("svelte").Component<Props, {
|
|
32
18
|
scrollToBottom: () => void;
|
|
33
|
-
},
|
|
34
|
-
type LogViewer =
|
|
19
|
+
}, "drawerOpen">;
|
|
20
|
+
type LogViewer = ReturnType<typeof LogViewer>;
|
|
35
21
|
export default LogViewer;
|
|
@@ -5,7 +5,7 @@ import OutputPickerInner from './flows/propPicker/OutputPickerInner.svelte';
|
|
|
5
5
|
import { Pane, Splitpanes } from 'svelte-splitpanes';
|
|
6
6
|
import { getContext } from 'svelte';
|
|
7
7
|
import { getStringError } from './copilot/chat/utils';
|
|
8
|
-
let { lang, editor, diffEditor, loopStatus = undefined, lastJob = undefined, scriptProgress = $bindable(undefined), testJob = undefined, mod, testIsLoading = false, disableMock = false, disableHistory = false, onUpdateMock, loadingJob = false } = $props();
|
|
8
|
+
let { lang, editor, diffEditor, loopStatus = undefined, lastJob = undefined, scriptProgress = $bindable(undefined), testJob = undefined, mod, testIsLoading = false, disableMock = false, disableHistory = false, onUpdateMock, loadingJob = false, tagLabel = undefined } = $props();
|
|
9
9
|
const { testSteps } = getContext('FlowEditorContext');
|
|
10
10
|
let selectedJob = $state(undefined);
|
|
11
11
|
let preview = $state(undefined);
|
|
@@ -58,6 +58,7 @@ const logJob = $derived(testJob ?? selectedJob);
|
|
|
58
58
|
isLoading={false}
|
|
59
59
|
tag={undefined}
|
|
60
60
|
customEmptyMessage="Using pinned data"
|
|
61
|
+
{tagLabel}
|
|
61
62
|
/>
|
|
62
63
|
{:else}
|
|
63
64
|
<LogViewer
|
|
@@ -68,6 +69,7 @@ const logJob = $derived(testJob ?? selectedJob);
|
|
|
68
69
|
content={logJob?.logs}
|
|
69
70
|
isLoading={(testIsLoading && logJob?.['running'] == false) || loadingJob}
|
|
70
71
|
tag={logJob?.tag}
|
|
72
|
+
{tagLabel}
|
|
71
73
|
/>
|
|
72
74
|
{/if}
|
|
73
75
|
</Pane>
|
|
@@ -21,6 +21,7 @@ interface Props {
|
|
|
21
21
|
return_value?: unknown;
|
|
22
22
|
}) => void;
|
|
23
23
|
loadingJob?: boolean;
|
|
24
|
+
tagLabel?: string;
|
|
24
25
|
}
|
|
25
26
|
declare const ModulePreviewResultViewer: import("svelte").Component<Props, {}, "scriptProgress">;
|
|
26
27
|
type ModulePreviewResultViewer = ReturnType<typeof ModulePreviewResultViewer>;
|