Ну, покопавшись, я решил проблему. Оставляем решение здесь. Итак, Apex дает нам доступ к нескольким событиям. BeforeZoom срабатывает перед масштабированием и дает нам доступ к новым максимальным и минимальным положениям. Я просто сравнил, чтобы увидеть, был ли мой первоначальный диапазон меньше нового диапазона. Если это так, я вернул исходный диапазон, что отключает уменьшение масштаба.
charts : {
events : {
beforeZoom : (e, {xaxis}) => {
let maindifference = (new Date(props.data[0].date)).valueOf() - new Date(props.data[props.data.length-1].date).valueOf();
let zoomdifference = xaxis.max - xaxis.min ;
if( zoomdifference > maindifference )
return {
// dont zoom out any further
xaxis: {
min: props.data[0].date,
max: props.data[props.data.length-1].date
}
};
else {
return {
// keep on zooming
xaxis: {
min: xaxis.min,
max: xaxis.max
}
}
}
}
}
}