From 67851752fa50edec1a711fde2f08148f18332ac5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sybren=20A=2E=20St=C3=BCvel?= Date: Fri, 5 Jan 2018 17:02:42 +0100 Subject: [PATCH] Search JS: more stupid and thus more reliable repeat query filtering --- src/scripts/tutti/4_search.js | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/src/scripts/tutti/4_search.js b/src/scripts/tutti/4_search.js index 9f62f692..9870e505 100644 --- a/src/scripts/tutti/4_search.js +++ b/src/scripts/tutti/4_search.js @@ -12,7 +12,7 @@ var elasticSearcher = (function() { newhits: [], terms: {}, page: 0, - last_params: null, // to prevent re-querying for the same thing. + last_query: null, // to prevent re-querying for the same thing. setQuery: (function(q, _url){ deze.query=q; @@ -67,16 +67,11 @@ var elasticSearcher = (function() { q: deze.query, page: deze.page, }; - - if (deze.last_params != null && deze.last_params.q == params.q && deze.last_params.page == params.page) { - // We're requesting exactly the same thing as before, don't bother. - return; - } - //add term filters Object.assign(params, deze.terms); var pstr = jQuery.param( params ); + if (pstr === deze.last_query) return; $.getJSON("/api/newsearch" + deze.url + "?"+ pstr) .done(function (data) { @@ -87,7 +82,7 @@ var elasticSearcher = (function() { deze.newhits = newhits.slice(0); //cb(newhits.slice(0)); - deze.last_params = params; + deze.last_query = pstr; deze.results({ 'count': data.hits.total, 'hits': newhits.slice(0), @@ -98,7 +93,7 @@ var elasticSearcher = (function() { }) .fail(function(err) { toastr.error(xhrErrorResponseMessage(err), 'Unable to perform search:'); - deze.last_params = null; + deze.last_query = null; }) ;