add node actions

This commit is contained in:
James
2025-12-22 18:53:44 -05:00
parent 12a796bcbb
commit b3c321ce02
6 changed files with 198 additions and 37 deletions

View File

@@ -27,6 +27,7 @@ import {
useGraphFilter,
type TaskNodeData,
type GraphFilterState,
type NodeActionCallbacks,
} from './hooks';
import { cn } from '@/lib/utils';
@@ -46,8 +47,8 @@ interface GraphCanvasProps {
runningAutoTasks: string[];
searchQuery: string;
onSearchQueryChange: (query: string) => void;
onNodeClick?: (featureId: string) => void;
onNodeDoubleClick?: (featureId: string) => void;
nodeActionCallbacks?: NodeActionCallbacks;
backgroundStyle?: React.CSSProperties;
className?: string;
}
@@ -57,8 +58,8 @@ function GraphCanvasInner({
runningAutoTasks,
searchQuery,
onSearchQueryChange,
onNodeClick,
onNodeDoubleClick,
nodeActionCallbacks,
backgroundStyle,
className,
}: GraphCanvasProps) {
@@ -84,6 +85,7 @@ function GraphCanvasInner({
features,
runningAutoTasks,
filterResult,
actionCallbacks: nodeActionCallbacks,
});
// Apply layout
@@ -118,14 +120,6 @@ function GraphCanvasInner({
setIsNegativeFilter(false);
}, [onSearchQueryChange]);
// Handle node click
const handleNodeClick = useCallback(
(_event: React.MouseEvent, node: Node<TaskNodeData>) => {
onNodeClick?.(node.id);
},
[onNodeClick]
);
// Handle node double click
const handleNodeDoubleClick = useCallback(
(_event: React.MouseEvent, node: Node<TaskNodeData>) => {
@@ -160,7 +154,6 @@ function GraphCanvasInner({
edges={edges}
onNodesChange={isLocked ? undefined : onNodesChange}
onEdgesChange={onEdgesChange}
onNodeClick={handleNodeClick}
onNodeDoubleClick={handleNodeDoubleClick}
nodeTypes={nodeTypes}
edgeTypes={edgeTypes}