From 0f47cbb8b5a57f79960439f33552c794a231fae6 Mon Sep 17 00:00:00 2001 From: Patricio2002 Date: Tue, 26 Nov 2024 12:52:38 -0600 Subject: [PATCH 01/15] crowfoot --- src/components/EditorCanvas/Relationship.jsx | 63 ++---- .../EditorCanvas/RelationshipFormat.jsx | 186 ++++++++++++++++++ 2 files changed, 207 insertions(+), 42 deletions(-) create mode 100644 src/components/EditorCanvas/RelationshipFormat.jsx diff --git a/src/components/EditorCanvas/Relationship.jsx b/src/components/EditorCanvas/Relationship.jsx index 9f512a9a..3667aeaa 100644 --- a/src/components/EditorCanvas/Relationship.jsx +++ b/src/components/EditorCanvas/Relationship.jsx @@ -5,6 +5,8 @@ import { useDiagram, useSettings, useLayout, useSelect } from "../../hooks"; import { useTranslation } from "react-i18next"; import { SideSheet } from "@douyinfe/semi-ui"; import RelationshipInfo from "../EditorSidePanel/RelationshipsTab/RelationshipInfo"; +import { CrowOM, CrowOO, CrowZM } from "./RelationshipFormat"; + export default function Relationship({ data }) { const { settings } = useSettings(); @@ -13,26 +15,32 @@ export default function Relationship({ data }) { const { selectedElement, setSelectedElement } = useSelect(); const { t } = useTranslation(); const pathRef = useRef(); - + let direction = 1; let cardinalityStart = "1"; let cardinalityEnd = "1"; + let cardinalityvar; + let type = 10; + let relationshipType=(5,type); switch (data.cardinality) { // the translated values are to ensure backwards compatibility case t(Cardinality.MANY_TO_ONE): case Cardinality.MANY_TO_ONE: cardinalityStart = "n"; - cardinalityEnd = "1"; + cardinalityEnd = "(1,*)"; + cardinalityvar="1"; break; case t(Cardinality.ONE_TO_MANY): case Cardinality.ONE_TO_MANY: cardinalityStart = "1"; cardinalityEnd = "n"; + cardinalityvar="2"; break; case t(Cardinality.ONE_TO_ONE): case Cardinality.ONE_TO_ONE: cardinalityStart = "1"; cardinalityEnd = "1"; + cardinalityvar="3"; break; default: break; @@ -45,13 +53,14 @@ export default function Relationship({ data }) { const cardinalityOffset = 28; + if (pathRef.current) { const pathLength = pathRef.current.getTotalLength(); const point1 = pathRef.current.getPointAtLength(cardinalityOffset); cardinalityStartX = point1.x; cardinalityStartY = point1.y; const point2 = pathRef.current.getPointAtLength( - pathLength - cardinalityOffset, + pathLength, ); cardinalityEndX = point2.x; cardinalityEndY = point2.y; @@ -79,7 +88,9 @@ export default function Relationship({ data }) { .scrollIntoView({ behavior: "smooth" }); } }; - + if (cardinalityEndX < cardinalityStartX){ + direction=-1 + } return ( <> @@ -102,48 +113,16 @@ export default function Relationship({ data }) { stroke="gray" className="group-hover:stroke-sky-700" fill="none" + stroke-dasharray={relationshipType} strokeWidth={2} cursor="pointer" /> - {pathRef.current && settings.showCardinality && ( - <> - - - {cardinalityStart} - - - - {cardinalityEnd} - - - )} + + {CrowOM(pathRef.current,settings.showCardinality, cardinalityvar, cardinalityEndX, cardinalityEndY, cardinalityStartX, cardinalityStartY, direction, cardinalityEnd)} + {CrowOO(pathRef.current,settings.showCardinality, cardinalityvar, cardinalityEndX, cardinalityEndY, cardinalityStartX, cardinalityStartY, direction, cardinalityEnd)} + {CrowZM(pathRef.current,settings.showCardinality, cardinalityvar, cardinalityEndX, cardinalityEndY, cardinalityStartX, cardinalityStartY, direction, cardinalityEnd)} + + + + + + {cardinalityEnd} + + + + + ) + ) +} + +export function CrowOO(pathRef, settings, cardinalityvar, cardinalityEndX, cardinalityEndY, cardinalityStartX, cardinalityStartY, direction, cardinalityEnd){ + return( + pathRef && settings && cardinalityvar==3 &&( + <> + {console.log(settings) } + + + + + + + + {cardinalityEnd} + + + ) + ) +} + + +export function CrowZM(pathRef, settings, cardinalityvar, cardinalityEndX, cardinalityEndY, cardinalityStartX, cardinalityStartY, direction, cardinalityEnd){ + return( + pathRef && settings && (cardinalityvar==1) &&( + <> + + + + + {cardinalityEnd} + + + + + ) + ) +} \ No newline at end of file From 72e5d7699e302dfea003339c4977fe5fdb144108 Mon Sep 17 00:00:00 2001 From: Francisco-Galindo Date: Tue, 3 Dec 2024 11:16:37 -0600 Subject: [PATCH 02/15] =?UTF-8?q?Agregar=20bot=C3=B3n=20para=20cambiar=20d?= =?UTF-8?q?e=20notaci=C3=B3n?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/EditorCanvas/Relationship.jsx | 63 +++++++---- .../EditorCanvas/RelationshipFormat.jsx | 102 +++++++++++++++--- src/components/EditorHeader/ControlPanel.jsx | 39 +++++-- 3 files changed, 158 insertions(+), 46 deletions(-) diff --git a/src/components/EditorCanvas/Relationship.jsx b/src/components/EditorCanvas/Relationship.jsx index 3667aeaa..fd4b33ec 100644 --- a/src/components/EditorCanvas/Relationship.jsx +++ b/src/components/EditorCanvas/Relationship.jsx @@ -5,7 +5,7 @@ import { useDiagram, useSettings, useLayout, useSelect } from "../../hooks"; import { useTranslation } from "react-i18next"; import { SideSheet } from "@douyinfe/semi-ui"; import RelationshipInfo from "../EditorSidePanel/RelationshipsTab/RelationshipInfo"; -import { CrowOM, CrowOO, CrowZM } from "./RelationshipFormat"; +import { CrowOM, CrowOO, CrowZM, DefaultNotation } from "./RelationshipFormat"; export default function Relationship({ data }) { @@ -15,32 +15,48 @@ export default function Relationship({ data }) { const { selectedElement, setSelectedElement } = useSelect(); const { t } = useTranslation(); const pathRef = useRef(); + const type = settings.notation === 'default' ? 0 : 10; + const relationshipType=(5,type); + let direction = 1; let cardinalityStart = "1"; let cardinalityEnd = "1"; let cardinalityvar; - let type = 10; - let relationshipType=(5,type); switch (data.cardinality) { // the translated values are to ensure backwards compatibility case t(Cardinality.MANY_TO_ONE): case Cardinality.MANY_TO_ONE: - cardinalityStart = "n"; - cardinalityEnd = "(1,*)"; - cardinalityvar="1"; + if (settings.notation === 'default') { + cardinalityStart = "n"; + cardinalityEnd = "1"; + } else { + cardinalityStart = "(1,*)"; + cardinalityEnd = "(1,1)"; + cardinalityvar="1"; + } break; case t(Cardinality.ONE_TO_MANY): case Cardinality.ONE_TO_MANY: - cardinalityStart = "1"; - cardinalityEnd = "n"; - cardinalityvar="2"; + if (settings.notation === 'default') { + cardinalityStart = "1"; + cardinalityEnd = "n"; + } else { + cardinalityStart = "(1,1)"; + cardinalityEnd = "(1,*)"; + cardinalityvar="2"; + } break; case t(Cardinality.ONE_TO_ONE): case Cardinality.ONE_TO_ONE: - cardinalityStart = "1"; - cardinalityEnd = "1"; - cardinalityvar="3"; + if (settings.notation === 'default') { + cardinalityStart = "1"; + cardinalityEnd = "1"; + } else { + cardinalityStart = "(1,1)"; + cardinalityEnd = "(1,1)"; + cardinalityvar="3"; + } break; default: break; @@ -55,10 +71,14 @@ export default function Relationship({ data }) { if (pathRef.current) { - const pathLength = pathRef.current.getTotalLength(); + const pathLength = settings.notation === 'default' ? + pathRef.current.getTotalLength() - cardinalityOffset: + pathRef.current.getTotalLength(); + const point1 = pathRef.current.getPointAtLength(cardinalityOffset); cardinalityStartX = point1.x; cardinalityStartY = point1.y; + const point2 = pathRef.current.getPointAtLength( pathLength, ); @@ -88,9 +108,11 @@ export default function Relationship({ data }) { .scrollIntoView({ behavior: "smooth" }); } }; - if (cardinalityEndX < cardinalityStartX){ - direction=-1 + + if (settings.notation === 'crows_foot' && cardinalityEndX < cardinalityStartX){ + direction = -1; } + return ( <> @@ -113,16 +135,17 @@ export default function Relationship({ data }) { stroke="gray" className="group-hover:stroke-sky-700" fill="none" - stroke-dasharray={relationshipType} + strokeDasharray={relationshipType} strokeWidth={2} cursor="pointer" /> - {CrowOM(pathRef.current,settings.showCardinality, cardinalityvar, cardinalityEndX, cardinalityEndY, cardinalityStartX, cardinalityStartY, direction, cardinalityEnd)} - {CrowOO(pathRef.current,settings.showCardinality, cardinalityvar, cardinalityEndX, cardinalityEndY, cardinalityStartX, cardinalityStartY, direction, cardinalityEnd)} - {CrowZM(pathRef.current,settings.showCardinality, cardinalityvar, cardinalityEndX, cardinalityEndY, cardinalityStartX, cardinalityStartY, direction, cardinalityEnd)} + {CrowOM(pathRef.current,settings.notation, cardinalityvar, cardinalityEndX, cardinalityEndY, cardinalityStartX, cardinalityStartY, direction, cardinalityStart, cardinalityEnd)} + {CrowOO(pathRef.current,settings.notation, cardinalityvar, cardinalityEndX, cardinalityEndY, cardinalityStartX, cardinalityStartY, direction, cardinalityStart, cardinalityEnd)} + {CrowZM(pathRef.current,settings.notation, cardinalityvar, cardinalityEndX, cardinalityEndY, cardinalityStartX, cardinalityStartY, direction, cardinalityStart, cardinalityEnd)} + {DefaultNotation(pathRef.current,settings.notation, cardinalityEndX, cardinalityEndY, cardinalityStartX, cardinalityStartY, cardinalityStart, cardinalityEnd)} - + + {cardinalityStart} + + {cardinalityEnd} @@ -62,11 +72,10 @@ export function CrowOM(pathRef, settings, cardinalityvar, cardinalityEndX, cardi ) } -export function CrowOO(pathRef, settings, cardinalityvar, cardinalityEndX, cardinalityEndY, cardinalityStartX, cardinalityStartY, direction, cardinalityEnd){ - return( - pathRef && settings && cardinalityvar==3 &&( - <> - {console.log(settings) } +export function CrowOO(pathRef, notation, cardinalityvar, cardinalityEndX, cardinalityEndY, cardinalityStartX, cardinalityStartY, direction, cardinalitySart, cardinalityEnd){ + return( + pathRef && notation === 'crows_foot' && cardinalityvar==3 &&( + <> - + - + - {cardinalityEnd} + {cardinalitySart} + + + {cardinalityEnd} ) @@ -121,9 +140,9 @@ export function CrowOO(pathRef, settings, cardinalityvar, cardinalityEndX, cardi } -export function CrowZM(pathRef, settings, cardinalityvar, cardinalityEndX, cardinalityEndY, cardinalityStartX, cardinalityStartY, direction, cardinalityEnd){ - return( - pathRef && settings && (cardinalityvar==1) &&( +export function CrowZM(pathRef, notation, cardinalityvar, cardinalityEndX, cardinalityEndY, cardinalityStartX, cardinalityStartY, direction, cardinalityStart, cardinalityEnd){ + return( + pathRef && notation === 'crows_foot' && (cardinalityvar==1) &&( <> + {cardinalityStart} + + {cardinalityEnd} @@ -183,4 +212,47 @@ export function CrowZM(pathRef, settings, cardinalityvar, cardinalityEndX, cardi ) ) -} \ No newline at end of file +} + +export function DefaultNotation(pathRef, notation, cardinalityEndX, cardinalityEndY, cardinalityStartX, cardinalityStartY, cardinalityStart, cardinalityEnd){ + return( + pathRef && notation === 'default' && ( + <> + + + {cardinalityStart} + + + + {cardinalityEnd} + + + ) + ) +} diff --git a/src/components/EditorHeader/ControlPanel.jsx b/src/components/EditorHeader/ControlPanel.jsx index 6fde7507..90930f77 100644 --- a/src/components/EditorHeader/ControlPanel.jsx +++ b/src/components/EditorHeader/ControlPanel.jsx @@ -1220,17 +1220,34 @@ export default function ControlPanel({ function: viewGrid, shortcut: "Ctrl+Shift+G", }, - show_cardinality: { - state: settings.showCardinality ? ( - - ) : ( - - ), - function: () => - setSettings((prev) => ({ - ...prev, - showCardinality: !prev.showCardinality, - })), + // show_cardinality: { + // state: settings.showCardinality ? ( + // + // ) : ( + // + // ), + // function: () => + // setSettings((prev) => ({ + // ...prev, + // showCardinality: !prev.showCardinality, + // })), + // }, + notation: { + children: [ + { + default_notation: () => { + console.log(settings.notation); + setSettings((prev) => ({ ...prev, notation: "default" })); + }, + }, + { + crows_foot_notation: () => { + console.log(settings.notation); + setSettings((prev) => ({ ...prev, notation: "crows_foot" })); + }, + }, + ], + function: () => {}, }, show_debug_coordinates: { state: settings.showDebugCoordinates ? ( From 6b6c5bc222e6a2fa29b88874c11549f2cadc0a71 Mon Sep 17 00:00:00 2001 From: Francisco-Galindo Date: Tue, 3 Dec 2024 11:17:27 -0600 Subject: [PATCH 03/15] Using cached settings --- src/context/SettingsContext.jsx | 1 + 1 file changed, 1 insertion(+) diff --git a/src/context/SettingsContext.jsx b/src/context/SettingsContext.jsx index 8107068b..7f6287c6 100644 --- a/src/context/SettingsContext.jsx +++ b/src/context/SettingsContext.jsx @@ -9,6 +9,7 @@ const defaultSettings = { autosave: true, panning: true, showCardinality: true, + notation: "default", tableWidth: tableWidth, showDebugCoordinates: false, }; From d41876e90c1864e4691682ee04722fdf64a9b0af Mon Sep 17 00:00:00 2001 From: Francisco-Galindo Date: Tue, 3 Dec 2024 11:17:51 -0600 Subject: [PATCH 04/15] =?UTF-8?q?Agrego=20localizaci=C3=B3n=20para=20ingl?= =?UTF-8?q?=C3=A9s=20y=20espa=C3=B1ol=20de=20selecci=C3=B3n=20de=20notacio?= =?UTF-8?q?nes?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/i18n/locales/en.js | 3 +++ src/i18n/locales/es.js | 3 +++ 2 files changed, 6 insertions(+) diff --git a/src/i18n/locales/en.js b/src/i18n/locales/en.js index 6251531e..df1893ff 100644 --- a/src/i18n/locales/en.js +++ b/src/i18n/locales/en.js @@ -49,6 +49,9 @@ const en = { reset_view: "Reset view", show_grid: "Show grid", show_cardinality: "Show cardinality", + default_notation: "Default notation", + crows_foot_notation: "Crow's foot notation", + notation: "Notation", theme: "Theme", light: "Light", dark: "Dark", diff --git a/src/i18n/locales/es.js b/src/i18n/locales/es.js index d90df154..9df23cd1 100644 --- a/src/i18n/locales/es.js +++ b/src/i18n/locales/es.js @@ -49,6 +49,9 @@ const es = { reset_view: "Restablecer vista", show_grid: "Mostrar cuadrícula", show_cardinality: "Mostrar cardinalidad", + notation: "Notación", + default_notation: "Notación predeterminada", + crows_foot_notation: "Notación Crow's Foot", theme: "Tema", light: "Claro", dark: "Oscuro", From a0f5fc2c6c1f6ef441f7c5e971b0785ce388d673 Mon Sep 17 00:00:00 2001 From: Patricio2002 Date: Mon, 16 Dec 2024 20:53:56 -0600 Subject: [PATCH 05/15] IDEF1x --- .../EditorCanvas/RelationshipFormat.jsx | 38 +++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/src/components/EditorCanvas/RelationshipFormat.jsx b/src/components/EditorCanvas/RelationshipFormat.jsx index 04ebc8c1..f7808083 100644 --- a/src/components/EditorCanvas/RelationshipFormat.jsx +++ b/src/components/EditorCanvas/RelationshipFormat.jsx @@ -256,3 +256,41 @@ export function DefaultNotation(pathRef, notation, cardinalityEndX, cardinalityE ) ) } + +export function IDEFZM(pathRef, notation, cardinalityvar, cardinalityEndX, cardinalityEndY, cardinalityStartX, cardinalityStartY, direction, cardinalityStart, cardinalityEnd){ + return( + pathRef && notation === 'idef1x' && (cardinalityvar==1) &&( + <> + + + {cardinalityStart} + + + {cardinalityEnd} + + + ) + ) +} From 392cd0a5b01ddac3636cee4ecae22eb140be6bd4 Mon Sep 17 00:00:00 2001 From: Francisco-Galindo Date: Tue, 17 Dec 2024 12:50:54 -0600 Subject: [PATCH 06/15] =?UTF-8?q?Agregar=20opci=C3=B3n=20para=20cambiar=20?= =?UTF-8?q?a=20notaci=C3=B3n=20idef1x?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/EditorCanvas/Relationship.jsx | 5 +++-- src/components/EditorHeader/ControlPanel.jsx | 6 ++++++ 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/src/components/EditorCanvas/Relationship.jsx b/src/components/EditorCanvas/Relationship.jsx index fd4b33ec..fb7eb37c 100644 --- a/src/components/EditorCanvas/Relationship.jsx +++ b/src/components/EditorCanvas/Relationship.jsx @@ -5,7 +5,7 @@ import { useDiagram, useSettings, useLayout, useSelect } from "../../hooks"; import { useTranslation } from "react-i18next"; import { SideSheet } from "@douyinfe/semi-ui"; import RelationshipInfo from "../EditorSidePanel/RelationshipsTab/RelationshipInfo"; -import { CrowOM, CrowOO, CrowZM, DefaultNotation } from "./RelationshipFormat"; +import { CrowOM, CrowOO, CrowZM, IDEFZM, DefaultNotation } from "./RelationshipFormat"; export default function Relationship({ data }) { @@ -109,7 +109,7 @@ export default function Relationship({ data }) { } }; - if (settings.notation === 'crows_foot' && cardinalityEndX < cardinalityStartX){ + if ((settings.notation === 'crows_foot' || settings.notation === 'idef1x') && cardinalityEndX < cardinalityStartX){ direction = -1; } @@ -144,6 +144,7 @@ export default function Relationship({ data }) { {CrowOO(pathRef.current,settings.notation, cardinalityvar, cardinalityEndX, cardinalityEndY, cardinalityStartX, cardinalityStartY, direction, cardinalityStart, cardinalityEnd)} {CrowZM(pathRef.current,settings.notation, cardinalityvar, cardinalityEndX, cardinalityEndY, cardinalityStartX, cardinalityStartY, direction, cardinalityStart, cardinalityEnd)} {DefaultNotation(pathRef.current,settings.notation, cardinalityEndX, cardinalityEndY, cardinalityStartX, cardinalityStartY, cardinalityStart, cardinalityEnd)} + {IDEFZM(pathRef.current,settings.notation, cardinalityvar, cardinalityEndX, cardinalityEndY, cardinalityStartX, cardinalityStartY, direction, cardinalityStart, cardinalityEnd)} ({ ...prev, notation: "crows_foot" })); }, }, + { + idef1x_notation: () => { + console.log(settings.notation); + setSettings((prev) => ({ ...prev, notation: "idef1x" })); + }, + }, ], function: () => {}, }, From 413dfa0074b76514561a2a25248bc70fd5077844 Mon Sep 17 00:00:00 2001 From: Francisco-Galindo Date: Tue, 17 Dec 2024 13:00:09 -0600 Subject: [PATCH 07/15] =?UTF-8?q?Agregar=20locale=20para=20men=C3=BA=20de?= =?UTF-8?q?=20elecci=C3=B3n=20de=20IDEF1X?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/i18n/locales/en.js | 1 + src/i18n/locales/es.js | 1 + 2 files changed, 2 insertions(+) diff --git a/src/i18n/locales/en.js b/src/i18n/locales/en.js index df1893ff..b2048c56 100644 --- a/src/i18n/locales/en.js +++ b/src/i18n/locales/en.js @@ -51,6 +51,7 @@ const en = { show_cardinality: "Show cardinality", default_notation: "Default notation", crows_foot_notation: "Crow's foot notation", + idef1x_notation: "IDEF1X notation", notation: "Notation", theme: "Theme", light: "Light", diff --git a/src/i18n/locales/es.js b/src/i18n/locales/es.js index 9df23cd1..9f68ec2a 100644 --- a/src/i18n/locales/es.js +++ b/src/i18n/locales/es.js @@ -52,6 +52,7 @@ const es = { notation: "Notación", default_notation: "Notación predeterminada", crows_foot_notation: "Notación Crow's Foot", + idef1x_notation: "Notación IDEF1X", theme: "Tema", light: "Claro", dark: "Oscuro", From cc08f45449f8dbaa4186fb2af95b7a7a0fa31a77 Mon Sep 17 00:00:00 2001 From: Francisco-Galindo Date: Tue, 14 Jan 2025 11:08:52 -0600 Subject: [PATCH 08/15] Refactor: selection of path to draw for relationships --- src/components/EditorCanvas/Relationship.jsx | 35 ++++++++++++++----- .../EditorCanvas/RelationshipFormat.jsx | 20 +++++------ src/components/EditorHeader/ControlPanel.jsx | 3 -- 3 files changed, 36 insertions(+), 22 deletions(-) diff --git a/src/components/EditorCanvas/Relationship.jsx b/src/components/EditorCanvas/Relationship.jsx index fb7eb37c..e9641129 100644 --- a/src/components/EditorCanvas/Relationship.jsx +++ b/src/components/EditorCanvas/Relationship.jsx @@ -21,8 +21,28 @@ export default function Relationship({ data }) { let direction = 1; let cardinalityStart = "1"; let cardinalityEnd = "1"; - let cardinalityvar; + const formats = { + notation: { + default: { + one_to_one: DefaultNotation, + one_to_many: DefaultNotation, + many_to_one: DefaultNotation, + }, + crows_foot: { + one_to_one: CrowOO, + one_to_many: CrowOM, + many_to_one: CrowOM, + }, + idef1x: { + one_to_one: IDEFZM, + one_to_many: IDEFZM, + many_to_one: IDEFZM, + }, + } + } + + let format; switch (data.cardinality) { // the translated values are to ensure backwards compatibility case t(Cardinality.MANY_TO_ONE): @@ -33,8 +53,8 @@ export default function Relationship({ data }) { } else { cardinalityStart = "(1,*)"; cardinalityEnd = "(1,1)"; - cardinalityvar="1"; } + format = formats.notation[settings.notation].many_to_one; break; case t(Cardinality.ONE_TO_MANY): case Cardinality.ONE_TO_MANY: @@ -44,8 +64,8 @@ export default function Relationship({ data }) { } else { cardinalityStart = "(1,1)"; cardinalityEnd = "(1,*)"; - cardinalityvar="2"; } + format = formats.notation[settings.notation].one_to_many; break; case t(Cardinality.ONE_TO_ONE): case Cardinality.ONE_TO_ONE: @@ -55,10 +75,11 @@ export default function Relationship({ data }) { } else { cardinalityStart = "(1,1)"; cardinalityEnd = "(1,1)"; - cardinalityvar="3"; } + format = formats.notation[settings.notation].one_to_one; break; default: + format = formats.default.one_to_one; break; } @@ -140,11 +161,7 @@ export default function Relationship({ data }) { cursor="pointer" /> - {CrowOM(pathRef.current,settings.notation, cardinalityvar, cardinalityEndX, cardinalityEndY, cardinalityStartX, cardinalityStartY, direction, cardinalityStart, cardinalityEnd)} - {CrowOO(pathRef.current,settings.notation, cardinalityvar, cardinalityEndX, cardinalityEndY, cardinalityStartX, cardinalityStartY, direction, cardinalityStart, cardinalityEnd)} - {CrowZM(pathRef.current,settings.notation, cardinalityvar, cardinalityEndX, cardinalityEndY, cardinalityStartX, cardinalityStartY, direction, cardinalityStart, cardinalityEnd)} - {DefaultNotation(pathRef.current,settings.notation, cardinalityEndX, cardinalityEndY, cardinalityStartX, cardinalityStartY, cardinalityStart, cardinalityEnd)} - {IDEFZM(pathRef.current,settings.notation, cardinalityvar, cardinalityEndX, cardinalityEndY, cardinalityStartX, cardinalityStartY, direction, cardinalityStart, cardinalityEnd)} + {format(pathRef.current, cardinalityEndX, cardinalityEndY, cardinalityStartX, cardinalityStartY, direction, cardinalityStart, cardinalityEnd)} { - console.log(settings.notation); setSettings((prev) => ({ ...prev, notation: "default" })); }, }, { crows_foot_notation: () => { - console.log(settings.notation); setSettings((prev) => ({ ...prev, notation: "crows_foot" })); }, }, { idef1x_notation: () => { - console.log(settings.notation); setSettings((prev) => ({ ...prev, notation: "idef1x" })); }, }, From 8f9c44793558db976732bcaf25e86cf3bdad9d0d Mon Sep 17 00:00:00 2001 From: Francisco-Galindo Date: Tue, 4 Mar 2025 23:02:24 -0600 Subject: [PATCH 09/15] Add table styling for crows_foot and idef1x --- src/components/EditorCanvas/Table.jsx | 71 +++++++++++++++++++++------ src/index.css | 11 ++++- 2 files changed, 65 insertions(+), 17 deletions(-) diff --git a/src/components/EditorCanvas/Table.jsx b/src/components/EditorCanvas/Table.jsx index 1e656f9a..79336f23 100644 --- a/src/components/EditorCanvas/Table.jsx +++ b/src/components/EditorCanvas/Table.jsx @@ -70,34 +70,45 @@ export default function Table(props) { y={tableData.y} width={settings.tableWidth} height={height} - className="group drop-shadow-lg rounded-md cursor-move" + className="group drop-shadow-lg cursor-move" onPointerDown={onPointerDown} >
-
+
{tableData.name}
@@ -282,10 +293,32 @@ export default function Table(props) { function field(fieldData, index) { return (
{ if (!e.isPrimary) return; @@ -313,7 +346,11 @@ export default function Table(props) { } flex items-center gap-2 overflow-hidden`} >