]> git.openstreetmap.org Git - rails.git/blob - app/assets/javascripts/leaflet.share.js
Fix export
[rails.git] / app / assets / javascripts / leaflet.share.js
1 L.OSM.share = function (options) {
2   var control = L.control(options);
3
4   control.onAdd = function (map) {
5     var $container = $('<div>')
6       .attr('class', 'control-share');
7
8     $('<a>')
9       .attr('class', 'control-button')
10       .attr('href', '#')
11       .attr('title', 'Share')
12       .html('<span class="icon share"></span>')
13       .on('click', toggle)
14       .appendTo($container);
15
16     var $ui = $('<div>')
17       .attr('class', 'share-ui')
18       .appendTo(options.uiPane);
19
20     $('<h2>')
21       .text(I18n.t('javascripts.share.title'))
22       .appendTo($ui);
23
24     var $input = $('<input>')
25       .appendTo($ui);
26
27     map.on('moveend layeradd layerremove', update);
28
29     function toggle(e) {
30       e.stopPropagation();
31       e.preventDefault();
32
33       var controlContainer = $('.leaflet-control-container .leaflet-top.leaflet-right');
34
35       if ($ui.is(':visible')) {
36         $(control.options.uiPane).hide();
37         controlContainer.css({paddingRight: '0'});
38       } else {
39         $(control.options.uiPane).show();
40         controlContainer.css({paddingRight: '200px'});
41       }
42     }
43
44     function update() {
45       var center = map.getCenter().wrap();
46       var layers = getMapLayers(map);
47       $input.val(options.getUrl(map));
48     }
49
50     return $container[0];
51   };
52
53   return control;
54 };