]> git.openstreetmap.org Git - nominatim-ui.git/commitdiff
fix more-results link
authormarc tobias <mtmail@gmx.net>
Tue, 7 Jul 2020 11:48:27 +0000 (13:48 +0200)
committermarc tobias <mtmail@gmx.net>
Tue, 7 Jul 2020 11:48:27 +0000 (13:48 +0200)
dist/assets/js/nominatim-ui.js
src/assets/js/controller.js
src/assets/js/searchpage.js

index faf69020270b48925a0486b16a86e55ac00239da..1b148a8558baee9e35b7fafb3bccdbd1f0b3cba6 100644 (file)
@@ -671,7 +671,7 @@ function search_page_load() {
         if (aResults.length >= 10) {
           var aExcludePlaceIds = [];
           if (search_params.has('exclude_place_ids')) {
-            aExcludePlaceIds.search_params.get('exclude_place_ids').split(',');
+            aExcludePlaceIds = search_params.get('exclude_place_ids').split(',');
           }
           for (var i = 0; i < aResults.length; i += 1) {
             aExcludePlaceIds.push(aResults[i].place_id);
@@ -770,6 +770,16 @@ jQuery(document).ready(function () {
     }
   }
 
+  function is_relative_url(url) {
+    if (!url) return false;
+    if (url.indexOf('?') === 0) return true;
+    if (url.indexOf('/') === 0) return true;
+    if (url.match(/^http/)) return false;
+    if (!url.match(/\.html/)) return true;
+
+    return false;
+  }
+
   parse_url_and_load_page();
 
   // load page after form submit
@@ -784,10 +794,10 @@ jQuery(document).ready(function () {
   // load page after click on relative URL
   $(document).on('click', 'a', function (e) {
     var target_url = $(this).attr('href');
-    if (target_url && target_url.match(/^http/)) return;
-    if (target_url && !target_url.match(/\.html/)) return;
+    if (!is_relative_url(target_url)) return;
 
     e.preventDefault();
+    e.stopPropagation();
 
     window.history.pushState(myhistory, '', target_url);
 
index 3c122eeae821c2273f99e93f305ce4c3222e7599..4070d09ec79ff4164df14897a6602d271b323fc7 100644 (file)
@@ -18,6 +18,16 @@ jQuery(document).ready(function () {
     }
   }
 
+  function is_relative_url(url) {
+    if (!url) return false;
+    if (url.indexOf('?') === 0) return true;
+    if (url.indexOf('/') === 0) return true;
+    if (url.match(/^http/)) return false;
+    if (!url.match(/\.html/)) return true;
+
+    return false;
+  }
+
   parse_url_and_load_page();
 
   // load page after form submit
@@ -32,10 +42,10 @@ jQuery(document).ready(function () {
   // load page after click on relative URL
   $(document).on('click', 'a', function (e) {
     var target_url = $(this).attr('href');
-    if (target_url && target_url.match(/^http/)) return;
-    if (target_url && !target_url.match(/\.html/)) return;
+    if (!is_relative_url(target_url)) return;
 
     e.preventDefault();
+    e.stopPropagation();
 
     window.history.pushState(myhistory, '', target_url);
 
index be9c20a3e48d30f7dfa60ba57dda72eacf155091..f53dfd4c13d9325a3f1bc907493568d903ec1098 100755 (executable)
@@ -411,7 +411,7 @@ function search_page_load() {
         if (aResults.length >= 10) {
           var aExcludePlaceIds = [];
           if (search_params.has('exclude_place_ids')) {
-            aExcludePlaceIds.search_params.get('exclude_place_ids').split(',');
+            aExcludePlaceIds = search_params.get('exclude_place_ids').split(',');
           }
           for (var i = 0; i < aResults.length; i += 1) {
             aExcludePlaceIds.push(aResults[i].place_id);