mirror of
				https://github.com/mermaid-js/mermaid.git
				synced 2025-10-31 10:54:15 +01:00 
			
		
		
		
	Merge pull request #30 from Mermaid-Chart/mc-2560-dotted-lines-neo
MC-2560 Reviving dotted lines for flowcharts
This commit is contained in:
		| @@ -105,20 +105,17 @@ | |||||||
|   </head> |   </head> | ||||||
|  |  | ||||||
|   <body> |   <body> | ||||||
|     <pre id="diagram4" class="mermaid2"> |  | ||||||
|       flowchart LR |  | ||||||
|         AB["apa@apa@"] --> B(("`apa@apa`")) |  | ||||||
|     </pre> |  | ||||||
|     <pre id="diagram4" class="mermaid2"> |  | ||||||
|       flowchart |  | ||||||
|         D(("for D")) |  | ||||||
|     </pre> |  | ||||||
|     <pre id="diagram4" class="mermaid"> |     <pre id="diagram4" class="mermaid"> | ||||||
|  |       flowchart LR | ||||||
|  |         A e1@-.-> B | ||||||
|  |         C e2@--> D | ||||||
|  |     </pre> | ||||||
|  |     <pre id="diagram4" class="mermaid2"> | ||||||
|       flowchart LR |       flowchart LR | ||||||
|         A e1@==> B |         A e1@==> B | ||||||
|         e1@{ animate: true} |         e1@{ animate: true} | ||||||
|     </pre> |     </pre> | ||||||
|     <pre id="diagram4" class="mermaid"> |     <pre id="diagram4" class="mermaid2"> | ||||||
| --- | --- | ||||||
| config: | config: | ||||||
|   theme: forest |   theme: forest | ||||||
| @@ -129,12 +126,12 @@ config: | |||||||
|         e1@{ animate: true} |         e1@{ animate: true} | ||||||
|     </pre> |     </pre> | ||||||
|     <hr /> |     <hr /> | ||||||
|     <pre id="diagram4" class="mermaid"> |     <pre id="diagram4" class="mermaid2"> | ||||||
|       flowchart LR |       flowchart LR | ||||||
|         A e1@==> B |         A e1@==> B | ||||||
|         e1@{ animate: false} |         e1@{ animate: false} | ||||||
|     </pre> |     </pre> | ||||||
|     <pre id="diagram4" class="mermaid"> |     <pre id="diagram4" class="mermaid2"> | ||||||
| --- | --- | ||||||
| config: | config: | ||||||
|   theme: neo |   theme: neo | ||||||
| @@ -147,12 +144,12 @@ config: | |||||||
|  |  | ||||||
|     <!-- Next set of tests --> |     <!-- Next set of tests --> | ||||||
|     <hr /> |     <hr /> | ||||||
|     <pre id="diagram4" class="mermaid"> |     <pre id="diagram4" class="mermaid2"> | ||||||
|       flowchart LR |       flowchart LR | ||||||
|         slow e2@--> B |         slow e2@--> B | ||||||
|         e2@{ animation: slow} |         e2@{ animation: slow} | ||||||
|     </pre> |     </pre> | ||||||
|     <pre id="diagram4" class="mermaid"> |     <pre id="diagram4" class="mermaid2"> | ||||||
| --- | --- | ||||||
| config: | config: | ||||||
|   theme: forest |   theme: forest | ||||||
| @@ -163,13 +160,13 @@ config: | |||||||
|         e1@{ animation: fast} |         e1@{ animation: fast} | ||||||
|     </pre> |     </pre> | ||||||
|     <hr /> |     <hr /> | ||||||
|     <pre id="diagram4" class="mermaid"> |     <pre id="diagram4" class="mermaid2"> | ||||||
|       flowchart LR |       flowchart LR | ||||||
|         A e1@==> B |         A e1@==> B | ||||||
|           classDef animate stroke-dasharray: 9\,5,stroke-dashoffset: 900,animation: dash 25s linear infinite; |           classDef animate stroke-dasharray: 9\,5,stroke-dashoffset: 900,animation: dash 25s linear infinite; | ||||||
|   class e1 animate |   class e1 animate | ||||||
|     </pre> |     </pre> | ||||||
|     <pre id="diagram4" class="mermaid"> |     <pre id="diagram4" class="mermaid2"> | ||||||
| --- | --- | ||||||
| config: | config: | ||||||
|   theme: forest |   theme: forest | ||||||
| @@ -199,12 +196,12 @@ config: | |||||||
|         e1@{ animate: true} |         e1@{ animate: true} | ||||||
|     </pre> |     </pre> | ||||||
|     <hr /> |     <hr /> | ||||||
|     <pre id="diagram4" class="mermaid"> |     <pre id="diagram4" class="mermaid2"> | ||||||
|       flowchart LR |       flowchart LR | ||||||
|         A e1@==o B |         A e1@==o B | ||||||
|         e1@{ animate: false} |         e1@{ animate: false} | ||||||
|     </pre> |     </pre> | ||||||
|     <pre id="diagram4" class="mermaid"> |     <pre id="diagram4" class="mermaid2"> | ||||||
| --- | --- | ||||||
| config: | config: | ||||||
|   theme: neo |   theme: neo | ||||||
| @@ -217,12 +214,12 @@ config: | |||||||
|  |  | ||||||
|     <!-- Next set of tests --> |     <!-- Next set of tests --> | ||||||
|     <hr /> |     <hr /> | ||||||
|     <pre id="diagram4" class="mermaid"> |     <pre id="diagram4" class="mermaid2"> | ||||||
|       flowchart LR |       flowchart LR | ||||||
|         slow e2@--o B |         slow e2@--o B | ||||||
|         e2@{ animation: slow} |         e2@{ animation: slow} | ||||||
|     </pre> |     </pre> | ||||||
|     <pre id="diagram4" class="mermaid"> |     <pre id="diagram4" class="mermaid2"> | ||||||
| --- | --- | ||||||
| config: | config: | ||||||
|   theme: forest |   theme: forest | ||||||
| @@ -233,13 +230,13 @@ config: | |||||||
|         e1@{ animation: fast} |         e1@{ animation: fast} | ||||||
|     </pre> |     </pre> | ||||||
|     <hr /> |     <hr /> | ||||||
|     <pre id="diagram4" class="mermaid"> |     <pre id="diagram4" class="mermaid2"> | ||||||
|       flowchart LR |       flowchart LR | ||||||
|         A e1@==o B |         A e1@==o B | ||||||
|           classDef animate stroke-dasharray: 9\,5,stroke-dashoffset: 900,animation: dash 25s linear infinite; |           classDef animate stroke-dasharray: 9\,5,stroke-dashoffset: 900,animation: dash 25s linear infinite; | ||||||
|   class e1 animate |   class e1 animate | ||||||
|     </pre> |     </pre> | ||||||
|     <pre id="diagram4" class="mermaid"> |     <pre id="diagram4" class="mermaid2"> | ||||||
| --- | --- | ||||||
| config: | config: | ||||||
|   theme: forest |   theme: forest | ||||||
| @@ -253,12 +250,12 @@ config: | |||||||
|     <!-- Cross --> |     <!-- Cross --> | ||||||
|     <hr /> |     <hr /> | ||||||
|  |  | ||||||
|     <pre id="diagram4" class="mermaid"> |     <pre id="diagram4" class="mermaid2"> | ||||||
|       flowchart LR |       flowchart LR | ||||||
|         A e1@==x B |         A e1@==x B | ||||||
|         e1@{ animate: true} |         e1@{ animate: true} | ||||||
|     </pre> |     </pre> | ||||||
|     <pre id="diagram4" class="mermaid"> |     <pre id="diagram4" class="mermaid2"> | ||||||
| --- | --- | ||||||
| config: | config: | ||||||
|   theme: forest |   theme: forest | ||||||
| @@ -269,12 +266,12 @@ config: | |||||||
|         e1@{ animate: true} |         e1@{ animate: true} | ||||||
|     </pre> |     </pre> | ||||||
|     <hr /> |     <hr /> | ||||||
|     <pre id="diagram4" class="mermaid"> |     <pre id="diagram4" class="mermaid2"> | ||||||
|       flowchart LR |       flowchart LR | ||||||
|         A e1@==x B |         A e1@==x B | ||||||
|         e1@{ animate: false} |         e1@{ animate: false} | ||||||
|     </pre> |     </pre> | ||||||
|     <pre id="diagram4" class="mermaid"> |     <pre id="diagram4" class="mermaid2"> | ||||||
| --- | --- | ||||||
| config: | config: | ||||||
|   theme: neo |   theme: neo | ||||||
| @@ -287,12 +284,12 @@ config: | |||||||
|  |  | ||||||
|     <!-- Next set of tests --> |     <!-- Next set of tests --> | ||||||
|     <hr /> |     <hr /> | ||||||
|     <pre id="diagram4" class="mermaid"> |     <pre id="diagram4" class="mermaid2"> | ||||||
|       flowchart LR |       flowchart LR | ||||||
|         slow e2@--x B |         slow e2@--x B | ||||||
|         e2@{ animation: slow} |         e2@{ animation: slow} | ||||||
|     </pre> |     </pre> | ||||||
|     <pre id="diagram4" class="mermaid"> |     <pre id="diagram4" class="mermaid2"> | ||||||
| --- | --- | ||||||
| config: | config: | ||||||
|   theme: forest |   theme: forest | ||||||
| @@ -303,13 +300,13 @@ config: | |||||||
|         e1@{ animation: fast} |         e1@{ animation: fast} | ||||||
|     </pre> |     </pre> | ||||||
|     <hr /> |     <hr /> | ||||||
|     <pre id="diagram4" class="mermaid"> |     <pre id="diagram4" class="mermaid2"> | ||||||
|       flowchart LR |       flowchart LR | ||||||
|         A e1@==x B |         A e1@==x B | ||||||
|           classDef animate stroke-dasharray: 9\,5,stroke-dashoffset: 900,animation: dash 25s linear infinite; |           classDef animate stroke-dasharray: 9\,5,stroke-dashoffset: 900,animation: dash 25s linear infinite; | ||||||
|   class e1 animate |   class e1 animate | ||||||
|     </pre> |     </pre> | ||||||
|     <pre id="diagram4" class="mermaid"> |     <pre id="diagram4" class="mermaid2"> | ||||||
| --- | --- | ||||||
| config: | config: | ||||||
|   theme: forest |   theme: forest | ||||||
| @@ -320,288 +317,7 @@ config: | |||||||
|           classDef animate stroke-dasharray: 9\,5,stroke-dashoffset: 900,animation: dash 25s linear infinite; |           classDef animate stroke-dasharray: 9\,5,stroke-dashoffset: 900,animation: dash 25s linear infinite; | ||||||
|   class e1 animate |   class e1 animate | ||||||
|     </pre> |     </pre> | ||||||
|     <pre id="diagram4" class="mermaid2"> |  | ||||||
| flowchart LR |  | ||||||
|   A e1@--> B |  | ||||||
|   classDef animate stroke-width:2,stroke-dasharray:10\,8,stroke-dashoffset:-180,animation: edge-animation-frame 6s linear infinite, stroke-linecap: round |  | ||||||
|   class e1 animate |  | ||||||
|     </pre> |  | ||||||
|     <h2>infinite</h2> |  | ||||||
|     <pre id="diagram4" class="mermaid2"> |  | ||||||
| flowchart LR |  | ||||||
|   A e1@--> B |  | ||||||
|   classDef animate stroke-dasharray: 9\,5,stroke-dashoffset: 900,animation: dash 25s linear infinite; |  | ||||||
|   class e1 animate |  | ||||||
|     </pre> |  | ||||||
|     <h2>Mermaid - edge-animation-slow</h2> |  | ||||||
|     <pre id="diagram4" class="mermaid2"> |  | ||||||
| flowchart LR |  | ||||||
|   A e1@--> B |  | ||||||
| e1@{ animation: fast} |  | ||||||
|     </pre> |  | ||||||
|     <h2>Mermaid - edge-animation-fast</h2> |  | ||||||
|     <pre id="diagram4" class="mermaid2"> |  | ||||||
| flowchart LR |  | ||||||
|   A e1@--> B |  | ||||||
|   classDef animate stroke-dasharray: 1000,stroke-dashoffset: 1000,animation: dash 10s linear; |  | ||||||
|   class e1 edge-animation-fast |  | ||||||
|     </pre> |  | ||||||
|  |  | ||||||
|     <pre id="diagram4" class="mermaid2"> |  | ||||||
|  |  | ||||||
| info    </pre |  | ||||||
|     > |  | ||||||
|     <pre id="diagram4" class="mermaid2"> |  | ||||||
| --- |  | ||||||
| config: |  | ||||||
|   layout: elk |  | ||||||
| --- |  | ||||||
|       flowchart LR |  | ||||||
|       a |  | ||||||
|       subgraph s0["APA"] |  | ||||||
|       subgraph s8["APA"] |  | ||||||
|       subgraph s1["APA"] |  | ||||||
|         D{"X"} |  | ||||||
|         E[Q] |  | ||||||
|       end |  | ||||||
|       subgraph s3["BAPA"] |  | ||||||
|         F[Q] |  | ||||||
|         I |  | ||||||
|       end |  | ||||||
|             D --> I |  | ||||||
|             D --> I |  | ||||||
|             D --> I |  | ||||||
|  |  | ||||||
|       I{"X"} |  | ||||||
|       end |  | ||||||
|       end |  | ||||||
|     </pre> |  | ||||||
|     <pre id="diagram4" class="mermaid2"> |  | ||||||
| --- |  | ||||||
| config: |  | ||||||
|   layout: elk |  | ||||||
| --- |  | ||||||
|       flowchart LR |  | ||||||
|       a |  | ||||||
|         D{"Use the editor"} |  | ||||||
|  |  | ||||||
|       D -- Mermaid js --> I{"fa:fa-code Text"} |  | ||||||
|       D-->I |  | ||||||
|       D-->I |  | ||||||
|     </pre> |  | ||||||
|     <pre id="diagram4" class="mermaid2"> |  | ||||||
| --- |  | ||||||
| config: |  | ||||||
|   layout: elk |  | ||||||
| --- |  | ||||||
| flowchart LR |  | ||||||
|  subgraph s1["Untitled subgraph"] |  | ||||||
|         n1["Evaluate"] |  | ||||||
|         n2["Option 1"] |  | ||||||
|         n3["Option 2"] |  | ||||||
|         n4["fa:fa-car Option 3"] |  | ||||||
|   end |  | ||||||
|  subgraph s2["Untitled subgraph"] |  | ||||||
|         n5["Evaluate"] |  | ||||||
|         n6["Option 1"] |  | ||||||
|         n7["Option 2"] |  | ||||||
|         n8["fa:fa-car Option 3"] |  | ||||||
|   end |  | ||||||
|     A["Start"] -- Some text --> B("Continue") |  | ||||||
|     B --> C{"Evaluate"} |  | ||||||
|     C -- One --> D["Option 1"] |  | ||||||
|     C -- Two --> E["Option 2"] |  | ||||||
|     C -- Three --> F["fa:fa-car Option 3"] |  | ||||||
|     n1 -- One --> n2 |  | ||||||
|     n1 -- Two --> n3 |  | ||||||
|     n1 -- Three --> n4 |  | ||||||
|     n5 -- One --> n6 |  | ||||||
|     n5 -- Two --> n7 |  | ||||||
|     n5 -- Three --> n8 |  | ||||||
|     n1@{ shape: diam} |  | ||||||
|     n2@{ shape: rect} |  | ||||||
|     n3@{ shape: rect} |  | ||||||
|     n4@{ shape: rect} |  | ||||||
|     n5@{ shape: diam} |  | ||||||
|     n6@{ shape: rect} |  | ||||||
|     n7@{ shape: rect} |  | ||||||
|     n8@{ shape: rect} |  | ||||||
|  |  | ||||||
|     </pre> |  | ||||||
|     <pre id="diagram4" class="mermaid2"> |  | ||||||
| --- |  | ||||||
| config: |  | ||||||
|   layout: elk |  | ||||||
| --- |  | ||||||
| flowchart LR |  | ||||||
|  subgraph s1["Untitled subgraph"] |  | ||||||
|         n1["Evaluate"] |  | ||||||
|         n2["Option 1"] |  | ||||||
|   end |  | ||||||
|     n1 -- One --> n2 |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|     </pre> |  | ||||||
|     <pre id="diagram4" class="mermaid2"> |  | ||||||
| --- |  | ||||||
| config: |  | ||||||
|   layout: elk |  | ||||||
| --- |  | ||||||
| flowchart LR |  | ||||||
|     A{A} --> B & C |  | ||||||
| </pre |  | ||||||
|     > |  | ||||||
|     <pre id="diagram4" class="mermaid2"> |  | ||||||
| --- |  | ||||||
| config: |  | ||||||
|   layout: elk |  | ||||||
| --- |  | ||||||
| flowchart LR |  | ||||||
|     A{A} --> B & C |  | ||||||
|     subgraph "subbe" |  | ||||||
|       A |  | ||||||
|     end |  | ||||||
| </pre |  | ||||||
|     > |  | ||||||
|     <pre id="diagram4" class="mermaid2"> |  | ||||||
| --- |  | ||||||
| config: |  | ||||||
|   layout: elk |  | ||||||
| --- |  | ||||||
| flowchart LR |  | ||||||
|     n2@{ shape: rect} |  | ||||||
|     n3@{ shape: rect} |  | ||||||
|     n4@{ shape: rect} |  | ||||||
|     A["Start"] -- Some text --> B("Continue") |  | ||||||
|     B --> C{"Evaluate"} |  | ||||||
|     C -- One --> D["Option 1"] |  | ||||||
|     C -- Two --> E["Option 2"] |  | ||||||
|     C -- Three --> F["fa:fa-car Option 3"] |  | ||||||
|     %% C@{ shape: hexagon} |  | ||||||
|  |  | ||||||
|  |  | ||||||
|     </pre> |  | ||||||
|     <pre id="diagram4" class="mermaid2"> |  | ||||||
| --- |  | ||||||
| config: |  | ||||||
|   kanban: |  | ||||||
|     ticketBaseUrl: 'https://github.com/your-repo/issues/#TICKET#' |  | ||||||
| --- |  | ||||||
| kanban |  | ||||||
|   Backlog |  | ||||||
|     task1[📝 Define project requirements]@{ ticket: a101 } |  | ||||||
|   To Do |  | ||||||
|     task2[🔍 Research technologies]@{ ticket: a102 } |  | ||||||
|   Review |  | ||||||
|     task4[🔍 Code review for login feature]@{ ticket: a104 } |  | ||||||
|   Done |  | ||||||
|     task5[✅ Deploy initial version]@{ ticket: a105 } |  | ||||||
|   In Progress |  | ||||||
|     task3[💻 Develop login feature]@{ ticket: 103 } |  | ||||||
|  |  | ||||||
|     </pre> |  | ||||||
|     <pre id="diagram4" class="mermaid2"> |  | ||||||
| flowchart LR |  | ||||||
| nA[Default] --> A@{ icon: 'fa:bell', form: 'rounded' } |  | ||||||
|  |  | ||||||
|     </pre> |  | ||||||
|     <pre id="diagram4" class="mermaid2"> |  | ||||||
| flowchart LR |  | ||||||
| nA[Style] --> A@{ icon: 'fa:bell', form: 'rounded' } |  | ||||||
| style A fill:#f9f,stroke:#333,stroke-width:4px |  | ||||||
|     </pre> |  | ||||||
|     <pre id="diagram4" class="mermaid2"> |  | ||||||
| flowchart LR |  | ||||||
| nA[Class] --> A@{ icon: 'fa:bell', form: 'rounded' } |  | ||||||
| A:::AClass |  | ||||||
| classDef AClass fill:#f9f,stroke:#333,stroke-width:4px |  | ||||||
|     </pre> |  | ||||||
|     <pre id="diagram4" class="mermaid2"> |  | ||||||
| flowchart LR |  | ||||||
|   nA[Class] --> A@{ icon: 'logos:aws', form: 'rounded' } |  | ||||||
|  |  | ||||||
|     </pre> |  | ||||||
|     <pre id="diagram4" class="mermaid2"> |  | ||||||
| flowchart LR |  | ||||||
| nA[Default] --> A@{ icon: 'fa:bell', form: 'square' } |  | ||||||
|  |  | ||||||
|     </pre> |  | ||||||
|     <pre id="diagram4" class="mermaid2"> |  | ||||||
| flowchart LR |  | ||||||
| nA[Style] --> A@{ icon: 'fa:bell', form: 'square' } |  | ||||||
| style A fill:#f9f,stroke:#333,stroke-width:4px |  | ||||||
|     </pre> |  | ||||||
|     <pre id="diagram4" class="mermaid2"> |  | ||||||
| flowchart LR |  | ||||||
| nA[Class] --> A@{ icon: 'fa:bell', form: 'square' } |  | ||||||
| A:::AClass |  | ||||||
| classDef AClass fill:#f9f,stroke:#333,stroke-width:4px |  | ||||||
|     </pre> |  | ||||||
|     <pre id="diagram4" class="mermaid2"> |  | ||||||
| flowchart LR |  | ||||||
|   nA[Class] --> A@{ icon: 'logos:aws', form: 'square' } |  | ||||||
|  |  | ||||||
|     </pre> |  | ||||||
|     <pre id="diagram4" class="mermaid2"> |  | ||||||
| flowchart LR |  | ||||||
| nA[Default] --> A@{ icon: 'fa:bell', form: 'circle' } |  | ||||||
|  |  | ||||||
|     </pre> |  | ||||||
|     <pre id="diagram4" class="mermaid2"> |  | ||||||
| flowchart LR |  | ||||||
| nA[Style] --> A@{ icon: 'fa:bell', form: 'circle' } |  | ||||||
| style A fill:#f9f,stroke:#333,stroke-width:4px |  | ||||||
|     </pre> |  | ||||||
|     <pre id="diagram4" class="mermaid2"> |  | ||||||
| flowchart LR |  | ||||||
| nA[Class] --> A@{ icon: 'fa:bell', form: 'circle' } |  | ||||||
| A:::AClass |  | ||||||
| classDef AClass fill:#f9f,stroke:#333,stroke-width:4px |  | ||||||
|     </pre> |  | ||||||
|     <pre id="diagram4" class="mermaid2"> |  | ||||||
| flowchart LR |  | ||||||
|   nA[Class] --> A@{ icon: 'logos:aws', form: 'circle' } |  | ||||||
|   A:::AClass |  | ||||||
|   classDef AClass fill:#f9f,stroke:#333,stroke-width:4px |  | ||||||
|     </pre> |  | ||||||
|     <pre id="diagram4" class="mermaid2"> |  | ||||||
| flowchart LR |  | ||||||
|   nA[Style] --> A@{ icon: 'logos:aws', form: 'circle' } |  | ||||||
|   style A fill:#f9f,stroke:#333,stroke-width:4px |  | ||||||
|     </pre> |  | ||||||
|     <pre id="diagram4" class="mermaid2"> |  | ||||||
| kanban |  | ||||||
|   id2[In progress] |  | ||||||
|     docs[Create Blog about the new diagram]@{ priority: 'Very Low', ticket: MC-2037, assigned: 'knsv' } |  | ||||||
|     </pre> |  | ||||||
|     <pre id="diagram4" class="mermaid2"> |  | ||||||
| --- |  | ||||||
| config: |  | ||||||
|   kanban: |  | ||||||
|     ticketBaseUrl: 'https://mermaidchart.atlassian.net/browse/#TICKET#' |  | ||||||
|     # sectionWidth: 300 |  | ||||||
| --- |  | ||||||
| kanban |  | ||||||
|   Todo |  | ||||||
|     [Create Documentation] |  | ||||||
|     docs[Create Blog about the new diagram] |  | ||||||
|   id7[In progress] |  | ||||||
|     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.] |  | ||||||
|   id9[Ready for deploy] |  | ||||||
|     id8[Design grammar]@{ assigned: 'knsv' } |  | ||||||
|   id10[Ready for test] |  | ||||||
|     id4[Create parsing tests]@{ ticket: MC-2038, assigned: 'K.Sveidqvist', priority: 'High' } |  | ||||||
|     id66[last item]@{ priority: 'Very Low', assigned: 'knsv' } |  | ||||||
|   id11[Done] |  | ||||||
|     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' } |  | ||||||
|  |  | ||||||
|   id12[Can't reproduce] |  | ||||||
|     id3[Weird flickering in Firefox] |  | ||||||
|     </pre> |  | ||||||
|     <script type="module"> |     <script type="module"> | ||||||
|       import mermaid from './mermaid.esm.mjs'; |       import mermaid from './mermaid.esm.mjs'; | ||||||
|       import layouts from './mermaid-layout-elk.esm.mjs'; |       import layouts from './mermaid-layout-elk.esm.mjs'; | ||||||
|   | |||||||
| @@ -429,6 +429,24 @@ const cutPathAtIntersect = (_points, boundaryNode) => { | |||||||
| //   return newLineData; | //   return newLineData; | ||||||
| // }; | // }; | ||||||
|  |  | ||||||
|  | const generateDashArray = (len, oValueS, oValueE) => { | ||||||
|  |   const middleLength = len - oValueS - oValueE; | ||||||
|  |   const dashLength = 2; // Length of each dash | ||||||
|  |   const gapLength = 2; // Length of each gap | ||||||
|  |   const dashGapPairLength = dashLength + gapLength; | ||||||
|  |  | ||||||
|  |   // Calculate number of complete dash-gap pairs that can fit | ||||||
|  |   const numberOfPairs = Math.floor(middleLength / dashGapPairLength); | ||||||
|  |  | ||||||
|  |   // Generate the middle pattern array | ||||||
|  |   const middlePattern = Array(numberOfPairs).fill(`${dashLength} ${gapLength}`).join(' '); | ||||||
|  |  | ||||||
|  |   // Combine all parts | ||||||
|  |   const dashArray = `0 ${oValueS} ${middlePattern} ${oValueE}`; | ||||||
|  |  | ||||||
|  |   return dashArray; | ||||||
|  | }; | ||||||
|  |  | ||||||
| export const insertEdge = function (elem, edge, clusterDb, diagramType, startNode, endNode, id) { | export const insertEdge = function (elem, edge, clusterDb, diagramType, startNode, endNode, id) { | ||||||
|   const { handDrawnSeed } = getConfig(); |   const { handDrawnSeed } = getConfig(); | ||||||
|   let points = edge.points; |   let points = edge.points; | ||||||
| @@ -598,8 +616,12 @@ export const insertEdge = function (elem, edge, clusterDb, diagramType, startNod | |||||||
|     const len = svgPath.node().getTotalLength(); |     const len = svgPath.node().getTotalLength(); | ||||||
|     const oValueS = markerOffsets2[edge.arrowTypeStart] || 0; |     const oValueS = markerOffsets2[edge.arrowTypeStart] || 0; | ||||||
|     const oValueE = markerOffsets2[edge.arrowTypeEnd] || 0; |     const oValueE = markerOffsets2[edge.arrowTypeEnd] || 0; | ||||||
|  |  | ||||||
|     if (edge.look === 'neo' && !animatedEdge) { |     if (edge.look === 'neo' && !animatedEdge) { | ||||||
|       const dashArray = `0 ${oValueS} ${len - oValueS - oValueE} ${oValueE}`; |       const dashArray = | ||||||
|  |         edge.pattern === 'dotted' | ||||||
|  |           ? generateDashArray(len, oValueS, oValueE) | ||||||
|  |           : `0 ${oValueS} ${len - oValueS - oValueE} ${oValueE}`; | ||||||
|  |  | ||||||
|       // No offset needed because we already start with a zero-length dash that effectively sets us up for a gap at the start. |       // No offset needed because we already start with a zero-length dash that effectively sets us up for a gap at the start. | ||||||
|       const mOffset = `stroke-dasharray: ${dashArray}; stroke-dashoffset: 0;`; |       const mOffset = `stroke-dasharray: ${dashArray}; stroke-dashoffset: 0;`; | ||||||
|   | |||||||
| @@ -22,7 +22,7 @@ export const markerOffsets2 = { | |||||||
|   composition: 18, |   composition: 18, | ||||||
|   dependency: 6, |   dependency: 6, | ||||||
|   lollipop: 13.5, |   lollipop: 13.5, | ||||||
|   arrow_point: 8, |   arrow_point: 9, | ||||||
|   arrow_cross: 12.5, |   arrow_cross: 12.5, | ||||||
|   arrow_circle: 12.5, |   arrow_circle: 12.5, | ||||||
| } as const; | } as const; | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Ashish Jain
					Ashish Jain