X-Git-Url: https://git.openstreetmap.org/rails.git/blobdiff_plain/e96a64ca9c2ea068dd9167e074ee26c8d28744b4..2d0dcbd9d08e38eb2cf5f24248518c6992fd3734:/app/assets/javascripts/leaflet.share.js diff --git a/app/assets/javascripts/leaflet.share.js b/app/assets/javascripts/leaflet.share.js index 7efe12e0c..01fc0c80a 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,53 +21,334 @@ L.OSM.share = function (options) { var $ui = $('
') .attr('class', 'share-ui'); - $('
') + $('
') + .attr('class', 'sidebar_heading') .appendTo($ui) .append( - $('

') - .text(I18n.t('javascripts.share.title'))); + $('') + .text(I18n.t('javascripts.close')) + .attr('class', 'sidebar_close') + .attr('href', '#') + .bind('click', toggle)) + .append( + $('

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

') + $('

') .text(I18n.t('javascripts.share.link')) - .appendTo($share_link); - - var $short_url_input = $('') - .attr('id', 'short_url') - .attr('type', 'checkbox') - .prop('checked', 'checked') - .appendTo($share_link) - .bind('change', function() { - options.short = $(this).prop('checked'); - update(); + .appendTo($linkSection); + + 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(); }); - var $short_url_label = $('') - .text(I18n.t('javascripts.share.short_url')) - .attr('for', 'short_url') - .appendTo($share_link); + $('
') + .attr('class', 'form-row share-tab') + .css('display', 'block') + .appendTo($form) + .append($('') + .attr('id', 'long_input') + .attr('type', 'text') + .on('click', select)); - var $input = $('') - .appendTo($share_link); + $('
') + .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( + $('