]> git.openstreetmap.org Git - nominatim-ui.git/commitdiff
detail page: add permalink, equivalent to https://github.com/openstreetmap/Nominatim...
authormarc tobias <mtmail@gmx.net>
Mon, 9 Apr 2018 09:09:31 +0000 (11:09 +0200)
committermarc tobias <mtmail@gmx.net>
Mon, 9 Apr 2018 09:09:31 +0000 (11:09 +0200)
src/assets/css/details.css
src/handlebar_helpers.js
src/templates/detailspage.hbs

index 5f6bef68b851880cbfb2594ad83c0cc36fde5667..903ebff78fa86973c4291a6b31104137cfdce598 100755 (executable)
@@ -2,6 +2,12 @@
   margin: 10px 0;
   padding-left: 8px;
 }
+
+#details-page h1 small a {
+  font-size: 0.5em;
+  white-space: nowrap;
+}
+
 #details-page h2 {
   font-size: 2em;
   padding-left: 8px;
index 89705789eabbf6c504326a79c3dd6a1753feebbf..b40b11a88a1afcea949a3e680e10054ff99a0302 100644 (file)
@@ -47,11 +47,22 @@ Handlebars.registerHelper({
         if (!aFeature) return '';
         if (!aFeature.place_id) return '';
 
-        sTitle = 'details >';
-        var sTitle = Handlebars.escapeExpression(sTitle);
+        sTitle = Handlebars.escapeExpression(sTitle || 'details >');
 
         return new Handlebars.SafeString(
-            '<a href="details.html?place_id=' + aFeature.place_id + '">' + (sTitle ? sTitle : aFeature.place_id ) + '</a>'
+            '<a href="details.html?place_id=' + aFeature.place_id + '">' + sTitle + '</a>'
+        );
+    },
+    detailsPermaLink: function(aFeature, sTitle) {
+        if (!aFeature) return '';
+
+        var sOSMType = formatOSMType(aFeature.osm_type, false);
+        if (!sOSMType) return '';
+
+        sTitle = Handlebars.escapeExpression(sTitle || sOSMType + ' ' + aFeature.osm_id);
+
+        return new Handlebars.SafeString(
+            '<a href="details.html?osmtype=' + aFeature.osm_type + '&osmid=' + aFeature.osm_id + '&class=' + aFeature.class + '">' + sTitle + '</a>'
         );
     },
     coverageType: function(aPlace) {
index a725cd59b65778a0a0e471bea7dbdf05421b53e3..8328f1ce14cb9e86eadf0bc7065e2ceb7bb9fae0 100644 (file)
@@ -13,7 +13,7 @@
         <td>{{this.rank_address}}</td>
         <td>{{formatAdminLevel this.admin_level}}</td>
         <td>{{formatDistance this.distance}}</td>
-        <td>{{detailsLink this}}</td>
+        <td>{{detailsLink this null}}</td>
     </tr>
 {{/inline}}
 
@@ -38,7 +38,7 @@
 <div class="container">
     <div class="row">
         <div class="col-sm-10">
-            <h1>{{aPlace.localname}}</h1>
+            <h1>{{aPlace.localname}} <small>{{detailsPermaLink aPlace 'link to this page'}}</small></h1>
         </div>
         <div class="col-sm-2 text-right">
             {{formatMapIcon aPlace.icon}}