From: Anton Khorev Date: Sun, 9 Oct 2022 05:03:14 +0000 (+0300) Subject: Display icon for current note only if this icon is defined X-Git-Tag: live~1532^2 X-Git-Url: https://git.openstreetmap.org./rails.git/commitdiff_plain/15d2efe2df28738d5182105555761293dcaaeaaf?ds=sidebyside;hp=5d3dd2ff6483b37e5c139e093017649b1e1e1990 Display icon for current note only if this icon is defined --- diff --git a/app/assets/javascripts/leaflet.map.js b/app/assets/javascripts/leaflet.map.js index b2d4abcb7..44aa530d9 100644 --- a/app/assets/javascripts/leaflet.map.js +++ b/app/assets/javascripts/leaflet.map.js @@ -261,11 +261,13 @@ L.OSM.Map = L.Map.extend({ L.circleMarker(object.latLng, haloStyle).addTo(this._objectLayer); - L.marker(object.latLng, { - icon: object.icon, - opacity: 1, - interactive: true - }).addTo(this._objectLayer); + if (object.icon) { + L.marker(object.latLng, { + icon: object.icon, + opacity: 1, + interactive: true + }).addTo(this._objectLayer); + } if (callback) callback(this._objectLayer.getBounds()); } else { // element or changeset handled by L.OSM.DataLayer diff --git a/test/system/index_test.rb b/test/system/index_test.rb index bb23cee60..1167797c5 100644 --- a/test/system/index_test.rb +++ b/test/system/index_test.rb @@ -18,4 +18,23 @@ class IndexTest < ApplicationSystemTestCase find("#sidebar .btn-close").click assert_no_selector "#editanchor[href*='?note=#{note.id}#']" end + + test "can navigate from hidden note to visible note" do + sign_in_as(create(:moderator_user)) + hidden_note = create(:note, :status => "hidden") + create(:note_comment, :note => hidden_note, :body => "this-is-a-hidden-note") + position = (1.003 * GeoRecord::SCALE).to_i + visible_note = create(:note, :latitude => position, :longitude => position) + create(:note_comment, :note => visible_note, :body => "this-is-a-visible-note") + + visit root_path(:anchor => "map=15/1/1") # view place of hidden note in case it is not rendered during browse_note_path(hidden_note) + visit browse_note_path(hidden_note) + find(".leaflet-control.control-layers .control-button").click + find("#map-ui .overlay-layers .form-check-label", :text => "Map Notes").click + visible_note_marker = find(".leaflet-marker-icon[title=this-is-a-visible-note]") + assert_selector "#sidebar", :text => "this-is-a-hidden-note" + + visible_note_marker.click + assert_selector "#sidebar", :text => "this-is-a-visible-note" + end end