X-Git-Url: https://git.openstreetmap.org./nominatim-ui.git/blobdiff_plain/51dab2d73981ff460f7ddc4408df9767ce81ce7a..cf3e8f8daa0f2f4b014b9df6c32a436248237140:/src/components/SearchSectionDetails.svelte?ds=sidebyside

diff --git a/src/components/SearchSectionDetails.svelte b/src/components/SearchSectionDetails.svelte
index def8873..5ca614a 100644
--- a/src/components/SearchSectionDetails.svelte
+++ b/src/components/SearchSectionDetails.svelte
@@ -6,8 +6,8 @@
   function handleFormSubmit(event) {
     let form_el = event.target;
     let val = form_el.querySelector('input[type=edit]').value.trim();
-    let type_and_id_match = val.match(/^\s*([NWR])(\d+)\s*$/i)
-                            || val.match(/\/(relation|way|node)\/(\d+)\s*$/);
+    let type_and_id_match = val.match(/^\s*([NWR])(-?\d+)\s*$/i)
+                            || val.match(/\/(relation|way|node)\/(-?\d+)\s*$/);
 
     var params = new URLSearchParams();
     if (type_and_id_match) {
@@ -27,10 +27,15 @@
 <form on:submit|preventDefault={handleFormSubmit} class="form-inline" action="details.html">
   <div class="row g-1">
     <div class="col-auto">
+      <!-- eslint-disable-next-line max-len -->
       <input type="edit"
              class="form-control form-control-sm me-1"
-             pattern="^[NWRnwr]?[0-9]+$|.*openstreetmap.*"
-             value="{api_request_params.osmtype || ''}{api_request_params.osmid || ''}{api_request_params.place_id || ''}" />
+             pattern="^[1-9][0-9]*$|^[NWRnwr]-?[1-9][0-9]*$|.*openstreetmap.*"
+             value="{
+              (api_request_params.osmtype || '')
+              + (api_request_params.osmid || '')
+              + (api_request_params.place_id || '')
+            }" />
       </div>
     <div class="col-auto">
       <button type="submit" class="btn btn-primary btn-sm">Show</button>
