X-Git-Url: https://git.openstreetmap.org/rails.git/blobdiff_plain/6072618f473b6faef9771a2ed51e7c054917b849..6206ab7fe75362155c8b9565a1bd512a9f7ce443:/app/views/site/index.html.erb diff --git a/app/views/site/index.html.erb b/app/views/site/index.html.erb index 0c7b53203..8aa318a3f 100644 --- a/app/views/site/index.html.erb +++ b/app/views/site/index.html.erb @@ -1,9 +1,15 @@ <% if @user and !@user.home_lon.nil? and !@user.home_lat.nil? %> <% content_for :greeting do %> - <%= link_to_function t('layouts.home'), "setPosition(#{@user.home_lat}, #{@user.home_lon}, 15)", { :title => t('layouts.home_tooltip') } %> | + <%= link_to t("layouts.home"), "#", :class => "set_position", :data => { :lat => @user.home_lat, :lon => @user.home_lon, :zoom => 15 }, :title => t("layouts.home_tooltip") %> | <% end %> <% end %> +<% unless STATUS == :api_offline or STATUS == :database_offline -%> + <% content_for :editmenu do -%> +
  • <%= link_to t("browse.start_rjs.data_layer_name"), "#", :id => "show_data" %>
  • + <% end -%> +<% end -%> + <%= render :partial => 'sidebar', :locals => { :onopen => "resizeMap();", :onclose => "resizeMap();" } %> <%= render :partial => 'key' %> <%= render :partial => 'search' %> @@ -19,6 +25,7 @@ @@ -121,6 +128,7 @@ end <%= javascript_include_tag 'openlayers.js' %> <%= javascript_include_tag 'map.js' %> +<%= javascript_include_tag 'notes.js' %> <%= render :partial => 'resize' %> @@ -130,6 +138,10 @@ end OpenLayers.Lang.setCode("<%= I18n.locale.to_s %>"); + <% if @user %> + var loginName = "<%= @user.display_name %>" + <% end %> + function mapInit(){ map = createMap("map"); @@ -139,6 +151,12 @@ end displayInLayerSwitcher: false }); map.addLayer(map.dataLayer); + + var noteLayer = addNoteLayer(map, "<%= notes_url :format => 'json' %>", $("#createnoteanchor"), 11); + + <% if params[:notes] == "yes" -%> + noteLayer.setVisibility(true); + <% end -%> <% end %> <% unless object_zoom %> @@ -187,27 +205,38 @@ end handleResize(); } - function showData() { - $.ajax({ url: "<%= url_for :controller => :browse, :action => :start %>" }); - } + $(document).ready(function () { + $("#show_data").click(function () { + $.ajax({ url: "<%= url_for :controller => :browse, :action => :start %>" }); + }); - function setPosition(lat, lon, zoom, min_lon, min_lat, max_lon, max_lat) { - var centre = new OpenLayers.LonLat(lon, lat); + $("body").on("click", "a.set_position", function () { + var lat = parseFloat($(this).attr("data-lat")); + var lon = parseFloat($(this).attr("data-lon")); + var zoom = parseInt($(this).attr("data-zoom")); + var min_lon = parseFloat($(this).attr("data-min-lon")); + var min_lat = parseFloat($(this).attr("data-min-lat")); + var max_lon = parseFloat($(this).attr("data-max-lon")); + var max_lat = parseFloat($(this).attr("data-max-lat")); + var centre = new OpenLayers.LonLat(lon, lat); - if (min_lon && min_lat && max_lon && max_lat) { - var bbox = new OpenLayers.Bounds(min_lon, min_lat, max_lon, max_lat); + if (min_lon && min_lat && max_lon && max_lat) { + var bbox = new OpenLayers.Bounds(min_lon, min_lat, max_lon, max_lat); - map.zoomToExtent(proj(bbox)); - } else { - setMapCenter(centre, zoom); - } + map.zoomToExtent(proj(bbox)); + } else { + setMapCenter(centre, zoom); + } - if (marker) { - removeMarkerFromMap(marker); - } + if (marker) { + removeMarkerFromMap(marker); + } - marker = addMarkerToMap(centre, getArrowIcon()); - } + marker = addMarkerToMap(centre, getArrowIcon()); + + return false; + }); + }); function updateLocation() { var lonlat = unproj(map.getCenter()); @@ -271,7 +300,7 @@ end $(document).ready(function () { $("#exportanchor").click(function (e) { $.ajax({ url: "<%= url_for :controller => :export, :action => :start %>" }); - Event.stop(e); + e.preventDefault(); }); <% if params[:action] == 'export' -%>