Refactoring to not render connectors for a Regexp with one Match

This commit is contained in:
Jeff Avallone 2014-12-03 18:46:48 -05:00
parent fe6727b79a
commit 6a9d498bf6
1 changed files with 22 additions and 19 deletions

View File

@ -18,7 +18,8 @@ export default _.extend({}, Base, {
positions,
container = this.container,
totalHeight,
verticalCenter;
verticalCenter,
includeLines = (this.matches().length > 1);
_.invoke(this.matches(), 'position');
@ -32,33 +33,35 @@ export default _.extend({}, Base, {
totalHeight = positions.reduce((offset, pos) => {
pos.content.transform(Snap.matrix()
.translate(center - pos.box.cx + 20, offset));
.translate(center - pos.box.cx + (includeLines ? 20 : 0), offset));
return offset + pos.box.height + 5;
}, 0).value() - 5;
verticalCenter = totalHeight / 2
positions.each(pos => {
var box = pos.content.getBBox(),
direction = box.cy > verticalCenter ? 1 : -1,
pathStr,
path;
if (includeLines) {
positions.each(pos => {
var box = pos.content.getBBox(),
direction = box.cy > verticalCenter ? 1 : -1,
pathStr,
path;
pathStr = (verticalCenter === box.cy) ?
'M0,{center}H{side}' :
'M0,{center}q10,0 10,{d}V{target}q0,{d} 10,{d}H{side}';
pathStr = (verticalCenter === box.cy) ?
'M0,{center}H{side}' :
'M0,{center}q10,0 10,{d}V{target}q0,{d} 10,{d}H{side}';
path = container.path(Snap.format(pathStr, {
center: verticalCenter,
target: box.cy - 10 * direction,
side: box.x,
d: 10 * direction
}));
path = container.path(Snap.format(pathStr, {
center: verticalCenter,
target: box.cy - 10 * direction,
side: box.x,
d: 10 * direction
}));
path.clone().transform(Snap.matrix()
.scale(-1, 1, center + 20, 0));
});
path.clone().transform(Snap.matrix()
.scale(-1, 1, center + 20, 0));
});
}
},
matches() {