From e4a50ea7ef39fc26378570f7a62c58e9bbf4bfda Mon Sep 17 00:00:00 2001 From: Klap-in Date: Tue, 29 Jan 2013 01:05:27 +0100 Subject: Keep search suggestions, during typing in search field --- lib/scripts/qsearch.js | 2 -- 1 file changed, 2 deletions(-) (limited to 'lib/scripts/qsearch.js') diff --git a/lib/scripts/qsearch.js b/lib/scripts/qsearch.js index c3d0d94fb..71aa2ba0e 100644 --- a/lib/scripts/qsearch.js +++ b/lib/scripts/qsearch.js @@ -35,7 +35,6 @@ var dw_qsearch = { // attach eventhandler to search field do_qsearch = function () { - dw_qsearch.clear_results(); var value = dw_qsearch.$inObj.val(); if (value === '') { return; @@ -57,7 +56,6 @@ var dw_qsearch = { window.clearTimeout(dw_qsearch.timer); dw_qsearch.timer = null; } - dw_qsearch.clear_results(); dw_qsearch.timer = window.setTimeout(do_qsearch, 500); } ); -- cgit v1.2.3 From 48606867454b93c7d11708b8193fbc2a4368aaf9 Mon Sep 17 00:00:00 2001 From: Klap-in Date: Sun, 3 Feb 2013 19:53:11 +0100 Subject: use var and remove suggestions when needed Use variable for maximum number of suggestions for quicksearch. And hide suggestions when search field is emptied, or when no suggestion are found. --- lib/scripts/qsearch.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'lib/scripts/qsearch.js') diff --git a/lib/scripts/qsearch.js b/lib/scripts/qsearch.js index 71aa2ba0e..0c3609ada 100644 --- a/lib/scripts/qsearch.js +++ b/lib/scripts/qsearch.js @@ -37,6 +37,7 @@ var dw_qsearch = { do_qsearch = function () { var value = dw_qsearch.$inObj.val(); if (value === '') { + dw_qsearch.clear_results(); return; } jQuery.post( @@ -83,7 +84,10 @@ var dw_qsearch = { onCompletion: function(data) { var max, $links, too_big; - if (data === '') { return; } + if (data === '') { + dw_qsearch.clear_results(); + return; + } dw_qsearch.$outObj .html(data) -- cgit v1.2.3 From b480dd4215925c5e9aaecaa5c086346b009692b4 Mon Sep 17 00:00:00 2001 From: Michael Hamann Date: Sat, 16 Feb 2013 18:10:00 +0100 Subject: Abort old quick search requests when starting new ones This prevents old requests that need longer than the newer ones (likely, as if you type more less results are returned) from overriding the results list. --- lib/scripts/qsearch.js | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'lib/scripts/qsearch.js') diff --git a/lib/scripts/qsearch.js b/lib/scripts/qsearch.js index 0c3609ada..e5cc73b49 100644 --- a/lib/scripts/qsearch.js +++ b/lib/scripts/qsearch.js @@ -12,6 +12,7 @@ var dw_qsearch = { $inObj: null, $outObj: null, timer: null, + curRequest: null, /** * initialize the quick search @@ -35,12 +36,16 @@ var dw_qsearch = { // attach eventhandler to search field do_qsearch = function () { + // abort any previous request + if (dw_qsearch.curRequest != null) { + dw_qsearch.curRequest.abort(); + } var value = dw_qsearch.$inObj.val(); if (value === '') { dw_qsearch.clear_results(); return; } - jQuery.post( + dw_qsearch.curRequest = jQuery.post( DOKU_BASE + 'lib/exe/ajax.php', { call: 'qsearch', @@ -84,6 +89,8 @@ var dw_qsearch = { onCompletion: function(data) { var max, $links, too_big; + dw_qsearch.curRequest = null; + if (data === '') { dw_qsearch.clear_results(); return; -- cgit v1.2.3