X-Git-Url: https://git.openstreetmap.org./nominatim-ui.git/blobdiff_plain/0aeb1c36b69de467ec9cae66fe43241ee5fa99ec..44f6dce2dcac82048e460bb1f2a8fec6fb58b539:/src/handlebar_helpers.js diff --git a/src/handlebar_helpers.js b/src/handlebar_helpers.js index 358ac36..de8778b 100644 --- a/src/handlebar_helpers.js +++ b/src/handlebar_helpers.js @@ -1,3 +1,5 @@ +'use strict'; + function formatOSMType(sType, bExcludeExternal) { if (sType === 'N') return 'node'; if (sType === 'W') return 'way'; @@ -12,15 +14,15 @@ function formatOSMType(sType, bExcludeExternal) { } Handlebars.registerHelper({ - shortOSMType: function(sType) { + formatOSMType: function (sType, bExcludeExternal) { + return formatOSMType(sType, bExcludeExternal); + }, + 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' : ''); - }, // { osm_type: 'R', osm_id: 12345 } // relation 12345' + sTitleEscaped + '' ); }, + formatPlaceType: function (aPlace) { + var sOut = aPlace.class + ':' + aPlace.type; + if (aPlace.type && aPlace.type === 'administrative' && aPlace.place_type) { + sOut = sOut + ' (' + aPlace.place_type + ')'; + } + return new Handlebars.SafeString(sOut); + }, coverageType: function (aPlace) { return (aPlace.isarea ? 'Polygon' : 'Point'); }, @@ -99,7 +108,7 @@ Handlebars.registerHelper({ return (iLevel < 15 ? iLevel : ''); }, formatMapIcon: function (sIcon) { - if (!sIcon) return; + if (!sIcon) return ''; var url = sIcon; if (!url.match(/^http/)) url = get_config_value('Images_Base_Url') + url; @@ -117,14 +126,15 @@ Handlebars.registerHelper({ if (aPlace.type && aPlace.type === 'yes' && aPlace.class) { return capitalize(aPlace.class.replace(/_/g, ' ')); - } else if (aPlace.type) { + } + if (aPlace.type) { return capitalize(aPlace.type.replace(/_/g, ' ')); } return ''; }, formatSearchRank: function (iRank) { // same as - // https://github.com/openstreetmap/Nominatim/blob/master/sql/functions.sql + // https://github.com/osm-search/Nominatim/blob/master/sql/functions.sql // get_searchrank_label() if (iRank < 2) return 'continent'; @@ -146,13 +156,10 @@ Handlebars.registerHelper({ return 'other: ' + iRank; }, tooManyHierarchyLinesWarning: function (aPlace) { - if (!aPlace.hierarchy) return; + if (!aPlace.hierarchy) return ''; - var c = 0; - for (var type in aPlace.hierarchy) { - c = c + type.length + 1; - } - if (c < 500) return; + var c = Object.keys(aPlace.hierarchy); + if (c < 500) return ''; return new Handlebars.SafeString( '

There are more child objects which are not shown.

' @@ -186,7 +193,9 @@ Handlebars.registerHelper({ var select = $('