From: Andy Allan Date: Wed, 3 Aug 2022 14:38:58 +0000 (+0100) Subject: Merge pull request #3634 from AntonKhorev/map-key-tooltip X-Git-Tag: live~2052 X-Git-Url: https://git.openstreetmap.org./rails.git/commitdiff_plain/e443ec7587e78564deadd34f0aebde02c83437cc?hp=6b696558126fdeaefab37291a3bd26136c95fddb Merge pull request #3634 from AntonKhorev/map-key-tooltip Fix tooltips --- diff --git a/app/assets/javascripts/application.js b/app/assets/javascripts/application.js index aea9e01a4..89f60847f 100644 --- a/app/assets/javascripts/application.js +++ b/app/assets/javascripts/application.js @@ -59,7 +59,7 @@ window.updateLinks = function (loc, zoom, layers, object) { var editDisabled = zoom < 13; $("#edit_tab") .tooltip({ placement: "bottom" }) - .attr("data-original-title", editDisabled ? + .attr("data-bs-original-title", editDisabled ? I18n.t("javascripts.site.edit_disabled_tooltip") : "") // Disable the button group and also the buttons to avoid // inconsistent behaviour when zooming diff --git a/app/assets/javascripts/leaflet.key.js b/app/assets/javascripts/leaflet.key.js index b9b7c9c04..367c39c14 100644 --- a/app/assets/javascripts/leaflet.key.js +++ b/app/assets/javascripts/leaflet.key.js @@ -62,7 +62,7 @@ L.OSM.key = function (options) { var disabled = ["mapnik", "cyclemap"].indexOf(map.getMapBaseLayerId()) === -1; button .toggleClass("disabled", disabled) - .attr("data-original-title", + .attr("data-bs-original-title", I18n.t(disabled ? "javascripts.key.tooltip_disabled" : "javascripts.key.tooltip")); diff --git a/app/assets/javascripts/leaflet.layers.js b/app/assets/javascripts/leaflet.layers.js index 676cd9607..038205ca4 100644 --- a/app/assets/javascripts/leaflet.layers.js +++ b/app/assets/javascripts/leaflet.layers.js @@ -170,7 +170,7 @@ L.OSM.layers = function (options) { } $(item).attr("class", disabled ? "disabled" : ""); - item.attr("data-original-title", disabled ? + item.attr("data-bs-original-title", disabled ? I18n.t("javascripts.site.map_" + name + "_zoom_in_tooltip") : ""); }); }; diff --git a/app/assets/javascripts/leaflet.note.js b/app/assets/javascripts/leaflet.note.js index 86c455499..5f8010967 100644 --- a/app/assets/javascripts/leaflet.note.js +++ b/app/assets/javascripts/leaflet.note.js @@ -17,7 +17,7 @@ L.OSM.note = function (options) { var disabled = OSM.STATUS === "database_offline" || map.getZoom() < 12; link .toggleClass("disabled", disabled) - .attr("data-original-title", I18n.t(disabled ? + .attr("data-bs-original-title", I18n.t(disabled ? "javascripts.site.createnote_disabled_tooltip" : "javascripts.site.createnote_tooltip")); } diff --git a/app/assets/javascripts/leaflet.query.js b/app/assets/javascripts/leaflet.query.js index 5f449c214..00292b74d 100644 --- a/app/assets/javascripts/leaflet.query.js +++ b/app/assets/javascripts/leaflet.query.js @@ -20,7 +20,7 @@ L.OSM.query = function (options) { isDisabled = map.getZoom() < 14; link .toggleClass("disabled", isDisabled) - .attr("data-original-title", I18n.t(isDisabled ? + .attr("data-bs-original-title", I18n.t(isDisabled ? "javascripts.site.queryfeature_disabled_tooltip" : "javascripts.site.queryfeature_tooltip")); diff --git a/test/system/site_test.rb b/test/system/site_test.rb index 2ecc7f5a9..a08f7f344 100644 --- a/test/system/site_test.rb +++ b/test/system/site_test.rb @@ -6,4 +6,66 @@ class SiteTest < ApplicationSystemTestCase assert_selector "h1", :text => "OpenStreetMap" end + + test "tooltip shows for Layers button" do + visit "/" + + assert_no_selector ".tooltip" + button = find ".control-layers .control-button" + button.hover + assert_selector ".tooltip", :text => "Layers" + end + + test "tooltip shows for Map Key button on Standard layer" do + visit "/" + + assert_no_selector ".tooltip" + button = find ".control-key .control-button" + button.hover + tooltip = find ".tooltip" + tooltip.assert_text "Map Key" + tooltip.assert_no_text "not available" + end + + test "tooltip shows for Map Key button on a layer without a key provided" do + visit "/#layers=Y" # assumes that CyclOSM layer has no map key + + assert_no_selector ".tooltip" + button = find ".control-key .control-button" + button.hover + tooltip = find ".tooltip" + tooltip.assert_text "Map Key" + tooltip.assert_text "not available" + end + + test "tooltip shows for query button when zoomed in" do + visit "/#map=14/0/0" + + assert_no_selector ".tooltip" + button = find ".control-query .control-button" + button.hover + tooltip = find ".tooltip" + tooltip.assert_text "Query features" + tooltip.assert_no_text "Zoom in" + end + + test "tooltip shows for query button when zoomed out" do + visit "/#map=10/0/0" + + assert_no_selector ".tooltip" + button = find ".control-query .control-button" + button.hover + tooltip = find ".tooltip" + tooltip.assert_text "Zoom in to query features" + end + + test "tooltip shows for edit button when zoomed out" do + visit "/#map=11/0/0" + + assert_no_selector ".tooltip" + button = find "#edit_tab" + button.hover + tooltip = find ".tooltip" + tooltip.assert_text "Zoom in to edit the map" + end end