Add support for node(-ellipse shape-) in flow charts

This commit is contained in:
Tomasz Szczęśniak-Szlagowski
2015-10-24 23:34:21 +01:00
parent 1a60b6e412
commit e4d25ed9cd
5 changed files with 30 additions and 4 deletions

View File

@@ -111,6 +111,9 @@ exports.addVertices = function (vert, g) {
case 'circle':
_shape = 'circle';
break;
case 'ellipse':
_shape = 'ellipse';
break;
case 'group':
_shape = 'rect';
verticeText = '';

View File

@@ -57,6 +57,8 @@
\s*\-\-\s* return '--';
\s*\-\.\s* return '-.';
\s*\=\=\s* return '==';
"(-" return '(-';
"-)" return '-)';
\- return 'MINUS';
"." return 'DOT';
\+ return 'PLUS';
@@ -245,6 +247,10 @@ vertex: alphaNum SQS text SQE
{$$ = $1;yy.addVertex($1,$4,'circle');}
| alphaNum PS PS text PE PE spaceList
{$$ = $1;yy.addVertex($1,$4,'circle');}
| alphaNum '(-' text '-)'
{$$ = $1;yy.addVertex($1,$3,'ellipse');}
| alphaNum '(-' text '-)' spaceList
{$$ = $1;yy.addVertex($1,$3,'ellipse');}
| alphaNum PS text PE
{$$ = $1;yy.addVertex($1,$3,'round');}
| alphaNum PS text PE spaceList

View File

@@ -922,6 +922,7 @@ describe('when parsing ',function(){
expect(vert['A'].type).toBe('square');
expect(vert['A'].text).toBe('chimpansen hoppar ()[]');
});
it('should handle text in circle vertices with space',function(){
var res = flow.parser.parse('graph TD;A((chimpansen hoppar))-->C;');
@@ -932,6 +933,16 @@ describe('when parsing ',function(){
expect(vert['A'].text).toBe('chimpansen hoppar');
});
it('should handle text in ellipse vertices', function(){
var res = flow.parser.parse('graph TD\nA(-this is an ellipse-)-->B');
var vert = flow.parser.yy.getVertices();
var edges = flow.parser.yy.getEdges();
expect(vert['A'].type).toBe('ellipse');
expect(vert['A'].text).toBe('this is an ellipse');
});
it('should handle text in diamond vertices with space',function(){
var res = flow.parser.parse('graph TD;A(chimpansen hoppar)-->C;');

View File

@@ -1,6 +1,9 @@
.mermaid .label { color:#333}
.node rect, .node circle, .node polygon {
.node rect,
.node circle,
.node ellipse,
.node polygon {
fill: @mainBkg;
stroke: @nodeBorder;
stroke-width: 1px;
@@ -19,4 +22,4 @@
.cluster text {
fill:@titleColor;
}
}

View File

@@ -3,7 +3,10 @@
color:#333
}
.node rect, .node circle, .node polygon {
.node rect,
.node circle,
.node ellipse,
.node polygon {
fill: @mainBkg;
stroke: @nodeBorder;
stroke-width: 1px;
@@ -23,4 +26,4 @@ color:#333
.cluster text {
fill:@titleColor;
}
}