windmill-components 1.383.8 → 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 +13 -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 +142 -128
- 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 +2 -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 +75 -37
- package/package/components/SimpleEditor.svelte.d.ts +9 -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 +4 -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/editor/settingsPanel/inputEditor/JsonEditor.svelte +2 -1
- package/package/components/apps/editor/settingsPanel/inputEditor/JsonEditor.svelte.d.ts +1 -0
- 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/build_workers.d.ts +1 -1
- package/package/components/build_workers.js +16 -122
- 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/FlowModuleComponent.svelte +1 -0
- 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/vscode.js +1 -1
- 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 +12 -4
- package/package/stores.d.ts +5 -1
- package/package/stores.js +7 -2
- package/package.json +18 -9
|
@@ -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}
|
|
@@ -24,6 +24,8 @@ export let jobId = undefined;
|
|
|
24
24
|
export let tag;
|
|
25
25
|
export let small = false;
|
|
26
26
|
export let drawerOpen = false;
|
|
27
|
+
export let noMaxH = false;
|
|
28
|
+
export let noAutoScroll = false;
|
|
27
29
|
// @ts-ignore
|
|
28
30
|
const ansi_up = new AnsiUp();
|
|
29
31
|
let scroll = true;
|
|
@@ -118,17 +120,19 @@ function showMoreTruncate(len) {
|
|
|
118
120
|
<Drawer bind:this={logViewer} bind:open={drawerOpen} size="900px">
|
|
119
121
|
<DrawerContent title="Expanded Logs" on:close={logViewer.closeDrawer}>
|
|
120
122
|
<svelte:fragment slot="actions">
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
123
|
+
{#if jobId}
|
|
124
|
+
<Button
|
|
125
|
+
href="{base}/api/w/{$workspaceStore}/jobs_u/get_logs/{jobId}"
|
|
126
|
+
download="windmill_logs_{jobId}.txt"
|
|
127
|
+
color="light"
|
|
128
|
+
size="xs"
|
|
129
|
+
startIcon={{
|
|
130
|
+
icon: Download
|
|
131
|
+
}}
|
|
132
|
+
>
|
|
133
|
+
Download
|
|
134
|
+
</Button>
|
|
135
|
+
{/if}
|
|
132
136
|
|
|
133
137
|
<Button
|
|
134
138
|
on:click={() => copyToClipboard(content)}
|
|
@@ -160,28 +164,32 @@ function showMoreTruncate(len) {
|
|
|
160
164
|
<div class="relative w-full h-full {wrapperClass}">
|
|
161
165
|
<div
|
|
162
166
|
bind:this={div}
|
|
163
|
-
class="w-full h-full overflow-auto relative bg-surface-secondary max-h-screen"
|
|
167
|
+
class="w-full h-full overflow-auto relative bg-surface-secondary {noMaxH ? '' : 'max-h-screen'}"
|
|
164
168
|
>
|
|
165
169
|
<div class="sticky z-10 top-0 right-0 w-full flex flex-row-reverse justify-between text-sm">
|
|
166
170
|
<div class="flex gap-2 pl-0.5 bg-surface-secondary">
|
|
167
|
-
|
|
168
|
-
<
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
171
|
+
{#if jobId}
|
|
172
|
+
<div class="flex items-center">
|
|
173
|
+
<a
|
|
174
|
+
class="text-primary pb-0.5"
|
|
175
|
+
target="_blank"
|
|
176
|
+
href="{base}/api/w/{$workspaceStore}/jobs_u/get_logs/{jobId}"
|
|
177
|
+
download="windmill_logs_{jobId}.txt"
|
|
178
|
+
><Download size="14" />
|
|
179
|
+
</a>
|
|
180
|
+
</div>
|
|
181
|
+
{/if}
|
|
176
182
|
<button on:click={logViewer.openDrawer}><Expand size="12" /></button>
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
? '
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
183
|
+
{#if !noAutoScroll}
|
|
184
|
+
<div
|
|
185
|
+
class="{small ? '' : 'py-2'} pr-2 {small
|
|
186
|
+
? '!text-2xs'
|
|
187
|
+
: '!text-xs'} flex gap-2 text-tertiary items-center"
|
|
188
|
+
>
|
|
189
|
+
Auto scroll
|
|
190
|
+
<input class="windmillapp" type="checkbox" bind:checked={scroll} />
|
|
191
|
+
</div>
|
|
192
|
+
{/if}
|
|
185
193
|
</div>
|
|
186
194
|
</div>
|
|
187
195
|
{#if isLoading}
|
|
@@ -10,6 +10,8 @@ declare const __propDef: {
|
|
|
10
10
|
tag: string | undefined;
|
|
11
11
|
small?: boolean | undefined;
|
|
12
12
|
drawerOpen?: boolean | undefined;
|
|
13
|
+
noMaxH?: boolean | undefined;
|
|
14
|
+
noAutoScroll?: boolean | undefined;
|
|
13
15
|
scrollToBottom?: (() => void) | undefined;
|
|
14
16
|
};
|
|
15
17
|
events: {
|
|
@@ -86,7 +86,7 @@ export async function reset() {
|
|
|
86
86
|
while (await pathExists(metaToPath(newMeta), kind)) {
|
|
87
87
|
disabled = true;
|
|
88
88
|
error = 'finding an available name...';
|
|
89
|
-
newMeta.name = random_adj() + '_' + fullNamePlaceholder ?? namePlaceholder;
|
|
89
|
+
newMeta.name = random_adj() + '_' + (fullNamePlaceholder ?? namePlaceholder);
|
|
90
90
|
}
|
|
91
91
|
error = '';
|
|
92
92
|
disabled = false;
|
|
@@ -232,7 +232,7 @@ async function addFolder() {
|
|
|
232
232
|
function setDirty() {
|
|
233
233
|
!dirty && (dirty = true);
|
|
234
234
|
}
|
|
235
|
-
const openSearchWithPrefilledText = getContext(
|
|
235
|
+
const openSearchWithPrefilledText = getContext('openSearchWithPrefilledText');
|
|
236
236
|
</script>
|
|
237
237
|
|
|
238
238
|
<Drawer bind:this={newFolder}>
|
|
@@ -427,7 +427,7 @@ const openSearchWithPrefilledText = getContext("openSearchWithPrefilledText");
|
|
|
427
427
|
variant="border"
|
|
428
428
|
color="dark"
|
|
429
429
|
on:click={() => {
|
|
430
|
-
openSearchWithPrefilledText(
|
|
430
|
+
openSearchWithPrefilledText('#')
|
|
431
431
|
}}
|
|
432
432
|
startIcon={{ icon: SearchCode }}
|
|
433
433
|
>
|