]> git.openstreetmap.org Git - nominatim-ui.git/blob - src/pages/PolygonsPage.svelte
Upgrade deprecated Github Actions
[nominatim-ui.git] / src / pages / PolygonsPage.svelte
1 <script>
2   import { onMount } from 'svelte';
3   import { fetch_from_api, update_html_title } from '../lib/api_utils.js';
4   import { formatOSMType, osmLink } from '../lib/helpers.js';
5
6   import Header from '../components/Header.svelte';
7
8   let aPolygons = [];
9
10   function loaddata() {
11     fetch_from_api('polygons', { format: 'json' }, function (data) {
12       aPolygons = data;
13     });
14     update_html_title('Broken polygons');
15   }
16   onMount(loaddata);
17 </script>
18
19 <Header/>
20 <div class="container">
21   <div class="row">
22     <div class="col-sm-12">
23       <h1>Broken polygons</h1>
24
25       <p>
26         Total number of broken polygons: {aPolygons.length}.
27       </p>
28
29       <table class="table table-striped table-hover">
30         <thead>
31           <th>OSM object</th>
32           <th>Class</th>
33           <th>Type</th>
34           <th>Name</th>
35           <th>Country Code</th>
36           <th>Error message</th>
37           <th>Updated</th>
38           <th></th>
39         </thead>
40         <tbody>
41           {#each aPolygons as polygon}
42             <tr>
43               <!-- eslint-disable-next-line svelte/no-at-html-tags -->
44               <td>{@html osmLink(polygon)}</td>
45               <td>{polygon.class}</td>
46               <td>{polygon.type}</td>
47               <td>{polygon.name}</td>
48               <td>{polygon.country_code || ''}</td>
49               <td>{polygon.errormessage}</td>
50               <td>{polygon.updated}</td>
51               <td>
52                 <a href="http://localhost:8111/import?url=https://www.openstreetmap.org/api/0.6/{formatOSMType(polygon.osm_type)}/{polygon.osm_id}/full" target="josm">josm</a>
53               </td>
54             </tr>
55           {/each}
56         </tbody>
57       </table>
58     </div>
59   </div>
60 </div>