mirror of
https://github.com/mermaid-js/mermaid.git
synced 2025-09-22 08:50:13 +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");}
|
accDescr\s*"{"\s* { this.begin("acc_descr_multiline");}
|
||||||
<acc_descr_multiline>[\}] { this.popState(); }
|
<acc_descr_multiline>[\}] { this.popState(); }
|
||||||
<acc_descr_multiline>[^\}]* return "acc_descr_multiline_value";
|
<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';
|
(\r?\n)+ return 'NEWLINE';
|
||||||
\s+ /* skip all whitespace */
|
\s+ /* skip all whitespace */
|
||||||
\#[^\n]* /* skip comments */
|
\#[^\n]* /* skip comments */
|
||||||
@@ -101,8 +105,20 @@ diagram
|
|||||||
| elementDef diagram
|
| elementDef diagram
|
||||||
| relationshipDef diagram
|
| relationshipDef diagram
|
||||||
| directive diagram
|
| directive diagram
|
||||||
|
| direction diagram
|
||||||
| NEWLINE 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
|
requirementDef
|
||||||
: requirementType requirementName STRUCT_START NEWLINE requirementBody
|
: requirementType requirementName STRUCT_START NEWLINE requirementBody
|
||||||
{ yy.addRequirement($2, $1) };
|
{ yy.addRequirement($2, $1) };
|
||||||
|
@@ -53,6 +53,12 @@ const Relationships = {
|
|||||||
TRACES: 'traces',
|
TRACES: 'traces',
|
||||||
};
|
};
|
||||||
|
|
||||||
|
let direction = 'TB';
|
||||||
|
const getDirection = () => direction;
|
||||||
|
const setDirection = (dir: string) => {
|
||||||
|
direction = dir;
|
||||||
|
};
|
||||||
|
|
||||||
const getInitialRequirement = (): Requirement => ({
|
const getInitialRequirement = (): Requirement => ({
|
||||||
id: '',
|
id: '',
|
||||||
text: '',
|
text: '',
|
||||||
@@ -215,7 +221,7 @@ const getData = () => {
|
|||||||
counter++;
|
counter++;
|
||||||
}
|
}
|
||||||
|
|
||||||
return { nodes, edges, other: {}, config };
|
return { nodes, edges, other: {}, config, direction: getDirection() };
|
||||||
};
|
};
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
@@ -236,6 +242,8 @@ export default {
|
|||||||
getAccDescription,
|
getAccDescription,
|
||||||
setDiagramTitle,
|
setDiagramTitle,
|
||||||
getDiagramTitle,
|
getDiagramTitle,
|
||||||
|
getDirection,
|
||||||
|
setDirection,
|
||||||
addElement,
|
addElement,
|
||||||
getElements,
|
getElements,
|
||||||
setNewElementType,
|
setNewElementType,
|
||||||
|
Reference in New Issue
Block a user