@@ -376,7 +376,8 @@ MIT License
376376 Utils . getMapLayers = function ( map , layerFilter ) {
377377 var userLayers = [ ] ;
378378 if ( map ) {
379- var mapLayers = map . layers . getLayers ( ) ;
379+ //Workaround: get user defined layers, not all layers (including basemap layers).
380+ var mapLayers = map . layers [ '_getUserLayers' ] ( ) . map ( function ( l ) { return l . layer ; } ) ;
380381 var layers_1 = [ ] ;
381382 var filter_1 = [ ] ;
382383 if ( layerFilter && layerFilter . length > 0 ) {
@@ -1513,6 +1514,10 @@ MIT License
15131514 opt . layout = options . layout ;
15141515 self . _needsRebuild = true ;
15151516 }
1517+ if ( options . maxWidth > 0 && opt . maxWidth !== options . maxWidth ) {
1518+ opt . maxWidth = options . maxWidth ;
1519+ self . _adjustSize ( ) ;
1520+ }
15161521 if ( options . showToggle !== undefined && opt . showToggle !== options . showToggle ) {
15171522 opt . showToggle = options . showToggle ;
15181523 if ( ! options . showToggle ) {
@@ -1577,13 +1582,13 @@ MIT License
15771582 var opt = self . _baseOptions ;
15781583 var container = self . _container ;
15791584 if ( self . _map ) {
1580- var maxWidth_1 = 'unset' ;
1585+ var maxWidth_1 = opt . maxWidth ? opt . maxWidth + 'px' : 'unset' ;
15811586 var maxHeight_1 = 'unset' ;
15821587 //When legend is displayed within the map, need to restrict the size of the legend content.
15831588 if ( ! opt . container ) {
15841589 var rect = self . _map . getCanvasContainer ( ) . getClientRects ( ) [ 0 ] ;
1585- //Subtract 20 pixels to account for padding around controls in the map.
1586- maxWidth_1 = ( rect . width - 20 ) + 'px' ;
1590+ //Subtract 20 pixels to account for padding around controls in the map.
1591+ maxWidth_1 = Math . min ( opt . maxWidth || 10000 , rect . width - 20 ) + 'px' ;
15871592 var maxContainerHeight = rect . height - 20 ;
15881593 var cp = self . _controlPosition ;
15891594 if ( cp && cp !== '' && cp !== 'non-fixed' ) {
@@ -1843,14 +1848,14 @@ MIT License
18431848 container . setAttribute ( 'aria-expanded' , ! minimized + '' ) ;
18441849 var classList = container . classList ;
18451850 if ( showBtnBg ) {
1846- if ( ! classList . contains ( btnCss ) ) {
1847- classList . add ( btnCss ) ;
1848- }
1851+ classList . remove ( btnCss ) ;
18491852 btn . style . display = '' ;
18501853 container . style . cursor = '' ;
18511854 }
18521855 else {
1853- classList . remove ( btnCss ) ;
1856+ if ( ! classList . contains ( btnCss ) ) {
1857+ classList . add ( btnCss ) ;
1858+ }
18541859 btn . style . display = 'none' ;
18551860 if ( minimized ) {
18561861 container . style . cursor = 'pointer' ;
@@ -1992,6 +1997,7 @@ MIT License
19921997 case 'container' :
19931998 case 'layout' :
19941999 case 'zoomBehavior' :
2000+ case 'maxWidth' :
19952001 //@ts -ignore
19962002 opt [ key ] = val ;
19972003 break ;
@@ -2496,6 +2502,12 @@ MIT License
24962502 var textStyle = void 0 ;
24972503 var barWidth = void 0 ;
24982504 var barHeight = void 0 ;
2505+ //Ensure all stops have an offset value.
2506+ legendType . stops . forEach ( function ( item ) {
2507+ if ( typeof item . offset !== 'number' ) {
2508+ item . offset = 0 ;
2509+ }
2510+ } ) ;
24992511 //Ensure stops are sorted by offset.
25002512 legendType . stops . sort ( function ( a , b ) {
25012513 return a . offset - b . offset ;
@@ -2720,6 +2732,7 @@ MIT License
27202732 case 'container' :
27212733 case 'layout' :
27222734 case 'zoomBehavior' :
2735+ case 'maxWidth' :
27232736 //@ts -ignore
27242737 opt [ key ] = val ;
27252738 break ;
0 commit comments