From 9a8fdbce84aca11490daddefefb4ead12af44dcc Mon Sep 17 00:00:00 2001 From: Huy Bui Date: Sat, 27 Jul 2024 13:15:26 +0700 Subject: [PATCH] fix: duplicated relationship --- src/components/EditorCanvas/Canvas.jsx | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/src/components/EditorCanvas/Canvas.jsx b/src/components/EditorCanvas/Canvas.jsx index d16b392..b057d29 100644 --- a/src/components/EditorCanvas/Canvas.jsx +++ b/src/components/EditorCanvas/Canvas.jsx @@ -411,6 +411,24 @@ export default function Canvas() { ) return; + const existRelationship = relationships.find((r) => { + const startToEnd = + r.startTableId === linkingLine.startTableId && + r.startFieldId === linkingLine.startFieldId && + r.endTableId === hoveredTable.tableId && + r.endFieldId === hoveredTable.field; + const endToStart = + r.startTableId === hoveredTable.tableId && + r.startFieldId === hoveredTable.field && + r.endTableId === linkingLine.startTableId && + r.endFieldId === linkingLine.startFieldId; + + return startToEnd || endToStart; + }); + if (existRelationship) { + return; + } + const newRelationship = { ...linkingLine, endTableId: hoveredTable.tableId,