Skip to content

Commit 486b01c

Browse files
committed
Merge pull request #471 from plotly/rangeslider-updates
Fix rangesldier + mode bar +/- and double click
2 parents 4469f73 + f909467 commit 486b01c

File tree

2 files changed

+19
-10
lines changed

2 files changed

+19
-10
lines changed

src/components/modebar/buttons.js

+10-7
Original file line numberDiff line numberDiff line change
@@ -218,25 +218,28 @@ function handleCartesian(gd, ev) {
218218
r1 = (1 - mag) / 2,
219219
axList = Plotly.Axes.list(gd, null, true);
220220

221-
var ax, axName, initialRange;
221+
var ax, axName;
222222

223223
for(var i = 0; i < axList.length; i++) {
224224
ax = axList[i];
225+
225226
if(!ax.fixedrange) {
226227
axName = ax._name;
227228
if(val === 'auto') aobj[axName + '.autorange'] = true;
228229
else if(val === 'reset') {
229230
if(ax._rangeInitial === undefined) {
230231
aobj[axName + '.autorange'] = true;
231232
}
232-
else aobj[axName + '.range'] = ax._rangeInitial.slice();
233+
else {
234+
var rangeInitial = ax._rangeInitial.slice();
235+
aobj[axName + '.range[0]'] = rangeInitial[0];
236+
aobj[axName + '.range[1]'] = rangeInitial[1];
237+
}
233238
}
234239
else {
235-
initialRange = ax.range;
236-
aobj[axName + '.range'] = [
237-
r0 * initialRange[0] + r1 * initialRange[1],
238-
r0 * initialRange[1] + r1 * initialRange[0]
239-
];
240+
var rangeNow = ax.range;
241+
aobj[axName + '.range[0]'] = r0 * rangeNow[0] + r1 * rangeNow[1];
242+
aobj[axName + '.range[1]'] = r0 * rangeNow[1] + r1 * rangeNow[0];
240243
}
241244
}
242245
}

src/plots/cartesian/dragbox.js

+9-3
Original file line numberDiff line numberDiff line change
@@ -522,7 +522,7 @@ module.exports = function dragBox(gd, plotinfo, x, y, w, h, ns, ew) {
522522
axList = (xActive ? xa : []).concat(yActive ? ya : []),
523523
attrs = {};
524524

525-
var ax, i;
525+
var ax, i, rangeInitial;
526526

527527
if(doubleClickConfig === 'autosize') {
528528
for(i = 0; i < axList.length; i++) {
@@ -538,7 +538,9 @@ module.exports = function dragBox(gd, plotinfo, x, y, w, h, ns, ew) {
538538
attrs[ax._name + '.autorange'] = true;
539539
}
540540
else {
541-
attrs[ax._name + '.range'] = ax._rangeInitial.slice();
541+
rangeInitial = ax._rangeInitial.slice();
542+
attrs[ax._name + '.range[0]'] = rangeInitial[0];
543+
attrs[ax._name + '.range[1]'] = rangeInitial[1];
542544
}
543545
}
544546
}
@@ -553,7 +555,11 @@ module.exports = function dragBox(gd, plotinfo, x, y, w, h, ns, ew) {
553555
) {
554556
attrs[ax._name + '.autorange'] = true;
555557
}
556-
else attrs[ax._name + '.range'] = ax._rangeInitial.slice();
558+
else {
559+
rangeInitial = ax._rangeInitial.slice();
560+
attrs[ax._name + '.range[0]'] = rangeInitial[0];
561+
attrs[ax._name + '.range[1]'] = rangeInitial[1];
562+
}
557563
}
558564
}
559565

0 commit comments

Comments
 (0)