From ef4973e69436dd1dfee2f75c52b36e88318beac4 Mon Sep 17 00:00:00 2001 From: Sainan <63328889+Sainan@users.noreply.github.com> Date: Tue, 8 Apr 2025 03:06:19 -0700 Subject: [PATCH] chrore(webui): don't add duplicates to datalists (#1510) Browsers will show all options, even if this makes no sense, causing some confusion for users. Reviewed-on: https://onlyg.it/OpenWF/SpaceNinjaServer/pulls/1510 Co-authored-by: Sainan <63328889+Sainan@users.noreply.github.com> Co-committed-by: Sainan <63328889+Sainan@users.noreply.github.com> --- static/webui/script.js | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/static/webui/script.js b/static/webui/script.js index 1dd0bb22..d55219a0 100644 --- a/static/webui/script.js +++ b/static/webui/script.js @@ -265,6 +265,7 @@ function fetchItemList() { } else if (type == "uniqueLevelCaps") { uniqueLevelCaps = items; } else { + const nameSet = new Set(); items.forEach(item => { if (item.name.includes(" ")) { item.name = item.name.replace(" ", ""); @@ -311,20 +312,19 @@ function fetchItemList() { document .getElementById("datalist-" + type + "-" + item.partType.slice(5)) .appendChild(option); + } + } else if (item.badReason != "notraw") { + if (nameSet.has(item.name)) { + //console.log(`Not adding ${item.uniqueName} to datalist for ${type} due to duplicate display name: ${item.name}`); } else { - console.log(item.partType); + nameSet.add(item.name); + const option = document.createElement("option"); option.setAttribute("data-key", item.uniqueName); option.value = item.name; document.getElementById("datalist-" + type).appendChild(option); } } - if (item.badReason != "notraw") { - const option = document.createElement("option"); - option.setAttribute("data-key", item.uniqueName); - option.value = item.name; - document.getElementById("datalist-" + type).appendChild(option); - } itemMap[item.uniqueName] = { ...item, type }; }); }