windmill-components 1.379.3 → 1.382.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package/components/ArgInput.svelte +33 -3
- package/package/components/DisplayResult.svelte +17 -5
- package/package/components/ErrorOrRecoveryHandler.svelte +3 -2
- package/package/components/FlowBuilder.svelte +3 -0
- package/package/components/FlowBuilder.svelte.d.ts +1 -0
- package/package/components/FlowGraphViewer.svelte +6 -5
- package/package/components/FlowJobResult.svelte +4 -2
- package/package/components/FlowJobResult.svelte.d.ts +2 -0
- package/package/components/FlowStatusViewerInner.svelte +17 -6
- package/package/components/FlowViewer.svelte +1 -0
- package/package/components/HighlightCode.svelte +2 -2
- package/package/components/ModulePreviewForm.svelte +1 -1
- package/package/components/ObjectResourceInput.svelte +7 -2
- package/package/components/ObjectResourceInput.svelte.d.ts +2 -0
- package/package/components/ResourcePicker.svelte +60 -48
- package/package/components/ScriptVersionHistory.svelte +63 -7
- package/package/components/apps/components/display/dbtable/DbExplorerCount.svelte +3 -2
- package/package/components/apps/components/display/table/AppAggridExplorerTable.svelte +22 -5
- package/package/components/apps/components/display/table/AppAggridTable.svelte +14 -5
- package/package/components/apps/components/display/table/AppAggridTableActions.svelte +23 -8
- package/package/components/apps/components/display/table/AppAggridTableActions.svelte.d.ts +5 -3
- package/package/components/apps/components/display/table/utils.js +8 -7
- package/package/components/apps/components/helpers/RunnableComponent.svelte +13 -1
- package/package/components/apps/components/helpers/eval.js +31 -25
- package/package/components/apps/editor/AppEditorHeader.svelte +1 -0
- package/package/components/apps/editor/AppReportsDrawer.svelte +4 -3
- package/package/components/apps/editor/component/components.d.ts +1 -1
- package/package/components/apps/editor/settingsPanel/DecisionTreeGraphEditor.svelte +0 -1
- package/package/components/apps/editor/settingsPanel/DecisionTreeGraphHeader.svelte +55 -45
- package/package/components/apps/editor/settingsPanel/DecisionTreeGraphHeader.svelte.d.ts +7 -9
- package/package/components/apps/editor/settingsPanel/DecisionTreeGraphNode.svelte +66 -59
- package/package/components/apps/editor/settingsPanel/DecisionTreeGraphNode.svelte.d.ts +9 -11
- package/package/components/apps/editor/settingsPanel/decisionTree/DecisionTreePreview.svelte +213 -254
- package/package/components/apps/editor/settingsPanel/decisionTree/DecisionTreePreview.svelte.d.ts +0 -1
- package/package/components/apps/editor/settingsPanel/decisionTree/nodeHelpers.d.ts +1 -1
- package/package/components/apps/editor/settingsPanel/decisionTree/nodeHelpers.js +2 -6
- 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/EmailTriggerPanel.svelte +128 -0
- package/package/components/details/EmailTriggerPanel.svelte.d.ts +20 -0
- package/package/components/details/WebhooksPanel.svelte +7 -68
- package/package/components/flows/FlowHistory.svelte +1 -0
- package/package/components/flows/content/FlowInputs.svelte +0 -1
- package/package/components/flows/content/FlowModuleScript.svelte +33 -3
- package/package/components/flows/content/FlowModuleScript.svelte.d.ts +2 -0
- package/package/components/flows/content/FlowModuleSuspend.svelte +15 -0
- package/package/components/flows/flowInfers.js +1 -1
- package/package/components/flows/map/FlowJobsMenu.svelte +39 -44
- package/package/components/flows/map/FlowModuleSchemaItem.svelte +1 -2
- package/package/components/flows/map/FlowModuleSchemaMap.svelte +4 -3
- package/package/components/flows/map/InsertModuleButton.svelte +16 -9
- package/package/components/flows/map/MapItem.svelte +3 -97
- package/package/components/flows/map/MapItem.svelte.d.ts +0 -5
- package/package/components/flows/map/VirtualItem.svelte +6 -159
- package/package/components/flows/map/VirtualItem.svelte.d.ts +0 -15
- package/package/components/graph/FlowGraphV2.svelte +256 -0
- package/package/components/graph/{FlowGraph.svelte.d.ts → FlowGraphV2.svelte.d.ts} +8 -8
- package/package/components/graph/graphBuilder.d.ts +15 -0
- package/package/components/graph/graphBuilder.js +337 -0
- package/package/components/graph/index.d.ts +0 -1
- package/package/components/graph/index.js +0 -1
- package/package/components/graph/model.d.ts +1 -8
- package/package/components/graph/renderers/edges/BaseEdge.svelte +109 -0
- package/package/components/graph/renderers/edges/BaseEdge.svelte.d.ts +35 -0
- package/package/components/graph/renderers/edges/DataflowEdge.svelte +37 -0
- package/package/components/graph/renderers/edges/DataflowEdge.svelte.d.ts +29 -0
- package/package/components/graph/renderers/edges/EmptyEdge.svelte +22 -0
- package/package/components/graph/renderers/edges/EmptyEdge.svelte.d.ts +23 -0
- package/package/components/graph/renderers/nodes/BranchAllStart.svelte +44 -0
- package/package/components/graph/renderers/nodes/BranchAllStart.svelte.d.ts +29 -0
- package/package/components/graph/renderers/nodes/BranchOneStart.svelte +41 -0
- package/package/components/graph/renderers/nodes/BranchOneStart.svelte.d.ts +29 -0
- package/package/components/graph/renderers/nodes/ForLoopEndNode.svelte +19 -0
- package/package/components/graph/renderers/nodes/ForLoopEndNode.svelte.d.ts +24 -0
- package/package/components/graph/renderers/nodes/ForLoopStartNode.svelte +20 -0
- package/package/components/graph/renderers/nodes/ForLoopStartNode.svelte.d.ts +25 -0
- package/package/components/graph/renderers/nodes/InputNode.svelte +74 -0
- package/package/components/graph/renderers/nodes/InputNode.svelte.d.ts +23 -0
- package/package/components/graph/renderers/nodes/ModuleNode.svelte +71 -0
- package/package/components/graph/renderers/nodes/ModuleNode.svelte.d.ts +41 -0
- package/package/components/graph/renderers/nodes/NoBranchNode.svelte +20 -0
- package/package/components/graph/renderers/nodes/NoBranchNode.svelte.d.ts +27 -0
- package/package/components/graph/renderers/nodes/NodeWrapper.svelte +21 -0
- package/package/components/graph/renderers/nodes/NodeWrapper.svelte.d.ts +22 -0
- package/package/components/graph/renderers/nodes/ResultNode.svelte +24 -0
- package/package/components/graph/renderers/nodes/ResultNode.svelte.d.ts +22 -0
- package/package/components/graph/renderers/nodes/branchAllEndNode.svelte +19 -0
- package/package/components/graph/renderers/nodes/branchAllEndNode.svelte.d.ts +26 -0
- package/package/components/graph/renderers/nodes/branchOneEndNode.svelte +19 -0
- package/package/components/graph/renderers/nodes/branchOneEndNode.svelte.d.ts +24 -0
- package/package/components/graph/renderers/utils.d.ts +8 -0
- package/package/components/graph/renderers/utils.js +26 -0
- package/package/components/graph/util.d.ts +1 -2
- package/package/components/graph/util.js +2 -8
- package/package/components/home/Item.svelte +1 -1
- package/package/components/runs/RunsFilter.svelte +15 -17
- package/package/forLater.js +8 -4
- package/package/gen/core/OpenAPI.js +1 -1
- package/package/gen/schemas.gen.d.ts +3 -0
- package/package/gen/schemas.gen.js +3 -0
- package/package/gen/services.gen.d.ts +22 -3
- package/package/gen/services.gen.js +38 -2
- package/package/gen/types.gen.d.ts +69 -6
- package/package/hub.d.ts +11 -0
- package/package/hub.js +2 -0
- package/package/hubPaths.json +9 -0
- package/package/init_scripts/python_failure_module.d.ts +1 -1
- package/package/init_scripts/python_failure_module.js +4 -3
- package/package/script_helpers.d.ts +2 -2
- package/package/script_helpers.js +11 -9
- package/package.json +2 -1
- package/package/components/graph/FlowGraph.svelte +0 -614
- package/package/components/graph/svelvet/LICENSE +0 -21
- package/package/components/graph/svelvet/container/README.md +0 -7
- package/package/components/graph/svelvet/container/controllers/middleware.d.ts +0 -11
- package/package/components/graph/svelvet/container/controllers/middleware.js +0 -87
- package/package/components/graph/svelvet/container/models/index.d.ts +0 -0
- package/package/components/graph/svelvet/container/models/index.js +0 -1
- package/package/components/graph/svelvet/container/views/GraphView.svelte +0 -262
- package/package/components/graph/svelvet/container/views/GraphView.svelte.d.ts +0 -26
- package/package/components/graph/svelvet/container/views/Svelvet.svelte +0 -121
- package/package/components/graph/svelvet/container/views/Svelvet.svelte.d.ts +0 -36
- package/package/components/graph/svelvet/customCss/controllers/getCss.d.ts +0 -2
- package/package/components/graph/svelvet/customCss/controllers/getCss.js +0 -46
- package/package/components/graph/svelvet/d3/controllers/d3.d.ts +0 -5
- package/package/components/graph/svelvet/d3/controllers/d3.js +0 -59
- package/package/components/graph/svelvet/edges/controllers/anchorCbDev.d.ts +0 -4
- package/package/components/graph/svelvet/edges/controllers/anchorCbDev.js +0 -92
- package/package/components/graph/svelvet/edges/controllers/anchorCbUser.d.ts +0 -57
- package/package/components/graph/svelvet/edges/controllers/anchorCbUser.js +0 -73
- package/package/components/graph/svelvet/edges/controllers/util.d.ts +0 -37
- package/package/components/graph/svelvet/edges/controllers/util.js +0 -71
- package/package/components/graph/svelvet/edges/models/Anchor.d.ts +0 -48
- package/package/components/graph/svelvet/edges/models/Anchor.js +0 -122
- package/package/components/graph/svelvet/edges/models/Edge.d.ts +0 -48
- package/package/components/graph/svelvet/edges/models/Edge.js +0 -109
- package/package/components/graph/svelvet/edges/types/types.d.ts +0 -18
- package/package/components/graph/svelvet/edges/types/types.js +0 -1
- package/package/components/graph/svelvet/edges/views/Edges/BaseEdge.svelte +0 -104
- package/package/components/graph/svelvet/edges/views/Edges/BaseEdge.svelte.d.ts +0 -18
- package/package/components/graph/svelvet/edges/views/Edges/EdgeText.svelte +0 -42
- package/package/components/graph/svelvet/edges/views/Edges/EdgeText.svelte.d.ts +0 -17
- package/package/components/graph/svelvet/edges/views/Edges/SimpleBezierEdge.svelte +0 -151
- package/package/components/graph/svelvet/edges/views/Edges/SimpleBezierEdge.svelte.d.ts +0 -17
- package/package/components/graph/svelvet/edges/views/Edges/SmoothStepEdge.svelte +0 -157
- package/package/components/graph/svelvet/edges/views/Edges/SmoothStepEdge.svelte.d.ts +0 -60
- package/package/components/graph/svelvet/edges/views/Edges/StepEdge.svelte +0 -8
- package/package/components/graph/svelvet/edges/views/Edges/StepEdge.svelte.d.ts +0 -25
- package/package/components/graph/svelvet/edges/views/Edges/types.d.ts +0 -52
- package/package/components/graph/svelvet/edges/views/Edges/types.js +0 -1
- package/package/components/graph/svelvet/edges/views/Edges/utils.d.ts +0 -33
- package/package/components/graph/svelvet/edges/views/Edges/utils.js +0 -31
- package/package/components/graph/svelvet/nodes/controllers/util.d.ts +0 -9
- package/package/components/graph/svelvet/nodes/controllers/util.js +0 -13
- package/package/components/graph/svelvet/nodes/models/Node.d.ts +0 -74
- package/package/components/graph/svelvet/nodes/models/Node.js +0 -156
- package/package/components/graph/svelvet/nodes/views/Node.svelte +0 -84
- package/package/components/graph/svelvet/nodes/views/Node.svelte.d.ts +0 -21
- package/package/components/graph/svelvet/store/controllers/storeApi.d.ts +0 -25
- package/package/components/graph/svelvet/store/controllers/storeApi.js +0 -91
- package/package/components/graph/svelvet/store/controllers/userApi.d.ts +0 -3
- package/package/components/graph/svelvet/store/controllers/userApi.js +0 -18
- package/package/components/graph/svelvet/store/controllers/util.d.ts +0 -24
- package/package/components/graph/svelvet/store/controllers/util.js +0 -148
- package/package/components/graph/svelvet/store/models/store.d.ts +0 -13
- package/package/components/graph/svelvet/store/models/store.js +0 -12
- package/package/components/graph/svelvet/store/types/types.d.ts +0 -127
- package/package/components/graph/svelvet/store/types/types.js +0 -1
- package/package/components/graph/svelvet/types/README.md +0 -3
- package/package/components/graph/svelvet/types/index.d.ts +0 -2
- package/package/components/graph/svelvet/types/index.js +0 -1
- package/package/components/graph/svelvet/types/types.d.ts +0 -50
- package/package/components/graph/svelvet/types/types.js +0 -18
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
<script>import VirtualItem from '../../../flows/map/VirtualItem.svelte';
|
|
2
|
+
import NodeWrapper from './NodeWrapper.svelte';
|
|
3
|
+
import { X } from 'lucide-svelte';
|
|
4
|
+
import { getStateColor } from '../../util';
|
|
5
|
+
import { computeBorderStatus } from '../utils';
|
|
6
|
+
export let data;
|
|
7
|
+
$: borderStatus = computeBorderStatus(data.branchIndex, 'branchall', data.flowModuleStates?.[data.id]);
|
|
8
|
+
</script>
|
|
9
|
+
|
|
10
|
+
<NodeWrapper let:darkMode offset={data.offset}>
|
|
11
|
+
<VirtualItem
|
|
12
|
+
label={data.label}
|
|
13
|
+
selectable
|
|
14
|
+
selected={data.selected}
|
|
15
|
+
bgColor={getStateColor(undefined, darkMode)}
|
|
16
|
+
borderColor={borderStatus
|
|
17
|
+
? getStateColor(borderStatus, darkMode) + (!darkMode ? '; border-width: 3px' : '')
|
|
18
|
+
: undefined}
|
|
19
|
+
on:select={() => {
|
|
20
|
+
data.eventHandlers.select(data.id)
|
|
21
|
+
}}
|
|
22
|
+
on:insert={(e) => {
|
|
23
|
+
data.eventHandlers.insert(e.detail)
|
|
24
|
+
}}
|
|
25
|
+
/>
|
|
26
|
+
{#if data.insertable}
|
|
27
|
+
<button
|
|
28
|
+
class="z-50 absolute -top-[10px] -right-[10px] rounded-full h-[20px] w-[20px] center-center text-primary
|
|
29
|
+
border-[1.5px] border-gray-700 bg-surface duration-150 hover:bg-red-400 hover:text-white
|
|
30
|
+
hover:border-red-700"
|
|
31
|
+
on:click|preventDefault|stopPropagation={() => {
|
|
32
|
+
data.eventHandlers.deleteBranch(
|
|
33
|
+
{
|
|
34
|
+
module: data.modules.find((m) => m.id === data.id),
|
|
35
|
+
index: data.branchIndex
|
|
36
|
+
},
|
|
37
|
+
data.label
|
|
38
|
+
)
|
|
39
|
+
}}
|
|
40
|
+
>
|
|
41
|
+
<X size={12} />
|
|
42
|
+
</button>
|
|
43
|
+
{/if}
|
|
44
|
+
</NodeWrapper>
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { SvelteComponent } from "svelte";
|
|
2
|
+
import type { GraphModuleState } from '../../model';
|
|
3
|
+
import type { FlowModule } from '../../../../gen';
|
|
4
|
+
import type { GraphEventHandlers } from '../../graphBuilder';
|
|
5
|
+
declare const __propDef: {
|
|
6
|
+
props: {
|
|
7
|
+
data: {
|
|
8
|
+
label: string;
|
|
9
|
+
branchIndex: number;
|
|
10
|
+
insertable: boolean;
|
|
11
|
+
flowModuleStates: Record<string, GraphModuleState> | undefined;
|
|
12
|
+
id: string;
|
|
13
|
+
modules: FlowModule[];
|
|
14
|
+
selected: boolean;
|
|
15
|
+
eventHandlers: GraphEventHandlers;
|
|
16
|
+
offset: number;
|
|
17
|
+
};
|
|
18
|
+
};
|
|
19
|
+
events: {
|
|
20
|
+
[evt: string]: CustomEvent<any>;
|
|
21
|
+
};
|
|
22
|
+
slots: {};
|
|
23
|
+
};
|
|
24
|
+
export type BranchAllStartProps = typeof __propDef.props;
|
|
25
|
+
export type BranchAllStartEvents = typeof __propDef.events;
|
|
26
|
+
export type BranchAllStartSlots = typeof __propDef.slots;
|
|
27
|
+
export default class BranchAllStart extends SvelteComponent<BranchAllStartProps, BranchAllStartEvents, BranchAllStartSlots> {
|
|
28
|
+
}
|
|
29
|
+
export {};
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
<script>import VirtualItem from '../../../flows/map/VirtualItem.svelte';
|
|
2
|
+
import NodeWrapper from './NodeWrapper.svelte';
|
|
3
|
+
import { X } from 'lucide-svelte';
|
|
4
|
+
import { getStateColor } from '../../util';
|
|
5
|
+
import { computeBorderStatus } from '../utils';
|
|
6
|
+
export let data;
|
|
7
|
+
$: borderStatus = computeBorderStatus(data.branchIndex, 'branchone', data.flowModuleStates?.[data.id]);
|
|
8
|
+
</script>
|
|
9
|
+
|
|
10
|
+
<NodeWrapper let:darkMode offset={data.offset}>
|
|
11
|
+
<VirtualItem
|
|
12
|
+
label={data.label}
|
|
13
|
+
selectable
|
|
14
|
+
selected={data.selected}
|
|
15
|
+
bgColor={getStateColor(undefined, darkMode)}
|
|
16
|
+
borderColor={borderStatus
|
|
17
|
+
? getStateColor(borderStatus, darkMode) + (!darkMode ? '; border-width: 3px' : '')
|
|
18
|
+
: undefined}
|
|
19
|
+
on:select={() => {
|
|
20
|
+
data.eventHandlers.select(data.id)
|
|
21
|
+
}}
|
|
22
|
+
/>
|
|
23
|
+
{#if data.insertable}
|
|
24
|
+
<button
|
|
25
|
+
class="z-50 absolute -top-[10px] -right-[10px] rounded-full h-[20px] w-[20px] center-center text-primary
|
|
26
|
+
border-[1.5px] border-gray-700 bg-surface duration-150 hover:bg-red-400 hover:text-white
|
|
27
|
+
hover:border-red-700"
|
|
28
|
+
on:click|preventDefault|stopPropagation={() => {
|
|
29
|
+
data.eventHandlers.deleteBranch(
|
|
30
|
+
{
|
|
31
|
+
module: data.modules.find((m) => m.id === data.id),
|
|
32
|
+
index: data.branchIndex
|
|
33
|
+
},
|
|
34
|
+
data.label
|
|
35
|
+
)
|
|
36
|
+
}}
|
|
37
|
+
>
|
|
38
|
+
<X size={12} />
|
|
39
|
+
</button>
|
|
40
|
+
{/if}
|
|
41
|
+
</NodeWrapper>
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { SvelteComponent } from "svelte";
|
|
2
|
+
import type { GraphModuleState } from '../../model';
|
|
3
|
+
import type { FlowModule } from '../../../../gen';
|
|
4
|
+
import type { GraphEventHandlers } from '../../graphBuilder';
|
|
5
|
+
declare const __propDef: {
|
|
6
|
+
props: {
|
|
7
|
+
data: {
|
|
8
|
+
label: string;
|
|
9
|
+
insertable: boolean;
|
|
10
|
+
flowModuleStates: Record<string, GraphModuleState> | undefined;
|
|
11
|
+
id: string;
|
|
12
|
+
modules: FlowModule[];
|
|
13
|
+
selected: boolean;
|
|
14
|
+
eventHandlers: GraphEventHandlers;
|
|
15
|
+
branchIndex: number;
|
|
16
|
+
offset: number;
|
|
17
|
+
};
|
|
18
|
+
};
|
|
19
|
+
events: {
|
|
20
|
+
[evt: string]: CustomEvent<any>;
|
|
21
|
+
};
|
|
22
|
+
slots: {};
|
|
23
|
+
};
|
|
24
|
+
export type BranchOneStartProps = typeof __propDef.props;
|
|
25
|
+
export type BranchOneStartEvents = typeof __propDef.events;
|
|
26
|
+
export type BranchOneStartSlots = typeof __propDef.slots;
|
|
27
|
+
export default class BranchOneStart extends SvelteComponent<BranchOneStartProps, BranchOneStartEvents, BranchOneStartSlots> {
|
|
28
|
+
}
|
|
29
|
+
export {};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
<script>import VirtualItem from '../../../flows/map/VirtualItem.svelte';
|
|
2
|
+
import NodeWrapper from './NodeWrapper.svelte';
|
|
3
|
+
import { getStateColor } from '../../util';
|
|
4
|
+
export let data;
|
|
5
|
+
</script>
|
|
6
|
+
|
|
7
|
+
<NodeWrapper offset={data.offset} let:darkMode>
|
|
8
|
+
<VirtualItem
|
|
9
|
+
label={'Collect result of each iteration'}
|
|
10
|
+
selectable={true}
|
|
11
|
+
selected={false}
|
|
12
|
+
id={data.id}
|
|
13
|
+
bgColor={getStateColor(undefined, darkMode)}
|
|
14
|
+
borderColor={getStateColor(data.flowModuleStates?.[data.id]?.type, darkMode)}
|
|
15
|
+
on:select={(e) => {
|
|
16
|
+
data?.eventHandlers?.select(e.detail)
|
|
17
|
+
}}
|
|
18
|
+
/>
|
|
19
|
+
</NodeWrapper>
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { SvelteComponent } from "svelte";
|
|
2
|
+
import type { GraphModuleState } from '../../model';
|
|
3
|
+
import type { GraphEventHandlers } from '../../graphBuilder';
|
|
4
|
+
declare const __propDef: {
|
|
5
|
+
props: {
|
|
6
|
+
data: {
|
|
7
|
+
offset: number;
|
|
8
|
+
id: string;
|
|
9
|
+
insertable: boolean;
|
|
10
|
+
flowModuleStates: Record<string, GraphModuleState> | undefined;
|
|
11
|
+
eventHandlers: GraphEventHandlers;
|
|
12
|
+
};
|
|
13
|
+
};
|
|
14
|
+
events: {
|
|
15
|
+
[evt: string]: CustomEvent<any>;
|
|
16
|
+
};
|
|
17
|
+
slots: {};
|
|
18
|
+
};
|
|
19
|
+
export type ForLoopEndNodeProps = typeof __propDef.props;
|
|
20
|
+
export type ForLoopEndNodeEvents = typeof __propDef.events;
|
|
21
|
+
export type ForLoopEndNodeSlots = typeof __propDef.slots;
|
|
22
|
+
export default class ForLoopEndNode extends SvelteComponent<ForLoopEndNodeProps, ForLoopEndNodeEvents, ForLoopEndNodeSlots> {
|
|
23
|
+
}
|
|
24
|
+
export {};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
<script>import VirtualItem from '../../../flows/map/VirtualItem.svelte';
|
|
2
|
+
import NodeWrapper from './NodeWrapper.svelte';
|
|
3
|
+
import { getStateColor } from '../../util';
|
|
4
|
+
export let data;
|
|
5
|
+
</script>
|
|
6
|
+
|
|
7
|
+
<NodeWrapper let:darkMode offset={data.offset}>
|
|
8
|
+
<VirtualItem
|
|
9
|
+
label={'Do one iteration'}
|
|
10
|
+
selectable={false}
|
|
11
|
+
selected={false}
|
|
12
|
+
id={data.id}
|
|
13
|
+
hideId
|
|
14
|
+
bgColor={getStateColor(undefined, darkMode)}
|
|
15
|
+
borderColor={getStateColor(data.flowModuleStates?.[data.id]?.type, darkMode)}
|
|
16
|
+
on:select={(e) => {
|
|
17
|
+
data?.eventHandlers?.select(e.detail)
|
|
18
|
+
}}
|
|
19
|
+
/>
|
|
20
|
+
</NodeWrapper>
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { SvelteComponent } from "svelte";
|
|
2
|
+
import type { FlowModule } from '../../../../gen';
|
|
3
|
+
import type { GraphModuleState } from '../../model';
|
|
4
|
+
import type { GraphEventHandlers } from '../../graphBuilder';
|
|
5
|
+
declare const __propDef: {
|
|
6
|
+
props: {
|
|
7
|
+
data: {
|
|
8
|
+
offset: number;
|
|
9
|
+
id: string;
|
|
10
|
+
modules: FlowModule[];
|
|
11
|
+
flowModuleStates: Record<string, GraphModuleState> | undefined;
|
|
12
|
+
eventHandlers: GraphEventHandlers;
|
|
13
|
+
};
|
|
14
|
+
};
|
|
15
|
+
events: {
|
|
16
|
+
[evt: string]: CustomEvent<any>;
|
|
17
|
+
};
|
|
18
|
+
slots: {};
|
|
19
|
+
};
|
|
20
|
+
export type ForLoopStartNodeProps = typeof __propDef.props;
|
|
21
|
+
export type ForLoopStartNodeEvents = typeof __propDef.events;
|
|
22
|
+
export type ForLoopStartNodeSlots = typeof __propDef.slots;
|
|
23
|
+
export default class ForLoopStartNode extends SvelteComponent<ForLoopStartNodeProps, ForLoopStartNodeEvents, ForLoopStartNodeSlots> {
|
|
24
|
+
}
|
|
25
|
+
export {};
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
<script>import VirtualItem from '../../../flows/map/VirtualItem.svelte';
|
|
2
|
+
import { ExternalLink, Wand2 } from 'lucide-svelte';
|
|
3
|
+
import NodeWrapper from './NodeWrapper.svelte';
|
|
4
|
+
import Popover from '../../../Popover.svelte';
|
|
5
|
+
import { getStateColor } from '../../util';
|
|
6
|
+
import Menu from '../../../common/menu/Menu.svelte';
|
|
7
|
+
import { getContext } from 'svelte';
|
|
8
|
+
import { copilotInfo } from '../../../../stores';
|
|
9
|
+
import { base } from '../../../../base';
|
|
10
|
+
export let data;
|
|
11
|
+
let openNoCopilot = false;
|
|
12
|
+
const { drawerStore: copilotDrawerStore } = getContext('FlowCopilotContext') || {};
|
|
13
|
+
const { selectedId } = getContext('FlowGraphContext');
|
|
14
|
+
</script>
|
|
15
|
+
|
|
16
|
+
<NodeWrapper enableTargetHandle={false} let:darkMode>
|
|
17
|
+
{#if data.insertable && !data.disableAi}
|
|
18
|
+
<div class="absolute -top-10 left-1/2 transform -translate-x-1/2 z-10">
|
|
19
|
+
<Popover>
|
|
20
|
+
<div class={openNoCopilot ? 'z-10' : ''}>
|
|
21
|
+
<Menu pointerDown noMinW placement="bottom-center" let:close bind:show={openNoCopilot}>
|
|
22
|
+
<button
|
|
23
|
+
title="AI Flow Builder"
|
|
24
|
+
on:pointerdown={$copilotInfo.exists_openai_resource_path
|
|
25
|
+
? (ev) => {
|
|
26
|
+
ev.preventDefault()
|
|
27
|
+
ev.stopPropagation()
|
|
28
|
+
$copilotDrawerStore?.openDrawer()
|
|
29
|
+
}
|
|
30
|
+
: undefined}
|
|
31
|
+
slot="trigger"
|
|
32
|
+
type="button"
|
|
33
|
+
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-8 h-8 flex items-center justify-center"
|
|
34
|
+
>
|
|
35
|
+
<Wand2 size={16} />
|
|
36
|
+
</button>
|
|
37
|
+
{#if !$copilotInfo.exists_openai_resource_path}
|
|
38
|
+
<div class="text-primary p-4">
|
|
39
|
+
<p class="text-sm w-80">
|
|
40
|
+
Enable Windmill AI in the
|
|
41
|
+
<a
|
|
42
|
+
href="{base}/workspace_settings?tab=openai"
|
|
43
|
+
target="_blank"
|
|
44
|
+
class="inline-flex flex-row items-center gap-1"
|
|
45
|
+
on:click={() => {
|
|
46
|
+
close()
|
|
47
|
+
}}
|
|
48
|
+
>
|
|
49
|
+
workspace settings
|
|
50
|
+
<ExternalLink size={16} />
|
|
51
|
+
</a>
|
|
52
|
+
</p>
|
|
53
|
+
</div>
|
|
54
|
+
{/if}
|
|
55
|
+
</Menu>
|
|
56
|
+
</div>
|
|
57
|
+
|
|
58
|
+
<svelte:fragment slot="text">AI Flow builder</svelte:fragment>
|
|
59
|
+
</Popover>
|
|
60
|
+
</div>
|
|
61
|
+
{/if}
|
|
62
|
+
<VirtualItem
|
|
63
|
+
label="Input"
|
|
64
|
+
selectable
|
|
65
|
+
selected={$selectedId === 'Input'}
|
|
66
|
+
bgColor={getStateColor(undefined, darkMode)}
|
|
67
|
+
on:insert={(e) => {
|
|
68
|
+
data.eventHandlers?.insert(e.detail)
|
|
69
|
+
}}
|
|
70
|
+
on:select={(e) => {
|
|
71
|
+
data.eventHandlers?.select(e.detail)
|
|
72
|
+
}}
|
|
73
|
+
/>
|
|
74
|
+
</NodeWrapper>
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { SvelteComponent } from "svelte";
|
|
2
|
+
import type { GraphEventHandlers } from '../../graphBuilder';
|
|
3
|
+
import type { FlowModule } from '../../../../gen';
|
|
4
|
+
declare const __propDef: {
|
|
5
|
+
props: {
|
|
6
|
+
data: {
|
|
7
|
+
insertable: boolean;
|
|
8
|
+
eventHandlers: GraphEventHandlers;
|
|
9
|
+
modules: FlowModule[];
|
|
10
|
+
disableAi: boolean;
|
|
11
|
+
};
|
|
12
|
+
};
|
|
13
|
+
events: {
|
|
14
|
+
[evt: string]: CustomEvent<any>;
|
|
15
|
+
};
|
|
16
|
+
slots: {};
|
|
17
|
+
};
|
|
18
|
+
export type InputNodeProps = typeof __propDef.props;
|
|
19
|
+
export type InputNodeEvents = typeof __propDef.events;
|
|
20
|
+
export type InputNodeSlots = typeof __propDef.slots;
|
|
21
|
+
export default class InputNode extends SvelteComponent<InputNodeProps, InputNodeEvents, InputNodeSlots> {
|
|
22
|
+
}
|
|
23
|
+
export {};
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
<script>import MapItem from '../../../flows/map/MapItem.svelte';
|
|
2
|
+
import { GitBranchPlus } from 'lucide-svelte';
|
|
3
|
+
import NodeWrapper from './NodeWrapper.svelte';
|
|
4
|
+
import { getStateColor } from '../../util';
|
|
5
|
+
export let data;
|
|
6
|
+
$: type = data.flowModuleStates?.[data.module.id]?.type;
|
|
7
|
+
if (!type && data.flowJobs) {
|
|
8
|
+
type = 'InProgress';
|
|
9
|
+
}
|
|
10
|
+
$: state = data.flowModuleStates?.[data.module.id];
|
|
11
|
+
$: flowJobs = state?.flow_jobs
|
|
12
|
+
? {
|
|
13
|
+
flowJobs: state?.flow_jobs,
|
|
14
|
+
selected: state?.selectedForloopIndex ?? -1,
|
|
15
|
+
flowJobsSuccess: state?.flow_jobs_success
|
|
16
|
+
}
|
|
17
|
+
: undefined;
|
|
18
|
+
let selectedIteration = -1;
|
|
19
|
+
</script>
|
|
20
|
+
|
|
21
|
+
<NodeWrapper offset={data.offset} let:darkMode>
|
|
22
|
+
<MapItem
|
|
23
|
+
mod={data.module}
|
|
24
|
+
insertable={data.insertable}
|
|
25
|
+
annotation={flowJobs &&
|
|
26
|
+
(data.module.value.type === 'forloopflow' || data.module.value.type === 'whileloopflow')
|
|
27
|
+
? 'Iteration: ' +
|
|
28
|
+
(selectedIteration >= 0 ? selectedIteration : state?.flow_jobs?.length) +
|
|
29
|
+
'/' +
|
|
30
|
+
(state?.iteration_total ?? '?')
|
|
31
|
+
: ''}
|
|
32
|
+
bgColor={getStateColor(type, darkMode, '#fff')}
|
|
33
|
+
modules={data.modules ?? []}
|
|
34
|
+
moving={data.moving}
|
|
35
|
+
duration_ms={state?.duration_ms}
|
|
36
|
+
retries={data.retries}
|
|
37
|
+
{flowJobs}
|
|
38
|
+
on:delete={(e) => {
|
|
39
|
+
data.eventHandlers.delete(e.detail, '')
|
|
40
|
+
}}
|
|
41
|
+
on:insert={(e) => {
|
|
42
|
+
data.eventHandlers.insert(e.detail)
|
|
43
|
+
}}
|
|
44
|
+
on:move={(e) => {
|
|
45
|
+
data.eventHandlers.move(data.module, data.modules)
|
|
46
|
+
}}
|
|
47
|
+
on:newBranch={(e) => {
|
|
48
|
+
data.eventHandlers.newBranch(data.module)
|
|
49
|
+
}}
|
|
50
|
+
on:select={(e) => {
|
|
51
|
+
data.eventHandlers.select(e.detail)
|
|
52
|
+
}}
|
|
53
|
+
on:selectedIteration={(e) => {
|
|
54
|
+
selectedIteration = e.detail.index + 1
|
|
55
|
+
data.eventHandlers.selectedIteration(e.detail, data.module.id)
|
|
56
|
+
}}
|
|
57
|
+
/>
|
|
58
|
+
|
|
59
|
+
<div class="absolute -bottom-10 left-1/2 transform -translate-x-1/2 z-10">
|
|
60
|
+
{#if (data.value.type === 'branchall' || data.value.type === 'branchone') && data.insertable}
|
|
61
|
+
<button
|
|
62
|
+
class="rounded-full border hover:bg-surface-hover bg-surface p-1"
|
|
63
|
+
on:click={() => {
|
|
64
|
+
data?.eventHandlers?.newBranch(data.module)
|
|
65
|
+
}}
|
|
66
|
+
>
|
|
67
|
+
<GitBranchPlus size={16} />
|
|
68
|
+
</button>
|
|
69
|
+
{/if}
|
|
70
|
+
</div>
|
|
71
|
+
</NodeWrapper>
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import { SvelteComponent } from "svelte";
|
|
3
|
+
import type { FlowModule, FlowModuleValue } from '../../../../gen';
|
|
4
|
+
import type { GraphEventHandlers } from '../../graphBuilder';
|
|
5
|
+
import type { GraphModuleState } from '../../model';
|
|
6
|
+
declare const __propDef: {
|
|
7
|
+
props: {
|
|
8
|
+
data: {
|
|
9
|
+
offset: number;
|
|
10
|
+
value: FlowModuleValue;
|
|
11
|
+
module: FlowModule;
|
|
12
|
+
insertable: boolean;
|
|
13
|
+
insertableEnd: boolean;
|
|
14
|
+
branchable: boolean;
|
|
15
|
+
bgColor: string;
|
|
16
|
+
modules: FlowModule[];
|
|
17
|
+
moving: string | undefined;
|
|
18
|
+
disableAi: boolean;
|
|
19
|
+
wrapperId: string | undefined;
|
|
20
|
+
retries: number | undefined;
|
|
21
|
+
flowJobs: {
|
|
22
|
+
flowJobs: string[];
|
|
23
|
+
selected: number;
|
|
24
|
+
flowJobsSuccess: (boolean | undefined)[];
|
|
25
|
+
} | undefined;
|
|
26
|
+
eventHandlers: GraphEventHandlers;
|
|
27
|
+
flowModuleStates: Record<string, GraphModuleState> | undefined;
|
|
28
|
+
selected: boolean;
|
|
29
|
+
};
|
|
30
|
+
};
|
|
31
|
+
events: {
|
|
32
|
+
[evt: string]: CustomEvent<any>;
|
|
33
|
+
};
|
|
34
|
+
slots: {};
|
|
35
|
+
};
|
|
36
|
+
export type ModuleNodeProps = typeof __propDef.props;
|
|
37
|
+
export type ModuleNodeEvents = typeof __propDef.events;
|
|
38
|
+
export type ModuleNodeSlots = typeof __propDef.slots;
|
|
39
|
+
export default class ModuleNode extends SvelteComponent<ModuleNodeProps, ModuleNodeEvents, ModuleNodeSlots> {
|
|
40
|
+
}
|
|
41
|
+
export {};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
<script>import VirtualItem from '../../../flows/map/VirtualItem.svelte';
|
|
2
|
+
import NodeWrapper from './NodeWrapper.svelte';
|
|
3
|
+
import { getStateColor } from '../../util';
|
|
4
|
+
export let data;
|
|
5
|
+
</script>
|
|
6
|
+
|
|
7
|
+
<NodeWrapper offset={data.offset} let:darkMode enableSourceHandle enableTargetHandle>
|
|
8
|
+
<VirtualItem
|
|
9
|
+
label={data.label ?? 'No branches'}
|
|
10
|
+
id={data.id}
|
|
11
|
+
hideId={true}
|
|
12
|
+
selectable={true}
|
|
13
|
+
selected={false}
|
|
14
|
+
bgColor={getStateColor(undefined, darkMode)}
|
|
15
|
+
borderColor={getStateColor(data?.flowModuleStates?.[data?.id]?.type, darkMode)}
|
|
16
|
+
on:select={(e) => {
|
|
17
|
+
data?.eventHandlers?.select(e.detail)
|
|
18
|
+
}}
|
|
19
|
+
/>
|
|
20
|
+
</NodeWrapper>
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { SvelteComponent } from "svelte";
|
|
2
|
+
import type { FlowModule } from '../../../../gen';
|
|
3
|
+
import type { GraphEventHandlers } from '../../graphBuilder';
|
|
4
|
+
import type { GraphModuleState } from '../../model';
|
|
5
|
+
declare const __propDef: {
|
|
6
|
+
props: {
|
|
7
|
+
data: {
|
|
8
|
+
id: string;
|
|
9
|
+
insertable: boolean;
|
|
10
|
+
modules: FlowModule[];
|
|
11
|
+
eventHandlers: GraphEventHandlers;
|
|
12
|
+
flowModuleStates: Record<string, GraphModuleState> | undefined;
|
|
13
|
+
offset: number;
|
|
14
|
+
label: string | undefined;
|
|
15
|
+
};
|
|
16
|
+
};
|
|
17
|
+
events: {
|
|
18
|
+
[evt: string]: CustomEvent<any>;
|
|
19
|
+
};
|
|
20
|
+
slots: {};
|
|
21
|
+
};
|
|
22
|
+
export type NoBranchNodeProps = typeof __propDef.props;
|
|
23
|
+
export type NoBranchNodeEvents = typeof __propDef.events;
|
|
24
|
+
export type NoBranchNodeSlots = typeof __propDef.slots;
|
|
25
|
+
export default class NoBranchNode extends SvelteComponent<NoBranchNodeProps, NoBranchNodeEvents, NoBranchNodeSlots> {
|
|
26
|
+
}
|
|
27
|
+
export {};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
<script>import DarkModeObserver from '../../../DarkModeObserver.svelte';
|
|
2
|
+
import { Handle, Position } from '@xyflow/svelte';
|
|
3
|
+
export let enableSourceHandle = true;
|
|
4
|
+
export let enableTargetHandle = true;
|
|
5
|
+
export let offset = 0;
|
|
6
|
+
let darkMode = false;
|
|
7
|
+
</script>
|
|
8
|
+
|
|
9
|
+
<DarkModeObserver bind:darkMode />
|
|
10
|
+
|
|
11
|
+
<div class="relative shadow-md" style={`margin-left: ${offset}px;`}>
|
|
12
|
+
<slot {darkMode} />
|
|
13
|
+
</div>
|
|
14
|
+
|
|
15
|
+
{#if enableSourceHandle}
|
|
16
|
+
<Handle type="source" position={Position.Bottom} style={`margin-left: ${offset / 2}px;`} />
|
|
17
|
+
{/if}
|
|
18
|
+
|
|
19
|
+
{#if enableTargetHandle}
|
|
20
|
+
<Handle type="target" position={Position.Top} style={`margin-left: ${offset / 2}px;`} />
|
|
21
|
+
{/if}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { SvelteComponent } from "svelte";
|
|
2
|
+
declare const __propDef: {
|
|
3
|
+
props: {
|
|
4
|
+
enableSourceHandle?: boolean | undefined;
|
|
5
|
+
enableTargetHandle?: boolean | undefined;
|
|
6
|
+
offset?: number | undefined;
|
|
7
|
+
};
|
|
8
|
+
events: {
|
|
9
|
+
[evt: string]: CustomEvent<any>;
|
|
10
|
+
};
|
|
11
|
+
slots: {
|
|
12
|
+
default: {
|
|
13
|
+
darkMode: boolean;
|
|
14
|
+
};
|
|
15
|
+
};
|
|
16
|
+
};
|
|
17
|
+
export type NodeWrapperProps = typeof __propDef.props;
|
|
18
|
+
export type NodeWrapperEvents = typeof __propDef.events;
|
|
19
|
+
export type NodeWrapperSlots = typeof __propDef.slots;
|
|
20
|
+
export default class NodeWrapper extends SvelteComponent<NodeWrapperProps, NodeWrapperEvents, NodeWrapperSlots> {
|
|
21
|
+
}
|
|
22
|
+
export {};
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
<script>import VirtualItem from '../../../flows/map/VirtualItem.svelte';
|
|
2
|
+
import NodeWrapper from './NodeWrapper.svelte';
|
|
3
|
+
import { getStateColor } from '../../util';
|
|
4
|
+
import { getContext } from 'svelte';
|
|
5
|
+
export let data;
|
|
6
|
+
const { selectedId } = getContext('FlowGraphContext');
|
|
7
|
+
</script>
|
|
8
|
+
|
|
9
|
+
<NodeWrapper let:darkMode enableSourceHandle={false}>
|
|
10
|
+
<VirtualItem
|
|
11
|
+
id={'Result'}
|
|
12
|
+
label={'Result'}
|
|
13
|
+
selectable={true}
|
|
14
|
+
selected={$selectedId === 'Result'}
|
|
15
|
+
hideId={true}
|
|
16
|
+
bgColor={getStateColor(
|
|
17
|
+
data.success == undefined ? undefined : data.success ? 'Success' : 'Failure',
|
|
18
|
+
darkMode
|
|
19
|
+
)}
|
|
20
|
+
on:select={(e) => {
|
|
21
|
+
data?.eventHandlers?.select(e.detail)
|
|
22
|
+
}}
|
|
23
|
+
/>
|
|
24
|
+
</NodeWrapper>
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { SvelteComponent } from "svelte";
|
|
2
|
+
import type { FlowModule } from '../../../../gen';
|
|
3
|
+
import type { GraphEventHandlers } from '../../graphBuilder';
|
|
4
|
+
declare const __propDef: {
|
|
5
|
+
props: {
|
|
6
|
+
data: {
|
|
7
|
+
eventHandlers: GraphEventHandlers;
|
|
8
|
+
modules: FlowModule[];
|
|
9
|
+
success: boolean | undefined;
|
|
10
|
+
};
|
|
11
|
+
};
|
|
12
|
+
events: {
|
|
13
|
+
[evt: string]: CustomEvent<any>;
|
|
14
|
+
};
|
|
15
|
+
slots: {};
|
|
16
|
+
};
|
|
17
|
+
export type ResultNodeProps = typeof __propDef.props;
|
|
18
|
+
export type ResultNodeEvents = typeof __propDef.events;
|
|
19
|
+
export type ResultNodeSlots = typeof __propDef.slots;
|
|
20
|
+
export default class ResultNode extends SvelteComponent<ResultNodeProps, ResultNodeEvents, ResultNodeSlots> {
|
|
21
|
+
}
|
|
22
|
+
export {};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
<script>import VirtualItem from '../../../flows/map/VirtualItem.svelte';
|
|
2
|
+
import NodeWrapper from './NodeWrapper.svelte';
|
|
3
|
+
import { getStateColor } from '../../util';
|
|
4
|
+
export let data;
|
|
5
|
+
</script>
|
|
6
|
+
|
|
7
|
+
<NodeWrapper offset={data.offset} let:darkMode enableSourceHandle enableTargetHandle>
|
|
8
|
+
<VirtualItem
|
|
9
|
+
label={'Collect result from all branches'}
|
|
10
|
+
id={data.id}
|
|
11
|
+
selectable={true}
|
|
12
|
+
selected={false}
|
|
13
|
+
bgColor={getStateColor(undefined, darkMode)}
|
|
14
|
+
borderColor={getStateColor(data?.flowModuleStates?.[data?.id]?.type, darkMode)}
|
|
15
|
+
on:select={(e) => {
|
|
16
|
+
data?.eventHandlers?.select(e.detail)
|
|
17
|
+
}}
|
|
18
|
+
/>
|
|
19
|
+
</NodeWrapper>
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { SvelteComponent } from "svelte";
|
|
2
|
+
import type { FlowModule } from '../../../../gen';
|
|
3
|
+
import type { GraphEventHandlers } from '../../graphBuilder';
|
|
4
|
+
import type { GraphModuleState } from '../../model';
|
|
5
|
+
declare const __propDef: {
|
|
6
|
+
props: {
|
|
7
|
+
data: {
|
|
8
|
+
id: string;
|
|
9
|
+
insertable: boolean;
|
|
10
|
+
modules: FlowModule[];
|
|
11
|
+
eventHandlers: GraphEventHandlers;
|
|
12
|
+
flowModuleStates: Record<string, GraphModuleState> | undefined;
|
|
13
|
+
offset: number;
|
|
14
|
+
};
|
|
15
|
+
};
|
|
16
|
+
events: {
|
|
17
|
+
[evt: string]: CustomEvent<any>;
|
|
18
|
+
};
|
|
19
|
+
slots: {};
|
|
20
|
+
};
|
|
21
|
+
export type BranchAllEndNodeProps = typeof __propDef.props;
|
|
22
|
+
export type BranchAllEndNodeEvents = typeof __propDef.events;
|
|
23
|
+
export type BranchAllEndNodeSlots = typeof __propDef.slots;
|
|
24
|
+
export default class BranchAllEndNode extends SvelteComponent<BranchAllEndNodeProps, BranchAllEndNodeEvents, BranchAllEndNodeSlots> {
|
|
25
|
+
}
|
|
26
|
+
export {};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
<script>import VirtualItem from '../../../flows/map/VirtualItem.svelte';
|
|
2
|
+
import NodeWrapper from './NodeWrapper.svelte';
|
|
3
|
+
import { getStateColor } from '../../util';
|
|
4
|
+
export let data;
|
|
5
|
+
</script>
|
|
6
|
+
|
|
7
|
+
<NodeWrapper let:darkMode offset={data.offset}>
|
|
8
|
+
<VirtualItem
|
|
9
|
+
label={'Collect result from all branches'}
|
|
10
|
+
id={data.id}
|
|
11
|
+
selectable={true}
|
|
12
|
+
selected={false}
|
|
13
|
+
bgColor={getStateColor(undefined, darkMode)}
|
|
14
|
+
borderColor={getStateColor(data?.flowModuleStates?.[data?.id]?.type, darkMode)}
|
|
15
|
+
on:select={(e) => {
|
|
16
|
+
data?.eventHandlers?.select(e.detail)
|
|
17
|
+
}}
|
|
18
|
+
/>
|
|
19
|
+
</NodeWrapper>
|