}
}
+ function place_has_keywords(aThisPlace) {
+ // Return false if Nominatim API sends 'keywords: { name: [], address: [] }'
+ return (
+ aThisPlace.keywords && aThisPlace.keywords.name && aThisPlace.keywords.address
+ && (aThisPlace.keywords.name.length > 0 || aThisPlace.keywords.address.length > 0)
+ );
+ }
+
$: {
let pageinfo = $page;
if (pageinfo.tab === 'details') {
<small><DetailsLink feature={aPlace}>link to this page</DetailsLink></small>
</h1>
</div>
- <div class="col-sm-2 text-right">
+ <div class="col-sm-2 text-end">
<MapIcon aPlace={aPlace} />
</div>
</div>
<tbody>
<InfoRow title="Name">
{#if (Array.isArray(aPlace.names)) }
- <span class="noname font-weight-bold">No Name</span>
+ <span class="noname fw-bold">No Name</span>
{:else}
<InfoRowList items={aPlace.names} />
{/if}
<tr class="all-columns"><td colspan="6"><h2>Keywords</h2></td></tr>
{#if api_request_params.keywords}
- {#if aPlace.keywords && (aPlace.keywords.name || aPlace.keywords.address) }
+ {#if place_has_keywords(aPlace)}
<tr class="all-columns"><td colspan="6"><h3>Name Keywords</h3></td></tr>
{#each aPlace.keywords.name as keyword}
<tr>
<tr class="all-columns"><td colspan="6"><h2>Parent Of</h2></td></tr>
{#if api_request_params.hierarchy}
- {#if aPlace.hierarchy && aPlace.hierarchy.length}
-
+ {#if aPlace.hierarchy && typeof (aPlace.hierarchy) === 'object' && Object.keys(aPlace.hierarchy).length}
{#each Object.keys(aPlace.hierarchy) as type}
<tr class="all-columns"><td colspan="6"><h3>{type}</h3></td></tr>
{#each aPlace.hierarchy[type] as line}