@@ -153,7 +153,7 @@ class LayerControl(MacroElement):
153153 _template = Template (
154154 """
155155 {% macro script(this,kwargs) %}
156- var {{ this.get_name() }} = {
156+ var {{ this.get_name() }}_layers = {
157157 base_layers : {
158158 {%- for key, val in this.base_layers.items() %}
159159 {{ key|tojson }} : {{val}},
@@ -165,12 +165,16 @@ class LayerControl(MacroElement):
165165 {%- endfor %}
166166 },
167167 };
168- L.control.layers(
169- {{ this.get_name() }}.base_layers,
170- {{ this.get_name() }}.overlays,
168+ let {{ this.get_name() }} = L.control.layers(
169+ {{ this.get_name() }}_layers .base_layers,
170+ {{ this.get_name() }}_layers .overlays,
171171 {{ this.options|tojson }}
172172 ).addTo({{this._parent.get_name()}});
173173
174+ {%- if this.draggable %}
175+ new L.Draggable({{ this.get_name() }}.getContainer()).enable();
176+ {%- endif %}
177+
174178 {% endmacro %}
175179 """
176180 )
@@ -180,13 +184,15 @@ def __init__(
180184 position : str = "topright" ,
181185 collapsed : bool = True ,
182186 autoZIndex : bool = True ,
187+ draggable : bool = False ,
183188 ** kwargs : TypeJsonValue ,
184189 ):
185190 super ().__init__ ()
186191 self ._name = "LayerControl"
187192 self .options = parse_options (
188193 position = position , collapsed = collapsed , autoZIndex = autoZIndex , ** kwargs
189194 )
195+ self .draggable = draggable
190196 self .base_layers : OrderedDict [str , str ] = OrderedDict ()
191197 self .overlays : OrderedDict [str , str ] = OrderedDict ()
192198
0 commit comments