From ecba187381447b325a820ad876dfa51fbd322f10 Mon Sep 17 00:00:00 2001 From: Shuchang Zheng Date: Fri, 22 Nov 2024 13:29:02 -0800 Subject: [PATCH] Add scrollable for nodes panel (#1245) --- .../panels/WorkflowNodeLibraryPanel.tsx | 86 ++++++++++--------- 1 file changed, 47 insertions(+), 39 deletions(-) diff --git a/skyvern-frontend/src/routes/workflows/editor/panels/WorkflowNodeLibraryPanel.tsx b/skyvern-frontend/src/routes/workflows/editor/panels/WorkflowNodeLibraryPanel.tsx index 35661f7d..e4c87302 100644 --- a/skyvern-frontend/src/routes/workflows/editor/panels/WorkflowNodeLibraryPanel.tsx +++ b/skyvern-frontend/src/routes/workflows/editor/panels/WorkflowNodeLibraryPanel.tsx @@ -13,6 +13,7 @@ import { import { WorkflowBlockNode } from "../nodes"; import { AddNodeProps } from "../FlowRenderer"; import { ClickIcon } from "@/components/icons/ClickIcon"; +import { ScrollArea, ScrollAreaViewport } from "@/components/ui/scroll-area"; const nodeLibraryItems: Array<{ nodeType: NonNullable; @@ -118,46 +119,53 @@ function WorkflowNodeLibraryPanel({ onNodeClick, first }: Props) { : "Click on the node type you want to add"} -
- {nodeLibraryItems.map((item) => { - if (workflowPanelData?.disableLoop && item.nodeType === "loop") { - return null; - } - return ( -
{ - onNodeClick({ - nodeType: item.nodeType, - next: workflowPanelData?.next ?? null, - parent: workflowPanelData?.parent, - previous: workflowPanelData?.previous ?? null, - connectingEdgeType: - workflowPanelData?.connectingEdgeType ?? - "edgeWithAddButton", - }); - closeWorkflowPanel(); - }} - > -
-
- {item.icon} + + +
+ {nodeLibraryItems.map((item) => { + if ( + workflowPanelData?.disableLoop && + item.nodeType === "loop" + ) { + return null; + } + return ( +
{ + onNodeClick({ + nodeType: item.nodeType, + next: workflowPanelData?.next ?? null, + parent: workflowPanelData?.parent, + previous: workflowPanelData?.previous ?? null, + connectingEdgeType: + workflowPanelData?.connectingEdgeType ?? + "edgeWithAddButton", + }); + closeWorkflowPanel(); + }} + > +
+
+ {item.icon} +
+
+ + {item.title} + + + {item.description} + +
+
+
-
- - {item.title} - - - {item.description} - -
-
- -
- ); - })} -
+ ); + })} +
+ +
);