Max,
try overriding the Directions class like this:
var NoZoomDirections = declare(Directions, {
zoomToFullRoute: function () {
console.log("overriding zoomToFullRoute");
}
});
var directionsWidget = new NoZoomDirections();
Works for me. I only get the console message, not the zoom.
If you want to have the zoomToFullRoute() functionality in some cases, you'd need to add
this.inherited(arguments);
into the new function body along with a conditional statement.
About what you and Robert Scheitlin, GISP said about when the map is automatically zoomed in or not: I've had exactly that issue and described it here: Zoom button and auto zoom in Directions widget. Maybe you could take a look at it and verify the problem.
Cheers,
Nik