windmill-components 1.383.9 → 1.389.1
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/assets/app.css +25 -1
- package/package/components/ArgInput.svelte +2 -1
- package/package/components/ChangeInstanceUsername.svelte +9 -108
- package/package/components/ChangeInstanceUsernameInner.svelte +112 -0
- package/package/components/ChangeInstanceUsernameInner.svelte.d.ts +21 -0
- package/package/components/DiffDrawer.svelte +27 -20
- package/package/components/DiffEditor.svelte +5 -1
- package/package/components/DisplayResult.svelte +39 -9
- package/package/components/DropdownV2.svelte +4 -26
- package/package/components/DropdownV2.svelte.d.ts +9 -1
- package/package/components/DropdownV2Inner.svelte +42 -0
- package/package/components/DropdownV2Inner.svelte.d.ts +40 -0
- package/package/components/Editor.svelte +24 -4
- package/package/components/Editor.svelte.d.ts +5 -4
- package/package/components/EditorBar.svelte +9 -11
- package/package/components/EditorSettings.svelte +44 -0
- package/package/components/EditorSettings.svelte.d.ts +17 -0
- package/package/components/EditorTheme.svelte +1 -1
- package/package/components/ErrorOrRecoveryHandler.svelte +27 -20
- package/package/components/FlowBuilder.svelte +17 -3
- package/package/components/FlowBuilder.svelte.d.ts +3 -0
- package/package/components/FlowGraphViewerStep.svelte +1 -1
- package/package/components/FlowStatusViewer.svelte +3 -1
- package/package/components/FlowStatusViewer.svelte.d.ts +1 -0
- package/package/components/FlowStatusViewerInner.svelte +5 -2
- package/package/components/FlowViewerInner.svelte +3 -7
- package/package/components/FormatOnSave.svelte +12 -29
- package/package/components/GraphqlSchemaViewer.svelte +1 -1
- package/package/components/GraphqlSchemaViewer.svelte.d.ts +1 -1
- package/package/components/HighlightCode.svelte +3 -0
- package/package/components/InstanceNameEditor.svelte +64 -0
- package/package/components/InstanceNameEditor.svelte.d.ts +23 -0
- package/package/components/LightweightArgInput.svelte +6 -11
- package/package/components/LogViewer.svelte +37 -29
- package/package/components/LogViewer.svelte.d.ts +2 -0
- package/package/components/ObjectResourceInput.svelte +1 -1
- package/package/components/ObjectResourceInput.svelte.d.ts +1 -0
- package/package/components/Path.svelte +3 -3
- package/package/components/QueueMetricsDrawer.svelte +6 -218
- package/package/components/QueueMetricsDrawer.svelte.d.ts +2 -3
- package/package/components/QueueMetricsDrawerInner.svelte +211 -0
- package/package/components/QueueMetricsDrawerInner.svelte.d.ts +15 -0
- package/package/components/ResourceEditorDrawer.svelte +14 -11
- package/package/components/ResourceEditorDrawer.svelte.d.ts +1 -1
- package/package/components/ResultJobLoader.svelte.d.ts +1 -1
- package/package/components/S3FilePicker.svelte +20 -8
- package/package/components/ScheduleEditorInner.svelte +497 -469
- package/package/components/ScriptBuilder.svelte +12 -1
- package/package/components/ScriptBuilder.svelte.d.ts +3 -0
- package/package/components/ScriptEditor.svelte +1 -0
- package/package/components/ScriptEditor.svelte.d.ts +2 -1
- package/package/components/ServiceLogsInner.svelte +511 -0
- package/package/components/ServiceLogsInner.svelte.d.ts +20 -0
- package/package/components/SimpleEditor.svelte +27 -2
- package/package/components/SimpleEditor.svelte.d.ts +5 -3
- package/package/components/Summary.svelte +33 -31
- package/package/components/Summary.svelte.d.ts +1 -0
- package/package/components/SuperadminSettings.svelte +28 -10
- package/package/components/TemplateEditor.svelte +1 -1
- package/package/components/TestJobLoader.svelte.d.ts +1 -1
- package/package/components/VimMode.svelte +16 -0
- package/package/components/VimMode.svelte.d.ts +14 -0
- package/package/components/WorkerTagPicker.svelte +4 -1
- package/package/components/WorkspaceGroup.svelte +139 -68
- package/package/components/WorkspaceGroup.svelte.d.ts +3 -0
- package/package/components/apps/components/display/table/AppAggridExplorerTable.svelte +19 -2
- package/package/components/apps/components/display/table/AppAggridInfiniteTable.svelte +1 -0
- package/package/components/apps/components/display/table/AppAggridInfiniteTable.svelte.d.ts +2 -1
- package/package/components/apps/components/display/table/AppAggridInfiniteTableEe.svelte +2 -0
- package/package/components/apps/components/display/table/AppAggridInfiniteTableEe.svelte.d.ts +2 -1
- package/package/components/apps/components/display/table/AppAggridTable.svelte +45 -3
- package/package/components/apps/components/display/table/AppAggridTable.svelte.d.ts +2 -1
- package/package/components/apps/components/display/table/AppAggridTableEe.svelte +2 -0
- package/package/components/apps/components/display/table/AppAggridTableEe.svelte.d.ts +2 -1
- package/package/components/apps/editor/AppEditor.svelte +239 -92
- package/package/components/apps/editor/AppEditorBottomPanel.svelte +22 -0
- package/package/components/apps/editor/AppEditorBottomPanel.svelte.d.ts +24 -0
- package/package/components/apps/editor/AppEditorHeader.svelte +44 -2
- package/package/components/apps/editor/AppEditorHeader.svelte.d.ts +9 -0
- package/package/components/apps/editor/AppExportButton.svelte +1 -1
- package/package/components/apps/editor/AppPreview.svelte +4 -0
- package/package/components/apps/editor/DeploymentHistory.svelte +7 -3
- package/package/components/apps/editor/GridEditor.svelte +4 -13
- package/package/components/apps/editor/RunnableJobPanel.svelte +25 -58
- package/package/components/apps/editor/RunnableJobPanel.svelte.d.ts +10 -1
- package/package/components/apps/editor/RunnalbeJobPanelInner.svelte +56 -0
- package/package/components/apps/editor/RunnalbeJobPanelInner.svelte.d.ts +18 -0
- package/package/components/apps/editor/SubGridEditor.svelte +3 -1
- package/package/components/apps/editor/component/Component.svelte +26 -4
- package/package/components/apps/editor/component/Component.svelte.d.ts +1 -0
- package/package/components/apps/editor/component/components.d.ts +5 -0
- package/package/components/apps/editor/componentsPanel/CssProperty.svelte +2 -0
- package/package/components/apps/editor/componentsPanel/tailwindUtils.js +267 -1
- package/package/components/apps/editor/contextPanel/ContextPanel.svelte +9 -1
- package/package/components/apps/editor/contextPanel/ContextPanel.svelte.d.ts +2 -0
- package/package/components/apps/editor/inlineScriptsPanel/CacheTtlPopup.svelte +1 -0
- package/package/components/apps/editor/inlineScriptsPanel/InlineScriptEditor.svelte +3 -0
- package/package/components/apps/editor/inlineScriptsPanel/InlineScriptsPanel.svelte +7 -2
- package/package/components/apps/editor/inlineScriptsPanel/InlineScriptsPanel.svelte.d.ts +5 -1
- package/package/components/apps/editor/inlineScriptsPanel/InlineScriptsPanelList.svelte +14 -2
- package/package/components/apps/editor/inlineScriptsPanel/InlineScriptsPanelList.svelte.d.ts +1 -0
- package/package/components/apps/editor/settingsPanel/ComponentPanel.svelte +25 -5
- package/package/components/apps/editor/settingsPanel/HideButton.svelte +47 -0
- package/package/components/apps/editor/settingsPanel/HideButton.svelte.d.ts +22 -0
- package/package/components/apps/editor/settingsPanel/TableActions.svelte +43 -4
- package/package/components/apps/editor/settingsPanel/TableActions.svelte.d.ts +2 -1
- package/package/components/apps/svelte-grid/Grid.svelte +6 -2
- package/package/components/apps/svelte-grid/Grid.svelte.d.ts +1 -0
- package/package/components/apps/svelte-grid/MoveResize.svelte +11 -3
- package/package/components/apps/svelte-grid/MoveResize.svelte.d.ts +1 -0
- package/package/components/apps/svelte-grid/utils/item.d.ts +4 -1
- package/package/components/apps/svelte-grid/utils/item.js +11 -4
- package/package/components/common/button/Button.svelte.d.ts +2 -2
- package/package/components/common/calendarPicker/CalendarPicker.svelte +6 -2
- package/package/components/common/calendarPicker/CalendarPicker.svelte.d.ts +2 -0
- package/package/components/common/drawer/ConditionalPortal.svelte +2 -1
- package/package/components/common/drawer/ConditionalPortal.svelte.d.ts +1 -0
- package/package/components/common/languageIcons/LanguageIcon.svelte +5 -2
- package/package/components/common/popup/Popup.svelte +2 -1
- package/package/components/common/popup/Popup.svelte.d.ts +1 -0
- package/package/components/common/table/AppRow.svelte +11 -8
- package/package/components/common/table/AppRow.svelte.d.ts +1 -2
- package/package/components/common/table/FlowRow.svelte +3 -3
- package/package/components/common/table/FlowRow.svelte.d.ts +1 -2
- package/package/components/common/table/RawAppRow.svelte +3 -3
- package/package/components/common/table/RawAppRow.svelte.d.ts +1 -2
- package/package/components/common/table/ScriptRow.svelte +3 -3
- package/package/components/common/table/ScriptRow.svelte.d.ts +1 -2
- package/package/components/copilot/CodeCompletionStatus.svelte +21 -46
- package/package/components/copilot/StepGen.svelte +2 -1
- package/package/components/custom_ui.d.ts +4 -1
- package/package/components/flows/CreateActionsApp.svelte +11 -8
- package/package/components/flows/CreateActionsFlow.svelte +11 -8
- package/package/components/flows/FlowEditor.svelte +1 -2
- package/package/components/flows/FlowEditor.svelte.d.ts +0 -1
- package/package/components/flows/FlowHistory.svelte +6 -3
- package/package/components/flows/content/FlowModuleScript.svelte +15 -11
- package/package/components/flows/content/FlowSettings.svelte +1 -4
- package/package/components/flows/content/ScriptEditorDrawer.svelte +3 -0
- package/package/components/flows/header/FlowYamlEditor.svelte +55 -0
- package/package/components/flows/header/FlowYamlEditor.svelte.d.ts +17 -0
- package/package/components/flows/map/InsertTriggerButton.svelte +1 -1
- package/package/components/flows/map/InsertTriggerButton.svelte.d.ts +1 -0
- package/package/components/flows/map/VirtualItem.svelte +1 -1
- package/package/components/flows/pickers/PickHubScript.svelte +1 -0
- package/package/components/flows/types.d.ts +7 -6
- package/package/components/flows/utils.d.ts +9 -0
- package/package/components/flows/utils.js +21 -0
- package/package/components/graph/graphBuilder.js +1 -0
- package/package/components/graph/model.d.ts +1 -0
- package/package/components/graph/renderers/edges/BaseEdge.svelte +16 -0
- package/package/components/graph/renderers/nodes/BranchOneStart.svelte +1 -1
- package/package/components/graph/renderers/nodes/NoBranchNode.svelte +5 -1
- package/package/components/graph/renderers/nodes/NoBranchNode.svelte.d.ts +1 -0
- package/package/components/home/Item.svelte +0 -17
- package/package/components/home/deploy_ui.d.ts +2 -0
- package/package/components/home/deploy_ui.js +21 -0
- package/package/components/icons/RustIcon.svelte +70 -0
- package/package/components/icons/RustIcon.svelte.d.ts +25 -0
- package/package/components/icons/rust-logo.svg +1 -0
- package/package/components/instanceSettings.js +2 -2
- package/package/components/monaco_keybindings.d.ts +3 -0
- package/package/components/monaco_keybindings.js +9 -0
- package/package/components/preview/FlowPreviewStatus.svelte +6 -2
- package/package/components/runs/JobLoader.svelte +12 -3
- package/package/components/runs/JobLoader.svelte.d.ts +1 -1
- package/package/components/runs/ManuelDatePicker.svelte +31 -44
- package/package/components/runs/ManuelDatePicker.svelte.d.ts +6 -2
- package/package/components/runs/RunsFilter.svelte +4 -1
- package/package/components/runs/RunsFilter.svelte.d.ts +1 -0
- package/package/components/search/GlobalSearchModal.svelte +36 -25
- package/package/components/wizards/TableActionsWizard.svelte +84 -0
- package/package/components/wizards/TableActionsWizard.svelte.d.ts +22 -0
- package/package/editorUtils.js +2 -0
- package/package/gen/core/OpenAPI.js +1 -1
- package/package/gen/schemas.gen.d.ts +8 -8
- package/package/gen/schemas.gen.js +8 -8
- package/package/gen/services.gen.d.ts +4 -0
- package/package/gen/services.gen.js +16 -0
- package/package/gen/types.gen.d.ts +20 -8
- package/package/infer.d.ts +1 -1
- package/package/infer.js +48 -7
- package/package/script_helpers.d.ts +1 -0
- package/package/script_helpers.js +39 -1
- package/package/scripts.d.ts +1 -1
- package/package/scripts.js +11 -3
- package/package/stores.d.ts +5 -1
- package/package/stores.js +7 -2
- package/package.json +13 -7
|
@@ -3,11 +3,11 @@ import '@codingame/monaco-vscode-standalone-languages';
|
|
|
3
3
|
import '@codingame/monaco-vscode-standalone-typescript-language-features';
|
|
4
4
|
import { type Preview } from '../gen';
|
|
5
5
|
import type { Text } from 'yjs';
|
|
6
|
-
import { editor as meditor } from 'monaco-editor';
|
|
6
|
+
import { editor as meditor, type IDisposable } from 'monaco-editor';
|
|
7
7
|
declare const __propDef: {
|
|
8
8
|
props: {
|
|
9
9
|
[x: string]: any;
|
|
10
|
-
lang: 'typescript' | 'python' | 'go' | 'shell' | 'sql' | 'graphql' | 'powershell' | 'php' | 'css' | 'javascript';
|
|
10
|
+
lang: 'typescript' | 'python' | 'go' | 'shell' | 'sql' | 'graphql' | 'powershell' | 'php' | 'css' | 'javascript' | 'rust';
|
|
11
11
|
code?: string | undefined;
|
|
12
12
|
cmdEnterAction?: (() => void) | undefined;
|
|
13
13
|
formatAction?: (() => void) | undefined;
|
|
@@ -38,7 +38,7 @@ declare const __propDef: {
|
|
|
38
38
|
insertAtBeginning?: ((code: string) => void) | undefined;
|
|
39
39
|
insertAtLine?: ((code: string, line: number) => void) | undefined;
|
|
40
40
|
getSelectedLines?: (() => string | undefined) | undefined;
|
|
41
|
-
onDidChangeCursorSelection?: ((f: (e: meditor.ICursorSelectionChangedEvent) => void) =>
|
|
41
|
+
onDidChangeCursorSelection?: ((f: (e: meditor.ICursorSelectionChangedEvent) => void) => IDisposable | undefined) | undefined;
|
|
42
42
|
show?: (() => void) | undefined;
|
|
43
43
|
hide?: (() => void) | undefined;
|
|
44
44
|
setCode?: ((ncode: string, noHistory?: boolean) => void) | undefined;
|
|
@@ -48,6 +48,7 @@ declare const __propDef: {
|
|
|
48
48
|
addAction?: ((id: string, label: string, callback: (editor: meditor.IStandaloneCodeEditor) => void, keybindings?: number[]) => void) | undefined;
|
|
49
49
|
};
|
|
50
50
|
events: {
|
|
51
|
+
saveDraft: CustomEvent<any>;
|
|
51
52
|
change: CustomEvent<any>;
|
|
52
53
|
blur: CustomEvent<any>;
|
|
53
54
|
focus: CustomEvent<any>;
|
|
@@ -67,7 +68,7 @@ export default class Editor extends SvelteComponent<EditorProps, EditorEvents, E
|
|
|
67
68
|
get insertAtBeginning(): (code: string) => void;
|
|
68
69
|
get insertAtLine(): (code: string, line: number) => void;
|
|
69
70
|
get getSelectedLines(): () => string | undefined;
|
|
70
|
-
get onDidChangeCursorSelection(): (f: (e: meditor.ICursorSelectionChangedEvent) => void) =>
|
|
71
|
+
get onDidChangeCursorSelection(): (f: (e: meditor.ICursorSelectionChangedEvent) => void) => IDisposable | undefined;
|
|
71
72
|
get show(): () => void;
|
|
72
73
|
get hide(): () => void;
|
|
73
74
|
get setCode(): (ncode: string, noHistory?: boolean) => void;
|
|
@@ -19,15 +19,14 @@ import { createEventDispatcher } from 'svelte';
|
|
|
19
19
|
import { sendUserToast } from '../toast';
|
|
20
20
|
import { getScriptByPath, scriptLangToEditorLang } from '../scripts';
|
|
21
21
|
import Toggle from './Toggle.svelte';
|
|
22
|
-
import FormatOnSave from './FormatOnSave.svelte';
|
|
23
22
|
import { DollarSign, History, Library, Link, Package, Plus, RotateCw, Save, Users } from 'lucide-svelte';
|
|
24
23
|
import { capitalize, toCamel } from '../utils';
|
|
25
24
|
import ScriptVersionHistory from './ScriptVersionHistory.svelte';
|
|
26
25
|
import ScriptGen from './copilot/ScriptGen.svelte';
|
|
27
26
|
import { getResetCode } from '../script_helpers';
|
|
28
|
-
import CodeCompletionStatus from './copilot/CodeCompletionStatus.svelte';
|
|
29
27
|
import Popover from './Popover.svelte';
|
|
30
28
|
import ResourceEditorDrawer from './ResourceEditorDrawer.svelte';
|
|
29
|
+
import EditorSettings from './EditorSettings.svelte';
|
|
31
30
|
export let lang;
|
|
32
31
|
export let editor;
|
|
33
32
|
export let websocketAlive;
|
|
@@ -63,7 +62,8 @@ $: showContextVarPicker = [
|
|
|
63
62
|
'bun',
|
|
64
63
|
'bunnative',
|
|
65
64
|
'nativets',
|
|
66
|
-
'php'
|
|
65
|
+
'php',
|
|
66
|
+
'rust'
|
|
67
67
|
].includes(lang ?? '');
|
|
68
68
|
$: showVarPicker = [
|
|
69
69
|
'python3',
|
|
@@ -74,7 +74,8 @@ $: showVarPicker = [
|
|
|
74
74
|
'bun',
|
|
75
75
|
'bunnative',
|
|
76
76
|
'nativets',
|
|
77
|
-
'php'
|
|
77
|
+
'php',
|
|
78
|
+
'rust'
|
|
78
79
|
].includes(lang ?? '');
|
|
79
80
|
$: showResourcePicker = [
|
|
80
81
|
'python3',
|
|
@@ -85,7 +86,8 @@ $: showResourcePicker = [
|
|
|
85
86
|
'bun',
|
|
86
87
|
'bunnative',
|
|
87
88
|
'nativets',
|
|
88
|
-
'php'
|
|
89
|
+
'php',
|
|
90
|
+
'rust'
|
|
89
91
|
].includes(lang ?? '');
|
|
90
92
|
$: showResourceTypePicker =
|
|
91
93
|
['typescript', 'javascript'].includes(scriptLangToEditorLang(lang)) ||
|
|
@@ -625,15 +627,11 @@ $res = json_decode(curl_exec($ch));`)
|
|
|
625
627
|
</div>
|
|
626
628
|
{/if}
|
|
627
629
|
|
|
628
|
-
{#if customUi?.autoformatting != false}
|
|
629
|
-
<FormatOnSave />
|
|
630
|
-
{/if}
|
|
631
630
|
{#if customUi?.aiGen != false}
|
|
632
631
|
<ScriptGen {editor} {diffEditor} {lang} {iconOnly} {args} />
|
|
633
632
|
{/if}
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
{/if}
|
|
633
|
+
|
|
634
|
+
<EditorSettings {customUi} />
|
|
637
635
|
</div>
|
|
638
636
|
</div>
|
|
639
637
|
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
<script>import { Settings } from 'lucide-svelte';
|
|
2
|
+
import FormatOnSave from './FormatOnSave.svelte';
|
|
3
|
+
import VimMode from './VimMode.svelte';
|
|
4
|
+
import { Button, Popup } from './common';
|
|
5
|
+
import CodeCompletionStatus from './copilot/CodeCompletionStatus.svelte';
|
|
6
|
+
export let customUi = {};
|
|
7
|
+
</script>
|
|
8
|
+
|
|
9
|
+
{#if customUi?.autoformatting != false || customUi?.vimMode != false || customUi?.aiCompletion != false}
|
|
10
|
+
<Popup
|
|
11
|
+
floatingConfig={{ strategy: 'absolute', placement: 'bottom-end' }}
|
|
12
|
+
containerClasses="border rounded-lg shadow-lg p-4 bg-surface"
|
|
13
|
+
>
|
|
14
|
+
<svelte:fragment slot="button">
|
|
15
|
+
<Button
|
|
16
|
+
btnClasses="text-tertiary"
|
|
17
|
+
color="light"
|
|
18
|
+
size="xs"
|
|
19
|
+
nonCaptureEvent={true}
|
|
20
|
+
startIcon={{ icon: Settings }}
|
|
21
|
+
iconOnly
|
|
22
|
+
title="Editor settings"
|
|
23
|
+
/>
|
|
24
|
+
</svelte:fragment>
|
|
25
|
+
|
|
26
|
+
<div class="flex flex-col gap-y-2">
|
|
27
|
+
{#if customUi?.autoformatting != false}
|
|
28
|
+
<div>
|
|
29
|
+
<FormatOnSave />
|
|
30
|
+
</div>
|
|
31
|
+
{/if}
|
|
32
|
+
{#if customUi?.vimMode != false}
|
|
33
|
+
<div>
|
|
34
|
+
<VimMode />
|
|
35
|
+
</div>
|
|
36
|
+
{/if}
|
|
37
|
+
{#if customUi?.aiCompletion != false}
|
|
38
|
+
<div>
|
|
39
|
+
<CodeCompletionStatus />
|
|
40
|
+
</div>
|
|
41
|
+
{/if}
|
|
42
|
+
</div>
|
|
43
|
+
</Popup>
|
|
44
|
+
{/if}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { SvelteComponent } from "svelte";
|
|
2
|
+
import type { EditorBarUi } from './custom_ui';
|
|
3
|
+
declare const __propDef: {
|
|
4
|
+
props: {
|
|
5
|
+
customUi?: EditorBarUi | undefined;
|
|
6
|
+
};
|
|
7
|
+
events: {
|
|
8
|
+
[evt: string]: CustomEvent<any>;
|
|
9
|
+
};
|
|
10
|
+
slots: {};
|
|
11
|
+
};
|
|
12
|
+
export type EditorSettingsProps = typeof __propDef.props;
|
|
13
|
+
export type EditorSettingsEvents = typeof __propDef.events;
|
|
14
|
+
export type EditorSettingsSlots = typeof __propDef.slots;
|
|
15
|
+
export default class EditorSettings extends SvelteComponent<EditorSettingsProps, EditorSettingsEvents, EditorSettingsSlots> {
|
|
16
|
+
}
|
|
17
|
+
export {};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<script>import { isInitialized } from './vscode';
|
|
2
|
-
import { editor as meditor } from 'monaco-editor
|
|
2
|
+
import { editor as meditor } from 'monaco-editor';
|
|
3
3
|
import { onMount } from 'svelte';
|
|
4
4
|
import DarkModeObserver from './DarkModeObserver.svelte';
|
|
5
5
|
function onThemeChange() {
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
<script>import { Alert, Button, Tab, Tabs } from './common';
|
|
2
|
-
import SchemaForm from './SchemaForm.svelte';
|
|
3
2
|
import ScriptPicker from './ScriptPicker.svelte';
|
|
4
3
|
import Toggle from './Toggle.svelte';
|
|
5
4
|
import { base } from '../base';
|
|
@@ -207,13 +206,17 @@ $: handlerPath &&
|
|
|
207
206
|
{/if}
|
|
208
207
|
{#if handlerPath}
|
|
209
208
|
<p class="font-semibold text-sm mt-4 mb-2">Extra arguments</p>
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
209
|
+
{#await import('./SchemaForm.svelte')}
|
|
210
|
+
<Loader2 class="animate-spin" />
|
|
211
|
+
{:then Module}
|
|
212
|
+
<Module.default
|
|
213
|
+
disabled={!isEditable}
|
|
214
|
+
schema={customHandlerSchema}
|
|
215
|
+
bind:args={handlerExtraArgs}
|
|
216
|
+
shouldHideNoInputs
|
|
217
|
+
class="text-xs"
|
|
218
|
+
/>
|
|
219
|
+
{/await}
|
|
217
220
|
{#if customHandlerSchema && customHandlerSchema.properties && Object.keys(customHandlerSchema.properties).length === 0}
|
|
218
221
|
<div class="text-xs texg-gray-700">This error handler takes no extra arguments</div>
|
|
219
222
|
{/if}
|
|
@@ -236,19 +239,23 @@ $: handlerPath &&
|
|
|
236
239
|
/>
|
|
237
240
|
</span>
|
|
238
241
|
{#if workspaceConnectedToSlack}
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
242
|
+
{#await import('./SchemaForm.svelte')}
|
|
243
|
+
<Loader2 class="animate-spin" />
|
|
244
|
+
{:then Module}
|
|
245
|
+
<Module.default
|
|
246
|
+
disabled={!$enterpriseLicense || !isSlackHandler(handlerPath)}
|
|
247
|
+
schema={slackHandlerSchema}
|
|
248
|
+
schemaSkippedValues={['slack']}
|
|
249
|
+
schemaFieldTooltip={{
|
|
250
|
+
channel: 'Slack channel name without the "#" - example: "windmill-alerts"'
|
|
251
|
+
}}
|
|
252
|
+
bind:args={handlerExtraArgs}
|
|
253
|
+
shouldHideNoInputs
|
|
254
|
+
class="text-xs"
|
|
255
|
+
/>
|
|
256
|
+
{/await}
|
|
250
257
|
{:else if workspaceConnectedToSlack == undefined}
|
|
251
|
-
<Loader2 class="animate-spin" />
|
|
258
|
+
<Loader2 class="animate-spin" size={10} />
|
|
252
259
|
{/if}
|
|
253
260
|
{#if $enterpriseLicense && isSlackHandler(handlerPath)}
|
|
254
261
|
{#if workspaceConnectedToSlack == false}
|
|
@@ -35,6 +35,7 @@ import { MenuItem } from '@rgossiaux/svelte-headlessui';
|
|
|
35
35
|
import { twMerge } from 'tailwind-merge';
|
|
36
36
|
import CustomPopover from './CustomPopover.svelte';
|
|
37
37
|
import Summary from './Summary.svelte';
|
|
38
|
+
import FlowYamlEditor from './flows/header/FlowYamlEditor.svelte';
|
|
38
39
|
export let initialPath = '';
|
|
39
40
|
export let pathStoreInit = undefined;
|
|
40
41
|
export let newFlow;
|
|
@@ -46,6 +47,7 @@ export let flowStateStore;
|
|
|
46
47
|
export let savedFlow = undefined;
|
|
47
48
|
export let diffDrawer = undefined;
|
|
48
49
|
export let customUi = {};
|
|
50
|
+
export let disableAi = false;
|
|
49
51
|
$: setContext('customUi', customUi);
|
|
50
52
|
const dispatch = createEventDispatcher();
|
|
51
53
|
async function createSchedule(path) {
|
|
@@ -161,6 +163,7 @@ async function saveDraft(forceSave = false) {
|
|
|
161
163
|
}
|
|
162
164
|
catch (error) {
|
|
163
165
|
sendUserToast(`Error while saving the flow as a draft: ${error.body || error.message}`, true);
|
|
166
|
+
dispatch('saveDraftError', error);
|
|
164
167
|
}
|
|
165
168
|
loadingDraft = false;
|
|
166
169
|
}
|
|
@@ -271,6 +274,7 @@ async function saveFlow(deploymentMsg) {
|
|
|
271
274
|
dispatch('deploy', $pathStore);
|
|
272
275
|
}
|
|
273
276
|
catch (err) {
|
|
277
|
+
dispatch('deployError', err);
|
|
274
278
|
sendUserToast(`The flow could not be saved: ${err.body}`, true);
|
|
275
279
|
loadingSave = false;
|
|
276
280
|
}
|
|
@@ -827,6 +831,7 @@ $: $copilotCurrentStepStore === undefined && blurCopilot();
|
|
|
827
831
|
let renderCount = 0;
|
|
828
832
|
let flowTutorials = undefined;
|
|
829
833
|
let jsonViewerDrawer = undefined;
|
|
834
|
+
let yamlEditorDrawer = undefined;
|
|
830
835
|
let flowHistory = undefined;
|
|
831
836
|
export function triggerTutorial() {
|
|
832
837
|
const urlParams = new URLSearchParams(window.location.search);
|
|
@@ -860,6 +865,11 @@ function onCustomUiChange(customUi) {
|
|
|
860
865
|
displayName: 'Export',
|
|
861
866
|
icon: FileJson,
|
|
862
867
|
action: () => jsonViewerDrawer?.openDrawer()
|
|
868
|
+
},
|
|
869
|
+
{
|
|
870
|
+
displayName: 'Edit in YAML',
|
|
871
|
+
icon: FileJson,
|
|
872
|
+
action: () => yamlEditorDrawer?.openDrawer()
|
|
863
873
|
}
|
|
864
874
|
]
|
|
865
875
|
: [])
|
|
@@ -879,6 +889,7 @@ let msgInput = undefined;
|
|
|
879
889
|
{#if $pathStore}
|
|
880
890
|
<FlowHistory bind:this={flowHistory} path={$pathStore} on:historyRestore />
|
|
881
891
|
{/if}
|
|
892
|
+
<FlowYamlEditor bind:drawer={yamlEditorDrawer} />
|
|
882
893
|
<FlowImportExportMenu bind:drawer={jsonViewerDrawer} />
|
|
883
894
|
<FlowCopilotInputsModal
|
|
884
895
|
on:confirmed={async () => {
|
|
@@ -903,7 +914,10 @@ let msgInput = undefined;
|
|
|
903
914
|
<div transition:fade class="absolute inset-0 bg-gray-500 bg-opacity-75 z-[900] !m-0" />
|
|
904
915
|
{/if}
|
|
905
916
|
<div class="flex w-full max-w-md gap-4 items-center">
|
|
906
|
-
<Summary
|
|
917
|
+
<Summary
|
|
918
|
+
disabled={customUi?.topBar?.editableSummary == false}
|
|
919
|
+
bind:value={$flowStore.summary}
|
|
920
|
+
/>
|
|
907
921
|
|
|
908
922
|
<UndoRedo
|
|
909
923
|
undoProps={{ disabled: $history.index === 0 }}
|
|
@@ -1048,7 +1062,7 @@ let msgInput = undefined;
|
|
|
1048
1062
|
</div>
|
|
1049
1063
|
</Button>
|
|
1050
1064
|
{/if}
|
|
1051
|
-
{#if customUi?.topBar?.aiBuilder != false}
|
|
1065
|
+
{#if !disableAi && customUi?.topBar?.aiBuilder != false}
|
|
1052
1066
|
<FlowCopilotStatus
|
|
1053
1067
|
{copilotLoading}
|
|
1054
1068
|
bind:copilotStatus
|
|
@@ -1112,7 +1126,7 @@ let msgInput = undefined;
|
|
|
1112
1126
|
<!-- metadata -->
|
|
1113
1127
|
{#if $flowStateStore}
|
|
1114
1128
|
<FlowEditor
|
|
1115
|
-
|
|
1129
|
+
disableAi={disableAi || customUi?.stepInputs?.ai == false}
|
|
1116
1130
|
disableSettings={customUi?.settingsPanel === false}
|
|
1117
1131
|
{loading}
|
|
1118
1132
|
on:reload={() => {
|
|
@@ -19,6 +19,7 @@ declare const __propDef: {
|
|
|
19
19
|
}) | undefined;
|
|
20
20
|
diffDrawer?: DiffDrawer | undefined;
|
|
21
21
|
customUi?: FlowBuilderWhitelabelCustomUi | undefined;
|
|
22
|
+
disableAi?: boolean | undefined;
|
|
22
23
|
computeUnlockedSteps?: ((flow: Flow) => {
|
|
23
24
|
[k: string]: string;
|
|
24
25
|
}) | undefined;
|
|
@@ -30,7 +31,9 @@ declare const __propDef: {
|
|
|
30
31
|
saveInitial: CustomEvent<any>;
|
|
31
32
|
saveDraftOnlyAtNewPath: CustomEvent<any>;
|
|
32
33
|
saveDraft: CustomEvent<any>;
|
|
34
|
+
saveDraftError: CustomEvent<any>;
|
|
33
35
|
deploy: CustomEvent<any>;
|
|
36
|
+
deployError: CustomEvent<any>;
|
|
34
37
|
details: CustomEvent<any>;
|
|
35
38
|
} & {
|
|
36
39
|
[evt: string]: CustomEvent<any>;
|
|
@@ -186,7 +186,7 @@ let codeViewer;
|
|
|
186
186
|
</Button>
|
|
187
187
|
</div>
|
|
188
188
|
<iframe
|
|
189
|
-
class="w-full grow text-sm"
|
|
189
|
+
class="w-full grow text-sm h-full"
|
|
190
190
|
title="embedded script from hub"
|
|
191
191
|
frameborder="0"
|
|
192
192
|
src="{$hubBaseUrlStore}/embed/script/{stepDetail.value?.path?.substring(4)}"
|
|
@@ -11,6 +11,7 @@ export let hideFlowResult = false;
|
|
|
11
11
|
export let hideTimeline = false;
|
|
12
12
|
export let hideDownloadInGraph = false;
|
|
13
13
|
export let hideNodeDefinition = false;
|
|
14
|
+
export let hideJobId = false;
|
|
14
15
|
export let isOwner = false;
|
|
15
16
|
export let wideResults = false;
|
|
16
17
|
let lastJobId = jobId;
|
|
@@ -22,7 +23,8 @@ setContext('FlowStatusViewer', {
|
|
|
22
23
|
retryStatus,
|
|
23
24
|
hideDownloadInGraph,
|
|
24
25
|
hideNodeDefinition,
|
|
25
|
-
hideTimeline
|
|
26
|
+
hideTimeline,
|
|
27
|
+
hideJobId
|
|
26
28
|
});
|
|
27
29
|
function loadOwner(path) {
|
|
28
30
|
isOwner = loadIsOwner(path, $userStore, workspaceId ?? $workspaceStore);
|
|
@@ -11,6 +11,7 @@ declare const __propDef: {
|
|
|
11
11
|
hideTimeline?: boolean | undefined;
|
|
12
12
|
hideDownloadInGraph?: boolean | undefined;
|
|
13
13
|
hideNodeDefinition?: boolean | undefined;
|
|
14
|
+
hideJobId?: boolean | undefined;
|
|
14
15
|
isOwner?: boolean | undefined;
|
|
15
16
|
wideResults?: boolean | undefined;
|
|
16
17
|
};
|
|
@@ -818,8 +818,11 @@ let wrapperHeight = 0;
|
|
|
818
818
|
selectedNode = 'end'
|
|
819
819
|
stepDetail = 'end'
|
|
820
820
|
} else {
|
|
821
|
-
|
|
822
|
-
|
|
821
|
+
const mod = dfs(job?.raw_flow?.modules ?? [], (m) => m).find(
|
|
822
|
+
(m) => m?.id === e?.detail
|
|
823
|
+
)
|
|
824
|
+
stepDetail = mod
|
|
825
|
+
selectedNode = e?.detail
|
|
823
826
|
}
|
|
824
827
|
} else {
|
|
825
828
|
stepDetail = e.detail
|
|
@@ -6,13 +6,9 @@ import { ArrowDown, Clipboard } from 'lucide-svelte';
|
|
|
6
6
|
import YAML from 'yaml';
|
|
7
7
|
import { yaml } from 'svelte-highlight/languages';
|
|
8
8
|
import HighlightTheme from './HighlightTheme.svelte';
|
|
9
|
+
import { filteredContentForExport } from './flows/utils';
|
|
9
10
|
export let flow;
|
|
10
|
-
$: flowFiltered =
|
|
11
|
-
summary: flow.summary,
|
|
12
|
-
description: flow.description,
|
|
13
|
-
value: flow.value,
|
|
14
|
-
schema: flow.schema
|
|
15
|
-
};
|
|
11
|
+
$: flowFiltered = filteredContentForExport(flow);
|
|
16
12
|
let rawType = 'yaml';
|
|
17
13
|
function trimStringToLines(inputString, maxLines = 100) {
|
|
18
14
|
const lines = inputString?.split('\n') ?? [];
|
|
@@ -57,7 +53,7 @@ let maxLines = 100;
|
|
|
57
53
|
variant="border"
|
|
58
54
|
size="xs"
|
|
59
55
|
startIcon={{ icon: Clipboard }}
|
|
60
|
-
btnClasses="absolute top-2 right-2 w-min"
|
|
56
|
+
btnClasses="absolute top-2 right-2 w-min z-20"
|
|
61
57
|
>
|
|
62
58
|
Copy content
|
|
63
59
|
</Button>
|
|
@@ -1,33 +1,16 @@
|
|
|
1
|
-
<script>import {
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import Popover from './Popover.svelte';
|
|
5
|
-
import { getLocalSetting, storeLocalSetting } from '../utils';
|
|
6
|
-
import PaintbrushOff from './icons/PaintbrushOff.svelte';
|
|
7
|
-
const SETTING_NAME = 'formatOnSave';
|
|
8
|
-
function loadSetting() {
|
|
9
|
-
$formatOnSave = (getLocalSetting(SETTING_NAME) ?? 'true') == 'true';
|
|
10
|
-
}
|
|
1
|
+
<script>import { FORMAT_ON_SAVE_SETTING_NAME, formatOnSave } from '../stores';
|
|
2
|
+
import { storeLocalSetting } from '../utils';
|
|
3
|
+
import Toggle from './Toggle.svelte';
|
|
11
4
|
function storeSetting() {
|
|
12
|
-
$formatOnSave
|
|
13
|
-
storeLocalSetting(SETTING_NAME, $formatOnSave.toString());
|
|
5
|
+
storeLocalSetting(FORMAT_ON_SAVE_SETTING_NAME, $formatOnSave.toString());
|
|
14
6
|
}
|
|
15
|
-
loadSetting();
|
|
16
7
|
</script>
|
|
17
8
|
|
|
18
|
-
<
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
icon: !$formatOnSave ? PaintbrushOff : Paintbrush
|
|
27
|
-
}}
|
|
28
|
-
btnClasses="text-tertiary"
|
|
29
|
-
on:click={() => {
|
|
30
|
-
storeSetting()
|
|
31
|
-
}}
|
|
32
|
-
/>
|
|
33
|
-
</Popover>
|
|
9
|
+
<Toggle
|
|
10
|
+
size="xs"
|
|
11
|
+
bind:checked={$formatOnSave}
|
|
12
|
+
on:change={() => {
|
|
13
|
+
storeSetting()
|
|
14
|
+
}}
|
|
15
|
+
options={{ right: 'auto-formatting' }}
|
|
16
|
+
/>
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<script>import { BROWSER } from 'esm-env';
|
|
2
2
|
import { editor as meditor } from 'monaco-editor';
|
|
3
|
-
import 'monaco-
|
|
3
|
+
import '@codingame/monaco-vscode-standalone-languages';
|
|
4
4
|
import { onDestroy, onMount } from 'svelte';
|
|
5
5
|
let divEl = null;
|
|
6
6
|
let editor;
|
|
@@ -8,6 +8,7 @@ import javascript from 'svelte-highlight/languages/javascript';
|
|
|
8
8
|
import sql from 'svelte-highlight/languages/sql';
|
|
9
9
|
import powershell from 'svelte-highlight/languages/powershell';
|
|
10
10
|
import php from 'svelte-highlight/languages/php';
|
|
11
|
+
import rust from 'svelte-highlight/languages/rust';
|
|
11
12
|
import { Button } from './common';
|
|
12
13
|
import { copyToClipboard } from '../utils';
|
|
13
14
|
import { ClipboardCopy } from 'lucide-svelte';
|
|
@@ -47,6 +48,8 @@ function getLang(lang) {
|
|
|
47
48
|
return powershell;
|
|
48
49
|
case 'php':
|
|
49
50
|
return php;
|
|
51
|
+
case 'rust':
|
|
52
|
+
return rust;
|
|
50
53
|
default:
|
|
51
54
|
return typescript;
|
|
52
55
|
}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
<script>import { Pencil } from 'lucide-svelte';
|
|
2
|
+
import { createEventDispatcher } from 'svelte';
|
|
3
|
+
import Button from './common/button/Button.svelte';
|
|
4
|
+
import Popup from './common/popup/Popup.svelte';
|
|
5
|
+
import { offset, flip, shift } from 'svelte-floating-ui/dom';
|
|
6
|
+
import ChangeInstanceUsernameInner from './ChangeInstanceUsernameInner.svelte';
|
|
7
|
+
export let value;
|
|
8
|
+
export let email;
|
|
9
|
+
export let username = undefined;
|
|
10
|
+
export let automateUsernameCreation = false;
|
|
11
|
+
const dispatch = createEventDispatcher();
|
|
12
|
+
function save() {
|
|
13
|
+
dispatch('save', value);
|
|
14
|
+
}
|
|
15
|
+
</script>
|
|
16
|
+
|
|
17
|
+
<Popup
|
|
18
|
+
let:close
|
|
19
|
+
floatingConfig={{
|
|
20
|
+
strategy: 'fixed',
|
|
21
|
+
placement: 'left-end',
|
|
22
|
+
middleware: [offset(8), flip(), shift()]
|
|
23
|
+
}}
|
|
24
|
+
>
|
|
25
|
+
<svelte:fragment slot="button">
|
|
26
|
+
<Button nonCaptureEvent={true} size="xs" color="light" endIcon={{ icon: Pencil }}>Edit</Button>
|
|
27
|
+
</svelte:fragment>
|
|
28
|
+
<div class="flex flex-col gap-8 max-w-sm">
|
|
29
|
+
{#if automateUsernameCreation && username}
|
|
30
|
+
<ChangeInstanceUsernameInner {email} {username} on:renamed />
|
|
31
|
+
{/if}
|
|
32
|
+
<label class="block text-primary">
|
|
33
|
+
<div class="pb-1 text-xs text-secondary">Name</div>
|
|
34
|
+
<div class="flex w-full">
|
|
35
|
+
<input
|
|
36
|
+
type="text"
|
|
37
|
+
bind:value
|
|
38
|
+
class="!w-auto grow"
|
|
39
|
+
on:click|stopPropagation={() => {}}
|
|
40
|
+
on:keydown|stopPropagation
|
|
41
|
+
on:keypress|stopPropagation={({ key }) => {
|
|
42
|
+
if (key === 'Enter') {
|
|
43
|
+
save()
|
|
44
|
+
close(null)
|
|
45
|
+
}
|
|
46
|
+
}}
|
|
47
|
+
/>
|
|
48
|
+
</div>
|
|
49
|
+
<Button
|
|
50
|
+
size="xs"
|
|
51
|
+
color="blue"
|
|
52
|
+
buttonType="button"
|
|
53
|
+
btnClasses="mt-2 "
|
|
54
|
+
aria-label="Save ID"
|
|
55
|
+
on:click={() => {
|
|
56
|
+
save()
|
|
57
|
+
close(null)
|
|
58
|
+
}}
|
|
59
|
+
>
|
|
60
|
+
Update name
|
|
61
|
+
</Button>
|
|
62
|
+
</label>
|
|
63
|
+
</div>
|
|
64
|
+
</Popup>
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { SvelteComponent } from "svelte";
|
|
2
|
+
declare const __propDef: {
|
|
3
|
+
props: {
|
|
4
|
+
value: string | undefined;
|
|
5
|
+
email: string;
|
|
6
|
+
username?: string | undefined;
|
|
7
|
+
automateUsernameCreation?: boolean | undefined;
|
|
8
|
+
};
|
|
9
|
+
events: {
|
|
10
|
+
renamed: CustomEvent<any>;
|
|
11
|
+
keydown: KeyboardEvent;
|
|
12
|
+
save: CustomEvent<any>;
|
|
13
|
+
} & {
|
|
14
|
+
[evt: string]: CustomEvent<any>;
|
|
15
|
+
};
|
|
16
|
+
slots: {};
|
|
17
|
+
};
|
|
18
|
+
export type InstanceNameEditorProps = typeof __propDef.props;
|
|
19
|
+
export type InstanceNameEditorEvents = typeof __propDef.events;
|
|
20
|
+
export type InstanceNameEditorSlots = typeof __propDef.slots;
|
|
21
|
+
export default class InstanceNameEditor extends SvelteComponent<InstanceNameEditorProps, InstanceNameEditorEvents, InstanceNameEditorSlots> {
|
|
22
|
+
}
|
|
23
|
+
export {};
|
|
@@ -248,11 +248,9 @@ function addItemByItemsType() {
|
|
|
248
248
|
dispatch('focus')
|
|
249
249
|
}}
|
|
250
250
|
type="number"
|
|
251
|
-
class={
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
: 'border !border-red-700 !border-opacity-70 focus:!border-red-700 focus:!border-opacity-30'
|
|
255
|
-
)}
|
|
251
|
+
class={valid && error == ''
|
|
252
|
+
? ''
|
|
253
|
+
: 'border !border-red-700 !border-opacity-70 focus:!border-red-700 focus:!border-opacity-30'}
|
|
256
254
|
placeholder={placeholder ?? defaultValue ?? ''}
|
|
257
255
|
bind:value
|
|
258
256
|
min={extra['min']}
|
|
@@ -264,12 +262,9 @@ function addItemByItemsType() {
|
|
|
264
262
|
on:pointerdown={(e) => {
|
|
265
263
|
e?.stopPropagation()
|
|
266
264
|
}}
|
|
267
|
-
class={
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
: 'border !border-red-700 !border-opacity-70 focus:!border-red-700 focus:!border-opacity-30',
|
|
271
|
-
'w-full'
|
|
272
|
-
)}
|
|
265
|
+
class={valid && error == ''
|
|
266
|
+
? ''
|
|
267
|
+
: 'border !border-red-700 !border-opacity-70 focus:!border-red-700 focus:!border-opacity-30'}
|
|
273
268
|
bind:checked={value}
|
|
274
269
|
/>
|
|
275
270
|
{#if type == 'boolean' && value == undefined}
|