@@ -614,7 +614,7 @@ module.exports = function setConvert(ax, fullLayout) {
614
614
615
615
ax . maskBreaks = function ( v ) {
616
616
var rangebreaksIn = ax . rangebreaks || [ ] ;
617
- var bnds , b0 , b1 , vb ;
617
+ var bnds , b0 , b1 , vb , vDate ;
618
618
619
619
for ( var i = 0 ; i < rangebreaksIn . length ; i ++ ) {
620
620
var brk = rangebreaksIn [ i ] ;
@@ -625,28 +625,27 @@ module.exports = function setConvert(ax, fullLayout) {
625
625
var op1 = op . charAt ( 1 ) ;
626
626
627
627
if ( brk . bounds ) {
628
- var doesCrossPeriod = false ;
629
-
630
- bnds = Lib . simpleMap ( brk . bounds , brk . pattern ?
628
+ var pattern = brk . pattern ;
629
+ bnds = Lib . simpleMap ( brk . bounds , pattern ?
631
630
cleanNumber :
632
631
ax . d2c // case of pattern: ''
633
632
) ;
634
633
b0 = Math . min ( bnds [ 0 ] , bnds [ 1 ] ) ;
635
634
b1 = Math . max ( bnds [ 0 ] , bnds [ 1 ] ) ;
635
+ var doesCrossPeriod = ! ! ( pattern && bnds [ 0 ] > bnds [ 1 ] ) ;
636
636
637
- switch ( brk . pattern ) {
637
+ switch ( pattern ) {
638
638
case WEEKDAY_PATTERN :
639
- vb = ( new Date ( v ) ) . getUTCDay ( ) ;
640
- if ( bnds [ 0 ] > bnds [ 1 ] ) doesCrossPeriod = true ;
639
+ vDate = new Date ( v ) ;
640
+ vb = vDate . getUTCDay ( ) ;
641
641
break ;
642
642
case HOUR_PATTERN :
643
- var vDate = new Date ( v ) ;
643
+ vDate = new Date ( v ) ;
644
644
vb = vDate . getUTCHours ( ) + (
645
645
vDate . getUTCMinutes ( ) * ONEMIN +
646
646
vDate . getUTCSeconds ( ) * ONESEC +
647
647
vDate . getUTCMilliseconds ( )
648
648
) / ONEDAY ;
649
- if ( bnds [ 0 ] > bnds [ 1 ] ) doesCrossPeriod = true ;
650
649
break ;
651
650
case '' :
652
651
// N.B. should work on date axes as well!
0 commit comments