diff --git a/backend/logs/combined.log b/backend/logs/combined.log index 40149e4..f80486b 100644 --- a/backend/logs/combined.log +++ b/backend/logs/combined.log @@ -200,3 +200,13 @@ {"level":"debug","message":"Loaded node type: webhook","service":"flowforge-backend","timestamp":"2025-06-08 13:50:29"} {"level":"info","message":"Node registry initialized with 6 node types","service":"flowforge-backend","timestamp":"2025-06-08 13:50:29"} {"level":"info","message":"Database connection established successfully","service":"flowforge-backend","timestamp":"2025-06-08 13:50:29"} +{"level":"info","message":"Server running on port 4000","service":"flowforge-backend","timestamp":"2025-06-09 13:39:55"} +{"level":"info","message":"Initializing node registry","service":"flowforge-backend","timestamp":"2025-06-09 13:39:55"} +{"level":"debug","message":"Loaded node type: delay","service":"flowforge-backend","timestamp":"2025-06-09 13:39:55"} +{"level":"debug","message":"Loaded node type: email","service":"flowforge-backend","timestamp":"2025-06-09 13:39:55"} +{"level":"debug","message":"Loaded node type: function","service":"flowforge-backend","timestamp":"2025-06-09 13:39:55"} +{"level":"debug","message":"Loaded node type: http-request","service":"flowforge-backend","timestamp":"2025-06-09 13:39:55"} +{"level":"debug","message":"Loaded node type: logger","service":"flowforge-backend","timestamp":"2025-06-09 13:39:55"} +{"level":"debug","message":"Loaded node type: webhook","service":"flowforge-backend","timestamp":"2025-06-09 13:39:55"} +{"level":"info","message":"Node registry initialized with 6 node types","service":"flowforge-backend","timestamp":"2025-06-09 13:39:55"} +{"level":"info","message":"Database connection established successfully","service":"flowforge-backend","timestamp":"2025-06-09 13:39:55"} diff --git a/frontend/src/components/workflow/CustomNode.js b/frontend/src/components/workflow/CustomNode.js index 4566101..723c830 100644 --- a/frontend/src/components/workflow/CustomNode.js +++ b/frontend/src/components/workflow/CustomNode.js @@ -1,4 +1,4 @@ -import React, { memo } from 'react'; +import React, { memo, useCallback } from 'react'; import { Handle, Position } from 'reactflow'; const getNodeColor = (type) => { @@ -71,50 +71,71 @@ const CustomNode = ({ id, data, selected, onEdit, onDelete }) => { const nodeColor = getNodeColor(data.nodeType); const nodeIcon = getNodeIcon(data.nodeType); - const handleEdit = (e) => { - e.stopPropagation(); + const handleEdit = useCallback((e) => { + e?.stopPropagation?.(); + e?.preventDefault?.(); if (onEdit) { onEdit(id); } - }; + }, [id, onEdit]); - const handleDelete = (e) => { - e.stopPropagation(); + const handleDelete = useCallback((e) => { + e?.stopPropagation?.(); + e?.preventDefault?.(); if (onDelete) { onDelete(id); } - }; + }, [id, onDelete]); return (