From 8e0385e809540f0218199c5eefd88aa7db25c4a1 Mon Sep 17 00:00:00 2001 From: Mark Veidemanis Date: Wed, 3 Aug 2022 07:20:30 +0100 Subject: [PATCH] Handle managing the search query smarter --- core/templates/ui/drilldown/drilldown.html | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/core/templates/ui/drilldown/drilldown.html b/core/templates/ui/drilldown/drilldown.html index a3c55f9..4f89739 100644 --- a/core/templates/ui/drilldown/drilldown.html +++ b/core/templates/ui/drilldown/drilldown.html @@ -8,17 +8,23 @@ var present = true; if (present == true) { var toAppend = ` AND ${field}: "${value}"`; + var toRemove = `${field}: "${value}"`; } else { var toAppend = ` AND NOT ${field}: "${value}"`; + var toRemove = `NOT ${field}: "${value}"`; } - if (!queryElement.value.includes(toAppend)) { + if (!queryElement.value.includes(toAppend) && !queryElement.value.includes(toRemove)) { queryElement.value+=toAppend; } else { - queryElement.value = queryElement.value.replace(toAppend, ""); + queryElement.value = queryElement.value.replaceAll(toAppend, ""); + queryElement.value = queryElement.value.replaceAll(toRemove, ""); } if (field == "src") { document.getElementById("source").selectedIndex = 0; } + if (queryElement.value.startsWith(" AND ")) { + queryElement.value = queryElement.value.replace(" AND ", ""); + } htmx.trigger("#search", "click"); }