#1386 Adding subroutine support for new rendering engine

This commit is contained in:
Knut Sveidqvist
2020-05-03 21:52:44 +02:00
parent 66fa8a7595
commit a20e6086cc
3 changed files with 65 additions and 16 deletions

View File

@@ -40,22 +40,8 @@
G-->c
</div>
<div class="mermaid" style="width: 50%; height: 20%;">
stateDiagram-v2
[*] --> First
state First {
[*] --> Second
state Second {
[*] --> second
second --> Third
state Third {
[*] --> third
third --> [*]
}
}
}
flowchart LR
id1[[This is the text in the box]]
</div>
<div class="mermaid2" style="width: 50%; height: 20%;">

View File

@@ -359,6 +359,40 @@ graph TB
B --> D
```
## Beta: New arrow types
When using flowchart instead of graph there is the are new types of arrows supported as per below:
```
flowchart LR
A --o B
B --x C
```
```mermaid
flowchart LR
A --o B
B --x C
```
## Beta: multi directional arrows
When using flowchart instead of graph there is the possibility to use multidirectional arrows.
```
flowchart LR
A o--o B
B <--> C
C x--x D
```
```mermaid
flowchart LR
A o--o B
B <--> C
C x--x D
```
## Special characters that break syntax

View File

@@ -384,6 +384,34 @@ const circle = (parent, node) => {
return shapeSvg;
};
const subroutine = (parent, node) => {
const { shapeSvg, bbox } = labelHelper(parent, node);
const w = bbox.width + node.padding;
const h = bbox.height + node.padding;
const points = [
{ x: 0, y: 0 },
{ x: w, y: 0 },
{ x: w, y: -h },
{ x: 0, y: -h },
{ x: 0, y: 0 },
{ x: -8, y: 0 },
{ x: w + 8, y: 0 },
{ x: w + 8, y: -h },
{ x: -8, y: -h },
{ x: -8, y: 0 }
];
const el = insertPolygonShape(shapeSvg, w, h, points);
updateNodeBounds(node, el);
node.intersect = function(point) {
return intersect.polygon(node, point);
};
return shapeSvg;
};
const start = (parent, node) => {
const shapeSvg = parent
.insert('g')
@@ -487,6 +515,7 @@ const shapes = {
start,
end,
note,
subroutine,
fork: forkJoin,
join: forkJoin
};