summaryrefslogtreecommitdiff
path: root/app/assets/javascripts/pipelines/components/graph_shared/drawing_utils.js
diff options
context:
space:
mode:
Diffstat (limited to 'app/assets/javascripts/pipelines/components/graph_shared/drawing_utils.js')
-rw-r--r--app/assets/javascripts/pipelines/components/graph_shared/drawing_utils.js12
1 files changed, 10 insertions, 2 deletions
diff --git a/app/assets/javascripts/pipelines/components/graph_shared/drawing_utils.js b/app/assets/javascripts/pipelines/components/graph_shared/drawing_utils.js
index 7c306683305..7c62acbe8de 100644
--- a/app/assets/javascripts/pipelines/components/graph_shared/drawing_utils.js
+++ b/app/assets/javascripts/pipelines/components/graph_shared/drawing_utils.js
@@ -60,8 +60,16 @@ export const generateLinksData = ({ links }, containerID, modifier = '') => {
paddingTop +
sourceNodeCoordinates.height / 2;
- // Start point
- path.moveTo(sourceNodeX, sourceNodeY);
+ const sourceNodeLeftX = sourceNodeCoordinates.left - containerCoordinates.x - paddingLeft;
+
+ // If the source and target X values are the same,
+ // it means the nodes are in the same column so we
+ // want to start the line on the left of the pill
+ // instead of the right to have a nice curve.
+ const firstPointCoordinateX = sourceNodeLeftX === targetNodeX ? sourceNodeLeftX : sourceNodeX;
+
+ // First point
+ path.moveTo(firstPointCoordinateX, sourceNodeY);
// Make cross-stages lines a straight line all the way
// until we can safely draw the bezier to look nice.