Fix browse overlay status messages
authorJohn Firebaugh <john.firebaugh@gmail.com>
Fri, 8 Nov 2013 18:46:24 +0000 (10:46 -0800)
committerJohn Firebaugh <john.firebaugh@gmail.com>
Fri, 8 Nov 2013 18:46:24 +0000 (10:46 -0800)
app/assets/javascripts/index.js
app/assets/javascripts/index/browse.js
app/assets/stylesheets/common.css.scss
app/views/layouts/map.html.erb
config/locales/en.yml

index 2ed869905995753fecea8b6515c4f72ed63414cc..7c9d255bb955915a358726c3007021a6ebc03702 100644 (file)
@@ -103,10 +103,12 @@ $(document).ready(function () {
   map.dataLayer.options.code = 'D';
 
   if (OSM.STATUS != 'api_offline' && OSM.STATUS != 'database_offline') {
+    initializeNotes(map);
     if (params.layers.indexOf(map.noteLayer.options.code) >= 0) {
       map.addLayer(map.noteLayer);
     }
 
+    initializeBrowse(map);
     if (params.layers.indexOf(map.dataLayer.options.code) >= 0) {
       map.addLayer(map.dataLayer);
     }
@@ -227,9 +229,6 @@ $(document).ready(function () {
     });
   }
 
-  initializeBrowse(map);
-  initializeNotes(map);
-
   OSM.Index = function(map) {
     var page = {};
 
index 772690ba3c5772d2a16d38f957e95e70e900adad..a0bb4268599322d03beb66b7f6c921f987c65639 100644 (file)
@@ -36,6 +36,7 @@ function initializeBrowse(map) {
   map.on('layerremove', function (e) {
     if (e.layer === dataLayer) {
       map.off("moveend", updateData);
+      clearStatus();
     }
   });
 
@@ -46,28 +47,19 @@ function initializeBrowse(map) {
         browseBounds = bounds;
         getData();
       }
-    } else {
-      setStatus(I18n.t('browse.start_rjs.zoom_or_select'));
     }
   }
 
   function displayFeatureWarning(count, limit, callback) {
     clearStatus();
 
-    var div = document.createElement("div");
-
-    var p = document.createElement("p");
-    p.appendChild(document.createTextNode(I18n.t("browse.start_rjs.loaded_an_area_with_num_features", { num_features: count, max_features: limit })));
-    div.appendChild(p);
-
-    var input = document.createElement("input");
-    input.type = "submit";
-    input.value = I18n.t('browse.start_rjs.load_data');
-    input.onclick = callback;
-    div.appendChild(input);
-
-    $("#browse_content").html("");
-    $("#browse_content").append(div);
+    $('#browse_status').append(
+      $("<p class='warning'></p>")
+        .text(I18n.t("browse.start_rjs.loaded_an_area_with_num_features", { num_features: count, max_features: limit }))
+        .append(
+          $("<input type='submit'>")
+            .val(I18n.t('browse.start_rjs.load_data'))
+            .click(callback)));
   }
 
   var dataLoader;
@@ -105,14 +97,13 @@ function initializeBrowse(map) {
     dataLoader = $.ajax({
       url: url,
       success: function (xml) {
-        clearStatus();
-
         dataLayer.clearLayers();
         selectedLayer = null;
 
         var features = dataLayer.buildFeatures(xml);
 
         function addFeatures() {
+          clearStatus();
           dataLayer.addData(features);
         }
 
@@ -144,8 +135,10 @@ function initializeBrowse(map) {
   }
 
   function setStatus(status) {
+    $('#browse_status').append($('<p></p>').text(status));
   }
 
   function clearStatus() {
+    $('#browse_status').empty();
   }
 }
index e7b723d41506b80d0f9dc606378c859f926cf46f..451d4594859fe1531738372de40726b877f2ec89 100644 (file)
@@ -887,6 +887,12 @@ nav.secondary {
   }
 }
 
+#browse_status {
+  p {
+    padding: $lineheight;
+  }
+}
+
 #sidebar_content {
   .loader,
   .load_more {
index 524dc566f58f136c782c51deb62d9b202c6a5f87..1daae059ec517b19d70b6752411f521dbdf720ee 100644 (file)
@@ -33,6 +33,8 @@
       <p class="error"><%= t 'layouts.osm_read_only' %></p>
     <% end %>
 
+    <div id="browse_status"></div>
+
     <div id="sidebar_content">
       <%= render :partial => "layouts/flash" %>
       <%= yield %>
index ee316f055c780eba1f190ccbd85e4730430ed092..cbd1c60c1a7b6b92fdd7cd5ab6f2fd0d113f97c6 100644 (file)
@@ -228,7 +228,7 @@ en:
       manually_select: "Manually select a different area"
       hide_areas: "Hide areas"
       show_areas: "Show areas"
-      loaded_an_area_with_num_features: "You have loaded an area which contains %{num_features} features. In general, some browsers may not cope well with displaying this quantity of data. Generally, browsers work best at displaying less than %{max_features} features at a time: doing anything else may make your browser slow/unresponsive. If you are sure you want to display this data, you may do so by clicking the button below."
+      loaded_an_area_with_num_features: "Loading %{num_features} features, which may make your browser slow or unresponsive. Are sure you want to display this data?"
       load_data: "Load Data"
       unable_to_load_size: "Unable to load: Bounding box size of %{bbox_size} is too large (must be smaller than %{max_bbox_size})"
       loading: "Loading..."