osmLink, wikipediaLink, coverageType, isAdminBoundary,
formatAddressRank, formatKeywordToken
} from '../lib/helpers.js';
+ import Header from '../components/Header.svelte';
import MapIcon from '../components/MapIcon.svelte';
- import DetailsIndex from '../components/DetailsIndex.svelte';
+ import SearchSectionDetails from '../components/SearchSectionDetails.svelte';
import DetailsOneRow from '../components/DetailsOneRow.svelte';
import DetailsLink from '../components/DetailsLink.svelte';
import Map from '../components/Map.svelte';
let aPlace;
- let errorResponse;
let base_url = window.location.search;
- let current_result;
+ let api_request_params;
+ let api_request_finished = false;
function loaddata(search_params) {
- var api_request_params = {
+ api_request_params = {
place_id: search_params.get('place_id'),
osmtype: search_params.get('osmtype'),
osmid: search_params.get('osmid'),
polygon_geojson: 1,
format: 'json'
};
+ api_request_finished = false;
if (api_request_params.place_id || (api_request_params.osmtype && api_request_params.osmid)) {
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;
}
</script>
-{#if errorResponse}
- {errorResponse.error.message}
-{/if}
-{#if aPlace}
- <div class="container">
+<Header>
+ <SearchSectionDetails api_request_params={api_request_params}/>
+</Header>
+
+<div class="container">
+ {#if aPlace}
<div class="row">
<div class="col-sm-10">
<h1>
{/if}
<tr>
<td>Computed Postcode</td>
- <td>{aPlace.calculated_postcode}</td>
+ <td>{aPlace.calculated_postcode || ''}</td>
</tr>
<tr>
<td>Address Tags</td>
</div>
<div class="col-md-6">
<div id="map-wrapper">
- <Map {current_result} />
+ <Map current_result={aPlace} />
</div>
</div>
</div>
</table>
</div>
</div>
- </div>
-{:else if (window.location.search === '')}
- <DetailsIndex/>
-{:else}
- No such place found.
-{/if}
+ {:else if (window.location.search !== '' && api_request_finished)}
+ No such place found.
+ {/if}
+</div>