X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/3871d61be43857436d1eaefe9e84841e8a7d0f4f..ab4de87d1eef4546a96738154cf81b7d7f72d988:/app/assets/javascripts/leaflet.share.js diff --git a/app/assets/javascripts/leaflet.share.js b/app/assets/javascripts/leaflet.share.js index db9839390..b9c48f15a 100644 --- a/app/assets/javascripts/leaflet.share.js +++ b/app/assets/javascripts/leaflet.share.js @@ -1,38 +1,12 @@ L.OSM.share = function (options) { - var control = L.control(options), + var control = L.OSM.sidebarPane(options, "share", "javascripts.share.title", "javascripts.share.title"), 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", I18n.t("javascripts.share.title")) - .html("") - .on("click", toggle) - .appendTo($container); - - var $ui = $("
") - .attr("class", "share-ui"); - - $("
") - .attr("class", "sidebar_heading") - .appendTo($ui) - .append( - $("") - .text(I18n.t("javascripts.close")) - .attr("class", "icon close") - .bind("click", toggle)) - .append( - $("

") - .text(I18n.t("javascripts.share.title"))); - + control.onAddPane = function (map, button, $ui) { // Link / Embed var $linkSection = $("
") @@ -61,26 +35,25 @@ L.OSM.share = function (options) { .bind("change", toggleMarker)) .append(I18n.t("javascripts.share.include_marker"))); - $("
") - .attr("class", "share-tabs") + $("
") .appendTo($form) - .append($("") - .attr("class", "active") + .append($("") + .addClass("active") .attr("for", "long_input") .attr("id", "long_link") .text(I18n.t("javascripts.share.long_link"))) - .append($("") + .append($("") .attr("for", "short_input") .attr("id", "short_link") .text(I18n.t("javascripts.share.short_link"))) - .append($("") + .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") + $(this).siblings("a") .removeClass("active"); $(this).addClass("active"); $linkSection.find(".share-tab") @@ -118,8 +91,7 @@ L.OSM.share = function (options) { .append( $("

") .attr("class", "text-muted") - .text(I18n.t("javascripts.share.paste_html")) - .appendTo($linkSection)); + .text(I18n.t("javascripts.share.paste_html"))); // Geo URI @@ -246,11 +218,15 @@ L.OSM.share = function (options) { map.on("move", movedMap); map.on("moveend layeradd layerremove", update); - options.sidebar.addPane($ui); - $ui + .on("show", shown) .on("hide", hidden); + function shown() { + $("#mapnik_scale").val(getScale()); + update(); + } + function hidden() { map.removeLayer(marker); map.options.scrollWheelZoom = map.options.doubleClickZoom = true; @@ -258,18 +234,6 @@ L.OSM.share = function (options) { update(); } - function toggle(e) { - e.stopPropagation(); - e.preventDefault(); - - $("#mapnik_scale").val(getScale()); - marker.setLatLng(map.getCenter()); - - update(); - options.sidebar.togglePane($ui, button); - $(".leaflet-control .control-button").tooltip("hide"); - } - function toggleMarker() { if ($(this).is(":checked")) { marker.setLatLng(map.getCenter()); @@ -414,8 +378,6 @@ L.OSM.share = function (options) { var precision = 5 * Math.pow(10, Math.floor(Math.LOG10E * Math.log(scale)) - 2); return precision * Math.ceil(scale / precision); } - - return $container[0]; }; return control;