From c3423beedaabc9bfa8c344757a75263bc8087101 Mon Sep 17 00:00:00 2001 From: Knut Sveidqvist Date: Tue, 25 Jun 2024 16:22:56 +0200 Subject: [PATCH] #5237 Support for invisisblwe links --- packages/mermaid/src/diagrams/flowchart/flowDb.ts | 9 ++++++--- .../src/rendering-util/rendering-elements/clusters.js | 5 +---- .../src/rendering-util/rendering-elements/edges.js | 2 +- packages/mermaid/src/styles.ts | 5 ++++- 4 files changed, 12 insertions(+), 9 deletions(-) diff --git a/packages/mermaid/src/diagrams/flowchart/flowDb.ts b/packages/mermaid/src/diagrams/flowchart/flowDb.ts index 5ef74455f..89197d677 100644 --- a/packages/mermaid/src/diagrams/flowchart/flowDb.ts +++ b/packages/mermaid/src/diagrams/flowchart/flowDb.ts @@ -901,9 +901,12 @@ export const getData = () => { labelpos: 'c', thickness: rawEdge.stroke, minlen: rawEdge.length, - classes: 'edge-thickness-normal edge-pattern-solid flowchart-link', - arrowTypeStart, - arrowTypeEnd, + classes: + rawEdge?.stroke === 'invisible' + ? '' + : 'edge-thickness-normal edge-pattern-solid flowchart-link', + arrowTypeStart: rawEdge?.stroke === 'invisible' ? 'none' : arrowTypeStart, + arrowTypeEnd: rawEdge?.stroke === 'invisible' ? 'none' : arrowTypeEnd, arrowheadStyle: 'fill: #333', labelStyle: styles, style: styles, diff --git a/packages/mermaid/src/rendering-util/rendering-elements/clusters.js b/packages/mermaid/src/rendering-util/rendering-elements/clusters.js index 2e6558c49..bf6d679b5 100644 --- a/packages/mermaid/src/rendering-util/rendering-elements/clusters.js +++ b/packages/mermaid/src/rendering-util/rendering-elements/clusters.js @@ -35,10 +35,7 @@ const rect = async (parent, node) => { // const text = label // .node() // .appendChild(createLabel(node.label, node.labelStyle, undefined, true)); - const text = - node.labelType === 'markdown' - ? await createText(labelEl, node.label, { style: node.labelStyle, useHtmlLabels }) - : labelEl.node().appendChild(await createLabel(node.label, node.labelStyle, undefined, true)); + const text = await createText(labelEl, node.label, { style: node.labelStyle, useHtmlLabels }); // Get the size of the label let bbox = text.getBBox(); diff --git a/packages/mermaid/src/rendering-util/rendering-elements/edges.js b/packages/mermaid/src/rendering-util/rendering-elements/edges.js index 7f8ee1c22..a96268785 100644 --- a/packages/mermaid/src/rendering-util/rendering-elements/edges.js +++ b/packages/mermaid/src/rendering-util/rendering-elements/edges.js @@ -569,7 +569,7 @@ export const insertEdge = function (elem, edge, clusterDb, diagramType, startNod strokeClasses = 'edge-thickness-thick'; break; case 'invisible': - strokeClasses = 'edge-thickness-thick'; + strokeClasses = 'edge-thickness-invisible'; break; default: strokeClasses = 'edge-thickness-normal'; diff --git a/packages/mermaid/src/styles.ts b/packages/mermaid/src/styles.ts index fde079450..5003e5e5a 100644 --- a/packages/mermaid/src/styles.ts +++ b/packages/mermaid/src/styles.ts @@ -47,7 +47,10 @@ const getStyles = ( & .edge-pattern-solid { stroke-dasharray: 0; } - + & .edge-thickness-invisible { + stroke-width: 0; + fill: none; + } & .edge-pattern-dashed{ stroke-dasharray: 3; }