X-Git-Url: https://git.openstreetmap.org/rails.git/blobdiff_plain/ae0177fbe61d7d02e3c6b441bd395fff6fd96a18..6ecb8dbe8e870096ec38bc628d0e3d34c490f051:/app/assets/javascripts/application.js diff --git a/app/assets/javascripts/application.js b/app/assets/javascripts/application.js index 2b8bc5d26..2c186c909 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,29 @@ 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) 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 +92,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,6 +113,14 @@ function escapeHTML(string) { }); } +function maximiseMap() { + $("#content").addClass("maximised"); +} + +function minimiseMap() { + $("#content").removeClass("maximised"); +} + /* * Forms which have been cached by rails may have the wrong * authenticity token, so patch up any forms with the correct @@ -143,4 +129,13 @@ function escapeHTML(string) { $(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"); + }); });