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
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
<script>import { createEventDispatcher } from 'svelte';
|
|
2
|
+
import { Skeleton } from '../../common';
|
|
3
|
+
import { classNames } from '../../../utils';
|
|
4
|
+
import { APP_TO_ICON_COMPONENT } from '../../icons';
|
|
5
|
+
import { IntegrationService, ScriptService } from '../../../gen';
|
|
6
|
+
import { Circle } from 'lucide-svelte';
|
|
7
|
+
export let kind = 'script';
|
|
8
|
+
export let filter = '';
|
|
9
|
+
export let loading = false;
|
|
10
|
+
export let selected = undefined;
|
|
11
|
+
let hubNotAvailable = false;
|
|
12
|
+
const dispatch = createEventDispatcher();
|
|
13
|
+
export let appFilter = undefined;
|
|
14
|
+
export let items = [];
|
|
15
|
+
export let apps = [];
|
|
16
|
+
let allApps = [];
|
|
17
|
+
$: applyFilter(filter, kind, appFilter);
|
|
18
|
+
$: getAllApps(kind);
|
|
19
|
+
async function getAllApps(filterKind) {
|
|
20
|
+
try {
|
|
21
|
+
hubNotAvailable = false;
|
|
22
|
+
allApps = (await IntegrationService.listHubIntegrations({
|
|
23
|
+
kind: filterKind
|
|
24
|
+
})).map((x) => x.name);
|
|
25
|
+
apps = allApps;
|
|
26
|
+
}
|
|
27
|
+
catch (err) {
|
|
28
|
+
console.error('Hub is not available');
|
|
29
|
+
allApps = [];
|
|
30
|
+
apps = [];
|
|
31
|
+
hubNotAvailable = true;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
let startTs = 0;
|
|
35
|
+
async function applyFilter(filter, filterKind, appFilter) {
|
|
36
|
+
try {
|
|
37
|
+
loading = true;
|
|
38
|
+
hubNotAvailable = false;
|
|
39
|
+
const ts = Date.now();
|
|
40
|
+
startTs = ts;
|
|
41
|
+
await new Promise((resolved, rejected) => setTimeout(resolved, 200));
|
|
42
|
+
if (ts < startTs)
|
|
43
|
+
return;
|
|
44
|
+
const scripts = filter.length > 0
|
|
45
|
+
? await ScriptService.queryHubScripts({
|
|
46
|
+
text: `${filter}`,
|
|
47
|
+
limit: 40,
|
|
48
|
+
kind: filterKind
|
|
49
|
+
})
|
|
50
|
+
: (await ScriptService.getTopHubScripts({
|
|
51
|
+
limit: 40,
|
|
52
|
+
kind: filterKind,
|
|
53
|
+
app: appFilter
|
|
54
|
+
})).asks ?? [];
|
|
55
|
+
const mappedItems = scripts.map((x) => ({
|
|
56
|
+
...x,
|
|
57
|
+
path: `hub/${x.version_id}/${x.app}/${x.summary.toLowerCase().replaceAll(/\s+/g, '_')}`,
|
|
58
|
+
summary: `${x.summary} (${x.app})`
|
|
59
|
+
}));
|
|
60
|
+
if (filter.length > 0) {
|
|
61
|
+
apps = Array.from(new Set(mappedItems?.map((x) => x.app) ?? [])).sort();
|
|
62
|
+
}
|
|
63
|
+
else {
|
|
64
|
+
apps = allApps;
|
|
65
|
+
}
|
|
66
|
+
items = appFilter ? mappedItems.filter((x) => x.app === appFilter) : mappedItems;
|
|
67
|
+
if (ts === startTs) {
|
|
68
|
+
loading = false;
|
|
69
|
+
}
|
|
70
|
+
hubNotAvailable = false;
|
|
71
|
+
}
|
|
72
|
+
catch (err) {
|
|
73
|
+
hubNotAvailable = true;
|
|
74
|
+
console.error('Hub not available');
|
|
75
|
+
loading = false;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
function onKeyDown(e) {
|
|
79
|
+
if (selected != undefined &&
|
|
80
|
+
items &&
|
|
81
|
+
selected >= 0 &&
|
|
82
|
+
selected < items?.length &&
|
|
83
|
+
e.key === 'Enter') {
|
|
84
|
+
e.preventDefault();
|
|
85
|
+
let item = items[selected];
|
|
86
|
+
dispatch('pickScript', item);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
</script>
|
|
90
|
+
|
|
91
|
+
<svelte:window on:keydown={onKeyDown} />
|
|
92
|
+
{#if hubNotAvailable}
|
|
93
|
+
<div class="text-2xs text-red-400 ftext-2xs font-light text-center py-2 px-3 items-center">
|
|
94
|
+
Hub not available
|
|
95
|
+
</div>
|
|
96
|
+
{:else if loading}
|
|
97
|
+
{#each Array(15).fill(0) as _}
|
|
98
|
+
<Skeleton layout={[0.1, [1.5]]} />
|
|
99
|
+
{/each}
|
|
100
|
+
{:else if items.length > 0 && apps.length > 0}
|
|
101
|
+
<ul>
|
|
102
|
+
{#each items as item, index (item.path)}
|
|
103
|
+
<li class="w-full">
|
|
104
|
+
<button
|
|
105
|
+
class="px-3 py-2 gap-2 flex flex-row w-full hover:bg-surface-hover transition-all items-center rounded-md {index ===
|
|
106
|
+
selected
|
|
107
|
+
? 'bg-surface-hover'
|
|
108
|
+
: ''}"
|
|
109
|
+
on:click={() => dispatch('pickScript', item)}
|
|
110
|
+
>
|
|
111
|
+
<div class={classNames('flex justify-center items-center')}>
|
|
112
|
+
{#if item['app'] in APP_TO_ICON_COMPONENT}
|
|
113
|
+
<svelte:component this={APP_TO_ICON_COMPONENT[item['app']]} height={14} width={14} />
|
|
114
|
+
{:else}
|
|
115
|
+
<div
|
|
116
|
+
class="w-[14px] h-[14px] text-gray-400 flex flex-row items-center justify-center"
|
|
117
|
+
>
|
|
118
|
+
<Circle size="12" />
|
|
119
|
+
</div>
|
|
120
|
+
{/if}
|
|
121
|
+
</div>
|
|
122
|
+
|
|
123
|
+
<span class="grow truncate text-left text-2xs text-primary font-normal">
|
|
124
|
+
{item.summary ?? ''}
|
|
125
|
+
</span>
|
|
126
|
+
{#if index === selected}
|
|
127
|
+
<kbd class="!text-xs">↵</kbd>
|
|
128
|
+
{/if}
|
|
129
|
+
</button>
|
|
130
|
+
</li>
|
|
131
|
+
{/each}
|
|
132
|
+
</ul>
|
|
133
|
+
{#if items.length == 40}
|
|
134
|
+
<div class="text-2xs text-tercary font-extralight text-center py-2 px-3 items-center">
|
|
135
|
+
There are more items than being displayed. Refine your search.
|
|
136
|
+
</div>
|
|
137
|
+
{/if}
|
|
138
|
+
{/if}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { SvelteComponent } from "svelte";
|
|
2
|
+
import { type HubScriptKind } from '../../../gen';
|
|
3
|
+
declare const __propDef: {
|
|
4
|
+
props: {
|
|
5
|
+
kind?: string | undefined;
|
|
6
|
+
filter?: string | undefined;
|
|
7
|
+
loading?: boolean | undefined;
|
|
8
|
+
selected?: number | undefined;
|
|
9
|
+
appFilter?: string | undefined;
|
|
10
|
+
items?: {
|
|
11
|
+
path: string;
|
|
12
|
+
summary: string;
|
|
13
|
+
id: number;
|
|
14
|
+
version_id: number;
|
|
15
|
+
ask_id: number;
|
|
16
|
+
app: string;
|
|
17
|
+
kind: HubScriptKind;
|
|
18
|
+
}[] | undefined;
|
|
19
|
+
apps?: string[] | undefined;
|
|
20
|
+
};
|
|
21
|
+
events: {
|
|
22
|
+
pickScript: CustomEvent<any>;
|
|
23
|
+
} & {
|
|
24
|
+
[evt: string]: CustomEvent<any>;
|
|
25
|
+
};
|
|
26
|
+
slots: {};
|
|
27
|
+
};
|
|
28
|
+
export type PickHubScriptQuickProps = typeof __propDef.props;
|
|
29
|
+
export type PickHubScriptQuickEvents = typeof __propDef.events;
|
|
30
|
+
export type PickHubScriptQuickSlots = typeof __propDef.slots;
|
|
31
|
+
export default class PickHubScriptQuick extends SvelteComponent<PickHubScriptQuickProps, PickHubScriptQuickEvents, PickHubScriptQuickSlots> {
|
|
32
|
+
}
|
|
33
|
+
export {};
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
<script>import BarsStaggered from '../../icons/BarsStaggered.svelte';
|
|
2
|
+
import { CheckCircle2, ChevronRight, Code, GitBranch, Repeat, Square, Zap } from 'lucide-svelte';
|
|
3
|
+
import { createEventDispatcher } from 'svelte';
|
|
4
|
+
import { twMerge } from 'tailwind-merge';
|
|
5
|
+
export let label;
|
|
6
|
+
export let selected = false;
|
|
7
|
+
export let returnIcon = false;
|
|
8
|
+
const dispatch = createEventDispatcher();
|
|
9
|
+
</script>
|
|
10
|
+
|
|
11
|
+
<button
|
|
12
|
+
class={twMerge(
|
|
13
|
+
'w-full text-left py-2 px-1.5 hover:bg-surface-hover text-xs font-medium transition-all whitespace-nowrap flex flex-row gap-2 items-center rounded-md',
|
|
14
|
+
selected ? 'bg-surface-hover' : '',
|
|
15
|
+
$$props.class
|
|
16
|
+
)}
|
|
17
|
+
on:pointerdown={() => dispatch('select', label)}
|
|
18
|
+
role="menuitem"
|
|
19
|
+
tabindex="-1"
|
|
20
|
+
>
|
|
21
|
+
<span class="grow flex items-center gap-2">
|
|
22
|
+
{#if label === 'Action'}
|
|
23
|
+
<Code size={14} />
|
|
24
|
+
Action
|
|
25
|
+
<ChevronRight size={12} class="ml-auto" color="#4c566a" />
|
|
26
|
+
{:else if label === 'Trigger'}
|
|
27
|
+
<Zap size={14} />
|
|
28
|
+
Trigger
|
|
29
|
+
<ChevronRight size={12} class="ml-auto" color="#4c566a" />
|
|
30
|
+
{:else if label === 'Approval/Prompt'}
|
|
31
|
+
<CheckCircle2 size={14} />
|
|
32
|
+
Approval/Prompt
|
|
33
|
+
<ChevronRight size={12} class="ml-auto" color="#4c566a" />
|
|
34
|
+
{:else if label === 'Flow'}
|
|
35
|
+
<BarsStaggered size={14} />
|
|
36
|
+
Flow
|
|
37
|
+
<ChevronRight size={12} class="ml-auto" color="#4c566a" />
|
|
38
|
+
{:else if label === 'End Flow'}
|
|
39
|
+
<Square size={14} />
|
|
40
|
+
End Flow
|
|
41
|
+
{:else if label === 'For Loop'}
|
|
42
|
+
<Repeat size={14} />
|
|
43
|
+
For Loop
|
|
44
|
+
{:else if label === 'While Loop'}
|
|
45
|
+
<Repeat size={14} />
|
|
46
|
+
While Loop
|
|
47
|
+
{:else if label === 'Branch to one'}
|
|
48
|
+
<GitBranch size={14} />
|
|
49
|
+
Branch to one
|
|
50
|
+
{:else if label === 'Branch to all'}
|
|
51
|
+
<GitBranch size={14} />
|
|
52
|
+
Branch to all
|
|
53
|
+
{/if}
|
|
54
|
+
</span>
|
|
55
|
+
{#if returnIcon && selected}
|
|
56
|
+
<kbd class="!text-xs text-right">↵</kbd>
|
|
57
|
+
{/if}
|
|
58
|
+
</button>
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { SvelteComponent } from "svelte";
|
|
2
|
+
declare const __propDef: {
|
|
3
|
+
props: {
|
|
4
|
+
[x: string]: any;
|
|
5
|
+
label: string;
|
|
6
|
+
selected?: boolean | undefined;
|
|
7
|
+
returnIcon?: boolean | undefined;
|
|
8
|
+
};
|
|
9
|
+
events: {
|
|
10
|
+
select: CustomEvent<any>;
|
|
11
|
+
} & {
|
|
12
|
+
[evt: string]: CustomEvent<any>;
|
|
13
|
+
};
|
|
14
|
+
slots: {};
|
|
15
|
+
};
|
|
16
|
+
export type TopLevelNodeProps = typeof __propDef.props;
|
|
17
|
+
export type TopLevelNodeEvents = typeof __propDef.events;
|
|
18
|
+
export type TopLevelNodeSlots = typeof __propDef.slots;
|
|
19
|
+
export default class TopLevelNode extends SvelteComponent<TopLevelNodeProps, TopLevelNodeEvents, TopLevelNodeSlots> {
|
|
20
|
+
}
|
|
21
|
+
export {};
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
<script>import { workspaceStore } from '../../../stores';
|
|
2
|
+
import { createEventDispatcher } from 'svelte';
|
|
3
|
+
import { FlowService, ScriptService } from '../../../gen';
|
|
4
|
+
import SearchItems from '../../SearchItems.svelte';
|
|
5
|
+
import { Skeleton } from '../../common';
|
|
6
|
+
import { emptyString } from '../../../utils';
|
|
7
|
+
import { Code2 } from 'lucide-svelte';
|
|
8
|
+
import BarsStaggered from '../../icons/BarsStaggered.svelte';
|
|
9
|
+
export let kind = 'script';
|
|
10
|
+
export let isTemplate = undefined;
|
|
11
|
+
export let selected = undefined;
|
|
12
|
+
let items = undefined;
|
|
13
|
+
let filteredItems = undefined;
|
|
14
|
+
export let filteredWithOwner = undefined;
|
|
15
|
+
export let filter = '';
|
|
16
|
+
export let owners = [];
|
|
17
|
+
$: $workspaceStore && kind && loadItems();
|
|
18
|
+
async function loadItems() {
|
|
19
|
+
items =
|
|
20
|
+
kind == 'flow'
|
|
21
|
+
? await FlowService.listFlows({ workspace: $workspaceStore })
|
|
22
|
+
: await ScriptService.listScripts({
|
|
23
|
+
workspace: $workspaceStore,
|
|
24
|
+
kinds: kind,
|
|
25
|
+
isTemplate
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
export let ownerFilter = undefined;
|
|
29
|
+
$: if ($workspaceStore) {
|
|
30
|
+
ownerFilter = undefined;
|
|
31
|
+
}
|
|
32
|
+
$: owners = Array.from(new Set(filteredItems?.map((x) => x.path.split('/').slice(0, 2).join('/')) ?? [])).sort((a, b) => {
|
|
33
|
+
if (a.startsWith('u/') && !b.startsWith('u/'))
|
|
34
|
+
return -1;
|
|
35
|
+
if (b.startsWith('u/') && !a.startsWith('u/'))
|
|
36
|
+
return 1;
|
|
37
|
+
if (a.startsWith('f/') && !b.startsWith('f/'))
|
|
38
|
+
return -1;
|
|
39
|
+
if (b.startsWith('f/') && !a.startsWith('f/'))
|
|
40
|
+
return 1;
|
|
41
|
+
return a.localeCompare(b);
|
|
42
|
+
});
|
|
43
|
+
const dispatch = createEventDispatcher();
|
|
44
|
+
let lockHash = false;
|
|
45
|
+
$: filteredWithOwner =
|
|
46
|
+
ownerFilter != undefined
|
|
47
|
+
? filteredItems?.filter((x) => x.path.startsWith(ownerFilter?.name))
|
|
48
|
+
: filteredItems;
|
|
49
|
+
function onKeyDown(e) {
|
|
50
|
+
if (selected != undefined &&
|
|
51
|
+
filteredWithOwner &&
|
|
52
|
+
selected >= 0 &&
|
|
53
|
+
selected < filteredWithOwner.length &&
|
|
54
|
+
e.key === 'Enter') {
|
|
55
|
+
e.preventDefault();
|
|
56
|
+
let item = filteredWithOwner[selected];
|
|
57
|
+
if (kind == 'flow') {
|
|
58
|
+
dispatch('pickFlow', { path: item.path });
|
|
59
|
+
}
|
|
60
|
+
else {
|
|
61
|
+
dispatch('pickScript', { path: item.path, hash: lockHash ? item.hash : undefined });
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
</script>
|
|
66
|
+
|
|
67
|
+
<SearchItems
|
|
68
|
+
{filter}
|
|
69
|
+
{items}
|
|
70
|
+
bind:filteredItems
|
|
71
|
+
f={(x) => (emptyString(x.summary) ? x.path : x.summary + ' (' + x.path + ')')}
|
|
72
|
+
/>
|
|
73
|
+
|
|
74
|
+
<svelte:window on:keydown={onKeyDown} />
|
|
75
|
+
{#if filteredItems}
|
|
76
|
+
{#if filteredItems.length == 0}
|
|
77
|
+
<div class="text-2xs text-tertiary font-light text-center py-2 px-3 items-center">
|
|
78
|
+
{kind == 'flow' ? 'No flows found.' : 'No scripts found.'}
|
|
79
|
+
</div>
|
|
80
|
+
{/if}
|
|
81
|
+
<ul>
|
|
82
|
+
{#each filteredWithOwner ?? [] as { path, hash, summary, marked }, index}
|
|
83
|
+
<li class="w-full">
|
|
84
|
+
<button
|
|
85
|
+
class="px-3 py-2 gap-2 flex flex-row w-full hover:bg-surface-hover transition-all items-center rounded-md {index ===
|
|
86
|
+
selected
|
|
87
|
+
? 'bg-surface-hover'
|
|
88
|
+
: ''}"
|
|
89
|
+
on:click={() => {
|
|
90
|
+
if (kind == 'flow') {
|
|
91
|
+
dispatch('pickFlow', { path: path })
|
|
92
|
+
} else {
|
|
93
|
+
dispatch('pickScript', { path: path, hash: lockHash ? hash : undefined })
|
|
94
|
+
}
|
|
95
|
+
}}
|
|
96
|
+
>
|
|
97
|
+
{#if kind == 'flow'}
|
|
98
|
+
<BarsStaggered size={14} class="shrink-0" />
|
|
99
|
+
{:else}
|
|
100
|
+
<Code2 size={14} />
|
|
101
|
+
{/if}
|
|
102
|
+
<span class="grow min-w-0 truncate text-left text-2xs text-primary font-normal">
|
|
103
|
+
{#if marked}
|
|
104
|
+
{@html marked}
|
|
105
|
+
{:else}
|
|
106
|
+
{!summary || summary.length == 0 ? path : summary}
|
|
107
|
+
{/if}</span
|
|
108
|
+
>
|
|
109
|
+
{#if index === selected}
|
|
110
|
+
<kbd class="!text-xs">↵</kbd>
|
|
111
|
+
{/if}
|
|
112
|
+
</button>
|
|
113
|
+
</li>
|
|
114
|
+
{/each}
|
|
115
|
+
</ul>
|
|
116
|
+
{:else}
|
|
117
|
+
{#each Array(10).fill(0) as _}
|
|
118
|
+
<Skeleton layout={[0.5, [1.5]]} />
|
|
119
|
+
{/each}
|
|
120
|
+
{/if}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { SvelteComponent } from "svelte";
|
|
2
|
+
declare const __propDef: {
|
|
3
|
+
props: {
|
|
4
|
+
kind?: "script" | "failure" | "trigger" | "approval" | "flow" | "preprocessor" | undefined;
|
|
5
|
+
isTemplate?: boolean | undefined;
|
|
6
|
+
selected?: number | undefined;
|
|
7
|
+
filteredWithOwner?: ({
|
|
8
|
+
path: string;
|
|
9
|
+
summary?: string | undefined;
|
|
10
|
+
description?: string | undefined;
|
|
11
|
+
hash?: string | undefined;
|
|
12
|
+
} & {
|
|
13
|
+
marked?: string | undefined;
|
|
14
|
+
})[] | undefined;
|
|
15
|
+
filter?: string | undefined;
|
|
16
|
+
owners?: string[] | undefined;
|
|
17
|
+
ownerFilter?: {
|
|
18
|
+
kind: 'inline' | 'owner' | 'integrations';
|
|
19
|
+
name: string | undefined;
|
|
20
|
+
} | undefined;
|
|
21
|
+
};
|
|
22
|
+
events: {
|
|
23
|
+
pickFlow: CustomEvent<any>;
|
|
24
|
+
pickScript: CustomEvent<any>;
|
|
25
|
+
} & {
|
|
26
|
+
[evt: string]: CustomEvent<any>;
|
|
27
|
+
};
|
|
28
|
+
slots: {};
|
|
29
|
+
};
|
|
30
|
+
export type WorkspaceScriptPickerQuickProps = typeof __propDef.props;
|
|
31
|
+
export type WorkspaceScriptPickerQuickEvents = typeof __propDef.events;
|
|
32
|
+
export type WorkspaceScriptPickerQuickSlots = typeof __propDef.slots;
|
|
33
|
+
export default class WorkspaceScriptPickerQuick extends SvelteComponent<WorkspaceScriptPickerQuickProps, WorkspaceScriptPickerQuickEvents, WorkspaceScriptPickerQuickSlots> {
|
|
34
|
+
}
|
|
35
|
+
export {};
|
|
@@ -21,17 +21,21 @@ import DataflowEdge from './renderers/edges/DataflowEdge.svelte';
|
|
|
21
21
|
import { encodeState } from '../../utils';
|
|
22
22
|
import BranchOneStart from './renderers/nodes/BranchOneStart.svelte';
|
|
23
23
|
import NoBranchNode from './renderers/nodes/NoBranchNode.svelte';
|
|
24
|
+
import { Alert, Drawer } from '../common';
|
|
25
|
+
import Button from '../common/button/Button.svelte';
|
|
26
|
+
import FlowYamlEditor from '../flows/header/FlowYamlEditor.svelte';
|
|
24
27
|
export let success = undefined;
|
|
25
28
|
export let modules = [];
|
|
26
29
|
export let failureModule = undefined;
|
|
30
|
+
export let preprocessorModule = undefined;
|
|
27
31
|
export let minHeight = 0;
|
|
28
32
|
export let maxHeight = undefined;
|
|
29
33
|
export let notSelectable = false;
|
|
30
34
|
export let flowModuleStates = undefined;
|
|
31
35
|
export let selectedId = writable(undefined);
|
|
32
36
|
export let insertable = false;
|
|
33
|
-
export let moving = undefined;
|
|
34
37
|
export let scroll = false;
|
|
38
|
+
export let moving = undefined;
|
|
35
39
|
// Download: display a top level button to open the graph in a new tab
|
|
36
40
|
export let download = false;
|
|
37
41
|
export let fullSize = false;
|
|
@@ -94,7 +98,7 @@ $: graph = graphBuilder(modules, {
|
|
|
94
98
|
insertable,
|
|
95
99
|
flowModuleStates,
|
|
96
100
|
selectedId: $selectedId
|
|
97
|
-
}, failureModule, {
|
|
101
|
+
}, failureModule, preprocessorModule, {
|
|
98
102
|
deleteBranch: (detail, label) => {
|
|
99
103
|
$selectedId = label;
|
|
100
104
|
dispatch('deleteBranch', detail);
|
|
@@ -131,6 +135,9 @@ const nodes = writable([]);
|
|
|
131
135
|
const edges = writable([]);
|
|
132
136
|
let height = 0;
|
|
133
137
|
function updateStores() {
|
|
138
|
+
if (graph.error) {
|
|
139
|
+
return;
|
|
140
|
+
}
|
|
134
141
|
$nodes = layoutNodes(graph?.nodes);
|
|
135
142
|
$edges = graph.edges;
|
|
136
143
|
height = Math.max(...$nodes.map((n) => n.position.y + NODE.height + 40), minHeight);
|
|
@@ -161,10 +168,11 @@ $: showDataflow =
|
|
|
161
168
|
!$selectedId.startsWith('constants') &&
|
|
162
169
|
!$selectedId.startsWith('settings') &&
|
|
163
170
|
$selectedId !== 'failure' &&
|
|
171
|
+
$selectedId !== 'preprocessor' &&
|
|
164
172
|
$selectedId !== 'Result';
|
|
165
173
|
const viewport = writable({
|
|
166
174
|
x: 0,
|
|
167
|
-
y:
|
|
175
|
+
y: 35,
|
|
168
176
|
zoom: 1
|
|
169
177
|
});
|
|
170
178
|
function centerViewport(width) {
|
|
@@ -178,66 +186,93 @@ $: width && centerViewport(width);
|
|
|
178
186
|
onMount(() => {
|
|
179
187
|
centerViewport(width);
|
|
180
188
|
});
|
|
189
|
+
let yamlEditorDrawer = undefined;
|
|
181
190
|
</script>
|
|
182
191
|
|
|
192
|
+
{#if insertable}
|
|
193
|
+
<FlowYamlEditor bind:drawer={yamlEditorDrawer} />
|
|
194
|
+
{/if}
|
|
195
|
+
|
|
183
196
|
<div style={`height: ${height}px; max-height: ${maxHeight}px;`} bind:clientWidth={width}>
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
{nodeTypes}
|
|
189
|
-
{viewport}
|
|
190
|
-
{height}
|
|
191
|
-
minZoom={0.5}
|
|
192
|
-
connectionLineType={ConnectionLineType.SmoothStep}
|
|
193
|
-
defaultEdgeOptions={{ type: 'smoothstep' }}
|
|
194
|
-
preventScrolling={scroll}
|
|
195
|
-
zoomOnDoubleClick={false}
|
|
196
|
-
elementsSelectable={false}
|
|
197
|
-
{proOptions}
|
|
198
|
-
nodesDraggable={false}
|
|
199
|
-
>
|
|
200
|
-
<div class="absolute inset-0 !bg-surface-secondary" />
|
|
201
|
-
<Controls position="top-right" orientation="horizontal" showLock={false}>
|
|
202
|
-
{#if download}
|
|
203
|
-
<ControlButton
|
|
204
|
-
on:click={() => {
|
|
205
|
-
try {
|
|
206
|
-
localStorage.setItem('svelvet', encodeState({ modules, failureModule }))
|
|
207
|
-
} catch (e) {
|
|
208
|
-
console.error('error interacting with local storage', e)
|
|
209
|
-
}
|
|
210
|
-
window.open('/view_graph', '_blank')
|
|
211
|
-
}}
|
|
212
|
-
class="!bg-surface"
|
|
213
|
-
>
|
|
214
|
-
<Expand size="14" />
|
|
215
|
-
</ControlButton>
|
|
216
|
-
{/if}
|
|
217
|
-
</Controls>
|
|
197
|
+
{#if graph?.error}
|
|
198
|
+
<div class="center-center">
|
|
199
|
+
<Alert title="Error parsing the flow" type="error" class="max-w-1/2">
|
|
200
|
+
{graph.error}
|
|
218
201
|
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
orientation="horizontal"
|
|
222
|
-
showLock={false}
|
|
223
|
-
showZoom={false}
|
|
224
|
-
showFitView={false}
|
|
225
|
-
class="!shadow-none"
|
|
226
|
-
>
|
|
227
|
-
{#if showDataflow}
|
|
228
|
-
<Toggle
|
|
229
|
-
value={$useDataflow}
|
|
230
|
-
on:change={() => {
|
|
231
|
-
$useDataflow = !$useDataflow
|
|
232
|
-
}}
|
|
202
|
+
<Button
|
|
203
|
+
color="red"
|
|
233
204
|
size="xs"
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
205
|
+
btnClasses="mt-2 w-min"
|
|
206
|
+
on:click={() => yamlEditorDrawer?.openDrawer()}>Open YAML editor</Button
|
|
207
|
+
>
|
|
208
|
+
</Alert>
|
|
209
|
+
</div>
|
|
210
|
+
{:else}
|
|
211
|
+
<SvelteFlow
|
|
212
|
+
on:paneclick={(e) => {
|
|
213
|
+
window.dispatchEvent(new Event('focus'))
|
|
214
|
+
}}
|
|
215
|
+
{nodes}
|
|
216
|
+
{edges}
|
|
217
|
+
{edgeTypes}
|
|
218
|
+
{nodeTypes}
|
|
219
|
+
{viewport}
|
|
220
|
+
{height}
|
|
221
|
+
minZoom={0.5}
|
|
222
|
+
connectionLineType={ConnectionLineType.SmoothStep}
|
|
223
|
+
defaultEdgeOptions={{ type: 'smoothstep' }}
|
|
224
|
+
preventScrolling={scroll}
|
|
225
|
+
zoomOnDoubleClick={false}
|
|
226
|
+
elementsSelectable={false}
|
|
227
|
+
{proOptions}
|
|
228
|
+
nodesDraggable={false}
|
|
229
|
+
--background-color={false}
|
|
230
|
+
>
|
|
231
|
+
<div class="absolute inset-0 !bg-surface-secondary" />
|
|
232
|
+
<Controls position="top-right" orientation="horizontal" showLock={false}>
|
|
233
|
+
{#if download}
|
|
234
|
+
<ControlButton
|
|
235
|
+
on:click={() => {
|
|
236
|
+
try {
|
|
237
|
+
localStorage.setItem(
|
|
238
|
+
'svelvet',
|
|
239
|
+
encodeState({ modules, failureModule, preprocessorModule })
|
|
240
|
+
)
|
|
241
|
+
} catch (e) {
|
|
242
|
+
console.error('error interacting with local storage', e)
|
|
243
|
+
}
|
|
244
|
+
window.open('/view_graph', '_blank')
|
|
245
|
+
}}
|
|
246
|
+
class="!bg-surface"
|
|
247
|
+
>
|
|
248
|
+
<Expand size="14" />
|
|
249
|
+
</ControlButton>
|
|
250
|
+
{/if}
|
|
251
|
+
</Controls>
|
|
252
|
+
|
|
253
|
+
<Controls
|
|
254
|
+
position="top-left"
|
|
255
|
+
orientation="horizontal"
|
|
256
|
+
showLock={false}
|
|
257
|
+
showZoom={false}
|
|
258
|
+
showFitView={false}
|
|
259
|
+
class="!shadow-none"
|
|
260
|
+
>
|
|
261
|
+
{#if showDataflow}
|
|
262
|
+
<Toggle
|
|
263
|
+
value={$useDataflow}
|
|
264
|
+
on:change={() => {
|
|
265
|
+
$useDataflow = !$useDataflow
|
|
266
|
+
}}
|
|
267
|
+
size="xs"
|
|
268
|
+
options={{
|
|
269
|
+
right: 'Dataflow'
|
|
270
|
+
}}
|
|
271
|
+
/>
|
|
272
|
+
{/if}
|
|
273
|
+
</Controls>
|
|
274
|
+
</SvelteFlow>
|
|
275
|
+
{/if}
|
|
241
276
|
</div>
|
|
242
277
|
|
|
243
278
|
<style>
|
|
@@ -9,14 +9,15 @@ declare const __propDef: {
|
|
|
9
9
|
success?: boolean | undefined;
|
|
10
10
|
modules?: FlowModule[] | undefined;
|
|
11
11
|
failureModule?: FlowModule | undefined;
|
|
12
|
+
preprocessorModule?: FlowModule | undefined;
|
|
12
13
|
minHeight?: number | undefined;
|
|
13
14
|
maxHeight?: number | undefined;
|
|
14
15
|
notSelectable?: boolean | undefined;
|
|
15
16
|
flowModuleStates?: Record<string, GraphModuleState> | undefined;
|
|
16
17
|
selectedId?: Writable<string | undefined> | undefined;
|
|
17
18
|
insertable?: boolean | undefined;
|
|
18
|
-
moving?: string | undefined;
|
|
19
19
|
scroll?: boolean | undefined;
|
|
20
|
+
moving?: string | undefined;
|
|
20
21
|
download?: boolean | undefined;
|
|
21
22
|
fullSize?: boolean | undefined;
|
|
22
23
|
disableAi?: boolean | undefined;
|
|
@@ -10,7 +10,8 @@ export type GraphEventHandlers = {
|
|
|
10
10
|
selectedIteration: (detail: any, moduleId: string) => void;
|
|
11
11
|
changeId: (newId: string) => void;
|
|
12
12
|
};
|
|
13
|
-
export default function graphBuilder(modules: FlowModule[] | undefined, extra: Record<string, any>, failureModule: FlowModule | undefined, eventHandlers: GraphEventHandlers, success: boolean | undefined, useDataflow: boolean | undefined, selectedId: string | undefined, moving: string | undefined): {
|
|
13
|
+
export default function graphBuilder(modules: FlowModule[] | undefined, extra: Record<string, any>, failureModule: FlowModule | undefined, preprocessorModule: FlowModule | undefined, eventHandlers: GraphEventHandlers, success: boolean | undefined, useDataflow: boolean | undefined, selectedId: string | undefined, moving: string | undefined): {
|
|
14
14
|
nodes: Node[];
|
|
15
15
|
edges: Edge[];
|
|
16
|
+
error?: string | undefined;
|
|
16
17
|
};
|