X-Git-Url: https://git.openstreetmap.org./nominatim-ui.git/blobdiff_plain/c061d3fd3d4c9135fdbda0af273d9fc0dc5b5535..d7a925a6567cd14b85e124354cabf62733e93f35:/src/pages/DetailsPage.svelte diff --git a/src/pages/DetailsPage.svelte b/src/pages/DetailsPage.svelte index d480050..500c5c3 100644 --- a/src/pages/DetailsPage.svelte +++ b/src/pages/DetailsPage.svelte @@ -11,13 +11,14 @@ import SearchSectionDetails from '../components/SearchSectionDetails.svelte'; import DetailsOneRow from '../components/DetailsOneRow.svelte'; import DetailsLink from '../components/DetailsLink.svelte'; + import InfoRow from '../components/DetailsInfoRow.svelte'; + import InfoRowList from '../components/DetailsInfoRowList.svelte'; import Map from '../components/Map.svelte'; let aPlace; - let errorResponse; - let base_url = window.location.search; - let current_result; + let base_url; let api_request_params; + let api_request_finished = false; function loaddata(search_params) { api_request_params = { @@ -32,6 +33,7 @@ polygon_geojson: 1, format: 'json' }; + api_request_finished = false; if (api_request_params.place_id || (api_request_params.osmtype && api_request_params.osmid)) { @@ -43,14 +45,8 @@ fetch_from_api('details', api_request_params, function (data) { window.scrollTo(0, 0); - if (data.error) { - errorResponse = data; - current_result = undefined; - } else { - aPlace = data; - errorResponse = undefined; - current_result = data; - } + api_request_finished = true; + aPlace = (data && !data.error) ? data : undefined; }); } else { aPlace = undefined; @@ -61,6 +57,7 @@ let pageinfo = $page; if (pageinfo.tab === 'details') { loaddata(pageinfo.params); + base_url = window.location.search; } } @@ -68,11 +65,9 @@
-{#if errorResponse} - {errorResponse.error.message} -{/if} -{#if aPlace} -
+ +
+ {#if aPlace}

@@ -86,106 +81,43 @@

- +
- - - - - - - - - - - - + + {aPlace.category}:{aPlace.type} + {aPlace.indexed_date} {#if (isAdminBoundary(aPlace)) } - - - - + {aPlace.admin_level} {/if} - - - - - - - - + {aPlace.rank_search} + {aPlace.rank_address} ({formatAddressRank(aPlace.rank_address)}) {#if aPlace.calculated_importance} - - - - + {/if} - - - - - - - - - - - - - - - + + {@html osmLink(aPlace)} + + {aPlace.place_id} + (on this server) + {#if aPlace.calculated_wikipedia} - - - - + {@html wikipediaLink(aPlace)} {/if} - - - - - - - - - - - - + {aPlace.calculated_postcode || ''} + +
Name - {#each Object.keys(aPlace.names) as name} -
- {aPlace.names[name]} ({name}) -
- {/each} -
Type{aPlace.category}:{aPlace.type}
Last Updated{aPlace.indexed_date}
Admin Level{aPlace.admin_level}
Search Rank{aPlace.rank_search}
Address Rank{aPlace.rank_address} ({formatAddressRank(aPlace.rank_address)})
Importance + {aPlace.calculated_importance} {#if !aPlace.importance} (estimated){/if} -
Coverage{coverageType(aPlace)}
Centre Point (lat,lon) + {coverageType(aPlace)} + {aPlace.centroid.coordinates[1]},{aPlace.centroid.coordinates[0]} -
OSM{@html osmLink(aPlace)} -
- Place Id - (on this server) - {aPlace.place_id}
Wikipedia Calculated{@html wikipediaLink(aPlace)}
Computed Postcode{aPlace.calculated_postcode}
Address Tags - {#each Object.keys(aPlace.addresstags) as name} -
- {aPlace.addresstags[name]} ({name}) -
- {/each} -
Extra Tags - {#each Object.keys(aPlace.extratags) as name} -
- {aPlace.extratags[name]} ({name}) -
- {/each} -
- +
@@ -207,14 +139,14 @@ {#if aPlace.address} {#each aPlace.address as addressLine} - + {/each} {/if} {#if aPlace.linked_places}

Linked Places

{#each aPlace.linked_places as addressLine} - + {/each} {/if} @@ -230,15 +162,17 @@ {/each} -

Address Keywords

- {#each aPlace.keywords.address as keyword} - - {formatKeywordToken(keyword.token)} - {#if keyword.id} - word id: {keyword.id} - {/if} - - {/each} + {#if aPlace.keywords.address} +

Address Keywords

+ {#each aPlace.keywords.address as keyword} + + {formatKeywordToken(keyword.token)} + {#if keyword.id} + word id: {keyword.id} + {/if} + + {/each} + {/if} {:else} @@ -273,12 +207,10 @@
-
-{:else if (window.location.search === '')} - -{:else} - No such place found. -{/if} + {:else if (window.location.search !== '' && api_request_finished)} + No such place found. + {/if} + @@ -312,18 +244,6 @@ padding-left: 0 !important; } - .table { - width: 100%; - } - .table td { - font-size: 0.9em; - } - .table>thead>tr>th, .table>tbody>tr>td { - padding: 2px 8px; - } - .name{ - font-weight: bold; - } #map-wrapper { width:100%; min-height: auto;