From 290c678dc72660a75daab505943a1a33ffb538e7 Mon Sep 17 00:00:00 2001 From: Knut Sveidqvist Date: Thu, 10 Oct 2024 08:23:58 -0700 Subject: [PATCH] Adding ticket handling --- .build/jsonSchema.ts | 1 + .cspell/mermaid-terms.txt | 1 + cypress/platform/knsv2.html | 22 ++-- packages/mermaid/src/config.type.ts | 12 +++ packages/mermaid/src/defaultConfig.ts | 6 ++ .../src/diagrams/kanban/kanban.spec.ts | 86 +++++++++++++++ .../mermaid/src/diagrams/kanban/kanbanDb.ts | 67 +++++++++--- .../src/diagrams/kanban/kanbanRenderer.ts | 100 +++-------------- .../src/diagrams/kanban/kanbanTypes.ts | 8 +- .../src/diagrams/kanban/parser/kanban.jison | 47 +++++++- .../mermaid/src/diagrams/kanban/styles.ts | 11 +- .../rendering-elements/shapes/kanbanItem.ts | 102 ++++++++++++++++-- .../rendering-elements/shapes/util.js | 52 ++++++++- packages/mermaid/src/rendering-util/types.ts | 8 ++ .../mermaid/src/schemas/config.schema.yaml | 19 ++++ packages/mermaid/src/types.ts | 1 + 16 files changed, 415 insertions(+), 128 deletions(-) diff --git a/.build/jsonSchema.ts b/.build/jsonSchema.ts index 50b9ff097..7a700c1e2 100644 --- a/.build/jsonSchema.ts +++ b/.build/jsonSchema.ts @@ -19,6 +19,7 @@ const MERMAID_CONFIG_DIAGRAM_KEYS = [ 'xyChart', 'requirement', 'mindmap', + 'kanban', 'timeline', 'gitGraph', 'c4', diff --git a/.cspell/mermaid-terms.txt b/.cspell/mermaid-terms.txt index 8551bd196..cb6db41de 100644 --- a/.cspell/mermaid-terms.txt +++ b/.cspell/mermaid-terms.txt @@ -12,6 +12,7 @@ gantt gitgraph gzipped handDrawn +kanban knsv Knut marginx diff --git a/cypress/platform/knsv2.html b/cypress/platform/knsv2.html index a22c81eba..62a48855a 100644 --- a/cypress/platform/knsv2.html +++ b/cypress/platform/knsv2.html @@ -84,19 +84,27 @@
+---
+config:
+  kanban:
+    ticketBaseUrl: 'https://mermaidchart.atlassian.net/browse/#TICKET#'
+---
 kanban
   id1[Todo]
-    id2[Create JISON]
-    id3[Update DB function]
-    id4[Create parsing tests]
-    id6[Create renderer so that it works in all cases. We also add som extra text here for testing purposes.]
-    id66[last item]
+    docs[Create Documentation]
+    docs[Create Blog about the new diagram]
   id7[In progress]
-    id8[Design grammar]
   id9[Ready for deploy]
   id10[Ready for test]
-    id5[define getData]
   id11[Done]
+    id6[Create renderer so that it works in all cases. We also add som extra text here for testing purposes. And some more just for the extra flare.]
+    id8[Design grammar]@{ assigned: 'knsv' }
+    id5[define getData]
+    id2[Title of diagram is more than 100 chars when user duplicates diagram with 100 char]@{ ticket: MC-2036, priority: 'Very High'}
+    id3[Update DB function]@{ ticket: MC-2037, assigned: knsv, priority: 'High' }
+    id4[Create parsing tests]@{ ticket: MC-2038, assigned: 'K.Sveidqvist', priority: 'High' }
+    id66[last item]@{ priority: 'Very Low', assigned: 'knsv' }
+
   id12[Can't reproduce]