@@ -90,24 +90,17 @@ module.exports = function draw(gd) {
9090    . call ( style ,  gd ) 
9191    . each ( function ( )  {  d3 . select ( this ) . call ( setupTraceToggle ,  gd ) ;  } ) ; 
9292
93-     Lib . syncOrAsync ( [ Plots . previousPromises , 
93+     Lib . syncOrAsync ( [ 
94+         Plots . previousPromises , 
95+         function ( )  {  return  computeLegendDimensions ( gd ,  groups ,  traces ) ;  } , 
96+         function ( )  {  return  expandMargin ( gd ) ;  } , 
9497        function ( )  { 
9598            // Position and size the legend 
9699            var  lxMin  =  0 ; 
97100            var  lxMax  =  fullLayout . width ; 
98101            var  lyMin  =  0 ; 
99102            var  lyMax  =  fullLayout . height ; 
100103
101-             computeLegendDimensions ( gd ,  groups ,  traces ) ; 
102- 
103-             if ( opts . _height  >  lyMax )  { 
104-                 // If the legend doesn't fit in the plot area, 
105-                 // do not expand the vertical margins. 
106-                 expandHorizontalMargin ( gd ) ; 
107-             }  else  { 
108-                 expandMargin ( gd ) ; 
109-             } 
110- 
111104            // Scroll section must be executed after repositionLegend. 
112105            // It requires the legend width, height, x and y to position the scrollbox 
113106            // and these values are mutated in repositionLegend. 
@@ -689,25 +682,3 @@ function expandMargin(gd) {
689682        t : opts . _height  *  ( FROM_TL [ yanchor ] ) 
690683    } ) ; 
691684} 
692- 
693- function  expandHorizontalMargin ( gd )  { 
694-     var  fullLayout  =  gd . _fullLayout ; 
695-     var  opts  =  fullLayout . legend ; 
696- 
697-     var  xanchor  =  'left' ; 
698-     if ( Lib . isRightAnchor ( opts ) )  { 
699-         xanchor  =  'right' ; 
700-     }  else  if ( Lib . isCenterAnchor ( opts ) )  { 
701-         xanchor  =  'center' ; 
702-     } 
703- 
704-     // lastly check if the margin auto-expand has changed 
705-     Plots . autoMargin ( gd ,  'legend' ,  { 
706-         x : opts . x , 
707-         y : 0.5 , 
708-         l : opts . _width  *  ( FROM_TL [ xanchor ] ) , 
709-         r : opts . _width  *  ( FROM_BR [ xanchor ] ) , 
710-         b : 0 , 
711-         t : 0 
712-     } ) ; 
713- } 
0 commit comments