From 2a9286a16a0ca0e6aa025b13771d3118040b9d60 Mon Sep 17 00:00:00 2001 From: Tom MacWright Date: Mon, 10 Jun 2013 12:40:59 -0700 Subject: [PATCH 1/1] Prevent click propagation on ui panes --- app/assets/javascripts/index/map_ui.js | 8 ++++++-- app/assets/javascripts/leaflet.share.js | 9 +++++++++ 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/app/assets/javascripts/index/map_ui.js b/app/assets/javascripts/index/map_ui.js index 1360c7024..6d98f6642 100644 --- a/app/assets/javascripts/index/map_ui.js +++ b/app/assets/javascripts/index/map_ui.js @@ -15,6 +15,10 @@ OSM.MapUI = L.Control.extend({ 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)); }, @@ -27,12 +31,12 @@ OSM.MapUI = L.Control.extend({ 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"]()); - controlContainer.css({paddingRight: '200px'}) + controlContainer.css({paddingRight: '200px'}); } } }); diff --git a/app/assets/javascripts/leaflet.share.js b/app/assets/javascripts/leaflet.share.js index eced07a7c..7d5eb0cc9 100644 --- a/app/assets/javascripts/leaflet.share.js +++ b/app/assets/javascripts/leaflet.share.js @@ -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); + + 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 -- 2.43.2