X-Git-Url: https://git.openstreetmap.org./nominatim-ui.git/blobdiff_plain/eacd4882e8ba181eb4b02c8af729e041c60ec534..f9ae81bddd61b9749df987e6c8ee9263ae464705:/src/pages/DetailsPage.svelte diff --git a/src/pages/DetailsPage.svelte b/src/pages/DetailsPage.svelte index bb72e14..baac180 100644 --- a/src/pages/DetailsPage.svelte +++ b/src/pages/DetailsPage.svelte @@ -4,19 +4,20 @@ 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'; import SearchSectionDetails from '../components/SearchSectionDetails.svelte'; import DetailsOneRow from '../components/DetailsOneRow.svelte'; import DetailsLink from '../components/DetailsLink.svelte'; + import DetailsPostcodeHint from '../components/DetailsPostcodeHint.svelte'; import InfoRow from '../components/DetailsInfoRow.svelte'; import InfoRowList from '../components/DetailsInfoRowList.svelte'; import Map from '../components/Map.svelte'; let aPlace; - let base_url = window.location.search; + let base_url; let api_request_params; let api_request_finished = false; @@ -57,6 +58,7 @@ let pageinfo = $page; if (pageinfo.tab === 'details') { loaddata(pageinfo.params); + base_url = window.location.search; } } @@ -70,11 +72,11 @@

- {aPlace.localname} + {aPlace.localname || `${formatOSMType(aPlace.osm_type)} ${aPlace.osm_id}` } link to this page

-
+
@@ -82,7 +84,13 @@
- + + {#if (Array.isArray(aPlace.names)) } + No Name + {:else} + + {/if} + {aPlace.category}:{aPlace.type}{aPlace.indexed_date} {#if (isAdminBoundary(aPlace)) } @@ -108,7 +116,12 @@ {#if aPlace.calculated_wikipedia} {@html wikipediaLink(aPlace)} {/if} - {aPlace.calculated_postcode || ''} + + {#if aPlace.calculated_postcode} + {aPlace.calculated_postcode} + + {/if} + @@ -138,38 +151,45 @@ {#if aPlace.address} {#each aPlace.address as addressLine} - + {/each} {/if} {#if aPlace.linked_places} {#each aPlace.linked_places as addressLine} - + {/each} {/if} - {#if aPlace.keywords} - - {#each aPlace.keywords.name as keyword} - - - {#if keyword.id} - - {/if} - - {/each} + {#if api_request_params.keywords} - - {#each aPlace.keywords.address as keyword} - - - {#if keyword.id} - - {/if} - - {/each} + {#if aPlace.keywords && (aPlace.keywords.name || aPlace.keywords.address) } + + {#each aPlace.keywords.name as keyword} + + + {#if keyword.id} + + {/if} + + {/each} + + {#if aPlace.keywords.address} + + {#each aPlace.keywords.address as keyword} + + + {#if keyword.id} + + {/if} + + {/each} + {/if} + {:else} + + {/if} {:else} - {#if aPlace.hierarchy} + {#if api_request_params.hierarchy} + {#if aPlace.hierarchy && typeof (aPlace.hierarchy) === 'object' && Object.keys(aPlace.hierarchy).length} + {#each Object.keys(aPlace.hierarchy) as type} + + {#each aPlace.hierarchy[type] as line} + + {/each} + {/each} - {#each Object.keys(aPlace.hierarchy) as type} - - {#each aPlace.hierarchy[type] as line} - - {/each} - {/each} - - {#if Object.keys(aPlace.hierarchy) > 500} -

There are more child objects which are not shown.

+ {#if Object.keys(aPlace.hierarchy) > 500} +

There are more child objects which are not shown.

+ {/if} + {:else} +
{/if} {:else} @@ -240,6 +263,9 @@ border-top: none !important; padding-left: 0 !important; } + :global(span.noname){ + color:#800; + } #map-wrapper { width:100%;

Linked Places

Keywords

Name Keywords

{formatKeywordToken(keyword.token)}word id: {keyword.id}

Address Keywords

{formatKeywordToken(keyword.token)}word id: {keyword.id}

Name Keywords

{formatKeywordToken(keyword.token)}word id: {keyword.id}

Address Keywords

{formatKeywordToken(keyword.token)}word id: {keyword.id}
Place has no keywords
@@ -180,17 +200,20 @@ {/if}

Parent Of

{type}

{type}

Place is not parent of other places