mirror of
https://github.com/mermaid-js/mermaid.git
synced 2025-09-21 16:29:40 +02:00
Add support for direction statement
This commit is contained in:
@@ -22,6 +22,10 @@ accDescr\s*":"\s* { this.begin("ac
|
||||
accDescr\s*"{"\s* { this.begin("acc_descr_multiline");}
|
||||
<acc_descr_multiline>[\}] { this.popState(); }
|
||||
<acc_descr_multiline>[^\}]* return "acc_descr_multiline_value";
|
||||
.*direction\s+TB[^\n]* return 'direction_tb';
|
||||
.*direction\s+BT[^\n]* return 'direction_bt';
|
||||
.*direction\s+RL[^\n]* return 'direction_rl';
|
||||
.*direction\s+LR[^\n]* return 'direction_lr';
|
||||
(\r?\n)+ return 'NEWLINE';
|
||||
\s+ /* skip all whitespace */
|
||||
\#[^\n]* /* skip comments */
|
||||
@@ -101,8 +105,20 @@ diagram
|
||||
| elementDef diagram
|
||||
| relationshipDef diagram
|
||||
| directive diagram
|
||||
| direction diagram
|
||||
| NEWLINE diagram;
|
||||
|
||||
direction
|
||||
: direction_tb
|
||||
{ yy.setDirection('TB');}
|
||||
| direction_bt
|
||||
{ yy.setDirection('BT');}
|
||||
| direction_rl
|
||||
{ yy.setDirection('RL');}
|
||||
| direction_lr
|
||||
{ yy.setDirection('LR');}
|
||||
;
|
||||
|
||||
requirementDef
|
||||
: requirementType requirementName STRUCT_START NEWLINE requirementBody
|
||||
{ yy.addRequirement($2, $1) };
|
||||
|
@@ -53,6 +53,12 @@ const Relationships = {
|
||||
TRACES: 'traces',
|
||||
};
|
||||
|
||||
let direction = 'TB';
|
||||
const getDirection = () => direction;
|
||||
const setDirection = (dir: string) => {
|
||||
direction = dir;
|
||||
};
|
||||
|
||||
const getInitialRequirement = (): Requirement => ({
|
||||
id: '',
|
||||
text: '',
|
||||
@@ -215,7 +221,7 @@ const getData = () => {
|
||||
counter++;
|
||||
}
|
||||
|
||||
return { nodes, edges, other: {}, config };
|
||||
return { nodes, edges, other: {}, config, direction: getDirection() };
|
||||
};
|
||||
|
||||
export default {
|
||||
@@ -236,6 +242,8 @@ export default {
|
||||
getAccDescription,
|
||||
setDiagramTitle,
|
||||
getDiagramTitle,
|
||||
getDirection,
|
||||
setDirection,
|
||||
addElement,
|
||||
getElements,
|
||||
setNewElementType,
|
||||
|
Reference in New Issue
Block a user