From dffaf9fa8ff523fa4d30b9c73c54175cfe36d423 Mon Sep 17 00:00:00 2001 From: Ashish Jain Date: Tue, 29 Oct 2024 13:41:20 +0100 Subject: [PATCH] fix for kanban section shape --- packages/mermaid/src/diagrams/kanban/kanbanDb.ts | 3 ++- .../mermaid/src/rendering-util/rendering-elements/clusters.js | 2 +- .../mermaid/src/rendering-util/rendering-elements/shapes.ts | 2 ++ 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/packages/mermaid/src/diagrams/kanban/kanbanDb.ts b/packages/mermaid/src/diagrams/kanban/kanbanDb.ts index e6f57ef79..f27799f1e 100644 --- a/packages/mermaid/src/diagrams/kanban/kanbanDb.ts +++ b/packages/mermaid/src/diagrams/kanban/kanbanDb.ts @@ -129,7 +129,8 @@ const addNode = (level: number, id: string, descr: string, type: number, shapeDa throw new Error(`No such shape: ${doc.shape}. Shape names should be lowercase.`); } - if (doc?.shape) { + // if shape is defined in the yaml data, use it if it is a valid shape kanbanItem or kanbanSection + if (doc?.shape && (doc.shape === 'kanbanItem' || doc.shape === 'kanbanSection')) { node.shape = doc?.shape; } if (doc?.label) { diff --git a/packages/mermaid/src/rendering-util/rendering-elements/clusters.js b/packages/mermaid/src/rendering-util/rendering-elements/clusters.js index 3bd9c9dc7..12ba15f39 100644 --- a/packages/mermaid/src/rendering-util/rendering-elements/clusters.js +++ b/packages/mermaid/src/rendering-util/rendering-elements/clusters.js @@ -280,7 +280,7 @@ const roundedWithTitle = async (parent, node) => { return { cluster: shapeSvg, labelBBox: bbox }; }; -const kanbanSection = async (parent, node) => { +export const kanbanSection = async (parent, node) => { log.info('Creating subgraph rect for ', node.id, node); const siteConfig = getConfig(); const { themeVariables, handDrawnSeed } = siteConfig; diff --git a/packages/mermaid/src/rendering-util/rendering-elements/shapes.ts b/packages/mermaid/src/rendering-util/rendering-elements/shapes.ts index 4f6459d85..0dd22b113 100644 --- a/packages/mermaid/src/rendering-util/rendering-elements/shapes.ts +++ b/packages/mermaid/src/rendering-util/rendering-elements/shapes.ts @@ -59,6 +59,7 @@ import { waveRectangle } from './shapes/waveRectangle.js'; import { windowPane } from './shapes/windowPane.js'; import { classBox } from './shapes/classBox.js'; import { kanbanItem } from './shapes/kanbanItem.js'; +import { kanbanSection } from './clusters.js'; type ShapeHandler = ( parent: D3Selection, @@ -478,6 +479,7 @@ const generateShapeMap = () => { iconRounded, imageSquare, kanbanItem, + kanbanSection, anchor, } as const;