When scrolling too hard on either side of the chart area, it can "lock me out" and get trapped on the left or right side and I cant hover over it to zoom in or out anymore. I have found a solution for it but it only works on ZoomEnd, as only then the axis recognize the range of 0 between them, so I still see the flickering of the change for a second when it "locks" and then goes back to normal.
This is part of my zoomEnd function to get the chart back to normal:
var chart = e.sender;
var xAxis = chart.options.xAxis;
var axis = chart._plotArea.axes.find(a => a.options.type === "date");
if (!xAxis || !xAxis.min || !xAxis.max) return;
var range = axis.range();
var min = range.min.getTime();
var max = range.max.getTime();
var width = max - min;
if (width === 0) {
e.sender.options.xAxis.min = savedAxisRange.min;
e.sender.options.xAxis.max = savedAxisRange.max;
chart.redraw();
return;
}
This is how my chart normally looks:
This is how it looks when the chart locks:
This is what it does when it "locks":
I'm not sure if there's anything to do to be able to predict it so the UI doesn't show the second of the plot getting trapped and then going back to the previous range.