]> git.openstreetmap.org Git - nominatim-ui.git/blobdiff - src/handlebar_helpers.js
reminder to add permalink to details page
[nominatim-ui.git] / src / handlebar_helpers.js
index f7997818c516c0ae7d407628b4735e76ff97b323..89705789eabbf6c504326a79c3dd6a1753feebbf 100644 (file)
@@ -17,23 +17,23 @@ Handlebars.registerHelper({
         return ((aAddressLine.isaddress && aAddressLine.isaddress == 'f') ? 'notused' : '');
     },
     // { osm_type: 'R', osm_id: 12345 }
-    // <a href="//www.openstreetmap.org/relation/12345">relation 12345</a
+    // <a href="https://www.openstreetmap.org/relation/12345">relation 12345</a
     osmLink: function(aPlace) {
         if (!aPlace.osm_type) return '';
         var sOSMType = formatOSMType(aPlace.osm_type, false);
         if (!sOSMType) return '';
 
         return new Handlebars.SafeString(
-            '<a href="//www.openstreetmap.org/' + sOSMType + '/' + aPlace.osm_id + '">' + sOSMType + ' ' + aPlace.osm_id + '</a>'
+            '<a href="https://www.openstreetmap.org/' + sOSMType + '/' + aPlace.osm_id + '">' + sOSMType + ' ' + aPlace.osm_id + '</a>'
         );
     },
     /* en:London_Borough_of_Redbridge => https://en.wikipedia.org/wiki/London_Borough_of_Redbridge */
     wikipediaLink: function(aPlace) {
-        if (! aPlace.wikipedia) return '';
+        if (! aPlace.calculated_wikipedia) return '';
 
-        var parts = aPlace.wikipedia.split(':', 2);
+        var parts = aPlace.calculated_wikipedia.split(':', 2);
 
-        var sTitle = Handlebars.escapeExpression(aPlace.wikipedia),
+        var sTitle = Handlebars.escapeExpression(aPlace.calculated_wikipedia),
             sLanguage = Handlebars.escapeExpression(parts[0]),
             sArticle = Handlebars.escapeExpression(parts[1]);
 
@@ -42,7 +42,7 @@ Handlebars.registerHelper({
         );
     },
     // { osm_type: 'R', osm_id: 12345 }
-    // <a href="//www.openstreetmap.org/relation/12345">relation 12345</a
+    // <a href="details.html?place_id=12345">details</a>
     detailsLink: function(aFeature, sTitle) {
         if (!aFeature) return '';
         if (!aFeature.place_id) return '';
@@ -55,7 +55,7 @@ Handlebars.registerHelper({
         );
     },
     coverageType: function(aPlace) {
-        return (aPlace.isarea === 't' ? 'Polygon' : 'Point');
+        return (aPlace.isarea ? 'Polygon' : 'Point');
     },
     // fDistance is in meters
     formatDistance: function(fDistanceMeters) {
@@ -80,7 +80,7 @@ Handlebars.registerHelper({
     formatMapIcon: function(sIcon) {
         if (!sIcon) return;
         
-        var url = sIcon.match(/png$/) ? Nominatim_Config.Images_Base_Url + '/' + sIcon : Nominatim_Config.Images_Base_Url + 'nominatim/images/mapicons/' + sIcon + '.n.32.png';
+        var url = Nominatim_Config.Images_Base_Url + sIcon;
 
         return new Handlebars.SafeString(
             '<img class="mapicon" src="' + url + '" alt="' + sIcon + '"/>'
@@ -100,6 +100,19 @@ Handlebars.registerHelper({
             return capitalize(aPlace.type.replace(/_/g, ' '));
         }
     },
+    tooManyHierarchyLinesWarning: function(aPlace) {
+        if (!aPlace.hierarchy) return;
+
+        var c = 0;
+        for (var type in aPlace.hierarchy) {
+            c = c + type.length+1;
+        }
+        if (c < 500) return;
+
+        return new Handlebars.SafeString(
+            '<p>There are more child objects which are not shown.</p>'
+        );
+    },
     zoomLevels: function(iSelectedZoom) {
         var aZoomLevels = [
             /*  0 */ 'Continent / Sea',