]> git.openstreetmap.org Git - rails.git/commitdiff
Merge pull request #3634 from AntonKhorev/map-key-tooltip
authorAndy Allan <git@gravitystorm.co.uk>
Wed, 3 Aug 2022 14:38:58 +0000 (15:38 +0100)
committerGitHub <noreply@github.com>
Wed, 3 Aug 2022 14:38:58 +0000 (15:38 +0100)
Fix tooltips

app/assets/javascripts/application.js
app/assets/javascripts/leaflet.key.js
app/assets/javascripts/leaflet.layers.js
app/assets/javascripts/leaflet.note.js
app/assets/javascripts/leaflet.query.js
test/system/site_test.rb

index aea9e01a468df7646fd52ca3589175067c144d08..89f60847fb9261f2432051e5c2441b32b96744e9 100644 (file)
@@ -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
index b9b7c9c04e0bb74c677a1e38396b6a2be4acc458..367c39c1462067ab74ed7fdad466b0814a5b75fa 100644 (file)
@@ -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"));
index 676cd960780fe6741809ba3e21ca0573644313d1..038205ca4975d16e593b89d4b0278fef61062367 100644 (file)
@@ -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") : "");
         });
       };
index 86c4554996007bae71f9b3ac37bc7105c5b1e662..5f801096731793a376ca0c3cdf0f729c2c2312a5 100644 (file)
@@ -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"));
     }
index 5f449c214a31c782f67655e319a497073d0a71c4..00292b74dbfbb3ef6262dd50e949ad50bbc63d32 100644 (file)
@@ -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"));
 
index 2ecc7f5a9955ac036b98036bfcdbe620160162ba..a08f7f344cd55672a935b85fc7b5af00e53f4f93 100644 (file)
@@ -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