@@ -600,22 +600,29 @@ module.exports = function setConvert(ax, fullLayout) {
600600 var rangebreaksIn = ax . rangebreaks || [ ] ;
601601 var bnds , b0 , b1 , vb , vDate ;
602602
603- if ( ! rangebreaksIn . _cachedVals ) {
604- rangebreaksIn . _cachedVals = rangebreaksIn . map ( brk => {
605- return brk . values ? Lib . simpleMap ( brk . values , ax . d2c ) . sort ( Lib . sorterAsc ) : null ;
603+
604+ if ( ! rangebreaksIn . _cachedPatterns ) {
605+ rangebreaksIn . _cachedPatterns = rangebreaksIn . map ( function ( brk ) {
606+ return brk . enabled && brk . bounds ? Lib . simpleMap ( brk . bounds , brk . pattern ?
607+ cleanNumber :
608+ ax . d2c // case of pattern: ''
609+ ) : null ;
610+ } ) ;
611+ }
612+ if ( ! rangebreaksIn . _cachedValues ) {
613+ rangebreaksIn . _cachedValues = rangebreaksIn . map ( function ( brk ) {
614+ return brk . enabled && brk . values ? Lib . simpleMap ( brk . values , ax . d2c ) . sort ( Lib . sorterAsc ) : null ;
606615 } ) ;
607616 }
608617
618+
609619 for ( var i = 0 ; i < rangebreaksIn . length ; i ++ ) {
610620 var brk = rangebreaksIn [ i ] ;
611621
612622 if ( brk . enabled ) {
613623 if ( brk . bounds ) {
614624 var pattern = brk . pattern ;
615- bnds = Lib . simpleMap ( brk . bounds , pattern ?
616- cleanNumber :
617- ax . d2c // case of pattern: ''
618- ) ;
625+ bnds = rangebreaksIn . _cachedPatterns [ i ] ;
619626 b0 = bnds [ 0 ] ;
620627 b1 = bnds [ 1 ] ;
621628
@@ -659,7 +666,7 @@ module.exports = function setConvert(ax, fullLayout) {
659666
660667 if ( vb >= b0 && vb < b1 ) return BADNUM ;
661668 } else {
662- var vals = rangebreaksIn . _cachedVals [ i ] ;
669+ var vals = rangebreaksIn . _cachedValues [ i ] ;
663670 for ( var j = 0 ; j < vals . length ; j ++ ) {
664671 b0 = vals [ j ] ;
665672 b1 = b0 + brk . dvalue ;
0 commit comments