]> git.openstreetmap.org Git - rails.git/blobdiff - app/assets/javascripts/leaflet.share.js
Add clearer close action, refactor base layer code
[rails.git] / app / assets / javascripts / leaflet.share.js
index 1434743d0e719c82d492c2e34b750d7f67a23015..664aebaa5fb19ad47aa08e2bbc7f11f864246faf 100644 (file)
@@ -16,34 +16,50 @@ L.OSM.share = function (options) {
     var $ui = $('<div>')
       .attr('class', 'share-ui');
 
-    $('<h2>')
-      .text(I18n.t('javascripts.share.title'))
-      .appendTo($ui);
+    $('<section>')
+      .appendTo($ui)
+      .append(
+          $('<a>')
+            .html('&raquo;')
+            .attr('class', 'close-button')
+            .attr('href', '#')
+            .bind('click', toggle))
+      .append(
+      $('<h2>')
+        .text(I18n.t('javascripts.share.title')));
 
-    var $share_link = $('<div></div>')
+    var $share_link = $('<section></section>')
       .appendTo($ui);
 
     var $title = $('<h3></h3>')
       .text(I18n.t('javascripts.share.link'))
       .appendTo($share_link);
 
+    var $input = $('<input />')
+      .attr('type', 'text')
+      .appendTo($share_link);
+
+    var $list = $('<ul>')
+      .appendTo($share_link);
+
+    var $short_option = $('<li>')
+      .appendTo($list);
+
+    var $short_url_label = $('<label></label>')
+      .attr('for', 'short_url')
+      .appendTo($short_option);
+
     var $short_url_input = $('<input />')
       .attr('id', 'short_url')
       .attr('type', 'checkbox')
       .prop('checked', 'checked')
-      .appendTo($share_link)
+      .appendTo($short_url_label)
       .bind('change', function() {
           options.short = $(this).prop('checked');
           update();
       });
 
-    var $short_url_label = $('<label></label>')
-      .text(I18n.t('javascripts.share.short_url'))
-      .attr('for', 'short_url')
-      .appendTo($share_link);
-
-    var $input = $('<input />')
-      .appendTo($share_link);
+    $short_url_label.append(I18n.t('javascripts.share.short_url'));
 
     map.on('moveend layeradd layerremove', update);
 
@@ -53,11 +69,10 @@ L.OSM.share = function (options) {
       e.stopPropagation();
       e.preventDefault();
       options.sidebar.togglePane($ui);
+      $input.select();
     }
 
     function update() {
-      var center = map.getCenter().wrap();
-      var layers = getMapLayers(map);
       $input.val(
           options.short ? options.getShortUrl(map) : options.getUrl(map)
       );