From 917ec8e7559534f2368b963f9e284be2e6840627 Mon Sep 17 00:00:00 2001
From: Maximilian Giller <m.giller@tu-bs.de>
Date: Mon, 29 Aug 2022 19:56:18 +0200
Subject: [PATCH] Implements special case handling to avoid incorrectly
 triggered background click event

---
 src/editor/js/components/editor.tsx | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/src/editor/js/components/editor.tsx b/src/editor/js/components/editor.tsx
index 547d95a..96abf38 100644
--- a/src/editor/js/components/editor.tsx
+++ b/src/editor/js/components/editor.tsx
@@ -144,6 +144,20 @@ export class Editor extends React.PureComponent<propTypes, stateTypes> {
      * @param event Click event.
      */
     private handleBackgroundClick(event: any, position: clickPosition) {
+        // Is there really no node there? Trying to prevent small error, where this event is triggered, even if there is a node.
+        const placeholderNode: Node = {
+            id: undefined,
+            x: position.graph.x,
+            y: position.graph.y,
+        } as unknown as Node;
+        const nearestNode =
+            this.state.graph.getClosestOtherNode(placeholderNode);
+        if (nearestNode !== undefined && nearestNode.distance < 4) {
+            console.log("Saved node click event");
+            this.handleNodeClick(nearestNode.node);
+            return;
+        }
+
         const newNode = new Node();
 
         newNode.label = "Unnamed";
-- 
GitLab