]> git.openstreetmap.org Git - rails.git/blobdiff - app/assets/javascripts/leaflet.layers.js
Only one pane visible at a time
[rails.git] / app / assets / javascripts / leaflet.layers.js
index bbc84701cfa7a36f405db7e6250e985c1b2d3300..2bc53879838a492fb710356581a48296116e2315 100644 (file)
@@ -16,8 +16,7 @@ L.OSM.layers = function(options) {
       .appendTo($container);
 
     var $ui = $('<div>')
-      .attr('class', 'layers-ui')
-      .appendTo(options.uiPane);
+      .attr('class', 'layers-ui');
 
     $('<h2>')
       .text(I18n.t('javascripts.map.layers.header'))
@@ -124,25 +123,23 @@ L.OSM.layers = function(options) {
       });
     });
 
-    function toggle(e) {
-      e.stopPropagation();
-      e.preventDefault();
+    options.sidebar.addPane($ui);
 
-      var controlContainer = $('.leaflet-control-container .leaflet-top.leaflet-right');
-
-      if ($ui.is(':visible')) {
-        $(control.options.uiPane).hide();
-        controlContainer.css({paddingRight: '0'});
-      } else {
-        $(control.options.uiPane).show();
-        controlContainer.css({paddingRight: '230px'});
-      }
+    $ui
+      .on('show', shown);
 
+    function shown() {
       $ui.find('.base-layers .leaflet-container').each(function() {
         $(this).data('map').invalidateSize();
       });
     }
 
+    function toggle(e) {
+      e.stopPropagation();
+      e.preventDefault();
+      options.sidebar.togglePane($ui);
+    }
+
     return $container[0];
   };