Refactoring to not render connectors for a Regexp with one Match
This commit is contained in:
		
							parent
							
								
									fe6727b79a
								
							
						
					
					
						commit
						6a9d498bf6
					
				@ -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() {
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user