diff --git a/client/galaxy/scripts/mvc/workflow/workflow-canvas.js b/client/galaxy/scripts/mvc/workflow/workflow-canvas.js index 2f529d124d2..9ea70d5e101 100644 --- a/client/galaxy/scripts/mvc/workflow/workflow-canvas.js +++ b/client/galaxy/scripts/mvc/workflow/workflow-canvas.js @@ -74,7 +74,7 @@ class ScrollPanel { } // Zoom levels to use for zooming the workflow canvas -const zoomLevels = [0.25, 0.33, 0.5, 0.67, 0.75, 0.8, 0.9, 1, 1.1, 1.25, 1.5, 1.75, 2, 2.5, 3, 4]; +const zoomLevels = [0.25, 0.33, 0.5, 0.67, 0.75, 0.8, 0.9, 1, 1.1, 1.25, 1.33, 1.5, 2, 2.5, 3, 4]; // Default zoome level (1) const defaultZoomLevel = 7; @@ -97,7 +97,7 @@ class CanvasManager { this.init_copy_paste(); } setZoom(zoomLevel) { - this.zoomLevel = Math.min(Math.max(0, zoomLevel), zoomLevels.length); + this.zoomLevel = Math.min(Math.max(0, zoomLevel), zoomLevels.length-1); this.canvasZoom = zoomLevels[this.zoomLevel]; // Set CSS transform to appropriate zoom level this.cv.css("transform-origin", "top left"); @@ -109,16 +109,33 @@ class CanvasManager { this.app.workflow.fit_canvas_to_nodes(); } initZoomControls() { - var zoomControl = $('
').css({ + var zoomControl = $('
').css({ position: "absolute", left: "1rem", - bottom: "1rem" + bottom: "1rem", + cursor: "pointer" }); + const zoomButton = $(`${zoomLevels[defaultZoomLevel] * 100}%`).css({ + width: "4rem" + }); + zoomControl.append( - $('