|
@@ -62,10 +62,12 @@ export function WorkflowNode({ data, selected }: NodeProps) {
|
|
|
|
|
|
|
|
// Get loop info for loop nodes
|
|
// Get loop info for loop nodes
|
|
|
const isLoopNode = data.type === 'loop'
|
|
const isLoopNode = data.type === 'loop'
|
|
|
- // A Configurator supplies settings; it does not receive them, so it gets no
|
|
|
|
|
- // config input of its own. Its output goes out the right-hand side to meet
|
|
|
|
|
- // the config input on the left of the node it feeds, rather than dropping out
|
|
|
|
|
- // of the bottom into the data flow it is not part of.
|
|
|
|
|
|
|
+ // A Configurator stands on its own. It has no inputs at all: not a config
|
|
|
|
|
+ // input, because it supplies settings rather than receiving them, and not a
|
|
|
|
|
+ // data input, because it is not part of the flow - the node it feeds reads
|
|
|
|
|
+ // from it when that node runs. Its output leaves from the right-hand side to
|
|
|
|
|
+ // meet the config input on the left of its target, rather than dropping out
|
|
|
|
|
+ // of the bottom into a data flow it has nothing to do with.
|
|
|
const isConfigurator = data.type === 'configurator'
|
|
const isConfigurator = data.type === 'configurator'
|
|
|
const loopInfo = isLoopNode && execState?.output ? {
|
|
const loopInfo = isLoopNode && execState?.output ? {
|
|
|
currentIndex: execState.output.currentIndex,
|
|
currentIndex: execState.output.currentIndex,
|
|
@@ -125,7 +127,7 @@ export function WorkflowNode({ data, selected }: NodeProps) {
|
|
|
>
|
|
>
|
|
|
{/* Input handles at top (not for triggers). A node that names more than
|
|
{/* Input handles at top (not for triggers). A node that names more than
|
|
|
one input gets a handle each, spread the way outputs are. */}
|
|
one input gets a handle each, spread the way outputs are. */}
|
|
|
- {!isTrigger && inputs.map((input, idx) => (
|
|
|
|
|
|
|
+ {!isTrigger && !isConfigurator && inputs.map((input, idx) => (
|
|
|
<Handle
|
|
<Handle
|
|
|
key={input.name}
|
|
key={input.name}
|
|
|
type="target"
|
|
type="target"
|