src/renderer.js
function adjustQuadrant(quadrant, point, opposite) {
		if ((opposite.x == point.x) || (opposite.y == point.y)) return quadrant;
		var flipHorizontally = [4, 3, 2, 1]
		var flipVertically = [2, 1, 4, 3]
		var oppositeQuadrant = (opposite.y < point.y) ?
							((opposite.x < point.x) ? 2 : 1) :
							((opposite.x < point.x) ? 3 : 4);
		// if an opposite relation end is in the same quadrant as a label, we need to flip the label
		if (oppositeQuadrant === quadrant) {
			if (config.direction === 'LR') return flipHorizontally[quadrant-1];
			if (config.direction === 'TD') return flipVertically[quadrant-1];
		}
		return quadrant; 	
	}
function adjustQuadrant(quadrant, point, opposite) {
		if ((opposite.x == point.x) || (opposite.y == point.y)) return quadrant;
		var flipHorizontally = [4, 3, 2, 1]
		var flipVertically = [2, 1, 4, 3]
		var oppositeQuadrant = (opposite.y < point.y) ?
							((opposite.x < point.x) ? 2 : 1) :
							((opposite.x < point.x) ? 3 : 4);
		// if an opposite relation end is in the same quadrant as a label, we need to flip the label
		if (oppositeQuadrant === quadrant) {
			if (config.direction === 'LR') return flipHorizontally[quadrant-1];
			if (config.direction === 'TD') return flipVertically[quadrant-1];
		}
		return quadrant; 	
	}
function adjustQuadrant ( quadrant , point , opposite ) { if ( ( opposite . x == point . x ) || ( opposite . y == point . y ) ) return quadrant ; var flipHorizontally = [ 4 , 3 , 2 , 1 ] var flipVertically = [ 2 , 1 , 4 , 3 ] var oppositeQuadrant = ( opposite . y < point . y ) ? ( ( opposite . x < point . x ) ? 2 : 1 ) : ( ( opposite . x < point . x ) ? 3 : 4 ) ; // if an opposite relation end is in the same quadrant as a label, we need to flip the label if ( oppositeQuadrant === quadrant ) { if ( config . direction === 'LR' ) return flipHorizontally [ quadrant - 1 ] ; if ( config . direction === 'TD' ) return flipVertically [ quadrant - 1 ] ; } return quadrant ; }
Flip basic label quadrant if needed, to avoid crossing a bent relationship line
Flip basic label quadrant if needed to avoid crossing a bent relationship line