From 27557945542fbd20f5a61b4c2e3141428b7e59ab Mon Sep 17 00:00:00 2001 From: jaakko Date: Tue, 7 Apr 2026 08:36:52 +0300 Subject: [PATCH] Agenttien valinta: klikkaus = yksi, Shift+klikkaus = multi-select MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Normaali klikkaus valitsee yhden agentin (poistaa muut valinnat). Shift+klikkaus lisää/poistaa agentin valinnasta yhteistä promptia varten. Co-Authored-By: Claude Opus 4.6 (1M context) --- network-poc/static/index.html | 50 ++++++++++++++++++++++++----------- 1 file changed, 35 insertions(+), 15 deletions(-) diff --git a/network-poc/static/index.html b/network-poc/static/index.html index 6892dd3..549f9f6 100644 --- a/network-poc/static/index.html +++ b/network-poc/static/index.html @@ -1013,7 +1013,7 @@
-
+
Asiakas (Kettu)
Asiakas
Tuoteomistaja
@@ -1025,13 +1025,13 @@
-
+
Tarkkailija (Aikuinen Susi)
Tarkkailija
Laadunvalvonta
-
+
Manageri (Karhunpentu)
Manageri
KPN CLI
@@ -1044,22 +1044,22 @@
-
+
Koodari (Salamanteri)
Koodari
SOFTAKEHITYS
-
+
Data-Agentti (Pesukarhu)
Data
Tietokannat
-
+
QA (Pikkususi)
QA
Testaus
-
+
DevOps (Laiskiainen)
DevOps
Käyttöönotto
@@ -1264,16 +1264,36 @@ } } - window.selectAgent = function(agent) { - const card = document.querySelector(`[data-agent="${agent}"]`); + window.selectAgent = function(agent, e) { + const isShift = e && e.shiftKey; - if (selectedAgents.has(agent)) { - selectedAgents.delete(agent); - card.classList.remove('selected'); - card.classList.remove('active'); + if (isShift) { + // Shift+klikkaus: lisää/poista multi-selectistä + const card = document.querySelector(`[data-agent="${agent}"]`); + if (selectedAgents.has(agent)) { + selectedAgents.delete(agent); + card?.classList.remove('selected'); + card?.classList.remove('active'); + } else { + selectedAgents.add(agent); + card?.classList.add('selected'); + } } else { - selectedAgents.add(agent); - card.classList.add('selected'); + // Normaali klikkaus: valitse yksi (poista muut) + const wasSelected = selectedAgents.has(agent) && selectedAgents.size === 1; + // Poistetaan kaikki valinnat + document.querySelectorAll('.avatar-card').forEach(c => { + c.classList.remove('selected'); + c.classList.remove('active'); + }); + selectedAgents.clear(); + + if (!wasSelected) { + // Valitaan klikattu + selectedAgents.add(agent); + const card = document.querySelector(`[data-agent="${agent}"]`); + card?.classList.add('selected'); + } } updatePromptEditor();