@@ -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 }
0 commit comments