X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/d414ffc61a0f6505f1d06e89e8668fa5b49d607e..e418075e26d80d68e4127d3358a2d8b11dee3a13:/app/assets/javascripts/application.js diff --git a/app/assets/javascripts/application.js b/app/assets/javascripts/application.js index a0ddcf9c2..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'); @@ -62,12 +58,20 @@ 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, 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 (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; @@ -78,7 +82,7 @@ function updatelinks(loc, zoom, layers, object) { zoom: zoom }; - if (layers && $(link).hasClass("layers")) { + if (layers && !editlink) { args.layers = layers; } @@ -116,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"); + }); });