windmill-components 1.352.8 → 1.362.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/assets/app.css +8 -45
- package/package/components/ApiConnectForm.svelte +1 -0
- package/package/components/ArgInput.svelte +5 -1
- package/package/components/ChangeInstanceUsername.svelte +20 -12
- package/package/components/ContentSearchInner.svelte +359 -0
- package/package/components/{ContentSearch.svelte.d.ts → ContentSearchInner.svelte.d.ts} +9 -5
- package/package/components/CustomPopover.svelte +73 -0
- package/package/components/CustomPopover.svelte.d.ts +29 -0
- package/package/components/DateTimeInput.svelte +29 -3
- package/package/components/DateTimeInput.svelte.d.ts +4 -0
- package/package/components/Dev.svelte +8 -3
- package/package/components/DurationMs.svelte +2 -2
- package/package/components/FlowBuilder.svelte +122 -24
- package/package/components/FlowBuilder.svelte.d.ts +1 -0
- package/package/components/FlowGraphViewerStep.svelte +2 -2
- package/package/components/FlowJobResult.svelte +5 -3
- package/package/components/FlowStatusViewer.svelte +4 -3
- package/package/components/FlowStatusViewerInner.svelte +265 -160
- package/package/components/FlowStatusViewerInner.svelte.d.ts +15 -2
- package/package/components/HighlightTheme.svelte +75 -77
- package/package/components/InputTransformForm.svelte +2 -0
- package/package/components/JobArgs.svelte +59 -44
- package/package/components/JobArgs.svelte.d.ts +2 -0
- package/package/components/LightweightArgInput.svelte +27 -2
- package/package/components/Path.svelte +3 -8
- package/package/components/Popover.svelte +1 -1
- package/package/components/ResourceEditor.svelte +6 -3
- package/package/components/ResourceEditor.svelte.d.ts +2 -0
- package/package/components/ResourceEditorDrawer.svelte +4 -1
- package/package/components/ResourcePicker.svelte +1 -0
- package/package/components/RunChart.svelte +6 -3
- package/package/components/RunChart.svelte.d.ts +1 -0
- package/package/components/RunForm.svelte +24 -23
- package/package/components/RunForm.svelte.d.ts +0 -2
- package/package/components/SavedInputs.svelte +50 -39
- package/package/components/ScheduleEditorInner.svelte +26 -4
- package/package/components/ScriptBuilder.svelte +47 -22
- package/package/components/ScriptBuilder.svelte.d.ts +1 -0
- package/package/components/SearchItems.svelte +5 -4
- package/package/components/Summary.svelte +74 -0
- package/package/components/Summary.svelte.d.ts +16 -0
- package/package/components/apps/components/display/AppMarkdown.svelte +3 -2
- package/package/components/apps/components/display/AppMenu.svelte +2 -2
- package/package/components/apps/components/display/AppNavbar.svelte +94 -0
- package/package/components/apps/components/display/AppNavbar.svelte.d.ts +24 -0
- package/package/components/apps/components/display/AppNavbarItem.svelte +146 -0
- package/package/components/apps/components/display/AppNavbarItem.svelte.d.ts +27 -0
- package/package/components/apps/components/display/ResolveNavbarItemPath.svelte +21 -0
- package/package/components/apps/components/display/ResolveNavbarItemPath.svelte.d.ts +20 -0
- package/package/components/apps/components/display/dbtable/AppDbExplorer.svelte +16 -0
- package/package/components/apps/components/display/table/AppAggridExplorerTable.svelte +12 -16
- package/package/components/apps/components/display/table/AppAggridExplorerTable.svelte.d.ts +1 -0
- package/package/components/apps/components/display/table/AppAggridInfiniteTable.svelte +5 -0
- package/package/components/apps/components/display/table/AppAggridTable.svelte +28 -6
- package/package/components/apps/components/display/table/AppAggridTableActions.svelte +68 -43
- package/package/components/apps/components/inputs/AppDateSelect.svelte +284 -0
- package/package/components/apps/components/inputs/AppDateSelect.svelte.d.ts +21 -0
- package/package/components/apps/components/inputs/AppDateTimeInput.svelte +2 -0
- package/package/components/apps/components/inputs/AppFileInput.svelte +22 -27
- package/package/components/apps/components/inputs/AppFileInput.svelte.d.ts +1 -0
- package/package/components/apps/components/inputs/AppTextInput.svelte +1 -1
- package/package/components/apps/components/layout/AppDecisionTree.svelte +32 -30
- package/package/components/apps/components/layout/AppModal.svelte +17 -6
- package/package/components/apps/editor/AppDeploymentHistory.svelte +2 -3
- package/package/components/apps/editor/AppDeploymentHistory.svelte.d.ts +3 -2
- package/package/components/apps/editor/AppEditor.svelte +9 -2
- package/package/components/apps/editor/AppEditorHeader.svelte +7 -10
- package/package/components/apps/editor/AppPreview.svelte +12 -3
- package/package/components/apps/editor/AppPreview.svelte.d.ts +2 -0
- package/package/components/apps/editor/DecisionTreeDebug.svelte +92 -68
- package/package/components/apps/editor/DeploymentHistory.svelte +0 -2
- package/package/components/apps/editor/appUtils.d.ts +1 -0
- package/package/components/apps/editor/appUtils.js +17 -0
- package/package/components/apps/editor/component/Component.svelte +23 -0
- package/package/components/apps/editor/component/components.d.ts +205 -3
- package/package/components/apps/editor/component/components.js +160 -1
- package/package/components/apps/editor/component/default-codes.js +13 -13
- package/package/components/apps/editor/component/sets.js +4 -2
- package/package/components/apps/editor/componentsPanel/ComponentList.svelte +12 -12
- package/package/components/apps/editor/componentsPanel/cssUtils.js +39 -3
- package/package/components/apps/editor/componentsPanel/quickStyleProperties.js +6 -0
- package/package/components/apps/editor/contextPanel/ComponentOutput.svelte +2 -2
- package/package/components/apps/editor/contextPanel/ContextPanel.svelte +6 -0
- package/package/components/apps/editor/contextPanel/components/OutputHeader.svelte +11 -0
- package/package/components/apps/editor/inlineScriptsPanel/InlineScriptsPanelList.svelte +4 -0
- package/package/components/apps/editor/settingsPanel/ArrayStaticInputEditor.svelte +21 -8
- package/package/components/apps/editor/settingsPanel/ComponentPanel.svelte +64 -20
- package/package/components/apps/editor/settingsPanel/ContextVariables.svelte +48 -15
- package/package/components/apps/editor/settingsPanel/ContextVariables.svelte.d.ts +1 -0
- package/package/components/apps/editor/settingsPanel/DecisionTreeGraphEditor.svelte +25 -5
- package/package/components/apps/editor/settingsPanel/DecisionTreeGraphNode.svelte +2 -1
- package/package/components/apps/editor/settingsPanel/DecisionTreeGraphNode.svelte.d.ts +1 -0
- package/package/components/apps/editor/settingsPanel/DocLink.svelte +33 -0
- package/package/components/apps/editor/settingsPanel/DocLink.svelte.d.ts +19 -0
- package/package/components/apps/editor/settingsPanel/GridNavbar.svelte +192 -0
- package/package/components/apps/editor/settingsPanel/GridNavbar.svelte.d.ts +18 -0
- package/package/components/apps/editor/settingsPanel/GridTab.svelte +2 -2
- package/package/components/apps/editor/settingsPanel/RefreshDatabaseStudioTable.svelte +17 -0
- package/package/components/apps/editor/settingsPanel/RefreshDatabaseStudioTable.svelte.d.ts +16 -0
- package/package/components/apps/editor/settingsPanel/TableActions.svelte +81 -38
- package/package/components/apps/editor/settingsPanel/decisionTree/DecisionTreePreview.svelte +12 -5
- package/package/components/apps/editor/settingsPanel/inputEditor/IconSelectInput.svelte +11 -12
- package/package/components/apps/editor/settingsPanel/inputEditor/IconSelectInput.svelte.d.ts +4 -2
- package/package/components/apps/editor/settingsPanel/inputEditor/StaticInputEditor.svelte +4 -1
- package/package/components/apps/editor/settingsPanel/secondaryMenu/SecondaryMenu.svelte +7 -1
- package/package/components/apps/inputType.d.ts +2 -2
- package/package/components/apps/svelte-select/lib/Select.svelte +2 -3
- package/package/components/apps/types.d.ts +3 -0
- package/package/components/auditLogs/AuditLogsTable.svelte +2 -2
- package/package/components/common/CloseButton.svelte +10 -10
- package/package/components/common/CloseButton.svelte.d.ts +6 -14
- package/package/components/common/calendarPicker/CalendarPicker.svelte +5 -0
- package/package/components/common/calendarPicker/CalendarPicker.svelte.d.ts +2 -0
- package/package/components/common/confirmationModal/UnsavedConfirmationModal.svelte +7 -1
- package/package/components/common/fileInput/FileInput.svelte +2 -0
- package/package/components/common/fileInput/FileInput.svelte.d.ts +1 -0
- package/package/components/common/popup/Popup.svelte +4 -3
- package/package/components/common/popup/Popup.svelte.d.ts +1 -0
- package/package/components/common/table/AppRow.svelte +3 -10
- package/package/components/common/table/FlowRow.svelte +12 -1
- package/package/components/copilot/IteratorGen.svelte +1 -1
- package/package/components/copilot/PredicateGen.svelte +1 -1
- package/package/components/copilot/StepInputGen.svelte +8 -3
- package/package/components/copilot/StepInputsGen.svelte +5 -2
- package/package/components/details/WebhooksPanel.svelte +32 -1
- package/package/components/details/WebhooksPanel.svelte.d.ts +2 -11
- package/package/components/flows/FlowHistory.svelte +208 -0
- package/package/components/flows/FlowHistory.svelte.d.ts +21 -0
- package/package/components/flows/content/FlowBranchesAllWrapper.svelte +1 -1
- package/package/components/flows/content/FlowBranchesOneWrapper.svelte +1 -1
- package/package/components/flows/content/FlowEditorPanel.svelte +1 -1
- package/package/components/flows/content/FlowLoop.svelte +23 -26
- package/package/components/flows/content/FlowModuleComponent.svelte +2 -18
- package/package/components/flows/content/FlowModuleEarlyStop.svelte +10 -4
- package/package/components/flows/content/FlowModuleHeader.svelte +3 -4
- package/package/components/flows/content/FlowModuleScript.svelte +1 -1
- package/package/components/flows/content/FlowModuleSleep.svelte +1 -0
- package/package/components/flows/content/FlowModuleSuspend.svelte +1 -1
- package/package/components/flows/content/SuspendDrawer.svelte +7 -7
- package/package/components/flows/flowStateUtils.js +2 -1
- package/package/components/flows/flowStore.js +1 -1
- package/package/components/flows/header/FlowImportExportMenu.svelte +3 -16
- package/package/components/flows/header/FlowImportExportMenu.svelte.d.ts +4 -1
- package/package/components/flows/map/FlowJobsMenu.svelte +69 -0
- package/package/components/flows/map/FlowJobsMenu.svelte.d.ts +22 -0
- package/package/components/flows/map/FlowModuleSchemaItem.svelte +7 -4
- package/package/components/flows/map/FlowModuleSchemaItem.svelte.d.ts +1 -0
- package/package/components/flows/map/MapItem.svelte +20 -0
- package/package/components/flows/map/MapItem.svelte.d.ts +9 -0
- package/package/components/flows/map/VirtualItem.svelte +4 -2
- package/package/components/flows/map/VirtualItem.svelte.d.ts +1 -0
- package/package/components/flows/previousResults.d.ts +9 -0
- package/package/components/flows/previousResults.js +42 -8
- package/package/components/flows/propPicker/PropPickerWrapper.svelte +2 -0
- package/package/components/flows/propPicker/PropPickerWrapper.svelte.d.ts +1 -0
- package/package/components/flows/types.d.ts +1 -1
- package/package/components/graph/FlowGraph.svelte +80 -42
- package/package/components/graph/FlowGraph.svelte.d.ts +1 -0
- package/package/components/graph/model.d.ts +6 -1
- package/package/components/graph/svelvet/container/controllers/middleware.js +4 -4
- package/package/components/graph/svelvet/container/views/GraphView.svelte +2 -0
- package/package/components/graph/svelvet/edges/views/Edges/EdgeText.svelte +24 -25
- package/package/components/graph/util.d.ts +1 -1
- package/package/components/graph/util.js +1 -2
- package/package/components/home/ItemsList.svelte +22 -19
- package/package/components/jobs/JobPreview.svelte +11 -2
- package/package/components/propertyPicker/PropPicker.svelte +30 -0
- package/package/components/propertyPicker/PropPickerResult.svelte +14 -1
- package/package/components/propertyPicker/PropPickerResult.svelte.d.ts +1 -0
- package/package/components/runs/JobLoader.svelte +21 -8
- package/package/components/runs/JobLoader.svelte.d.ts +2 -0
- package/package/components/runs/JobPreview.svelte +5 -1
- package/package/components/runs/RunRow.svelte +12 -8
- package/package/components/runs/RunsFilter.svelte +2 -4
- package/package/components/runs/RunsFilter.svelte.d.ts +0 -1
- package/package/components/runs/RunsTable.svelte +63 -29
- package/package/components/runs/RunsTable.svelte.d.ts +1 -0
- package/package/components/schema/EditableSchemaWrapper.svelte +12 -0
- package/package/components/schema/EditableSchemaWrapper.svelte.d.ts +3 -0
- package/package/components/schema/PropertyEditor.svelte +1 -1
- package/package/components/search/GlobalSearchModal.svelte +559 -0
- package/package/components/search/GlobalSearchModal.svelte.d.ts +17 -0
- package/package/components/search/QuickMenuItem.svelte +76 -0
- package/package/components/search/QuickMenuItem.svelte.d.ts +27 -0
- package/package/components/sidebar/MenuButton.svelte +11 -0
- package/package/components/sidebar/MenuButton.svelte.d.ts +4 -0
- package/package/components/sidebar/changelogs.js +35 -0
- package/package/components/wizards/AppPicker.svelte +68 -0
- package/package/components/wizards/AppPicker.svelte.d.ts +17 -0
- package/package/components/wizards/NavbarWizard.svelte +131 -0
- package/package/components/wizards/NavbarWizard.svelte.d.ts +19 -0
- package/package/defaults.d.ts +1 -1
- package/package/defaults.js +1 -1
- package/package/es6.d.ts.txt +370 -1
- package/package/gen/core/OpenAPI.js +1 -1
- package/package/gen/schemas.gen.d.ts +42 -3
- package/package/gen/schemas.gen.js +42 -3
- package/package/gen/services.gen.d.ts +80 -5
- package/package/gen/services.gen.js +149 -8
- package/package/gen/types.gen.d.ts +265 -11
- package/package/inferArgSig.js +4 -0
- package/package/script_helpers.d.ts +3 -3
- package/package/script_helpers.js +46 -22
- package/package/stores.d.ts +1 -1
- package/package/stores.js +1 -1
- package/package/utils.d.ts +7 -23
- package/package/utils.js +54 -33
- package/package/windmill_fetch.d.ts.txt +6 -6
- package/package.json +3 -11
- package/package/components/ContentSearch.svelte +0 -355
|
@@ -1,13 +1,17 @@
|
|
|
1
1
|
<script>import { createEventDispatcher } from 'svelte';
|
|
2
2
|
import { Button } from './common';
|
|
3
|
-
import { Clock } from 'lucide-svelte';
|
|
3
|
+
import { Clock, X } from 'lucide-svelte';
|
|
4
|
+
import { twMerge } from 'tailwind-merge';
|
|
4
5
|
// import ToggleButtonGroup from './common/toggleButton-v2/ToggleButtonGroup.svelte'
|
|
5
6
|
// import ToggleButton from './common/toggleButton-v2/ToggleButton.svelte'
|
|
6
7
|
export let value = undefined;
|
|
8
|
+
export let clearable = false;
|
|
7
9
|
export let autofocus = false;
|
|
8
10
|
export let useDropdown = false;
|
|
9
11
|
export let minDate = undefined;
|
|
10
12
|
export let maxDate = undefined;
|
|
13
|
+
export let disabled = undefined;
|
|
14
|
+
export let inputClass = undefined;
|
|
11
15
|
let date = undefined;
|
|
12
16
|
let time = undefined;
|
|
13
17
|
// let format: 'local' | 'utc' = 'local'
|
|
@@ -57,17 +61,25 @@ let randomId = 'datetarget-' + Math.random().toString(36).substring(7);
|
|
|
57
61
|
type="date"
|
|
58
62
|
bind:value={date}
|
|
59
63
|
{autofocus}
|
|
60
|
-
|
|
64
|
+
{disabled}
|
|
65
|
+
class={twMerge('h-8 text-sm !w-3/4 ', inputClass)}
|
|
61
66
|
min={minDate}
|
|
62
67
|
max={maxDate}
|
|
63
68
|
/>
|
|
64
|
-
<input
|
|
69
|
+
<input
|
|
70
|
+
type="time"
|
|
71
|
+
bind:value={time}
|
|
72
|
+
class={twMerge('h-8 text-sm !w-1/4 min-w-[100px] ', inputClass)}
|
|
73
|
+
{disabled}
|
|
74
|
+
/>
|
|
65
75
|
<Button
|
|
66
76
|
variant="border"
|
|
67
77
|
color="light"
|
|
78
|
+
wrapperClasses="h-8"
|
|
68
79
|
startIcon={{
|
|
69
80
|
icon: Clock
|
|
70
81
|
}}
|
|
82
|
+
{disabled}
|
|
71
83
|
size="xs"
|
|
72
84
|
portalTarget={`#${randomId}`}
|
|
73
85
|
dropdownItems={useDropdown
|
|
@@ -104,6 +116,20 @@ let randomId = 'datetarget-' + Math.random().toString(36).substring(7);
|
|
|
104
116
|
>
|
|
105
117
|
Now
|
|
106
118
|
</Button>
|
|
119
|
+
{#if clearable}
|
|
120
|
+
<Button
|
|
121
|
+
variant="border"
|
|
122
|
+
color="light"
|
|
123
|
+
wrapperClasses="h-8"
|
|
124
|
+
{disabled}
|
|
125
|
+
on:click={() => {
|
|
126
|
+
value = undefined
|
|
127
|
+
dispatch('clear')
|
|
128
|
+
}}
|
|
129
|
+
>
|
|
130
|
+
<X size={14} />
|
|
131
|
+
</Button>
|
|
132
|
+
{/if}
|
|
107
133
|
<!-- <div>
|
|
108
134
|
<ToggleButtonGroup bind:selected={format}>
|
|
109
135
|
<ToggleButton light small value={'local'} label="local" />
|
|
@@ -2,14 +2,18 @@ import { SvelteComponent } from "svelte";
|
|
|
2
2
|
declare const __propDef: {
|
|
3
3
|
props: {
|
|
4
4
|
value?: string | undefined;
|
|
5
|
+
clearable?: boolean | undefined;
|
|
5
6
|
autofocus?: boolean | null | undefined;
|
|
6
7
|
useDropdown?: boolean | undefined;
|
|
7
8
|
minDate?: string | undefined;
|
|
8
9
|
maxDate?: string | undefined;
|
|
10
|
+
disabled?: boolean | undefined;
|
|
11
|
+
inputClass?: string | undefined;
|
|
9
12
|
};
|
|
10
13
|
events: {
|
|
11
14
|
pointerdown: PointerEvent;
|
|
12
15
|
focus: FocusEvent;
|
|
16
|
+
clear: CustomEvent<any>;
|
|
13
17
|
change: CustomEvent<any>;
|
|
14
18
|
} & {
|
|
15
19
|
[evt: string]: CustomEvent<any>;
|
|
@@ -83,8 +83,13 @@ $: if (workspace && token) {
|
|
|
83
83
|
loadUser();
|
|
84
84
|
}
|
|
85
85
|
async function loadUser() {
|
|
86
|
-
|
|
87
|
-
|
|
86
|
+
try {
|
|
87
|
+
const user = await getUserExt(workspace);
|
|
88
|
+
$userStore = user;
|
|
89
|
+
}
|
|
90
|
+
catch (e) {
|
|
91
|
+
sendUserToast(`Failed to load user ${e}`, true);
|
|
92
|
+
}
|
|
88
93
|
}
|
|
89
94
|
let darkModeToggle;
|
|
90
95
|
let darkMode = undefined;
|
|
@@ -353,7 +358,7 @@ setContext('FlowEditorContext', {
|
|
|
353
358
|
testStepStore,
|
|
354
359
|
saveDraft: () => { },
|
|
355
360
|
initialPath: '',
|
|
356
|
-
flowInputsStore: writable(
|
|
361
|
+
flowInputsStore: writable({})
|
|
357
362
|
});
|
|
358
363
|
$: updateFlow($flowStore);
|
|
359
364
|
let lastSent = undefined;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
<script>import {
|
|
1
|
+
<script>import { msToReadableTime } from '../utils';
|
|
2
2
|
import { Badge } from './common';
|
|
3
3
|
import { Hourglass } from 'lucide-svelte';
|
|
4
4
|
import WaitTimeWarning from './common/waitTimeWarning/WaitTimeWarning.svelte';
|
|
@@ -9,7 +9,7 @@ export let aggregate_wait_time_ms = undefined;
|
|
|
9
9
|
|
|
10
10
|
<div>
|
|
11
11
|
<Badge large icon={{ icon: Hourglass, position: 'left' }}>
|
|
12
|
-
Ran in {
|
|
12
|
+
Ran in {msToReadableTime(duration_ms)}
|
|
13
13
|
{#if self_wait_time_ms || aggregate_wait_time_ms}
|
|
14
14
|
<WaitTimeWarning {self_wait_time_ms} {aggregate_wait_time_ms} variant="alert" />
|
|
15
15
|
{/if}
|
|
@@ -3,6 +3,7 @@ import { initHistory, push, redo, undo } from '../history';
|
|
|
3
3
|
import { copilotInfo, enterpriseLicense, tutorialsToDo, userStore, workspaceStore } from '../stores';
|
|
4
4
|
import { cleanValueProperties, encodeState, formatCron, orderedJsonStringify, sleep } from '../utils';
|
|
5
5
|
import { sendUserToast } from '../toast';
|
|
6
|
+
import { Drawer } from './common';
|
|
6
7
|
import { setContext, tick } from 'svelte';
|
|
7
8
|
import { writable } from 'svelte/store';
|
|
8
9
|
import CenteredPage from './CenteredPage.svelte';
|
|
@@ -15,7 +16,7 @@ import FlowImportExportMenu from './flows/header/FlowImportExportMenu.svelte';
|
|
|
15
16
|
import FlowPreviewButtons from './flows/header/FlowPreviewButtons.svelte';
|
|
16
17
|
import { loadFlowSchedule } from './flows/scheduleUtils';
|
|
17
18
|
import { cleanInputs, emptyFlowModuleState } from './flows/utils';
|
|
18
|
-
import { Calendar, Pen, Save, DiffIcon } from 'lucide-svelte';
|
|
19
|
+
import { Calendar, Pen, Save, DiffIcon, MoreVertical, HistoryIcon, FileJson, CornerDownLeft } from 'lucide-svelte';
|
|
19
20
|
import { createEventDispatcher } from 'svelte';
|
|
20
21
|
import Awareness from './Awareness.svelte';
|
|
21
22
|
import { getAllModules } from './flows/flowExplorer';
|
|
@@ -28,6 +29,12 @@ import FlowCopilotInputsModal from './copilot/FlowCopilotInputsModal.svelte';
|
|
|
28
29
|
import FlowBuilderTutorials from './FlowBuilderTutorials.svelte';
|
|
29
30
|
import FlowTutorials from './FlowTutorials.svelte';
|
|
30
31
|
import { ignoredTutorials } from './tutorials/ignoredTutorials';
|
|
32
|
+
import FlowHistory from './flows/FlowHistory.svelte';
|
|
33
|
+
import ButtonDropdown from './common/button/ButtonDropdown.svelte';
|
|
34
|
+
import { MenuItem } from '@rgossiaux/svelte-headlessui';
|
|
35
|
+
import { twMerge } from 'tailwind-merge';
|
|
36
|
+
import CustomPopover from './CustomPopover.svelte';
|
|
37
|
+
import Summary from './Summary.svelte';
|
|
31
38
|
export let initialPath = '';
|
|
32
39
|
export let pathStoreInit = undefined;
|
|
33
40
|
export let newFlow;
|
|
@@ -157,7 +164,7 @@ export function computeUnlockedSteps(flow) {
|
|
|
157
164
|
.filter((m) => m.value.type == 'script' && m.value.hash == null)
|
|
158
165
|
.map((m) => [m.id, m.value.path]));
|
|
159
166
|
}
|
|
160
|
-
async function saveFlow() {
|
|
167
|
+
async function saveFlow(deploymentMsg) {
|
|
161
168
|
loadingSave = true;
|
|
162
169
|
try {
|
|
163
170
|
const flow = cleanInputs($flowStore);
|
|
@@ -184,7 +191,8 @@ async function saveFlow() {
|
|
|
184
191
|
ws_error_handler_muted: flow.ws_error_handler_muted,
|
|
185
192
|
tag: flow.tag,
|
|
186
193
|
dedicated_worker: flow.dedicated_worker,
|
|
187
|
-
visible_to_runner_only: flow.visible_to_runner_only
|
|
194
|
+
visible_to_runner_only: flow.visible_to_runner_only,
|
|
195
|
+
deployment_message: deploymentMsg || undefined
|
|
188
196
|
}
|
|
189
197
|
});
|
|
190
198
|
if (enabled) {
|
|
@@ -245,7 +253,8 @@ async function saveFlow() {
|
|
|
245
253
|
tag: flow.tag,
|
|
246
254
|
dedicated_worker: flow.dedicated_worker,
|
|
247
255
|
ws_error_handler_muted: flow.ws_error_handler_muted,
|
|
248
|
-
visible_to_runner_only: flow.visible_to_runner_only
|
|
256
|
+
visible_to_runner_only: flow.visible_to_runner_only,
|
|
257
|
+
deployment_message: deploymentMsg || undefined
|
|
249
258
|
}
|
|
250
259
|
});
|
|
251
260
|
}
|
|
@@ -809,6 +818,8 @@ function blurCopilot() {
|
|
|
809
818
|
$: $copilotCurrentStepStore === undefined && blurCopilot();
|
|
810
819
|
let renderCount = 0;
|
|
811
820
|
let flowTutorials = undefined;
|
|
821
|
+
let jsonViewerDrawer = undefined;
|
|
822
|
+
let flowHistory = undefined;
|
|
812
823
|
export function triggerTutorial() {
|
|
813
824
|
const urlParams = new URLSearchParams(window.location.search);
|
|
814
825
|
const tutorial = urlParams.get('tutorial');
|
|
@@ -819,6 +830,23 @@ export function triggerTutorial() {
|
|
|
819
830
|
flowTutorials?.runTutorialById('action');
|
|
820
831
|
}
|
|
821
832
|
}
|
|
833
|
+
const moreItems = [
|
|
834
|
+
{
|
|
835
|
+
displayName: 'Deployment History',
|
|
836
|
+
icon: HistoryIcon,
|
|
837
|
+
action: () => {
|
|
838
|
+
flowHistory?.open();
|
|
839
|
+
},
|
|
840
|
+
disabled: newFlow
|
|
841
|
+
},
|
|
842
|
+
{
|
|
843
|
+
displayName: 'Export',
|
|
844
|
+
icon: FileJson,
|
|
845
|
+
action: () => jsonViewerDrawer?.openDrawer()
|
|
846
|
+
}
|
|
847
|
+
];
|
|
848
|
+
let deploymentMsg = '';
|
|
849
|
+
let msgInput = undefined;
|
|
822
850
|
</script>
|
|
823
851
|
|
|
824
852
|
<svelte:window on:keydown={onKeyDown} />
|
|
@@ -828,6 +856,10 @@ export function triggerTutorial() {
|
|
|
828
856
|
{#key renderCount}
|
|
829
857
|
{#if !$userStore?.operator}
|
|
830
858
|
<FlowCopilotDrawer {getHubCompletions} {genFlow} bind:flowCopilotMode />
|
|
859
|
+
{#if $pathStore}
|
|
860
|
+
<FlowHistory bind:this={flowHistory} path={$pathStore} on:historyRestore />
|
|
861
|
+
{/if}
|
|
862
|
+
<FlowImportExportMenu bind:drawer={jsonViewerDrawer} />
|
|
831
863
|
<FlowCopilotInputsModal
|
|
832
864
|
on:confirmed={async () => {
|
|
833
865
|
applyCopilotFlowInputs()
|
|
@@ -851,19 +883,31 @@ export function triggerTutorial() {
|
|
|
851
883
|
<div transition:fade class="absolute inset-0 bg-gray-500 bg-opacity-75 z-[900] !m-0" />
|
|
852
884
|
{/if}
|
|
853
885
|
<div class="flex w-full max-w-md gap-4 items-center">
|
|
854
|
-
<
|
|
855
|
-
|
|
856
|
-
type="text"
|
|
857
|
-
placeholder="Flow summary"
|
|
858
|
-
class="text-sm w-full font-semibold"
|
|
859
|
-
bind:value={$flowStore.summary}
|
|
860
|
-
/>
|
|
861
|
-
</div>
|
|
886
|
+
<Summary bind:value={$flowStore.summary} />
|
|
887
|
+
|
|
862
888
|
<UndoRedo
|
|
863
889
|
undoProps={{ disabled: $history.index === 0 }}
|
|
864
890
|
redoProps={{ disabled: $history.index === $history.history.length - 1 }}
|
|
865
891
|
on:undo={() => {
|
|
892
|
+
const currentModules = $flowStore?.value?.modules
|
|
893
|
+
|
|
866
894
|
$flowStore = undo(history, $flowStore)
|
|
895
|
+
|
|
896
|
+
const newModules = $flowStore?.value?.modules
|
|
897
|
+
const restoredModules = newModules?.filter(
|
|
898
|
+
(node) => !currentModules?.some((currentNode) => currentNode?.id === node?.id)
|
|
899
|
+
)
|
|
900
|
+
|
|
901
|
+
for (const mod of restoredModules) {
|
|
902
|
+
if (mod) {
|
|
903
|
+
try {
|
|
904
|
+
loadFlowModuleState(mod).then((state) => ($flowStateStore[mod.id] = state))
|
|
905
|
+
} catch (e) {
|
|
906
|
+
console.error('Error loading state for restored node', e)
|
|
907
|
+
}
|
|
908
|
+
}
|
|
909
|
+
}
|
|
910
|
+
|
|
867
911
|
$selectedIdStore = 'Input'
|
|
868
912
|
}}
|
|
869
913
|
on:redo={() => {
|
|
@@ -914,10 +958,40 @@ export function triggerTutorial() {
|
|
|
914
958
|
/>
|
|
915
959
|
</div>
|
|
916
960
|
</div>
|
|
917
|
-
<div class="flex flex-row
|
|
961
|
+
<div class="flex flex-row gap-2 items-center">
|
|
918
962
|
{#if $enterpriseLicense && !newFlow}
|
|
919
963
|
<Awareness />
|
|
920
964
|
{/if}
|
|
965
|
+
<div>
|
|
966
|
+
<ButtonDropdown hasPadding={false}>
|
|
967
|
+
<svelte:fragment slot="buttonReplacement">
|
|
968
|
+
<Button nonCaptureEvent size="xs" color="light">
|
|
969
|
+
<div class="flex flex-row items-center">
|
|
970
|
+
<MoreVertical size={14} />
|
|
971
|
+
</div>
|
|
972
|
+
</Button>
|
|
973
|
+
</svelte:fragment>
|
|
974
|
+
<svelte:fragment slot="items">
|
|
975
|
+
{#each moreItems as item}
|
|
976
|
+
<MenuItem
|
|
977
|
+
on:click={item.action}
|
|
978
|
+
disabled={item.disabled}
|
|
979
|
+
class={item.disabled ? 'opacity-50' : ''}
|
|
980
|
+
>
|
|
981
|
+
<div
|
|
982
|
+
class={twMerge(
|
|
983
|
+
'text-primary flex flex-row items-center text-left px-4 py-2 gap-2 cursor-pointer hover:bg-surface-hover !text-xs font-semibold'
|
|
984
|
+
)}
|
|
985
|
+
>
|
|
986
|
+
<svelte:component this={item.icon} size={14} />
|
|
987
|
+
{item.displayName}
|
|
988
|
+
</div>
|
|
989
|
+
</MenuItem>
|
|
990
|
+
{/each}
|
|
991
|
+
</svelte:fragment>
|
|
992
|
+
</ButtonDropdown>
|
|
993
|
+
</div>
|
|
994
|
+
|
|
921
995
|
<FlowBuilderTutorials
|
|
922
996
|
on:reload={() => {
|
|
923
997
|
renderCount += 1
|
|
@@ -955,8 +1029,6 @@ export function triggerTutorial() {
|
|
|
955
1029
|
{abortController}
|
|
956
1030
|
/>
|
|
957
1031
|
|
|
958
|
-
<FlowImportExportMenu />
|
|
959
|
-
|
|
960
1032
|
<FlowPreviewButtons />
|
|
961
1033
|
<Button
|
|
962
1034
|
loading={loadingDraft}
|
|
@@ -970,15 +1042,41 @@ export function triggerTutorial() {
|
|
|
970
1042
|
>
|
|
971
1043
|
Draft
|
|
972
1044
|
</Button>
|
|
973
|
-
|
|
974
|
-
|
|
975
|
-
|
|
976
|
-
|
|
977
|
-
|
|
978
|
-
|
|
979
|
-
|
|
980
|
-
|
|
981
|
-
|
|
1045
|
+
|
|
1046
|
+
<CustomPopover appearTimeout={0} focusEl={msgInput}>
|
|
1047
|
+
<Button
|
|
1048
|
+
loading={loadingSave}
|
|
1049
|
+
size="xs"
|
|
1050
|
+
startIcon={{ icon: Save }}
|
|
1051
|
+
on:click={() => saveFlow()}
|
|
1052
|
+
dropdownItems={!newFlow ? dropdownItems : undefined}
|
|
1053
|
+
>
|
|
1054
|
+
Deploy
|
|
1055
|
+
</Button>
|
|
1056
|
+
<svelte:fragment slot="overlay">
|
|
1057
|
+
<div class="flex flex-row gap-2 w-80">
|
|
1058
|
+
<input
|
|
1059
|
+
type="text"
|
|
1060
|
+
placeholder="Deployment message"
|
|
1061
|
+
bind:value={deploymentMsg}
|
|
1062
|
+
on:keydown={(e) => {
|
|
1063
|
+
if (e.key === 'Enter') {
|
|
1064
|
+
saveFlow(deploymentMsg)
|
|
1065
|
+
}
|
|
1066
|
+
}}
|
|
1067
|
+
bind:this={msgInput}
|
|
1068
|
+
/>
|
|
1069
|
+
<Button
|
|
1070
|
+
size="xs"
|
|
1071
|
+
on:click={() => saveFlow(deploymentMsg)}
|
|
1072
|
+
endIcon={{ icon: CornerDownLeft }}
|
|
1073
|
+
loading={loadingSave}
|
|
1074
|
+
>
|
|
1075
|
+
Deploy
|
|
1076
|
+
</Button>
|
|
1077
|
+
</div>
|
|
1078
|
+
</svelte:fragment>
|
|
1079
|
+
</CustomPopover>
|
|
982
1080
|
</div>
|
|
983
1081
|
</div>
|
|
984
1082
|
|
|
@@ -61,7 +61,7 @@ let codeViewer;
|
|
|
61
61
|
<span class="!text-xs">
|
|
62
62
|
<HighlightCode language={stepDetail.value.language} code={stepDetail.value.content} />
|
|
63
63
|
</span>
|
|
64
|
-
<h3 class="mb-2">Lockfile</h3>
|
|
64
|
+
<h3 class="mt-4 mb-2">Lockfile</h3>
|
|
65
65
|
<div>
|
|
66
66
|
{#if stepDetail.value.lock}
|
|
67
67
|
<pre class="bg-surface-secondary text-sm p-2 h-full overflow-auto w-full"
|
|
@@ -166,7 +166,7 @@ let codeViewer;
|
|
|
166
166
|
>{stepDetail.value.lock}</pre
|
|
167
167
|
>
|
|
168
168
|
{:else}
|
|
169
|
-
<p class="bg-surface-secondary text-sm p-2">
|
|
169
|
+
<p class="bg-surface-secondary text-sm p-2 rounded">
|
|
170
170
|
There is no lockfile for this inline script
|
|
171
171
|
</p>
|
|
172
172
|
{/if}
|
|
@@ -56,9 +56,11 @@ async function getLogs() {
|
|
|
56
56
|
</Drawer>
|
|
57
57
|
<div
|
|
58
58
|
class:border={!noBorder}
|
|
59
|
-
class="grid {!col
|
|
59
|
+
class="grid {!col
|
|
60
|
+
? 'grid-cols-2'
|
|
61
|
+
: 'grid-rows-2'} shadow border border-tertiary-inverse grow overflow-hidden"
|
|
60
62
|
>
|
|
61
|
-
<div class="bg-surface {col ? '' : 'max-h-80'}
|
|
63
|
+
<div class="bg-surface {col ? '' : 'max-h-80'} p-1 overflow-auto relative">
|
|
62
64
|
<span class="text-tertiary">Result</span>
|
|
63
65
|
{#if result !== undefined}
|
|
64
66
|
<DisplayResult {workspaceId} {jobId} {filename} {result} />
|
|
@@ -68,7 +70,7 @@ async function getLogs() {
|
|
|
68
70
|
<div class="text-gray-400">No result (result is undefined)</div>
|
|
69
71
|
{/if}
|
|
70
72
|
</div>
|
|
71
|
-
<div class="overflow-auto {col ? '' : 'max-h-80'}
|
|
73
|
+
<div class="overflow-auto {col ? '' : 'max-h-80'} relative">
|
|
72
74
|
<div class="absolute z-40 text-sm top-1.5 left-2"
|
|
73
75
|
><button class="" on:click={drawer.openDrawer}>explore all steps' logs</button></div
|
|
74
76
|
>
|
|
@@ -34,11 +34,12 @@ $: jobId && updateJobId();
|
|
|
34
34
|
|
|
35
35
|
<FlowStatusViewerInner
|
|
36
36
|
on:jobsLoaded={({ detail }) => {
|
|
37
|
-
|
|
38
|
-
|
|
37
|
+
let { job } = detail
|
|
38
|
+
if (job.script_path != lastScriptPath && job.script_path) {
|
|
39
|
+
lastScriptPath = job.script_path
|
|
39
40
|
loadOwner(lastScriptPath ?? '')
|
|
40
41
|
}
|
|
41
|
-
dispatch('jobsLoaded',
|
|
42
|
+
dispatch('jobsLoaded', job)
|
|
42
43
|
}}
|
|
43
44
|
globalDurationStatuses={[]}
|
|
44
45
|
globalModuleStates={[]}
|