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
|
@@ -53,11 +53,11 @@ async function createModuleFromScript(path, summary, kind, hash) {
|
|
|
53
53
|
{#if flowModule.value.type === 'forloopflow'}
|
|
54
54
|
<FlowLoop {noEditor} bind:mod={flowModule} {parentModule} {previousModule} {enableAi} />
|
|
55
55
|
{:else if flowModule.value.type === 'whileloopflow'}
|
|
56
|
-
<FlowWhileLoop {noEditor} bind:mod={flowModule} {previousModule} />
|
|
56
|
+
<FlowWhileLoop {noEditor} bind:mod={flowModule} {previousModule} {parentModule} />
|
|
57
57
|
{:else if flowModule.value.type === 'branchone'}
|
|
58
|
-
<FlowBranchesOneWrapper {noEditor} {previousModule} bind:flowModule {enableAi} />
|
|
58
|
+
<FlowBranchesOneWrapper {noEditor} {previousModule} {parentModule} bind:flowModule {enableAi} />
|
|
59
59
|
{:else if flowModule.value.type === 'branchall'}
|
|
60
|
-
<FlowBranchesAllWrapper {noEditor} {previousModule} bind:flowModule />
|
|
60
|
+
<FlowBranchesAllWrapper {noEditor} {previousModule} {parentModule} bind:flowModule />
|
|
61
61
|
{:else if flowModule.value.type === 'identity'}
|
|
62
62
|
{#if $selectedId == 'failure'}
|
|
63
63
|
<div class="p-4">
|
|
@@ -65,6 +65,16 @@ async function createModuleFromScript(path, summary, kind, hash) {
|
|
|
65
65
|
If defined, the error handler will take the error as input.
|
|
66
66
|
</Alert>
|
|
67
67
|
</div>
|
|
68
|
+
{:else if $selectedId == 'preprocessor'}
|
|
69
|
+
<div class="p-4">
|
|
70
|
+
<Alert
|
|
71
|
+
type="info"
|
|
72
|
+
title="Preprocessor is called when the flow is triggered by API or email"
|
|
73
|
+
>
|
|
74
|
+
It prepares arguments for the flow. Besides request arguments, the preprocessor receives a
|
|
75
|
+
`wm_trigger` argument with trigger details.
|
|
76
|
+
</Alert>
|
|
77
|
+
</div>
|
|
68
78
|
{/if}
|
|
69
79
|
|
|
70
80
|
{#if flowModule.value.flow}
|
|
@@ -83,7 +93,8 @@ async function createModuleFromScript(path, summary, kind, hash) {
|
|
|
83
93
|
summary={flowModule.summary}
|
|
84
94
|
shouldDisableTriggerScripts={parentModule !== undefined ||
|
|
85
95
|
previousModule !== undefined ||
|
|
86
|
-
$selectedId == 'failure'
|
|
96
|
+
$selectedId == 'failure' ||
|
|
97
|
+
$selectedId == 'preprocessor'}
|
|
87
98
|
on:pick={async ({ detail }) => {
|
|
88
99
|
const { path, summary, kind, hash } = detail
|
|
89
100
|
createModuleFromScript(path, summary, kind, hash)
|
|
@@ -131,6 +142,7 @@ async function createModuleFromScript(path, summary, kind, hash) {
|
|
|
131
142
|
}
|
|
132
143
|
}}
|
|
133
144
|
failureModule={$selectedId === 'failure'}
|
|
145
|
+
preprocessorModule={$selectedId === 'preprocessor'}
|
|
134
146
|
/>
|
|
135
147
|
{/if}
|
|
136
148
|
{:else if flowModule.value.type === 'rawscript' || flowModule.value.type === 'script' || flowModule.value.type === 'flow'}
|
|
@@ -140,6 +152,7 @@ async function createModuleFromScript(path, summary, kind, hash) {
|
|
|
140
152
|
{parentModule}
|
|
141
153
|
{previousModule}
|
|
142
154
|
failureModule={$selectedId === 'failure'}
|
|
155
|
+
preprocessorModule={$selectedId === 'preprocessor'}
|
|
143
156
|
{scriptKind}
|
|
144
157
|
{scriptTemplate}
|
|
145
158
|
{enableAi}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
<script>import { getContext } from 'svelte';
|
|
2
|
+
import FlowModuleWrapper from './FlowModuleWrapper.svelte';
|
|
3
|
+
export let noEditor = false;
|
|
4
|
+
const { flowStore } = getContext('FlowEditorContext');
|
|
5
|
+
</script>
|
|
6
|
+
|
|
7
|
+
{#if $flowStore.value.preprocessor_module}
|
|
8
|
+
<FlowModuleWrapper
|
|
9
|
+
{noEditor}
|
|
10
|
+
bind:flowModule={$flowStore.value.preprocessor_module}
|
|
11
|
+
on:delete={() => {
|
|
12
|
+
$flowStore.value.preprocessor_module = undefined
|
|
13
|
+
}}
|
|
14
|
+
previousModule={undefined}
|
|
15
|
+
/>
|
|
16
|
+
{/if}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { SvelteComponent } from "svelte";
|
|
2
|
+
declare const __propDef: {
|
|
3
|
+
props: {
|
|
4
|
+
noEditor?: boolean | undefined;
|
|
5
|
+
};
|
|
6
|
+
events: {
|
|
7
|
+
[evt: string]: CustomEvent<any>;
|
|
8
|
+
};
|
|
9
|
+
slots: {};
|
|
10
|
+
};
|
|
11
|
+
export type FlowPreprocessorModuleProps = typeof __propDef.props;
|
|
12
|
+
export type FlowPreprocessorModuleEvents = typeof __propDef.events;
|
|
13
|
+
export type FlowPreprocessorModuleSlots = typeof __propDef.slots;
|
|
14
|
+
export default class FlowPreprocessorModule extends SvelteComponent<FlowPreprocessorModuleProps, FlowPreprocessorModuleEvents, FlowPreprocessorModuleSlots> {
|
|
15
|
+
}
|
|
16
|
+
export {};
|
|
@@ -13,9 +13,11 @@ import FlowModuleMock from './FlowModuleMock.svelte';
|
|
|
13
13
|
import { Play } from 'lucide-svelte';
|
|
14
14
|
import FlowLoopIterationPreview from '../../FlowLoopIterationPreview.svelte';
|
|
15
15
|
import FlowModuleDeleteAfterUse from './FlowModuleDeleteAfterUse.svelte';
|
|
16
|
+
import FlowModuleSkip from './FlowModuleSkip.svelte';
|
|
16
17
|
const { flowStateStore } = getContext('FlowEditorContext');
|
|
17
18
|
export let mod;
|
|
18
19
|
export let previousModule;
|
|
20
|
+
export let parentModule;
|
|
19
21
|
export let noEditor;
|
|
20
22
|
let selected = 'early-stop';
|
|
21
23
|
let previewOpen = false;
|
|
@@ -96,6 +98,7 @@ $: previewIterationArgs = $flowStateStore[mod.id]?.previewArgs ?? {};
|
|
|
96
98
|
<Tabs bind:selected>
|
|
97
99
|
<!-- <Tab value="retries">Retries</Tab> -->
|
|
98
100
|
<Tab value="early-stop">Early Stop/Break</Tab>
|
|
101
|
+
<Tab value="skip">Skip</Tab>
|
|
99
102
|
<Tab value="suspend">Suspend/Approval/Prompt</Tab>
|
|
100
103
|
<Tab value="sleep">Sleep</Tab>
|
|
101
104
|
<Tab value="mock">Mock</Tab>
|
|
@@ -115,6 +118,12 @@ $: previewIterationArgs = $flowStateStore[mod.id]?.previewArgs ?? {};
|
|
|
115
118
|
</div>
|
|
116
119
|
</TabContent>
|
|
117
120
|
|
|
121
|
+
<TabContent value="skip" class="flex flex-col flex-1 h-full">
|
|
122
|
+
<div class="p-4 overflow-y-auto">
|
|
123
|
+
<FlowModuleSkip bind:flowModule={mod} {parentModule} {previousModule} />
|
|
124
|
+
</div>
|
|
125
|
+
</TabContent>
|
|
126
|
+
|
|
118
127
|
<TabContent value="suspend" class="flex flex-col flex-1 h-full">
|
|
119
128
|
<div class="p-4 overflow-y-auto">
|
|
120
129
|
<FlowModuleSuspend previousModuleId={previousModule?.id} bind:flowModule={mod} />
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
<script>import { Wand2 } from 'lucide-svelte';
|
|
2
|
+
import { createEventDispatcher } from 'svelte';
|
|
3
|
+
export let funcDesc;
|
|
4
|
+
export let selected;
|
|
5
|
+
export let lang;
|
|
6
|
+
const dispatch = createEventDispatcher();
|
|
7
|
+
const onKeyDown = (e) => {
|
|
8
|
+
if (selected && e.key === 'Enter') {
|
|
9
|
+
e.preventDefault();
|
|
10
|
+
dispatch('click');
|
|
11
|
+
}
|
|
12
|
+
};
|
|
13
|
+
</script>
|
|
14
|
+
|
|
15
|
+
<svelte:window on:keydown={onKeyDown} />
|
|
16
|
+
<button
|
|
17
|
+
class="px-3 py-2 gap-2 w-full text-left hover:bg-surface-hover flex flex-row items-center transition-all rounded-md {selected
|
|
18
|
+
? 'bg-surface-hover'
|
|
19
|
+
: ''}"
|
|
20
|
+
on:click
|
|
21
|
+
>
|
|
22
|
+
<Wand2 size={14} class="text-violet-800 dark:text-violet-400" />
|
|
23
|
+
|
|
24
|
+
<span class="grow truncate text-left text-2xs text-primary font-normal">
|
|
25
|
+
Generate "{funcDesc}" in {lang}
|
|
26
|
+
</span>
|
|
27
|
+
{#if selected}
|
|
28
|
+
<kbd class="!text-xs">↵</kbd>
|
|
29
|
+
{/if}
|
|
30
|
+
</button>
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { SvelteComponent } from "svelte";
|
|
2
|
+
declare const __propDef: {
|
|
3
|
+
props: {
|
|
4
|
+
funcDesc: string;
|
|
5
|
+
selected: boolean;
|
|
6
|
+
lang: string;
|
|
7
|
+
};
|
|
8
|
+
events: {
|
|
9
|
+
click: CustomEvent<any>;
|
|
10
|
+
} & {
|
|
11
|
+
[evt: string]: CustomEvent<any>;
|
|
12
|
+
};
|
|
13
|
+
slots: {};
|
|
14
|
+
};
|
|
15
|
+
export type GenAiQuickProps = typeof __propDef.props;
|
|
16
|
+
export type GenAiQuickEvents = typeof __propDef.events;
|
|
17
|
+
export type GenAiQuickSlots = typeof __propDef.slots;
|
|
18
|
+
export default class GenAiQuick extends SvelteComponent<GenAiQuickProps, GenAiQuickEvents, GenAiQuickSlots> {
|
|
19
|
+
}
|
|
20
|
+
export {};
|
|
@@ -29,8 +29,9 @@ async function saveScript() {
|
|
|
29
29
|
try {
|
|
30
30
|
script.schema = script.schema ?? emptySchema();
|
|
31
31
|
try {
|
|
32
|
-
const
|
|
33
|
-
script.no_main_func =
|
|
32
|
+
const result = await inferArgs(script.language, script.content, script.schema);
|
|
33
|
+
script.no_main_func = result?.no_main_func || undefined;
|
|
34
|
+
script.has_preprocessor = result?.has_preprocessor || undefined;
|
|
34
35
|
}
|
|
35
36
|
catch (error) {
|
|
36
37
|
sendUserToast(`Could not parse code, are you sure it is valid?`, true);
|
|
@@ -7,7 +7,7 @@ export async function loadSchemaFromModule(module) {
|
|
|
7
7
|
let schema;
|
|
8
8
|
if (mod.type === 'rawscript') {
|
|
9
9
|
schema = emptySchema();
|
|
10
|
-
await inferArgs(mod.language, mod.content ?? '', schema);
|
|
10
|
+
await inferArgs(mod.language, mod.content ?? '', schema, module.id === 'preprocessor' ? 'preprocessor' : undefined);
|
|
11
11
|
}
|
|
12
12
|
else if (mod.type == 'script' && mod.path && mod.path != '') {
|
|
13
13
|
schema = await loadSchemaFromPath(mod.path, mod.hash);
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
<script>import Menu from '../../common/menu/Menu.svelte';
|
|
2
|
+
import Popover from '../../Popover.svelte';
|
|
3
|
+
import { getContext } from 'svelte';
|
|
4
|
+
import { copilotInfo } from '../../../stores';
|
|
5
|
+
import { ExternalLink, Wand2 } from 'lucide-svelte';
|
|
6
|
+
import { base } from '../../../base';
|
|
7
|
+
import { twMerge } from 'tailwind-merge';
|
|
8
|
+
let openNoCopilot = false;
|
|
9
|
+
export let className = '';
|
|
10
|
+
const { drawerStore: copilotDrawerStore } = getContext('FlowCopilotContext') || {};
|
|
11
|
+
</script>
|
|
12
|
+
|
|
13
|
+
<div class={twMerge('absolute left-1/2 transform -translate-x-1/2 z-10', className)}>
|
|
14
|
+
<Popover>
|
|
15
|
+
<div class={openNoCopilot ? 'z-10' : ''}>
|
|
16
|
+
<Menu pointerDown noMinW placement="bottom-center" let:close bind:show={openNoCopilot}>
|
|
17
|
+
<button
|
|
18
|
+
title="AI Flow Builder"
|
|
19
|
+
on:pointerdown={$copilotInfo.exists_openai_resource_path
|
|
20
|
+
? (ev) => {
|
|
21
|
+
ev.preventDefault()
|
|
22
|
+
ev.stopPropagation()
|
|
23
|
+
$copilotDrawerStore?.openDrawer()
|
|
24
|
+
}
|
|
25
|
+
: undefined}
|
|
26
|
+
slot="trigger"
|
|
27
|
+
type="button"
|
|
28
|
+
class=" bg-surface text-violet-800 dark:text-violet-400 border mx-0.5 focus:outline-none hover:bg-surface-hover focus:ring-4 focus:ring-gray-200 font-medium rounded-full text-sm w-7 h-7 flex items-center justify-center"
|
|
29
|
+
>
|
|
30
|
+
<Wand2 size={12} />
|
|
31
|
+
</button>
|
|
32
|
+
{#if !$copilotInfo.exists_openai_resource_path}
|
|
33
|
+
<div class="text-primary p-4">
|
|
34
|
+
<p class="text-sm w-80">
|
|
35
|
+
Enable Windmill AI in the
|
|
36
|
+
<a
|
|
37
|
+
href="{base}/workspace_settings?tab=openai"
|
|
38
|
+
target="_blank"
|
|
39
|
+
class="inline-flex flex-row items-center gap-1"
|
|
40
|
+
on:click={() => {
|
|
41
|
+
close()
|
|
42
|
+
}}
|
|
43
|
+
>
|
|
44
|
+
workspace settings
|
|
45
|
+
<ExternalLink size={16} />
|
|
46
|
+
</a>
|
|
47
|
+
</p>
|
|
48
|
+
</div>
|
|
49
|
+
{/if}
|
|
50
|
+
</Menu>
|
|
51
|
+
</div>
|
|
52
|
+
|
|
53
|
+
<svelte:fragment slot="text">AI Flow builder</svelte:fragment>
|
|
54
|
+
</Popover>
|
|
55
|
+
</div>
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { SvelteComponent } from "svelte";
|
|
2
|
+
declare const __propDef: {
|
|
3
|
+
props: {
|
|
4
|
+
className?: string | undefined;
|
|
5
|
+
};
|
|
6
|
+
events: {
|
|
7
|
+
[evt: string]: CustomEvent<any>;
|
|
8
|
+
};
|
|
9
|
+
slots: {};
|
|
10
|
+
};
|
|
11
|
+
export type FlowCopilotButtonProps = typeof __propDef.props;
|
|
12
|
+
export type FlowCopilotButtonEvents = typeof __propDef.events;
|
|
13
|
+
export type FlowCopilotButtonSlots = typeof __propDef.slots;
|
|
14
|
+
export default class FlowCopilotButton extends SvelteComponent<FlowCopilotButtonProps, FlowCopilotButtonEvents, FlowCopilotButtonSlots> {
|
|
15
|
+
}
|
|
16
|
+
export {};
|
|
@@ -1,75 +1,105 @@
|
|
|
1
1
|
<script>import { getContext } from 'svelte';
|
|
2
2
|
import { classNames, emptySchema } from '../../../utils';
|
|
3
|
-
import Toggle from '../../Toggle.svelte';
|
|
4
3
|
import { NEVER_TESTED_THIS_FAR } from '../models';
|
|
5
4
|
import { fade } from 'svelte/transition';
|
|
6
|
-
import { Bug } from 'lucide-svelte';
|
|
5
|
+
import { Bug, X } from 'lucide-svelte';
|
|
6
|
+
import InsertModuleButton from './InsertModuleButton.svelte';
|
|
7
|
+
import { createInlineScriptModule, pickScript } from '../flowStateUtils';
|
|
8
|
+
import { twMerge } from 'tailwind-merge';
|
|
7
9
|
export let small;
|
|
8
10
|
const { selectedId, flowStateStore, flowStore } = getContext('FlowEditorContext');
|
|
9
|
-
function
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
11
|
+
async function insertNewFailureModule(inlineScript, wsScript) {
|
|
12
|
+
var module = {
|
|
13
|
+
id: 'failure',
|
|
14
|
+
value: { type: 'identity' }
|
|
15
|
+
};
|
|
16
|
+
var state = {
|
|
17
|
+
schema: emptySchema(),
|
|
18
|
+
previewResult: NEVER_TESTED_THIS_FAR
|
|
19
|
+
};
|
|
20
|
+
if (inlineScript) {
|
|
21
|
+
;
|
|
22
|
+
[module, state] = await createInlineScriptModule(inlineScript.language, 'failure', inlineScript.subkind, 'failure');
|
|
14
23
|
}
|
|
15
|
-
else {
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
previewResult: NEVER_TESTED_THIS_FAR
|
|
19
|
-
};
|
|
20
|
-
$flowStore.value.failure_module = {
|
|
21
|
-
id: 'failure',
|
|
22
|
-
value: { type: 'identity' }
|
|
23
|
-
};
|
|
24
|
-
$flowStateStore['failure'] = failureModule;
|
|
25
|
-
$selectedId = 'failure';
|
|
26
|
-
$flowStore = $flowStore;
|
|
24
|
+
else if (wsScript) {
|
|
25
|
+
;
|
|
26
|
+
[module, state] = await pickScript(wsScript.path, wsScript.summary, module.id, wsScript.hash);
|
|
27
27
|
}
|
|
28
|
+
$flowStore.value.failure_module = module;
|
|
29
|
+
$flowStateStore[module.id] = state;
|
|
30
|
+
$selectedId = 'failure';
|
|
31
|
+
$flowStore = $flowStore;
|
|
28
32
|
}
|
|
29
33
|
const { currentStepStore: copilotCurrentStepStore } = getContext('FlowCopilotContext') || {};
|
|
30
34
|
</script>
|
|
31
35
|
|
|
32
36
|
<!-- svelte-ignore a11y-click-events-have-key-events -->
|
|
33
37
|
<!-- svelte-ignore a11y-no-static-element-interactions -->
|
|
38
|
+
|
|
34
39
|
<div
|
|
40
|
+
class={classNames(
|
|
41
|
+
'z-10',
|
|
42
|
+
$copilotCurrentStepStore !== undefined ? 'border-gray-500/75' : 'cursor-pointer',
|
|
43
|
+
'border transition-colors duration-[400ms] ease-linear rounded-sm px-2 py-1 gap-2 bg-surface text-sm flex items-center flex-row',
|
|
44
|
+
$selectedId?.includes('failure')
|
|
45
|
+
? 'outline outline-offset-1 outline-2 outline-slate-900 dark:outline-slate-900/0 dark:bg-surface-secondary dark:border-gray-400'
|
|
46
|
+
: ''
|
|
47
|
+
)}
|
|
48
|
+
style="min-width: {small ? '200px' : '230px'}; max-width: 275px;"
|
|
35
49
|
on:click={() => {
|
|
36
50
|
if ($copilotCurrentStepStore !== undefined) return
|
|
37
51
|
if ($flowStore?.value?.failure_module) {
|
|
38
52
|
$selectedId = 'failure'
|
|
39
|
-
} else {
|
|
40
|
-
onToggle()
|
|
41
53
|
}
|
|
42
54
|
}}
|
|
43
|
-
class={classNames(
|
|
44
|
-
'z-10',
|
|
45
|
-
$copilotCurrentStepStore !== undefined ? 'border-gray-500/75' : 'cursor-pointer',
|
|
46
|
-
'border transition-colors duration-[400ms] ease-linear rounded-sm px-2 py-1 bg-surface text-sm flex justify-between items-center flex-row overflow-x-hidden relative',
|
|
47
|
-
$selectedId?.includes('failure') ? 'outline outline-offset-1 outline-2 outline-slate-900 dark:outline-slate-900/0 dark:bg-surface-secondary dark:border-gray-400' : ''
|
|
48
|
-
)}
|
|
49
|
-
style={small ? 'min-width: 200px' : 'min-width: 275px'}
|
|
50
55
|
>
|
|
51
56
|
{#if $copilotCurrentStepStore !== undefined}
|
|
52
57
|
<div transition:fade class="absolute inset-0 bg-gray-500 bg-opacity-75 z-[900]" />
|
|
53
58
|
{/if}
|
|
54
|
-
<div class="
|
|
55
|
-
<Bug size={16} />
|
|
56
|
-
<span class="font-bold text-xs">Error Handler</span>
|
|
59
|
+
<div class="flex items-center grow-0 min-w-0 gap-2">
|
|
60
|
+
<Bug size={16} color={$flowStore?.value?.failure_module ? '#3b82f6' : '#9CA3AF'} />
|
|
57
61
|
</div>
|
|
58
62
|
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
63
|
+
{#if !$flowStore?.value?.failure_module}
|
|
64
|
+
<div class="grow text-center font-bold text-xs">Error Handler</div>
|
|
65
|
+
{:else}
|
|
66
|
+
<div class="truncate grow min-w-0 text-center text-xs">
|
|
67
|
+
{$flowStore.value.failure_module?.summary ||
|
|
68
|
+
($flowStore.value.failure_module?.value.type === 'rawscript'
|
|
69
|
+
? `${$flowStore.value.failure_module?.value.language}`
|
|
70
|
+
: 'TBD')}
|
|
71
|
+
</div>
|
|
72
|
+
{/if}
|
|
73
|
+
|
|
74
|
+
{#if !$flowStore?.value?.failure_module}
|
|
75
|
+
<InsertModuleButton
|
|
76
|
+
disableAi={false}
|
|
77
|
+
index={0}
|
|
78
|
+
placement={'top-center'}
|
|
79
|
+
on:new={(e) => {
|
|
80
|
+
insertNewFailureModule(e.detail.inlineScript)
|
|
81
|
+
}}
|
|
82
|
+
on:pickScript={(e) => {
|
|
83
|
+
insertNewFailureModule(undefined, e.detail)
|
|
84
|
+
}}
|
|
85
|
+
kind="failure"
|
|
86
|
+
/>
|
|
87
|
+
{:else}
|
|
88
|
+
<button
|
|
89
|
+
title="Delete failure script"
|
|
90
|
+
type="button"
|
|
91
|
+
class={twMerge(
|
|
92
|
+
'w-5 h-5 flex items-center justify-center grow-0 shrink-0',
|
|
93
|
+
'outline-[1px] outline dark:outline-gray-500 outline-gray-300',
|
|
94
|
+
'text-secondary',
|
|
95
|
+
'bg-surface focus:outline-none hover:bg-surface-hover rounded '
|
|
96
|
+
)}
|
|
97
|
+
on:click={() => {
|
|
98
|
+
$flowStore.value.failure_module = undefined
|
|
99
|
+
$selectedId = 'settings-metadata'
|
|
100
|
+
}}
|
|
101
|
+
>
|
|
102
|
+
<X size={12} />
|
|
103
|
+
</button>
|
|
104
|
+
{/if}
|
|
75
105
|
</div>
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<script>import Badge from '../../common/badge/Badge.svelte';
|
|
2
2
|
import Popover from '../../Popover.svelte';
|
|
3
3
|
import { classNames } from '../../../utils';
|
|
4
|
-
import { AlertTriangle, Bed, Database, Gauge, Move, Pencil, PhoneIncoming, Repeat, Square, Voicemail, X } from 'lucide-svelte';
|
|
4
|
+
import { AlertTriangle, Bed, Database, Gauge, Move, Pencil, PhoneIncoming, Repeat, Square, SkipForward, Voicemail, X } from 'lucide-svelte';
|
|
5
5
|
import { createEventDispatcher, getContext } from 'svelte';
|
|
6
6
|
import { fade } from 'svelte/transition';
|
|
7
7
|
import { get } from 'svelte/store';
|
|
@@ -17,6 +17,7 @@ export let deletable = false;
|
|
|
17
17
|
export let retry = false;
|
|
18
18
|
export let cache = false;
|
|
19
19
|
export let earlyStop = false;
|
|
20
|
+
export let skip = false;
|
|
20
21
|
export let suspend = false;
|
|
21
22
|
export let sleep = false;
|
|
22
23
|
export let mock = false;
|
|
@@ -156,6 +157,17 @@ let hover = false;
|
|
|
156
157
|
<svelte:fragment slot="text">Early stop/break</svelte:fragment>
|
|
157
158
|
</Popover>
|
|
158
159
|
{/if}
|
|
160
|
+
{#if skip}
|
|
161
|
+
<Popover notClickable>
|
|
162
|
+
<div
|
|
163
|
+
transition:fade|local={{ duration: 200 }}
|
|
164
|
+
class="center-center bg-surface rounded border border-gray-400 text-secondary px-1 py-0.5"
|
|
165
|
+
>
|
|
166
|
+
<SkipForward size={12} />
|
|
167
|
+
</div>
|
|
168
|
+
<svelte:fragment slot="text">Skip</svelte:fragment>
|
|
169
|
+
</Popover>
|
|
170
|
+
{/if}
|
|
159
171
|
{#if suspend}
|
|
160
172
|
<Popover notClickable>
|
|
161
173
|
<div
|
|
@@ -199,13 +211,12 @@ let hover = false;
|
|
|
199
211
|
<slot name="icon" />
|
|
200
212
|
{/if}
|
|
201
213
|
<div class="truncate" class:font-bold={bold}>{label}</div>
|
|
202
|
-
<div class="flex items-center relative">
|
|
203
|
-
{#if id}
|
|
214
|
+
<div class="flex items-center space-x-2 relative">
|
|
215
|
+
{#if id && id !== 'preprocessor' && !id.startsWith('failure')}
|
|
204
216
|
<Badge color="indigo">{id}</Badge>
|
|
205
|
-
|
|
206
217
|
{#if deletable}
|
|
207
218
|
<button
|
|
208
|
-
class="absolute -left-[
|
|
219
|
+
class="absolute -left-[28px] z-10 h-[20px] rounded-l rounded-t rounded-s w-[20px] trash center-center text-secondary bg-surface duration-150 hover:bg-blue-400 {editId
|
|
209
220
|
? '!bg-blue-400'
|
|
210
221
|
: ''} hover:text-white
|
|
211
222
|
hover:border-blue-700 hover:!visible {hover ? '' : '!hidden'}"
|
|
@@ -228,15 +239,17 @@ hover:border-blue-700 hover:!visible {hover ? '' : '!hidden'}"
|
|
|
228
239
|
<X class="mx-[3px]" size={12} strokeWidth={2} />
|
|
229
240
|
</button>
|
|
230
241
|
|
|
231
|
-
|
|
232
|
-
|
|
242
|
+
{#if id !== 'preprocessor'}
|
|
243
|
+
<button
|
|
244
|
+
class="absolute -top-[10px] right-[60px] rounded-full h-[20px] w-[20px] trash center-center text-secondary
|
|
233
245
|
outline-[1px] outline dark:outline-gray-500 outline-gray-300 bg-surface duration-150 hover:bg-blue-400 hover:text-white
|
|
234
246
|
{hover ? '' : '!hidden'}"
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
247
|
+
on:click|preventDefault|stopPropagation={(event) => dispatch('move')}
|
|
248
|
+
title="Move"
|
|
249
|
+
>
|
|
250
|
+
<Move class="mx-[3px]" size={12} strokeWidth={2} />
|
|
251
|
+
</button>
|
|
252
|
+
{/if}
|
|
240
253
|
|
|
241
254
|
{#if (id && Object.values($flowInputsStore?.[id]?.flowStepWarnings || {}).length > 0) || Boolean(warningMessage)}
|
|
242
255
|
<div class="absolute -top-[10px] -left-[10px]">
|