windmill-components 1.394.8 → 1.405.5
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 +20 -0
- package/package/ata/edgeCases.d.ts +0 -1
- package/package/ata/edgeCases.js +2 -8
- package/package/ata/index.js +4 -3
- package/package/common.d.ts +1 -1
- package/package/common.js +2 -2
- package/package/components/ApiConnectForm.svelte +33 -7
- package/package/components/AppConnectLightweightResourcePicker.svelte +66 -0
- package/package/components/AppConnectLightweightResourcePicker.svelte.d.ts +21 -0
- package/package/components/ArgInput.svelte +10 -4
- package/package/components/ArgInput.svelte.d.ts +1 -0
- package/package/components/CenteredModal.svelte +4 -1
- package/package/components/CenteredModal.svelte.d.ts +1 -0
- package/package/components/CustomPopover.svelte +1 -1
- package/package/components/DateInput.svelte +2 -0
- package/package/components/DateInput.svelte.d.ts +1 -0
- package/package/components/DefaultScripts.svelte +8 -3
- package/package/components/DefaultScripts.svelte.d.ts +5 -1
- package/package/components/DefaultScriptsInner.svelte +16 -7
- package/package/components/DefaultScriptsInner.svelte.d.ts +3 -1
- package/package/components/Dev.svelte +68 -11
- package/package/components/DisplayResult.svelte +1 -1
- package/package/components/DropdownV2.svelte.d.ts +3 -3
- package/package/components/DropdownV2Inner.svelte.d.ts +3 -3
- package/package/components/EditableSchemaForm.svelte +1 -0
- package/package/components/Editor.svelte +3 -2
- package/package/components/Editor.svelte.d.ts +1 -1
- package/package/components/ExecutionDuration.svelte +44 -0
- package/package/components/ExecutionDuration.svelte.d.ts +24 -0
- package/package/components/FlowBuilder.svelte +22 -12
- package/package/components/FlowBuilder.svelte.d.ts +1 -0
- package/package/components/FlowGraphViewer.svelte +9 -2
- package/package/components/FlowGraphViewerStep.svelte +23 -10
- package/package/components/FlowInputViewer.svelte +25 -0
- package/package/components/FlowInputViewer.svelte.d.ts +19 -0
- package/package/components/FlowJobResult.svelte +8 -2
- package/package/components/FlowJobResult.svelte.d.ts +1 -0
- package/package/components/FlowMetadata.svelte +2 -2
- package/package/components/FlowStatusViewer.svelte +3 -1
- package/package/components/FlowStatusViewer.svelte.d.ts +1 -0
- package/package/components/FlowStatusViewerInner.svelte +21 -5
- package/package/components/FlowTimeline.svelte +3 -3
- package/package/components/FlowViewer.svelte +2 -21
- package/package/components/HighlightCode.svelte +3 -0
- package/package/components/IconedResourceType.svelte +17 -10
- package/package/components/IconedResourceType.svelte.d.ts +2 -0
- package/package/components/IdEditorInput.svelte +0 -1
- package/package/components/InstanceSettings.svelte +247 -129
- package/package/components/InstanceSettings.svelte.d.ts +2 -0
- package/package/components/JobArgs.svelte +3 -1
- package/package/components/LightweightArgInput.svelte +35 -10
- package/package/components/LightweightArgInput.svelte.d.ts +1 -0
- package/package/components/LightweightObjectResourceInput.svelte +2 -0
- package/package/components/LightweightObjectResourceInput.svelte.d.ts +1 -0
- package/package/components/LightweightResourcePicker.svelte +34 -30
- package/package/components/LightweightSchemaForm.svelte +2 -0
- package/package/components/LightweightSchemaForm.svelte.d.ts +1 -0
- package/package/components/LogViewer.svelte +4 -3
- package/package/components/LogViewer.svelte.d.ts +1 -0
- package/package/components/Login.svelte +10 -5
- package/package/components/Login.svelte.d.ts +1 -0
- package/package/components/ManualPopover.svelte +1 -1
- package/package/components/ModulePreview.svelte +21 -2
- package/package/components/ModuleStatus.svelte +3 -0
- package/package/components/ModuleStatus.svelte.d.ts +1 -0
- package/package/components/OAuthSetting.svelte +40 -15
- package/package/components/ObjectResourceInput.svelte +5 -2
- package/package/components/ObjectResourceInput.svelte.d.ts +2 -0
- package/package/components/ObjectStoreConfigSettings.svelte +78 -76
- package/package/components/ParqetCsvTableRenderer.svelte +25 -3
- package/package/components/Password.svelte.d.ts +1 -1
- package/package/components/Path.svelte +74 -54
- package/package/components/Path.svelte.d.ts +2 -1
- package/package/components/Popover.svelte +1 -1
- package/package/components/Portal.svelte +7 -8
- package/package/components/Portal.svelte.d.ts +3 -7
- package/package/components/QueueMetricsDrawer.svelte +368 -3
- package/package/components/QueueMetricsDrawer.svelte.d.ts +2 -0
- package/package/components/ResourceEditor.svelte +38 -10
- package/package/components/ResourcePicker.svelte +14 -9
- package/package/components/ResourcePicker.svelte.d.ts +1 -0
- package/package/components/ResultJobLoader.svelte +6 -3
- package/package/components/ResultJobLoader.svelte.d.ts +1 -1
- package/package/components/RunForm.svelte +1 -1
- package/package/components/SavedInputs.svelte +2 -2
- package/package/components/ScheduleEditorInner.svelte +2 -2
- package/package/components/SchemaForm.svelte +6 -1
- package/package/components/ScriptBuilder.svelte +12 -5
- package/package/components/ScriptEditor.svelte +33 -3
- package/package/components/ScriptEditor.svelte.d.ts +1 -1
- package/package/components/ScriptVersionHistory.svelte +54 -59
- package/package/components/Scrollable.svelte +47 -0
- package/package/components/Scrollable.svelte.d.ts +21 -0
- package/package/components/ShareModal.svelte.d.ts +2 -2
- package/package/components/SuperadminSettings.svelte +5 -7
- package/package/components/TestConnection.svelte +1 -0
- package/package/components/TestJobLoader.svelte +46 -5
- package/package/components/TestJobLoader.svelte.d.ts +2 -1
- package/package/components/TimeAgo.svelte +5 -6
- package/package/components/TimeAgo.svelte.d.ts +1 -1
- package/package/components/ToggleHubWorkspaceQuick.svelte +14 -0
- package/package/components/ToggleHubWorkspaceQuick.svelte.d.ts +16 -0
- package/package/components/WorkspaceGroup.svelte +3 -2
- package/package/components/apps/components/buttons/AppButton.svelte +1 -1
- package/package/components/apps/components/display/dbtable/AppDbExplorer.svelte +1 -1
- package/package/components/apps/components/helpers/DebouncedInput.svelte +9 -1
- package/package/components/apps/components/inputs/AppMultiSelect.svelte +1 -1
- package/package/components/apps/components/inputs/AppMultiSelectV2.svelte +1 -1
- package/package/components/apps/components/inputs/AppSelect.svelte +1 -1
- package/package/components/apps/components/layout/AppDrawer.svelte +1 -1
- package/package/components/apps/components/layout/AppModal.svelte +1 -1
- package/package/components/apps/editor/AppEditor.svelte +11 -3
- package/package/components/apps/editor/GridEditor.svelte +57 -4
- package/package/components/apps/editor/GridEditor.svelte.d.ts +8 -0
- package/package/components/apps/editor/GridEditorMenu.svelte +1 -1
- package/package/components/apps/editor/SubGridEditor.svelte +82 -3
- package/package/components/apps/editor/SubGridEditor.svelte.d.ts +16 -0
- package/package/components/apps/editor/appUtils.d.ts +19 -2
- package/package/components/apps/editor/appUtils.js +103 -7
- package/package/components/apps/editor/component/Component.svelte +36 -8
- package/package/components/apps/editor/component/Component.svelte.d.ts +3 -1
- package/package/components/apps/editor/component/components.d.ts +79 -79
- package/package/components/apps/editor/contextPanel/components/OutputHeader.svelte +1 -1
- package/package/components/apps/svelte-grid/Grid.svelte +235 -12
- package/package/components/apps/svelte-grid/Grid.svelte.d.ts +7 -7
- package/package/components/apps/svelte-grid/MoveResize.svelte +104 -11
- package/package/components/apps/svelte-grid/MoveResize.svelte.d.ts +7 -0
- package/package/components/apps/svelte-grid/utils/item.d.ts +4 -1
- package/package/components/apps/svelte-grid/utils/item.js +2 -3
- package/package/components/apps/svelte-select/lib/ConditionalPortal.svelte +1 -1
- package/package/components/apps/svelte-select/lib/ConditionalPortalGlobal.svelte +1 -1
- package/package/components/apps/svelte-select/lib/Select.svelte +1 -1
- package/package/components/common/button/ButtonDropdown.svelte +1 -1
- package/package/components/common/drawer/ConditionalPortal.svelte +1 -1
- package/package/components/common/fileUpload/FileUpload.svelte +1 -1
- package/package/components/common/languageIcons/LanguageIcon.svelte +5 -2
- package/package/components/common/menu/Menu.svelte +2 -1
- package/package/components/common/menu/MenuV2.svelte +4 -2
- package/package/components/common/menu/MenuV2.svelte.d.ts +1 -0
- package/package/components/common/modal/AlwaysMountedModal.svelte +1 -1
- package/package/components/common/popup/Popup.svelte +22 -12
- package/package/components/common/popup/Popup.svelte.d.ts +2 -0
- package/package/components/common/popup/PopupV2.svelte +58 -0
- package/package/components/common/popup/PopupV2.svelte.d.ts +27 -0
- package/package/components/copilot/CronGen.svelte +1 -1
- package/package/components/copilot/RegexGen.svelte +4 -4
- package/package/components/copilot/StepGen.svelte +6 -6
- package/package/components/copilot/StepGenQuick.svelte +58 -0
- package/package/components/copilot/StepGenQuick.svelte.d.ts +24 -0
- package/package/components/copilot/flow.d.ts +2 -0
- package/package/components/copilot/flow.js +55 -0
- package/package/components/details/DetailPageDetailPanel.svelte +9 -1
- package/package/components/details/DetailPageDetailPanel.svelte.d.ts +2 -1
- package/package/components/details/DetailPageLayout.svelte +2 -0
- package/package/components/details/DetailPageLayout.svelte.d.ts +3 -0
- package/package/components/details/Menu.svelte +1 -1
- package/package/components/details/utils.d.ts +0 -1
- package/package/components/details/utils.js +1 -12
- package/package/components/flows/CreateActionsApp.svelte +1 -1
- package/package/components/flows/FlowEditor.svelte +4 -2
- package/package/components/flows/FlowEditor.svelte.d.ts +1 -0
- package/package/components/flows/FlowHistory.svelte +10 -195
- package/package/components/flows/FlowHistory.svelte.d.ts +0 -1
- package/package/components/flows/FlowHistoryInner.svelte +200 -0
- package/package/components/flows/FlowHistoryInner.svelte.d.ts +19 -0
- package/package/components/flows/FlowProgressBar.svelte +16 -1
- package/package/components/flows/FlowProgressBar.svelte.d.ts +1 -0
- package/package/components/flows/content/FlowBranchesAllWrapper.svelte +8 -0
- package/package/components/flows/content/FlowBranchesAllWrapper.svelte.d.ts +1 -0
- package/package/components/flows/content/FlowBranchesOneWrapper.svelte +8 -0
- package/package/components/flows/content/FlowBranchesOneWrapper.svelte.d.ts +1 -0
- package/package/components/flows/content/FlowConstants.svelte +1 -1
- package/package/components/flows/content/FlowEditorPanel.svelte +5 -1
- package/package/components/flows/content/FlowEditorPanel.svelte.d.ts +1 -0
- package/package/components/flows/content/FlowInput.svelte +66 -58
- package/package/components/flows/content/FlowInput.svelte.d.ts +1 -0
- package/package/components/flows/content/FlowInputs.svelte +7 -6
- package/package/components/flows/content/FlowInputs.svelte.d.ts +1 -0
- package/package/components/flows/content/FlowInputsFlowQuick.svelte +65 -0
- package/package/components/flows/content/FlowInputsFlowQuick.svelte.d.ts +19 -0
- package/package/components/flows/content/FlowInputsQuick.svelte +419 -0
- package/package/components/flows/content/FlowInputsQuick.svelte.d.ts +33 -0
- package/package/components/flows/content/FlowLoop.svelte +7 -1
- package/package/components/flows/content/FlowModuleComponent.svelte +12 -3
- package/package/components/flows/content/FlowModuleComponent.svelte.d.ts +1 -0
- package/package/components/flows/content/FlowModuleScript.svelte +1 -1
- package/package/components/flows/content/FlowModuleSkip.svelte +69 -0
- package/package/components/flows/content/FlowModuleSkip.svelte.d.ts +20 -0
- package/package/components/flows/content/FlowModuleWrapper.svelte +17 -4
- package/package/components/flows/content/FlowPreprocessorModule.svelte +16 -0
- package/package/components/flows/content/FlowPreprocessorModule.svelte.d.ts +16 -0
- package/package/components/flows/content/FlowWhileLoop.svelte +9 -0
- package/package/components/flows/content/FlowWhileLoop.svelte.d.ts +1 -0
- package/package/components/flows/content/GenAiQuick.svelte +30 -0
- package/package/components/flows/content/GenAiQuick.svelte.d.ts +20 -0
- package/package/components/flows/content/ScriptEditorDrawer.svelte +3 -2
- package/package/components/flows/flowInfers.js +1 -1
- package/package/components/flows/header/FlowPreviewButtons.svelte +1 -0
- package/package/components/flows/idUtils.js +3 -1
- package/package/components/flows/map/FlowCopilotButton.svelte +55 -0
- package/package/components/flows/map/FlowCopilotButton.svelte.d.ts +16 -0
- package/package/components/flows/map/FlowErrorHandlerItem.svelte +77 -47
- package/package/components/flows/map/FlowJobsMenu.svelte +1 -1
- package/package/components/flows/map/FlowModuleSchemaItem.svelte +25 -12
- package/package/components/flows/map/FlowModuleSchemaItem.svelte.d.ts +1 -0
- package/package/components/flows/map/FlowModuleSchemaMap.svelte +64 -20
- package/package/components/flows/map/InsertModuleButton.svelte +161 -138
- package/package/components/flows/map/InsertModuleButton.svelte.d.ts +7 -4
- package/package/components/flows/map/MapItem.svelte +11 -0
- package/package/components/flows/map/MapItem.svelte.d.ts +1 -0
- package/package/components/flows/pickers/FlowScriptPickerQuick.svelte +48 -0
- package/package/components/flows/pickers/FlowScriptPickerQuick.svelte.d.ts +23 -0
- package/package/components/flows/pickers/FlowToplevelNode.svelte +19 -0
- package/package/components/flows/pickers/FlowToplevelNode.svelte.d.ts +19 -0
- package/package/components/flows/pickers/PickHubScriptQuick.svelte +138 -0
- package/package/components/flows/pickers/PickHubScriptQuick.svelte.d.ts +33 -0
- package/package/components/flows/pickers/TopLevelNode.svelte +58 -0
- package/package/components/flows/pickers/TopLevelNode.svelte.d.ts +21 -0
- package/package/components/flows/pickers/WorkspaceScriptPickerQuick.svelte +120 -0
- package/package/components/flows/pickers/WorkspaceScriptPickerQuick.svelte.d.ts +35 -0
- package/package/components/flows/types.d.ts +1 -0
- package/package/components/graph/FlowGraphV2.svelte +93 -58
- package/package/components/graph/FlowGraphV2.svelte.d.ts +2 -1
- package/package/components/graph/graphBuilder.d.ts +2 -1
- package/package/components/graph/graphBuilder.js +345 -280
- package/package/components/graph/model.d.ts +2 -0
- package/package/components/graph/renderers/edges/BaseEdge.svelte +36 -14
- package/package/components/graph/renderers/nodes/BranchOneStart.svelte +1 -1
- package/package/components/graph/renderers/nodes/InputNode.svelte +31 -51
- package/package/components/graph/renderers/nodes/InputNode.svelte.d.ts +6 -1
- package/package/components/graph/renderers/nodes/ModuleNode.svelte +2 -1
- package/package/components/graph/util.d.ts +1 -1
- package/package/components/graph/util.js +7 -2
- package/package/components/home/ListFiltersQuick.svelte +51 -0
- package/package/components/home/ListFiltersQuick.svelte.d.ts +23 -0
- package/package/components/icons/AnsibleIcon.svelte +42 -0
- package/package/components/icons/AnsibleIcon.svelte.d.ts +25 -0
- package/package/components/icons/WindmillIcon.svelte +119 -105
- package/package/components/icons/WindmillIcon2.svelte +141 -0
- package/package/components/icons/WindmillIcon2.svelte.d.ts +20 -0
- package/package/components/icons/index.d.ts +2 -1
- package/package/components/icons/index.js +2 -1
- package/package/components/icons/store.d.ts +4 -0
- package/package/components/icons/store.js +1 -0
- package/package/components/instanceSettings.d.ts +2 -2
- package/package/components/instanceSettings.js +25 -58
- package/package/components/jobs/JobProgressBar.svelte +52 -0
- package/package/components/jobs/JobProgressBar.svelte.d.ts +23 -0
- package/package/components/multiselect/MultiSelectWrapper.svelte +1 -1
- package/package/components/progressBar/ProgressBar.svelte +18 -1
- package/package/components/progressBar/ProgressBar.svelte.d.ts +3 -0
- package/package/components/propertyPicker/ObjectViewer.svelte +1 -1
- package/package/components/runs/JobPreview.svelte +1 -0
- package/package/components/runs/PreprocessedArgsDisplay.svelte +71 -0
- package/package/components/runs/PreprocessedArgsDisplay.svelte.d.ts +16 -0
- package/package/components/runs/RunRow.svelte +3 -7
- package/package/components/schema/AddProperty.svelte +1 -0
- package/package/components/schema/EditableSchemaWrapper.svelte +142 -19
- package/package/components/schema/EditableSchemaWrapper.svelte.d.ts +1 -0
- package/package/components/schema/FlowPropertyEditor.svelte +13 -0
- package/package/components/schema/FlowPropertyEditor.svelte.d.ts +1 -0
- package/package/components/scriptEditor/LogPanel.svelte +1 -0
- package/package/components/scriptEditor/LogPanel.svelte.d.ts +3 -1
- package/package/components/search/GlobalSearchModal.svelte +3 -2
- package/package/components/sidebar/SidebarContent.svelte +69 -8
- package/package/components/sidebar/changelogs.js +10 -0
- package/package/components/triggers/RouteEditor.svelte +19 -0
- package/package/components/triggers/RouteEditor.svelte.d.ts +21 -0
- package/package/components/triggers/RouteEditorInner.svelte +327 -0
- package/package/components/triggers/RouteEditorInner.svelte.d.ts +21 -0
- package/package/components/triggers/RoutesPanel.svelte +74 -0
- package/package/components/triggers/RoutesPanel.svelte.d.ts +17 -0
- package/package/editorUtils.js +2 -0
- package/package/gen/core/OpenAPI.js +1 -1
- package/package/gen/schemas.gen.d.ts +159 -8
- package/package/gen/schemas.gen.js +161 -8
- package/package/gen/services.gen.d.ts +139 -1
- package/package/gen/services.gen.js +282 -1
- package/package/gen/types.gen.d.ts +455 -12
- package/package/hubPaths.json +6 -8
- package/package/infer.d.ts +4 -2
- package/package/infer.js +25 -23
- package/package/inferArgSig.js +8 -2
- package/package/monaco_workers/graphql.worker.bundle.js +45440 -174
- package/package/relative_imports.d.ts +3 -0
- package/package/relative_imports.js +25 -0
- package/package/script_helpers.d.ts +38 -34
- package/package/script_helpers.js +245 -35
- package/package/scripts.d.ts +1 -1
- package/package/scripts.js +5 -1
- package/package/stores.d.ts +1 -0
- package/package/stores.js +1 -0
- package/package/utils.d.ts +1 -0
- package/package/utils.js +4 -0
- package/package.json +38 -7
- package/package/components/flows/map/InsertTriggerButton.svelte +0 -48
- package/package/components/flows/map/InsertTriggerButton.svelte.d.ts +0 -24
- package/package/init_scripts/python_failure_module.d.ts +0 -2
- package/package/init_scripts/python_failure_module.js +0 -8
- package/package/init_scripts/python_init_code.d.ts +0 -2
- package/package/init_scripts/python_init_code.js +0 -40
- package/package/init_scripts/python_init_code_clear.d.ts +0 -2
- package/package/init_scripts/python_init_code_clear.js +0 -5
- package/package/init_scripts/python_init_code_trigger.d.ts +0 -2
- package/package/init_scripts/python_init_code_trigger.js +0 -14
|
@@ -11,12 +11,14 @@ export let disableStaticInputs = false;
|
|
|
11
11
|
export let disableTutorials = false;
|
|
12
12
|
export let disableAi = false;
|
|
13
13
|
export let disableSettings = false;
|
|
14
|
+
export let disabledFlowInputs = false;
|
|
14
15
|
export let smallErrorHandler = false;
|
|
15
|
-
let size =
|
|
16
|
+
let size = 50;
|
|
16
17
|
const { currentStepStore: copilotCurrentStepStore } = getContext('FlowCopilotContext');
|
|
17
18
|
</script>
|
|
18
19
|
|
|
19
20
|
<div
|
|
21
|
+
id="flow-editor"
|
|
20
22
|
class={classNames(
|
|
21
23
|
'h-full overflow-hidden transition-colors duration-[400ms] ease-linear border-t',
|
|
22
24
|
$copilotCurrentStepStore !== undefined ? 'border-gray-500/75' : ''
|
|
@@ -52,7 +54,7 @@ const { currentStepStore: copilotCurrentStepStore } = getContext('FlowCopilotCon
|
|
|
52
54
|
</div>
|
|
53
55
|
</div>
|
|
54
56
|
{:else}
|
|
55
|
-
<FlowEditorPanel enableAi={!disableAi} />
|
|
57
|
+
<FlowEditorPanel {disabledFlowInputs} enableAi={!disableAi} />
|
|
56
58
|
{/if}
|
|
57
59
|
</Pane>
|
|
58
60
|
</Splitpanes>
|
|
@@ -1,76 +1,13 @@
|
|
|
1
|
-
<script>import {
|
|
2
|
-
import PanelSection from '../apps/editor/settingsPanel/common/PanelSection.svelte';
|
|
3
|
-
import { classNames, displayDate, emptyString, sendUserToast } from '../../utils';
|
|
4
|
-
import { FlowService } from '../../gen';
|
|
5
|
-
import { workspaceStore } from '../../stores';
|
|
6
|
-
import { Skeleton } from '../common';
|
|
1
|
+
<script>import { createEventDispatcher } from 'svelte';
|
|
7
2
|
import Drawer from '../common/drawer/Drawer.svelte';
|
|
8
3
|
import DrawerContent from '../common/drawer/DrawerContent.svelte';
|
|
9
|
-
import
|
|
10
|
-
import { ArrowRight, Loader2, Pencil, X } from 'lucide-svelte';
|
|
11
|
-
import { createEventDispatcher } from 'svelte';
|
|
4
|
+
import FlowHistoryInner from './FlowHistoryInner.svelte';
|
|
12
5
|
export let path;
|
|
13
6
|
let drawer;
|
|
14
|
-
let loading = false;
|
|
15
|
-
let versions = [];
|
|
16
|
-
let selectedVersion = undefined;
|
|
17
|
-
let selected = undefined;
|
|
18
|
-
let deploymentMsgUpdateMode = false;
|
|
19
|
-
let deploymentMsgUpdate = undefined;
|
|
20
7
|
export function open() {
|
|
21
|
-
loadVersions();
|
|
22
8
|
drawer.openDrawer();
|
|
23
9
|
}
|
|
24
|
-
async function loadFlow(version) {
|
|
25
|
-
selected = await FlowService.getFlowVersion({
|
|
26
|
-
workspace: $workspaceStore,
|
|
27
|
-
version,
|
|
28
|
-
path
|
|
29
|
-
});
|
|
30
|
-
}
|
|
31
|
-
async function loadVersions() {
|
|
32
|
-
loading = true;
|
|
33
|
-
versions = await FlowService.getFlowHistory({
|
|
34
|
-
workspace: $workspaceStore,
|
|
35
|
-
path: path
|
|
36
|
-
});
|
|
37
|
-
loading = false;
|
|
38
|
-
}
|
|
39
|
-
async function updateDeploymentMsg(version) {
|
|
40
|
-
if (selectedVersion === undefined ||
|
|
41
|
-
version === undefined ||
|
|
42
|
-
emptyString(deploymentMsgUpdate)) {
|
|
43
|
-
return;
|
|
44
|
-
}
|
|
45
|
-
await FlowService.updateFlowHistory({
|
|
46
|
-
workspace: $workspaceStore,
|
|
47
|
-
version,
|
|
48
|
-
path,
|
|
49
|
-
requestBody: {
|
|
50
|
-
deployment_msg: deploymentMsgUpdate
|
|
51
|
-
}
|
|
52
|
-
});
|
|
53
|
-
selectedVersion.deployment_msg = deploymentMsgUpdate;
|
|
54
|
-
deploymentMsgUpdateMode = false;
|
|
55
|
-
loadVersions();
|
|
56
|
-
}
|
|
57
10
|
const dispatch = createEventDispatcher();
|
|
58
|
-
async function restoreVersion(flow) {
|
|
59
|
-
if (!flow)
|
|
60
|
-
return;
|
|
61
|
-
await FlowService.updateFlow({
|
|
62
|
-
workspace: $workspaceStore,
|
|
63
|
-
requestBody: {
|
|
64
|
-
...flow,
|
|
65
|
-
path
|
|
66
|
-
},
|
|
67
|
-
path
|
|
68
|
-
});
|
|
69
|
-
dispatch('historyRestore');
|
|
70
|
-
drawer?.closeDrawer();
|
|
71
|
-
sendUserToast('Flow restored from previous deployment');
|
|
72
|
-
}
|
|
73
|
-
$: selectedVersion !== undefined && loadFlow(selectedVersion.id);
|
|
74
11
|
</script>
|
|
75
12
|
|
|
76
13
|
<Drawer bind:this={drawer} size="1200px">
|
|
@@ -79,136 +16,14 @@ $: selectedVersion !== undefined && loadFlow(selectedVersion.id);
|
|
|
79
16
|
drawer?.closeDrawer()
|
|
80
17
|
}}
|
|
81
18
|
noPadding
|
|
19
|
+
title="Deployment History"
|
|
82
20
|
>
|
|
83
|
-
<
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
{#each versions ?? [] as version}
|
|
91
|
-
<!-- svelte-ignore a11y-click-events-have-key-events -->
|
|
92
|
-
<div
|
|
93
|
-
class={classNames(
|
|
94
|
-
'border flex gap-1 truncate justify-between flex-row w-full items-center p-2 rounded-md cursor-pointer hover:bg-blue-50 hover:text-blue-400',
|
|
95
|
-
selectedVersion?.id == version.id ? 'bg-blue-100 text-blue-600' : ''
|
|
96
|
-
)}
|
|
97
|
-
role="button"
|
|
98
|
-
tabindex="0"
|
|
99
|
-
on:click={() => {
|
|
100
|
-
selectedVersion = version
|
|
101
|
-
}}
|
|
102
|
-
>
|
|
103
|
-
<span class="text-xs truncate">
|
|
104
|
-
{#if emptyString(version.deployment_msg)}Version {version.id}{:else}{version.deployment_msg}{/if}
|
|
105
|
-
</span>
|
|
106
|
-
</div>
|
|
107
|
-
{/each}
|
|
108
|
-
</div>
|
|
109
|
-
{:else}
|
|
110
|
-
<div class="text-sm text-tertiary">No items</div>
|
|
111
|
-
{/if}
|
|
112
|
-
{:else}
|
|
113
|
-
<Skeleton layout={[[40], [40], [40], [40], [40]]} />
|
|
114
|
-
{/if}
|
|
115
|
-
</div>
|
|
116
|
-
</PanelSection>
|
|
117
|
-
</Pane>
|
|
118
|
-
<Pane size={80}>
|
|
119
|
-
<div class="h-full w-full overflow-auto">
|
|
120
|
-
{#if selectedVersion}
|
|
121
|
-
{#if selected}
|
|
122
|
-
<div class="px-2 flex flex-col gap-2">
|
|
123
|
-
<span class="flex flex-row text-sm p-1 text-tertiary">
|
|
124
|
-
{#if deploymentMsgUpdateMode}
|
|
125
|
-
<div class="flex w-full">
|
|
126
|
-
<input
|
|
127
|
-
type="text"
|
|
128
|
-
bind:value={deploymentMsgUpdate}
|
|
129
|
-
class="!w-auto grow"
|
|
130
|
-
on:click|stopPropagation={() => {}}
|
|
131
|
-
on:keydown|stopPropagation
|
|
132
|
-
on:keypress|stopPropagation={({ key }) => {
|
|
133
|
-
if (key === 'Enter') updateDeploymentMsg(selectedVersion?.id)
|
|
134
|
-
}}
|
|
135
|
-
/>
|
|
136
|
-
<Button
|
|
137
|
-
size="xs"
|
|
138
|
-
color="blue"
|
|
139
|
-
buttonType="button"
|
|
140
|
-
btnClasses="!p-1 !w-[34px] !ml-1"
|
|
141
|
-
aria-label="Save Deployment Message"
|
|
142
|
-
on:click={() => {
|
|
143
|
-
updateDeploymentMsg(selectedVersion?.id)
|
|
144
|
-
}}
|
|
145
|
-
>
|
|
146
|
-
<ArrowRight size={14} />
|
|
147
|
-
</Button>
|
|
148
|
-
<Button
|
|
149
|
-
size="xs"
|
|
150
|
-
color="light"
|
|
151
|
-
buttonType="button"
|
|
152
|
-
btnClasses="!p-1 !w-[34px] !ml-1"
|
|
153
|
-
aria-label="Abort"
|
|
154
|
-
on:click={() => {
|
|
155
|
-
deploymentMsgUpdateMode = false
|
|
156
|
-
deploymentMsgUpdate = undefined
|
|
157
|
-
}}
|
|
158
|
-
>
|
|
159
|
-
<X size={14} />
|
|
160
|
-
</Button>
|
|
161
|
-
</div>
|
|
162
|
-
{:else}
|
|
163
|
-
{#if selectedVersion.deployment_msg}
|
|
164
|
-
{selectedVersion.deployment_msg}
|
|
165
|
-
{:else}
|
|
166
|
-
Deployed {displayDate(selected.edited_at)} by {selected.edited_by}
|
|
167
|
-
{/if}
|
|
168
|
-
<button
|
|
169
|
-
on:click={() => {
|
|
170
|
-
deploymentMsgUpdate = selectedVersion?.deployment_msg
|
|
171
|
-
deploymentMsgUpdateMode = true
|
|
172
|
-
}}
|
|
173
|
-
title="Update commit message"
|
|
174
|
-
class="flex items-center px-1 rounded-sm hover:text-primary text-secondary h-5"
|
|
175
|
-
aria-label="Update commit message"
|
|
176
|
-
>
|
|
177
|
-
<Pencil size={14} />
|
|
178
|
-
</button>
|
|
179
|
-
{/if}
|
|
180
|
-
</span>
|
|
181
|
-
<div class="flex p-1 gap-2">
|
|
182
|
-
<Button
|
|
183
|
-
size="xs"
|
|
184
|
-
on:click={() =>
|
|
185
|
-
window.open(
|
|
186
|
-
`/flows/add?template_id=${selectedVersion?.id}&template=${path}`,
|
|
187
|
-
'_blank'
|
|
188
|
-
)}
|
|
189
|
-
>
|
|
190
|
-
Restore as fork
|
|
191
|
-
</Button>
|
|
192
|
-
<Button size="xs" on:click={() => restoreVersion(selected)}
|
|
193
|
-
>Redeploy with that version
|
|
194
|
-
</Button>
|
|
195
|
-
</div>
|
|
196
|
-
{#await import('../FlowViewer.svelte')}
|
|
197
|
-
<Loader2 class="animate-spin" />
|
|
198
|
-
{:then Module}
|
|
199
|
-
<Module.default flow={selected} />
|
|
200
|
-
{/await}
|
|
201
|
-
</div>
|
|
202
|
-
{:else}
|
|
203
|
-
<Skeleton layout={[[40]]} />
|
|
204
|
-
{/if}
|
|
205
|
-
{:else}
|
|
206
|
-
<div class="text-sm p-2 text-tertiary"
|
|
207
|
-
>Select a deployment version to see its details</div
|
|
208
|
-
>
|
|
209
|
-
{/if}
|
|
210
|
-
</div>
|
|
211
|
-
</Pane>
|
|
212
|
-
</Splitpanes>
|
|
21
|
+
<FlowHistoryInner
|
|
22
|
+
on:historyRestore={() => {
|
|
23
|
+
drawer.closeDrawer()
|
|
24
|
+
dispatch('historyRestore')
|
|
25
|
+
}}
|
|
26
|
+
{path}
|
|
27
|
+
/>
|
|
213
28
|
</DrawerContent>
|
|
214
29
|
</Drawer>
|
|
@@ -0,0 +1,200 @@
|
|
|
1
|
+
<script>import { Pane, Splitpanes } from 'svelte-splitpanes';
|
|
2
|
+
import { classNames, displayDate, emptyString, sendUserToast } from '../../utils';
|
|
3
|
+
import { FlowService } from '../../gen';
|
|
4
|
+
import { workspaceStore } from '../../stores';
|
|
5
|
+
import { Skeleton } from '../common';
|
|
6
|
+
import Button from '../common/button/Button.svelte';
|
|
7
|
+
import { ArrowRight, Loader2, Pencil, X } from 'lucide-svelte';
|
|
8
|
+
import { createEventDispatcher } from 'svelte';
|
|
9
|
+
export let path;
|
|
10
|
+
let loading = false;
|
|
11
|
+
let versions = [];
|
|
12
|
+
let selectedVersion = undefined;
|
|
13
|
+
let selected = undefined;
|
|
14
|
+
let deploymentMsgUpdateMode = false;
|
|
15
|
+
let deploymentMsgUpdate = undefined;
|
|
16
|
+
async function loadFlow(version) {
|
|
17
|
+
selected = await FlowService.getFlowVersion({
|
|
18
|
+
workspace: $workspaceStore,
|
|
19
|
+
version,
|
|
20
|
+
path
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
async function loadVersions() {
|
|
24
|
+
loading = true;
|
|
25
|
+
versions = await FlowService.getFlowHistory({
|
|
26
|
+
workspace: $workspaceStore,
|
|
27
|
+
path: path
|
|
28
|
+
});
|
|
29
|
+
loading = false;
|
|
30
|
+
}
|
|
31
|
+
async function updateDeploymentMsg(version) {
|
|
32
|
+
if (selectedVersion === undefined ||
|
|
33
|
+
version === undefined ||
|
|
34
|
+
emptyString(deploymentMsgUpdate)) {
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
await FlowService.updateFlowHistory({
|
|
38
|
+
workspace: $workspaceStore,
|
|
39
|
+
version,
|
|
40
|
+
path,
|
|
41
|
+
requestBody: {
|
|
42
|
+
deployment_msg: deploymentMsgUpdate
|
|
43
|
+
}
|
|
44
|
+
});
|
|
45
|
+
selectedVersion.deployment_msg = deploymentMsgUpdate;
|
|
46
|
+
deploymentMsgUpdateMode = false;
|
|
47
|
+
loadVersions();
|
|
48
|
+
}
|
|
49
|
+
const dispatch = createEventDispatcher();
|
|
50
|
+
async function restoreVersion(flow) {
|
|
51
|
+
if (!flow)
|
|
52
|
+
return;
|
|
53
|
+
await FlowService.updateFlow({
|
|
54
|
+
workspace: $workspaceStore,
|
|
55
|
+
requestBody: {
|
|
56
|
+
...flow,
|
|
57
|
+
path
|
|
58
|
+
},
|
|
59
|
+
path
|
|
60
|
+
});
|
|
61
|
+
dispatch('historyRestore');
|
|
62
|
+
sendUserToast('Flow restored from previous deployment');
|
|
63
|
+
}
|
|
64
|
+
loadVersions();
|
|
65
|
+
$: selectedVersion !== undefined && loadFlow(selectedVersion.id);
|
|
66
|
+
</script>
|
|
67
|
+
|
|
68
|
+
<Splitpanes class="!overflow-visible">
|
|
69
|
+
<Pane size={20}>
|
|
70
|
+
<div class="flex flex-col gap-2 w-full px-2 py-2">
|
|
71
|
+
{#if !loading}
|
|
72
|
+
{#if versions.length > 0}
|
|
73
|
+
<div class="flex gap-2 flex-col">
|
|
74
|
+
{#each versions ?? [] as version}
|
|
75
|
+
<!-- svelte-ignore a11y-click-events-have-key-events -->
|
|
76
|
+
<div
|
|
77
|
+
class={classNames(
|
|
78
|
+
'border flex gap-1 truncate justify-between flex-row w-full items-center p-2 rounded-md cursor-pointer hover:bg-surface-hover hover:text-primary',
|
|
79
|
+
selectedVersion?.id == version.id ? 'bg-surface-selected text-primary' : ''
|
|
80
|
+
)}
|
|
81
|
+
role="button"
|
|
82
|
+
tabindex="0"
|
|
83
|
+
on:click={() => {
|
|
84
|
+
selectedVersion = version
|
|
85
|
+
}}
|
|
86
|
+
>
|
|
87
|
+
<span class="text-xs truncate">
|
|
88
|
+
{#if emptyString(version.deployment_msg)}Version {version.id}{:else}{version.deployment_msg}{/if}
|
|
89
|
+
</span>
|
|
90
|
+
</div>
|
|
91
|
+
{/each}
|
|
92
|
+
</div>
|
|
93
|
+
{:else}
|
|
94
|
+
<div class="text-sm text-tertiary">No items</div>
|
|
95
|
+
{/if}
|
|
96
|
+
{:else}
|
|
97
|
+
<Skeleton layout={[[40], [40], [40], [40], [40]]} />
|
|
98
|
+
{/if}
|
|
99
|
+
</div>
|
|
100
|
+
</Pane>
|
|
101
|
+
<Pane size={80}>
|
|
102
|
+
<div class="h-full w-full overflow-auto pt-2">
|
|
103
|
+
{#if selectedVersion}
|
|
104
|
+
{#if selected}
|
|
105
|
+
<div class="px-2 flex flex-col gap-2">
|
|
106
|
+
<div class="flex justify-between">
|
|
107
|
+
<span class="flex flex-row text-sm p-1 text-tertiary">
|
|
108
|
+
{#if deploymentMsgUpdateMode}
|
|
109
|
+
<div class="flex w-full">
|
|
110
|
+
<input
|
|
111
|
+
type="text"
|
|
112
|
+
bind:value={deploymentMsgUpdate}
|
|
113
|
+
class="!w-auto grow"
|
|
114
|
+
on:click|stopPropagation={() => {}}
|
|
115
|
+
on:keydown|stopPropagation
|
|
116
|
+
on:keypress|stopPropagation={({ key }) => {
|
|
117
|
+
if (key === 'Enter') updateDeploymentMsg(selectedVersion?.id)
|
|
118
|
+
}}
|
|
119
|
+
/>
|
|
120
|
+
<Button
|
|
121
|
+
size="xs"
|
|
122
|
+
color="blue"
|
|
123
|
+
buttonType="button"
|
|
124
|
+
btnClasses="!p-1 !w-[34px] !ml-1"
|
|
125
|
+
aria-label="Save Deployment Message"
|
|
126
|
+
on:click={() => {
|
|
127
|
+
updateDeploymentMsg(selectedVersion?.id)
|
|
128
|
+
}}
|
|
129
|
+
>
|
|
130
|
+
<ArrowRight size={14} />
|
|
131
|
+
</Button>
|
|
132
|
+
<Button
|
|
133
|
+
size="xs"
|
|
134
|
+
color="light"
|
|
135
|
+
buttonType="button"
|
|
136
|
+
btnClasses="!p-1 !w-[34px] !ml-1"
|
|
137
|
+
aria-label="Abort"
|
|
138
|
+
on:click={() => {
|
|
139
|
+
deploymentMsgUpdateMode = false
|
|
140
|
+
deploymentMsgUpdate = undefined
|
|
141
|
+
}}
|
|
142
|
+
>
|
|
143
|
+
<X size={14} />
|
|
144
|
+
</Button>
|
|
145
|
+
</div>
|
|
146
|
+
{:else}
|
|
147
|
+
{#if selectedVersion.deployment_msg}
|
|
148
|
+
{selectedVersion.deployment_msg}
|
|
149
|
+
{:else}
|
|
150
|
+
Deployed {displayDate(selected.edited_at)} by {selected.edited_by}
|
|
151
|
+
{/if}
|
|
152
|
+
<button
|
|
153
|
+
on:click={() => {
|
|
154
|
+
deploymentMsgUpdate = selectedVersion?.deployment_msg
|
|
155
|
+
deploymentMsgUpdateMode = true
|
|
156
|
+
}}
|
|
157
|
+
title="Update commit message"
|
|
158
|
+
class="flex items-center px-1 rounded-sm hover:text-primary text-secondary h-5"
|
|
159
|
+
aria-label="Update commit message"
|
|
160
|
+
>
|
|
161
|
+
<Pencil size={14} />
|
|
162
|
+
</button>
|
|
163
|
+
{/if}
|
|
164
|
+
</span>
|
|
165
|
+
<div class="flex p-1 gap-2">
|
|
166
|
+
<div class="flex">
|
|
167
|
+
<Button
|
|
168
|
+
size="sm"
|
|
169
|
+
color="dark"
|
|
170
|
+
on:click={() =>
|
|
171
|
+
window.open(
|
|
172
|
+
`/flows/add?template_id=${selectedVersion?.id}&template=${path}`,
|
|
173
|
+
'_blank'
|
|
174
|
+
)}
|
|
175
|
+
>
|
|
176
|
+
Restore as fork
|
|
177
|
+
</Button>
|
|
178
|
+
</div>
|
|
179
|
+
<div class="flex">
|
|
180
|
+
<Button size="sm" color="dark" on:click={() => restoreVersion(selected)}
|
|
181
|
+
>Redeploy with that version
|
|
182
|
+
</Button>
|
|
183
|
+
</div>
|
|
184
|
+
</div>
|
|
185
|
+
</div>
|
|
186
|
+
{#await import('../FlowViewer.svelte')}
|
|
187
|
+
<Loader2 class="animate-spin" />
|
|
188
|
+
{:then Module}
|
|
189
|
+
<Module.default flow={selected} />
|
|
190
|
+
{/await}
|
|
191
|
+
</div>
|
|
192
|
+
{:else}
|
|
193
|
+
<Skeleton layout={[[40]]} />
|
|
194
|
+
{/if}
|
|
195
|
+
{:else}
|
|
196
|
+
<div class="text-sm p-2 text-tertiary">Select a deployment version to see its details</div>
|
|
197
|
+
{/if}
|
|
198
|
+
</div>
|
|
199
|
+
</Pane>
|
|
200
|
+
</Splitpanes>
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { SvelteComponent } from "svelte";
|
|
2
|
+
declare const __propDef: {
|
|
3
|
+
props: {
|
|
4
|
+
path: string;
|
|
5
|
+
};
|
|
6
|
+
events: {
|
|
7
|
+
keydown: KeyboardEvent;
|
|
8
|
+
historyRestore: CustomEvent<any>;
|
|
9
|
+
} & {
|
|
10
|
+
[evt: string]: CustomEvent<any>;
|
|
11
|
+
};
|
|
12
|
+
slots: {};
|
|
13
|
+
};
|
|
14
|
+
export type FlowHistoryInnerProps = typeof __propDef.props;
|
|
15
|
+
export type FlowHistoryInnerEvents = typeof __propDef.events;
|
|
16
|
+
export type FlowHistoryInnerSlots = typeof __propDef.slots;
|
|
17
|
+
export default class FlowHistoryInner extends SvelteComponent<FlowHistoryInnerProps, FlowHistoryInnerEvents, FlowHistoryInnerSlots> {
|
|
18
|
+
}
|
|
19
|
+
export {};
|
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
<script>import {} from '../../gen';
|
|
2
2
|
import ProgressBar from '../progressBar/ProgressBar.svelte';
|
|
3
3
|
export let job = undefined;
|
|
4
|
+
export let currentSubJobProgress = undefined;
|
|
4
5
|
let error = undefined;
|
|
5
6
|
let index = 0;
|
|
6
7
|
let subIndex = undefined;
|
|
7
8
|
let subLength = undefined;
|
|
8
9
|
let length = 1;
|
|
9
10
|
let nextInProgress = false;
|
|
11
|
+
let subIndexIsPercent = false;
|
|
10
12
|
$: if (job)
|
|
11
13
|
updateJobProgress(job);
|
|
12
14
|
function updateJobProgress(job) {
|
|
@@ -18,7 +20,7 @@ function updateJobProgress(job) {
|
|
|
18
20
|
let subStepLength = undefined;
|
|
19
21
|
let newError = undefined;
|
|
20
22
|
let newNextInProgress = false;
|
|
21
|
-
let maxDone = job?.flow_status?.step ?? 0;
|
|
23
|
+
let maxDone = Math.max(job?.flow_status?.step ?? 0, 0);
|
|
22
24
|
if (modules.length > maxDone) {
|
|
23
25
|
const nextModule = modules[maxDone];
|
|
24
26
|
if (nextModule.type === 'InProgress') {
|
|
@@ -32,6 +34,7 @@ function updateJobProgress(job) {
|
|
|
32
34
|
maxDone = maxDone + 1;
|
|
33
35
|
}
|
|
34
36
|
}
|
|
37
|
+
subIndexIsPercent = false;
|
|
35
38
|
// Loop is still iterating
|
|
36
39
|
if (module?.iterator) {
|
|
37
40
|
const stepIndex = module.iterator.index || 0;
|
|
@@ -45,6 +48,17 @@ function updateJobProgress(job) {
|
|
|
45
48
|
subStepIndex = module.branchall.branch;
|
|
46
49
|
subStepLength = module.branchall.len;
|
|
47
50
|
}
|
|
51
|
+
else if (module?.progress) {
|
|
52
|
+
const clamp = (num, min, max) => Math.min(Math.max(num, min), max);
|
|
53
|
+
subStepIndex = clamp(module?.progress, subIndex ?? 0, 99);
|
|
54
|
+
// Jitter protection >^^^^^^^^
|
|
55
|
+
subStepLength = 100;
|
|
56
|
+
subIndexIsPercent = true;
|
|
57
|
+
currentSubJobProgress = subStepIndex;
|
|
58
|
+
}
|
|
59
|
+
else {
|
|
60
|
+
currentSubJobProgress = undefined;
|
|
61
|
+
}
|
|
48
62
|
error = newError;
|
|
49
63
|
subLength = subStepLength ? Math.max(subStepLength, 1) : undefined;
|
|
50
64
|
subIndex = subStepIndex;
|
|
@@ -71,5 +85,6 @@ export function reset() {
|
|
|
71
85
|
{subLength}
|
|
72
86
|
{subIndex}
|
|
73
87
|
{error}
|
|
88
|
+
bind:subIndexIsPercent
|
|
74
89
|
class={$$props.class}
|
|
75
90
|
/>
|
|
@@ -11,9 +11,11 @@ import FlowModuleSuspend from './FlowModuleSuspend.svelte';
|
|
|
11
11
|
import FlowModuleMock from './FlowModuleMock.svelte';
|
|
12
12
|
import FlowModuleDeleteAfterUse from './FlowModuleDeleteAfterUse.svelte';
|
|
13
13
|
import { enterpriseLicense } from '../../../stores';
|
|
14
|
+
import FlowModuleSkip from './FlowModuleSkip.svelte';
|
|
14
15
|
export let noEditor;
|
|
15
16
|
export let flowModule;
|
|
16
17
|
export let previousModule;
|
|
18
|
+
export let parentModule;
|
|
17
19
|
let value = flowModule.value;
|
|
18
20
|
$: value = flowModule.value;
|
|
19
21
|
let selected = 'early-stop';
|
|
@@ -71,6 +73,7 @@ let selected = 'early-stop';
|
|
|
71
73
|
<Pane size={40}>
|
|
72
74
|
<Tabs bind:selected>
|
|
73
75
|
<Tab value="early-stop">Early Stop/Break</Tab>
|
|
76
|
+
<Tab value="skip">Skip</Tab>
|
|
74
77
|
<Tab value="suspend">Suspend/Approval/Prompt</Tab>
|
|
75
78
|
<Tab value="sleep">Sleep</Tab>
|
|
76
79
|
<Tab value="mock">Mock</Tab>
|
|
@@ -82,6 +85,11 @@ let selected = 'early-stop';
|
|
|
82
85
|
<FlowModuleEarlyStop bind:flowModule />
|
|
83
86
|
</div>
|
|
84
87
|
</TabContent>
|
|
88
|
+
<TabContent value="skip" class="flex flex-col flex-1 h-full">
|
|
89
|
+
<div class="p-4 overflow-y-auto">
|
|
90
|
+
<FlowModuleSkip bind:flowModule {parentModule} {previousModule} />
|
|
91
|
+
</div>
|
|
92
|
+
</TabContent>
|
|
85
93
|
<TabContent value="suspend" class="flex flex-col flex-1 h-full">
|
|
86
94
|
<div class="p-4 overflow-y-auto">
|
|
87
95
|
<FlowModuleSuspend previousModuleId={previousModule?.id} bind:flowModule />
|
|
@@ -11,9 +11,11 @@ import FlowModuleSuspend from './FlowModuleSuspend.svelte';
|
|
|
11
11
|
import SplitPanesWrapper from '../../splitPanes/SplitPanesWrapper.svelte';
|
|
12
12
|
import FlowModuleMock from './FlowModuleMock.svelte';
|
|
13
13
|
import { enterpriseLicense } from '../../../stores';
|
|
14
|
+
import FlowModuleSkip from './FlowModuleSkip.svelte';
|
|
14
15
|
// import FlowRetries from './FlowRetries.svelte'
|
|
15
16
|
export let flowModule;
|
|
16
17
|
export let previousModule;
|
|
18
|
+
export let parentModule;
|
|
17
19
|
export let noEditor;
|
|
18
20
|
export let enableAi = false;
|
|
19
21
|
let value = flowModule.value;
|
|
@@ -83,6 +85,7 @@ let selected = 'early-stop';
|
|
|
83
85
|
<Pane size={40}>
|
|
84
86
|
<Tabs bind:selected>
|
|
85
87
|
<Tab value="early-stop">Early Stop/Break</Tab>
|
|
88
|
+
<Tab value="skip">Skip</Tab>
|
|
86
89
|
<Tab value="suspend">Suspend/Approval/Prompt</Tab>
|
|
87
90
|
<Tab value="sleep">Sleep</Tab>
|
|
88
91
|
<Tab value="mock">Mock</Tab>
|
|
@@ -94,6 +97,11 @@ let selected = 'early-stop';
|
|
|
94
97
|
<FlowModuleEarlyStop bind:flowModule />
|
|
95
98
|
</div>
|
|
96
99
|
</TabContent>
|
|
100
|
+
<TabContent value="skip" class="flex flex-col flex-1 h-full">
|
|
101
|
+
<div class="p-4 overflow-y-auto">
|
|
102
|
+
<FlowModuleSkip bind:flowModule {parentModule} {previousModule} />
|
|
103
|
+
</div>
|
|
104
|
+
</TabContent>
|
|
97
105
|
<TabContent value="suspend" class="flex flex-col flex-1 h-full">
|
|
98
106
|
<div class="p-4 overflow-y-auto">
|
|
99
107
|
<FlowModuleSuspend previousModuleId={previousModule?.id} bind:flowModule />
|
|
@@ -94,7 +94,7 @@ setContext('PropPickerWrapper', {
|
|
|
94
94
|
</Alert>
|
|
95
95
|
{/if}
|
|
96
96
|
{/if}
|
|
97
|
-
{#each steps as [args, filter, m] (m.id)}
|
|
97
|
+
{#each steps as [args, filter, m], index (m.id + index)}
|
|
98
98
|
{#if filter.length > 0}
|
|
99
99
|
<div class="relative h-full border-t p-4">
|
|
100
100
|
<h2 class="sticky w-full top-0 z-10 inline-flex items-center py-2">
|
|
@@ -6,8 +6,10 @@ import FlowFailureModule from './FlowFailureModule.svelte';
|
|
|
6
6
|
import FlowConstants from './FlowConstants.svelte';
|
|
7
7
|
import { initFlowStepWarnings } from '../utils';
|
|
8
8
|
import { dfs } from '../dfs';
|
|
9
|
+
import FlowPreprocessorModule from './FlowPreprocessorModule.svelte';
|
|
9
10
|
export let noEditor = false;
|
|
10
11
|
export let enableAi = false;
|
|
12
|
+
export let disabledFlowInputs = false;
|
|
11
13
|
const { selectedId, flowStore, flowStateStore, flowInputsStore } = getContext('FlowEditorContext');
|
|
12
14
|
function checkDup(modules) {
|
|
13
15
|
let seenModules = [];
|
|
@@ -40,13 +42,15 @@ onMount(() => {
|
|
|
40
42
|
{#if $selectedId?.startsWith('settings')}
|
|
41
43
|
<FlowSettings {noEditor} />
|
|
42
44
|
{:else if $selectedId === 'Input'}
|
|
43
|
-
<FlowInput {noEditor} />
|
|
45
|
+
<FlowInput {noEditor} disabled={disabledFlowInputs} />
|
|
44
46
|
{:else if $selectedId === 'Result'}
|
|
45
47
|
<p class="p-4 text-secondary">Nothing to show about the result node. Happy flow building!</p>
|
|
46
48
|
{:else if $selectedId === 'constants'}
|
|
47
49
|
<FlowConstants {noEditor} />
|
|
48
50
|
{:else if $selectedId === 'failure'}
|
|
49
51
|
<FlowFailureModule {noEditor} />
|
|
52
|
+
{:else if $selectedId === 'preprocessor'}
|
|
53
|
+
<FlowPreprocessorModule {noEditor} />
|
|
50
54
|
{:else}
|
|
51
55
|
{@const dup = checkDup($flowStore.value.modules)}
|
|
52
56
|
{#if dup}
|