]> git.openstreetmap.org Git - rails.git/blobdiff - app/assets/javascripts/leaflet.share.js
Restore prohibition on low-zoom notes
[rails.git] / app / assets / javascripts / leaflet.share.js
index 548be3fccbaf4b2378575e105a84f2d381ac4ac2..b808bc435b4ccf4648f3156ec15ddc71ce0aaedd 100644 (file)
@@ -14,37 +14,58 @@ L.OSM.share = function (options) {
       .appendTo($container);
 
     var $ui = $('<div>')
-      .attr('class', 'share-ui')
-      .appendTo(options.uiPane);
+      .attr('class', 'share-ui');
 
-    $('<h2>')
-      .text(I18n.t('javascripts.share.title'))
-      .appendTo($ui);
+    $('<div>')
+      .attr('class', 'sidebar_heading')
+      .appendTo($ui)
+      .append(
+        $('<a>')
+          .text(I18n.t('javascripts.close'))
+          .attr('class', 'sidebar_close')
+          .attr('href', '#')
+          .bind('click', toggle))
+      .append(
+        $('<h4>')
+          .text(I18n.t('javascripts.share.title')));
 
-    var $input = $('<input>')
+    var $linkSection = $('<div>')
+      .attr('class', 'section share-link')
       .appendTo($ui);
 
+    $('<h4>')
+      .text(I18n.t('javascripts.share.link'))
+      .appendTo($linkSection);
+
+    var $shortLink, $longLink;
+
+    $('<ul>')
+      .appendTo($linkSection)
+      .append($('<li>')
+        .append($longLink = $('<a>')
+          .text(I18n.t('javascripts.share.long_link'))))
+      .append($('<li>')
+        .append($shortLink = $('<a>')
+          .text(I18n.t('javascripts.share.short_link'))));
+
     map.on('moveend layeradd layerremove', update);
 
+    options.sidebar.addPane($ui);
+
     function toggle(e) {
       e.stopPropagation();
       e.preventDefault();
-
-      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: '200px'});
-      }
+      options.sidebar.togglePane($ui);
+      update();
     }
 
     function update() {
-      var center = map.getCenter().wrap();
-      var layers = getMapLayers(map);
-      $input.val(options.getUrl(map));
+      $shortLink.attr('href', options.getShortUrl(map));
+      $longLink.attr('href', options.getUrl(map));
+    }
+
+    function select() {
+      $(this).select();
     }
 
     return $container[0];