import {
osmLink, wikipediaLink, coverageType, isAdminBoundary,
- formatAddressRank, formatKeywordToken
+ formatAddressRank, formatKeywordToken, formatOSMType
} from '../lib/helpers.js';
import Header from '../components/Header.svelte';
import MapIcon from '../components/MapIcon.svelte';
<div class="row">
<div class="col-sm-10">
<h1>
- {aPlace.localname}
+ {aPlace.localname || `${formatOSMType(aPlace.osm_type)} ${aPlace.osm_id}` }
<small><DetailsLink feature={aPlace}>link to this page</DetailsLink></small>
</h1>
</div>
<div class="col-md-6">
<table id="locationdetails" class="table table-striped table-responsive">
<tbody>
- <InfoRow title="Name"><InfoRowList items={aPlace.names} /></InfoRow>
+ <InfoRow title="Name">
+ {#if (Array.isArray(aPlace.names)) }
+ <span class="noname font-weight-bold">No Name</span>
+ {:else}
+ <InfoRowList items={aPlace.names} />
+ {/if}
+ </InfoRow>
<InfoRow title="Type">{aPlace.category}:{aPlace.type}</InfoRow>
<InfoRow title="Last Updated">{aPlace.indexed_date}</InfoRow>
{#if (isAdminBoundary(aPlace)) }
{/if}
<tr class="all-columns"><td colspan="6"><h2>Keywords</h2></td></tr>
- {#if aPlace.keywords}
- <tr class="all-columns"><td colspan="6"><h3>Name Keywords</h3></td></tr>
- {#each aPlace.keywords.name as keyword}
- <tr>
- <td>{formatKeywordToken(keyword.token)}</td>
- {#if keyword.id}
- <td>word id: {keyword.id}</td>
- {/if}
- </tr>
- {/each}
+ {#if api_request_params.keywords}
- {#if aPlace.keywords.address}
- <tr class="all-columns"><td colspan="6"><h3>Address Keywords</h3></td></tr>
- {#each aPlace.keywords.address as keyword}
+ {#if aPlace.keywords && (aPlace.keywords.name || aPlace.keywords.address) }
+ <tr class="all-columns"><td colspan="6"><h3>Name Keywords</h3></td></tr>
+ {#each aPlace.keywords.name as keyword}
<tr>
<td>{formatKeywordToken(keyword.token)}</td>
{#if keyword.id}
{/if}
</tr>
{/each}
+
+ {#if aPlace.keywords.address}
+ <tr class="all-columns"><td colspan="6"><h3>Address Keywords</h3></td></tr>
+ {#each aPlace.keywords.address as keyword}
+ <tr>
+ <td>{formatKeywordToken(keyword.token)}</td>
+ {#if keyword.id}
+ <td>word id: {keyword.id}</td>
+ {/if}
+ </tr>
+ {/each}
+ {/if}
+ {:else}
+ <tr><td>Place has no keywords</td></tr>
{/if}
{:else}
<tr>
{/if}
<tr class="all-columns"><td colspan="6"><h2>Parent Of</h2></td></tr>
- {#if aPlace.hierarchy}
+ {#if api_request_params.hierarchy}
+ {#if aPlace.hierarchy && 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}
- <DetailsOneRow addressLine={line} bDistanceInMeters=true />
- {/each}
- {/each}
+ {#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}
+ <DetailsOneRow addressLine={line} bDistanceInMeters=true />
+ {/each}
+ {/each}
- {#if Object.keys(aPlace.hierarchy) > 500}
- <p>There are more child objects which are not shown.</p>
+ {#if Object.keys(aPlace.hierarchy) > 500}
+ <p>There are more child objects which are not shown.</p>
+ {/if}
+ {:else}
+ <tr><td>Place is not parent of other places</td></tr>
{/if}
{:else}
<tr>
border-top: none !important;
padding-left: 0 !important;
}
+ :global(span.noname){
+ color:#800;
+ }
#map-wrapper {
width:100%;