Prevent click propagation on ui panes
authorTom MacWright <tom@macwright.org>
Mon, 10 Jun 2013 19:40:59 +0000 (12:40 -0700)
committerJohn Firebaugh <john.firebaugh@gmail.com>
Thu, 18 Jul 2013 17:31:20 +0000 (10:31 -0700)
app/assets/javascripts/index/map_ui.js
app/assets/javascripts/leaflet.share.js

index 1360c702474ac3ed40ca88f75f54e9d6ca39946a..6d98f6642c3acff873fa894e15eb10111bc379b8 100644 (file)
@@ -15,6 +15,10 @@ OSM.MapUI = L.Control.extend({
         link.title = 'Layers';
 
         this._uiPane = L.DomUtil.create('div', 'leaflet-map-ui', map._container);
         link.title = 'Layers';
 
         this._uiPane = L.DomUtil.create('div', 'leaflet-map-ui', map._container);
+        L.DomEvent
+            .on(this._uiPane, 'click', L.DomEvent.stopPropagation)
+            .on(this._uiPane, 'click', L.DomEvent.preventDefault)
+            .on(this._uiPane, 'dblclick', L.DomEvent.preventDefault);
 
         $(link).on('click', $.proxy(this.toggleLayers, this));
     },
 
         $(link).on('click', $.proxy(this.toggleLayers, this));
     },
@@ -27,12 +31,12 @@ OSM.MapUI = L.Control.extend({
 
         if ($(this._uiPane).is(':visible')) {
             $(this._uiPane).hide();
 
         if ($(this._uiPane).is(':visible')) {
             $(this._uiPane).hide();
-            controlContainer.css({paddingRight: '0'})
+            controlContainer.css({paddingRight: '0'});
         } else {
             $(this._uiPane)
                 .show()
                 .html(JST["templates/map/layers"]());
         } else {
             $(this._uiPane)
                 .show()
                 .html(JST["templates/map/layers"]());
-            controlContainer.css({paddingRight: '200px'})
+            controlContainer.css({paddingRight: '200px'});
         }
     }
 });
         }
     }
 });
index eced07a7ca53cea282cd9834d82916ea59ed1744..7d5eb0cc9780bd472a4869e7202532ce6a0e614f 100644 (file)
@@ -19,6 +19,15 @@ L.Control.Share = L.Control.extend({
         link.title = this.options.title;
 
         this._uiPane = L.DomUtil.create('div', 'leaflet-map-ui', map._container);
         link.title = this.options.title;
 
         this._uiPane = L.DomUtil.create('div', 'leaflet-map-ui', map._container);
+
+        L.DomEvent
+            .on(this._uiPane, 'click', L.DomEvent.stopPropagation)
+            .on(this._uiPane, 'click', L.DomEvent.preventDefault)
+            .on(this._uiPane, 'dblclick', L.DomEvent.preventDefault);
+
+        var h2 = L.DomUtil.create('h2', '', this._uiPane);
+        h2.innerHTML = I18n.t('javascripts.share.title');
+
         this._linkInput = L.DomUtil.create('input', '', this._uiPane);
 
         L.DomEvent
         this._linkInput = L.DomUtil.create('input', '', this._uiPane);
 
         L.DomEvent