]> git.openstreetmap.org Git - nominatim-ui.git/blobdiff - src/handlebar_helpers.js
when &viewbox was set in URL display a green rectangle on map
[nominatim-ui.git] / src / handlebar_helpers.js
index 6443d37e83c80149dbcd0502903e0b7cbd9532ce..358ac36ae54613406eda4c363c1efa81acef0b86 100644 (file)
@@ -12,6 +12,12 @@ function formatOSMType(sType, bExcludeExternal) {
 }
 
 Handlebars.registerHelper({
 }
 
 Handlebars.registerHelper({
+  shortOSMType: function(sType) {
+    if (sType === 'node') return 'N';
+    if (sType === 'way') return 'W';
+    if (sType === 'relation') return 'R';
+    return '';
+  },
   isaddresses_unused: function (aAddressLine) {
     return ((aAddressLine.isaddress && aAddressLine.isaddress === 'f') ? 'notused' : '');
   },
   isaddresses_unused: function (aAddressLine) {
     return ((aAddressLine.isaddress && aAddressLine.isaddress === 'f') ? 'notused' : '');
   },
@@ -60,8 +66,13 @@ Handlebars.registerHelper({
 
     var sTitleEscaped = Handlebars.escapeExpression(sTitle || sOSMType + ' ' + aFeature.osm_id);
 
 
     var sTitleEscaped = Handlebars.escapeExpression(sTitle || sOSMType + ' ' + aFeature.osm_id);
 
+    var sURL = 'details.html?osmtype=' + aFeature.osm_type + '&osmid=' + aFeature.osm_id;
+    if (aFeature.category) {
+      sURL = sURL + '&class=' + aFeature.category;
+    }
+
     return new Handlebars.SafeString(
     return new Handlebars.SafeString(
-      '<a href="details.html?osmtype=' + aFeature.osm_type + '&osmid=' + aFeature.osm_id + '&class=' + aFeature.category + '">' + sTitleEscaped + '</a>'
+      '<a href="' + sURL + '">' + sTitleEscaped + '</a>'
     );
   },
   coverageType: function (aPlace) {
     );
   },
   coverageType: function (aPlace) {
@@ -104,10 +115,12 @@ Handlebars.registerHelper({
       return s && s[0].toUpperCase() + s.slice(1);
     }
 
       return s && s[0].toUpperCase() + s.slice(1);
     }
 
-    if (aPlace.type && aPlace.type === 'yes') {
+    if (aPlace.type && aPlace.type === 'yes' && aPlace.class) {
       return capitalize(aPlace.class.replace(/_/g, ' '));
       return capitalize(aPlace.class.replace(/_/g, ' '));
+    } else if (aPlace.type) {
+      return capitalize(aPlace.type.replace(/_/g, ' '));
     }
     }
-    return capitalize(aPlace.type.replace(/_/g, ' '));
+    return '';
   },
   formatSearchRank: function (iRank) {
     // same as
   },
   formatSearchRank: function (iRank) {
     // same as