X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/68a46f24522786b535809b0846d0bb6502c97406..2dd89f2d0806b249287d19e63e4392e6d21a847b:/app/assets/javascripts/leaflet.share.js diff --git a/app/assets/javascripts/leaflet.share.js b/app/assets/javascripts/leaflet.share.js index f261a9d72..d4c829532 100644 --- a/app/assets/javascripts/leaflet.share.js +++ b/app/assets/javascripts/leaflet.share.js @@ -1,14 +1,19 @@ L.OSM.share = function (options) { - var control = L.control(options); + var control = L.control(options), + marker = L.marker([0, 0], {draggable: true}), + locationFilter = new L.LocationFilter({ + enableButton: false, + adjustButton: false + }); control.onAdd = function (map) { var $container = $('
') .attr('class', 'control-share'); - $('') + var button = $('') .attr('class', 'control-button') .attr('href', '#') - .attr('title', 'Share') + .attr('title', I18n.t('javascripts.share.title')) .html('') .on('click', toggle) .appendTo($container); @@ -16,58 +21,336 @@ L.OSM.share = function (options) { var $ui = $('
') .attr('class', 'share-ui'); - $('
') + $('
') .attr('class', 'sidebar_heading') .appendTo($ui) .append( - $('') + $('') .text(I18n.t('javascripts.close')) - .attr('class', 'sidebar_close') - .attr('href', '#') + .attr('class', 'icon close') .bind('click', toggle)) .append( $('

') .text(I18n.t('javascripts.share.title'))); - var $linkSection = $('
') - .attr('class', 'share-link') + // Link / Embed + + var $linkSection = $('
') + .attr('class', 'section share-link') .appendTo($ui); $('

') .text(I18n.t('javascripts.share.link')) .appendTo($linkSection); - var $shortLink, $longLink; + var $form = $('
') + .attr('class', 'standard-form') + .appendTo($linkSection); + + $('
') + .attr('class', 'form-row') + .appendTo($form) + .append( + $('
') + .attr('class', 'share-tabs') + .appendTo($form) + .append($('') + .attr('class', 'active') + .attr('for', 'long_input') + .attr('id', 'long_link') + .text(I18n.t('javascripts.share.long_link'))) + .append($('') + .attr('for', 'short_input') + .attr('id', 'short_link') + .text(I18n.t('javascripts.share.short_link'))) + .append($('') + .attr('for', 'embed_html') + .attr('href', '#') + .text(I18n.t('javascripts.share.embed'))) + .on('click', 'a', function(e) { + e.preventDefault(); + var id = '#' + $(this).attr('for'); + $linkSection.find('.share-tabs a') + .removeClass('active'); + $(this).addClass('active'); + $linkSection.find('.share-tab') + .hide(); + $linkSection.find('.share-tab:has(' + id + ')') + .show() + .find('input, textarea') + .select(); + }); + + $('
') + .attr('class', 'form-row share-tab') + .css('display', 'block') + .appendTo($form) + .append($('') + .attr('id', 'long_input') + .attr('type', 'text') + .on('click', select)); + + $('
') + .attr('class', 'form-row share-tab') + .appendTo($form) + .append($('') + .attr('id', 'short_input') + .attr('type', 'text') + .on('click', select)); + + $('
') + .attr('class', 'form-row share-tab') + .appendTo($form) + .append( + $('