From 4b9cded9668140a998c9e09bc5457f1db0e6aae5 Mon Sep 17 00:00:00 2001 From: Adriano Dal Pastro Date: Fri, 15 May 2026 05:38:42 +0000 Subject: [PATCH] fix(dashboard): leggi righe selezionate da e.args nel callback selection Il callback registrato via top_table.on("selection", ...) riceve un GenericEventArguments di NiceGUI, non un TableSelectionEventArguments, quindi l'attributo .selection non esiste e il click su una riga della tabella "Top genomi" generava AttributeError. Le righe selezionate arrivano nel payload Quasar come e.args["rows"]. Co-Authored-By: Claude Opus 4.7 (1M context) --- src/multi_swarm/dashboard/nicegui_app.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/multi_swarm/dashboard/nicegui_app.py b/src/multi_swarm/dashboard/nicegui_app.py index 15cf9ea..cbd3fef 100644 --- a/src/multi_swarm/dashboard/nicegui_app.py +++ b/src/multi_swarm/dashboard/nicegui_app.py @@ -847,9 +847,10 @@ def genomes() -> None: _render_detail(match.iloc[0].to_dict()) def on_row_selected(e: Any) -> None: - if not e.selection: + rows = (e.args or {}).get("rows") or [] + if not rows: return - full_id = e.selection[0].get("_full_id") + full_id = rows[0].get("_full_id") if not full_id: return state["selected_gid"] = full_id