From c9b19e24eab1001005dd08a2ef663502b08b8897 Mon Sep 17 00:00:00 2001 From: user Date: Mon, 20 May 2024 22:21:15 +0200 Subject: usability - disallow double query --- src/static/main.js | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) (limited to 'src/static') diff --git a/src/static/main.js b/src/static/main.js index 9bdaa11..b0e1431 100644 --- a/src/static/main.js +++ b/src/static/main.js @@ -13,6 +13,7 @@ var heatmap = L.featureGroup().addTo(map); const CategoryField = document.getElementById('Category'); const LoadingIndicator = document.getElementById('LoadingIndicator'); +const SubmitButton = document.getElementById('SubmitButton'); const form = document.getElementById('QueryForm'); form.addEventListener('submit', (event) => { @@ -32,10 +33,14 @@ var overlayMaps = { var layerControl = L.control.layers({},overlayMaps).addTo(map); function runQueryAfterLoad() { - LoadingIndicator.hidden = false; - markers.clearLayers(); - polygons.clearLayers(); - fetchAll(CategoryField.value); + if (!SubmitButton.disabled) { // Disallow double queries + SubmitButton.disabled = true; + LoadingIndicator.hidden = false; + + markers.clearLayers(); + polygons.clearLayers(); + fetchAll(CategoryField.value); + } } async function fetchCategories() { @@ -123,6 +128,7 @@ async function fetchAll(Category) { const shops = await response.json(); shops.forEach((shop) => addShop(shop)); LoadingIndicator.hidden = true; + SubmitButton.disabled = false; } async function fetchShopHeatmap() { -- cgit v1.2.3