+
{title}
@@ -215,44 +213,29 @@ export function JsonViewWithControls({
-
- Flat
-
-
- Nested
-
+ {tabItems.map(({ value, label }) => (
+
+ {label}
+
+ ))}
-
- {
- console.log("COPY", node)
- return node
- }}
- />
-
-
-
-
+ {tabItems.map(({ value, src: source }) => (
+
+
+
+ ))}
)
diff --git a/frontend/src/components/workbench/events/events-sidebar.tsx b/frontend/src/components/workbench/events/events-sidebar.tsx
index e4b6886fe..4102609ed 100644
--- a/frontend/src/components/workbench/events/events-sidebar.tsx
+++ b/frontend/src/components/workbench/events/events-sidebar.tsx
@@ -11,6 +11,7 @@ import {
useCompactWorkflowExecution,
useManualWorkflowExecution,
} from "@/lib/hooks"
+import { ScrollArea, ScrollBar } from "@/components/ui/scroll-area"
import { Separator } from "@/components/ui/separator"
import { Tabs, TabsContent, TabsList, TabsTrigger } from "@/components/ui/tabs"
import { CenteredSpinner } from "@/components/loading/spinner"
@@ -123,54 +124,76 @@ function WorkbenchSidebarEventsList({
/>
)
+ const tabItems = [
+ {
+ value: "workflow-events",
+ label: "Events",
+ icon: CalendarSearchIcon,
+ content: (
+ <>
+
+
+ >
+ ),
+ },
+ {
+ value: "action-input",
+ label: "Input",
+ icon: FileInputIcon,
+ content:
,
+ },
+ {
+ value: "action-result",
+ label: "Result",
+ icon: ShapesIcon,
+ content:
,
+ },
+ ]
return (
-
{
- if (sidebarRef.current?.setActiveTab) {
- sidebarRef.current.setActiveTab(value as EventsSidebarTabs)
- }
- }}
- className="flex size-full flex-col"
- >
-
-
-
-
-
- Events
-
-
-
- Input
-
-
-
- Result
-
-
+
+
{
+ if (sidebarRef.current?.setActiveTab) {
+ sidebarRef.current.setActiveTab(value as EventsSidebarTabs)
+ }
+ }}
+ className="flex size-full flex-col"
+ >
+
+
+
+ {tabItems.map((tab) => (
+
+
+ {tab.label}
+
+ ))}
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+ {tabItems.map((tab) => (
+
+ {tab.content}
+
+ ))}
+
+
+
+
+
+
)
}
diff --git a/frontend/src/components/workbench/workbench.tsx b/frontend/src/components/workbench/workbench.tsx
index 3a151d26b..6d196c692 100644
--- a/frontend/src/components/workbench/workbench.tsx
+++ b/frontend/src/components/workbench/workbench.tsx
@@ -48,11 +48,9 @@ export function Workbench({ defaultLayout = [0, 68, 32] }: WorkbenchProps) {
collapsible={true}
minSize={20}
maxSize={40}
- className="flex h-full flex-col"
+ className="h-full"
>
-
-
-
+