diff --git a/skyvern-frontend/src/routes/workflows/editor/nodes/ActionNode/ActionNode.tsx b/skyvern-frontend/src/routes/workflows/editor/nodes/ActionNode/ActionNode.tsx index e2c5b1a1..6e8569de 100644 --- a/skyvern-frontend/src/routes/workflows/editor/nodes/ActionNode/ActionNode.tsx +++ b/skyvern-frontend/src/routes/workflows/editor/nodes/ActionNode/ActionNode.tsx @@ -8,7 +8,14 @@ import { Label } from "@/components/ui/label"; import { Separator } from "@/components/ui/separator"; import { useDeleteNodeCallback } from "@/routes/workflows/hooks/useDeleteNodeCallback"; import { useNodeLabelChangeHandler } from "@/routes/workflows/hooks/useLabelChangeHandler"; -import { Handle, NodeProps, Position, useReactFlow } from "@xyflow/react"; +import { + Handle, + NodeProps, + Position, + useEdges, + useNodes, + useReactFlow, +} from "@xyflow/react"; import { useState } from "react"; import { EditableNodeTitle } from "../components/EditableNodeTitle"; import { NodeActionMenu } from "../NodeActionMenu"; @@ -24,6 +31,9 @@ import { WorkflowBlockInputTextarea } from "@/components/WorkflowBlockInputTexta import { WorkflowBlockInput } from "@/components/WorkflowBlockInput"; import { WorkflowBlockIcon } from "../WorkflowBlockIcon"; import { WorkflowBlockTypes } from "@/routes/workflows/types/workflowTypes"; +import { AppNode } from ".."; +import { getAvailableOutputParameterKeys } from "../../workflowEditorUtils"; +import { ParametersMultiSelect } from "../TaskNode/ParametersMultiSelect"; const urlTooltip = "The URL Skyvern is navigating to. Leave this field blank to pick up from where the last block left off."; @@ -53,6 +63,10 @@ function ActionNode({ id, data }: NodeProps) { }); const deleteNodeCallback = useDeleteNodeCallback(); + const nodes = useNodes(); + const edges = useEdges(); + const outputParameterKeys = getAvailableOutputParameterKeys(nodes, edges, id); + function handleChange(key: string, value: unknown) { if (!editable) { return; @@ -150,6 +164,15 @@ function ActionNode({ id, data }: NodeProps) {
+
+ { + updateNodeData(id, { parameterKeys }); + }} + /> +