Skip to content

Commit 3929be6

Browse files
Changes requested by @alexcjohnson
1 parent 0dd8562 commit 3929be6

File tree

2 files changed

+15
-25
lines changed

2 files changed

+15
-25
lines changed

src/components/rangeslider/defaults.js

Lines changed: 9 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,8 @@ module.exports = function handleDefaults(layoutIn, layoutOut, axName) {
2929
return Lib.coerce(containerIn, containerOut, attributes, attr, dflt);
3030
}
3131

32-
function coerceRange(yName, attr, dflt) {
33-
return Lib.coerce(containerIn[yName], containerOut[yName], rangeAttributes, attr, dflt);
32+
function coerceRange(rangeContainerIn, rangeContainerOut, attr, dflt) {
33+
return Lib.coerce(rangeContainerIn, rangeContainerOut, rangeAttributes, attr, dflt);
3434
}
3535

3636
var visible = coerce('visible');
@@ -50,21 +50,18 @@ module.exports = function handleDefaults(layoutIn, layoutOut, axName) {
5050
var yNames = Lib.simpleMap(yIds, axisIds.id2name);
5151
for(var i = 0; i < yNames.length; i++) {
5252
var yName = yNames[i];
53-
if(!containerIn[yName]) {
54-
containerIn[yName] = {};
55-
}
56-
if(!containerOut[yName]) {
57-
containerOut[yName] = {};
58-
}
5953

60-
if(containerIn[yName].range && layoutOut[yName].isValidRange(containerIn[yName].range)) {
61-
coerceRange(yName, 'rangemode', 'fixed');
54+
var rangeContainerIn = containerIn[yName] || {};
55+
var rangeContainerOut = containerOut[yName] = {};
56+
57+
if(rangeContainerIn.range && layoutOut[yName].isValidRange(rangeContainerIn.range)) {
58+
coerceRange(rangeContainerIn, rangeContainerOut, 'rangemode', 'fixed');
6259
} else {
63-
coerceRange(yName, 'rangemode', 'auto');
60+
coerceRange(rangeContainerIn, rangeContainerOut, 'rangemode', 'auto');
6461
}
6562

6663
layoutOut[yName].cleanRange('rangeslider.' + yName + '.range');
67-
coerceRange(yName, 'range', layoutOut[yName].rangeslider[yName].range.slice());
64+
coerceRange(rangeContainerIn, rangeContainerOut, 'range', layoutOut[yName].rangeslider[yName].range.slice());
6865
delete layoutOut[yName].rangeslider;
6966
}
7067
}

src/plots/cartesian/axes.js

Lines changed: 6 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -371,21 +371,14 @@ axes.doAutoRange = function(ax) {
371371
if(ax._anchorAxis && ax._anchorAxis.rangeslider) {
372372
var axeRangeOpts = ax._anchorAxis.rangeslider[ax._name];
373373
if(axeRangeOpts) {
374-
switch(axeRangeOpts.rangemode) {
375-
case 'auto':
376-
axeRangeOpts.range = hasDeps ? axes.getAutoRange(ax) : ax.range.slice();
377-
break;
378-
case 'match':
379-
axeRangeOpts.range = ax.range.slice();
380-
break;
381-
default:
382-
axeRangeOpts.range = ax.range.slice();
383-
break;
374+
if(axeRangeOpts.rangemode === 'auto') {
375+
axeRangeOpts.range = hasDeps ? axes.getAutoRange(ax) : ax.range.slice();
376+
} else {
377+
axeRangeOpts.range = ax.range.slice();
384378
}
385-
axIn = ax._anchorAxis._input;
386-
axIn.rangeslider[ax._name].range = axeRangeOpts.range.slice();
387-
axIn.rangeslider[ax._name].rangemode = axeRangeOpts.rangemode;
388379
}
380+
axIn = ax._anchorAxis._input;
381+
axIn.rangeslider[ax._name] = Object.assign({}, axeRangeOpts);
389382
}
390383
};
391384

0 commit comments

Comments
 (0)