X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/cea0cccc6d73d7543d80d659b0f221f0d3196c0e..69fdcfd163835c57e56d086486404deb3dc8b928:/app/assets/javascripts/application.js diff --git a/app/assets/javascripts/application.js b/app/assets/javascripts/application.js index 2b8bc5d26..37172f439 100644 --- a/app/assets/javascripts/application.js +++ b/app/assets/javascripts/application.js @@ -9,17 +9,13 @@ //= require osm //= require leaflet //= require leaflet.osm -//= require leaflet.hash +//= require leaflet.map //= require leaflet.zoom -//= require leaflet.extend //= require leaflet.locationfilter //= require i18n/translations //= require oauth //= require piwik -//= require map -//= require sidebar //= require richtext -//= require geocoder //= require querystring var querystring = require('querystring-component'); @@ -28,13 +24,6 @@ function zoomPrecision(zoom) { return Math.max(0, Math.ceil(Math.log(zoom) / Math.LN2)); } -function normalBounds(bounds) { - if (bounds instanceof L.LatLngBounds) return bounds; - return new L.LatLngBounds( - new L.LatLng(bounds[0][0], bounds[0][1]), - new L.LatLng(bounds[1][0], bounds[1][1])); -} - function remoteEditHandler(bbox, select) { var loaded = false, query = { @@ -69,31 +58,36 @@ function remoteEditHandler(bbox, select) { * Called as the user scrolls/zooms around to maniplate hrefs of the * view tab and various other links */ -function updatelinks(loc, zoom, layers, bounds, object) { +function updateLinks(loc, zoom, layers, object) { $(".geolink").each(function(index, link) { var href = link.href.split(/[?#]/)[0], - args = querystring.parse(link.search.substring(1)); + args = querystring.parse(link.search.substring(1)), + editlink = $(link).hasClass("editlink"); - if (bounds && $(link).hasClass("bbox")) args.bbox = normalBounds(bounds).toBBoxString(); - if (object && $(link).hasClass("object")) args[object.type] = object.id; + if (object && editlink) { + delete args['node']; + delete args['way']; + delete args['relation']; + delete args['changeset']; + + args[object.type] = object.id; + } var query = querystring.stringify(args); if (query) href += '?' + query; - if ($(link).hasClass("llz")) { - args = { - lat: loc.lat, - lon: loc.lon || loc.lng, - zoom: zoom - }; - - if (layers && $(link).hasClass("layers")) { - args.layers = layers; - } + args = { + lat: loc.lat, + lon: loc.lon || loc.lng, + zoom: zoom + }; - href += OSM.formatHash(args); + if (layers && !editlink) { + args.layers = layers; } + href += OSM.formatHash(args); + link.href = href; }); @@ -105,15 +99,6 @@ function updatelinks(loc, zoom, layers, bounds, object) { .toggleClass('disabled', editDisabled) .attr('data-original-title', editDisabled ? I18n.t('javascripts.site.edit_disabled_tooltip') : ''); - - var historyDisabled = zoom < 11; - $('#history_tab') - .tooltip({placement: 'bottom'}) - .off('click.minzoom') - .on('click.minzoom', function() { return !historyDisabled; }) - .toggleClass('disabled', historyDisabled) - .attr('data-original-title', historyDisabled ? - I18n.t('javascripts.site.history_disabled_tooltip') : ''); } // generate a cookie-safe string of map state @@ -135,12 +120,21 @@ function escapeHTML(string) { }); } -/* - * Forms which have been cached by rails may have the wrong - * authenticity token, so patch up any forms with the correct - * token taken from the page header. - */ +function maximiseMap() { + $("#content").addClass("maximised"); +} + +function minimiseMap() { + $("#content").removeClass("maximised"); +} + $(document).ready(function () { - var auth_token = $("meta[name=csrf-token]").attr("content"); - $("form input[name=authenticity_token]").val(auth_token); + $("#menu-icon").on("click", function(e) { + e.preventDefault(); + $("header").toggleClass("closed"); + }); + + $("nav.primary li a").on("click", function() { + $("header").toggleClass("closed"); + }); });