From 687e61432081eda5049afc9147ed094666da0fd5 Mon Sep 17 00:00:00 2001 From: Sainan <63328889+Sainan@users.noreply.github.com> Date: Mon, 7 Apr 2025 15:07:37 +0200 Subject: [PATCH] chrore(webui): don't add duplicates to datalists Browsers will show all options, even if this makes no sense, causing some confusion for users. --- 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 849062b2..34dfef16 100644 --- a/static/webui/script.js +++ b/static/webui/script.js @@ -260,6 +260,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(" ", ""); @@ -306,20 +307,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 }; }); } -- 2.47.2