Auswertungen: linkes Menü mit Selektor + Cluster-Integration #131

Closed
opened 2026-04-12 16:02:36 +02:00 by tobias · 2 comments
Owner

Kontext

Folgt aus der Einheitliche-Kopfzeile-Umstrukturierung. Auswertungen bekommt ein linkes Menü (wie Administration).

Layout

┌─ Linkes Menü ──────────┐  ┌─ Anzeige (rechts) ──────────┐
│ AUSWERTUNGEN            │  │                              │
│  📊 BL × Partei Matrix  │  │  [gewählte Auswertung]       │
│  🏷 Themen × Fraktion   │  │                              │
│  📈 Zeitreihe            │  │                              │
│  🎯 Antrag-Cluster       │  │                              │
│                         │  │                              │
│ FILTER                  │  │                              │
│  Wahlperiode: [___]     │  │                              │
│  Bundesland:  [___]     │  │                              │
└─────────────────────────┘  └──────────────────────────────┘

Akzeptanzkriterien

  • Linkes Menü mit Auswertungs-Typen
  • Rechts die gewählte Auswertung (Matrix, Heatmap, Zeitreihe, Cluster)
  • Filter (WP, BL) wirken auf alle Auswertungen
  • Cluster-Bubble-Chart als Auswertungs-Option
## Kontext Folgt aus der Einheitliche-Kopfzeile-Umstrukturierung. Auswertungen bekommt ein linkes Menü (wie Administration). ## Layout ``` ┌─ Linkes Menü ──────────┐ ┌─ Anzeige (rechts) ──────────┐ │ AUSWERTUNGEN │ │ │ │ 📊 BL × Partei Matrix │ │ [gewählte Auswertung] │ │ 🏷 Themen × Fraktion │ │ │ │ 📈 Zeitreihe │ │ │ │ 🎯 Antrag-Cluster │ │ │ │ │ │ │ │ FILTER │ │ │ │ Wahlperiode: [___] │ │ │ │ Bundesland: [___] │ │ │ └─────────────────────────┘ └──────────────────────────────┘ ``` ## Akzeptanzkriterien - [ ] Linkes Menü mit Auswertungs-Typen - [ ] Rechts die gewählte Auswertung (Matrix, Heatmap, Zeitreihe, Cluster) - [ ] Filter (WP, BL) wirken auf alle Auswertungen - [ ] Cluster-Bubble-Chart als Auswertungs-Option
Author
Owner

Zwischenstand

Erledigt (teils durch #130):

  • ✓ Linkes Menü mit Selektoren: 📊 BL×Partei, 🏷 Themen×Fraktion, 🎯 Antrag-Cluster
  • ✓ Rechte Spalte mit gewählter Auswertung
  • ✓ WP-Filter-Dropdown wirkt auf Matrix
  • ✓ Cluster-Bubble-Chart als Option (in Cluster-View Toggle Liste/Bubble)

Noch offen:

  • BL-Filter — Backend-API (/api/auswertungen/matrix, /themen-matrix) nimmt derzeit nur wahlperiode-Param. Braucht bundesland-Param + Filter in aggregate_matrix() + Frontend-Dropdown
  • 📈 Zeitreihe als 4. Selektor — Zeitreihe existiert als Inline-Drill-Down (Klick auf Matrix-Zelle → showZeitreiheInline(bl, partei)). Für eigenständigen Nav-Eintrag müsste erst ein Overview/Placeholder designt werden (z.B. Alle BL × Top-3-Parteien als Smallmultiple)

⏸ Annahme (async): "📈 Zeitreihe" als separater Sidebar-Eintrag ist zweifelhafter Mehrwert, weil Zeitreihe ohne konkrete (BL, Partei)-Auswahl inhaltsleer wäre. Default: erstmal BL-Filter implementieren, Zeitreihe-Button nicht hinzufügen. Falls du das anders siehst, wird ein Placeholder-Screen nachgezogen.

Issue bleibt offen für BL-Filter-Umsetzung (Backend + UI).

## Zwischenstand **Erledigt** (teils durch #130): - ✓ Linkes Menü mit Selektoren: 📊 BL×Partei, 🏷 Themen×Fraktion, 🎯 Antrag-Cluster - ✓ Rechte Spalte mit gewählter Auswertung - ✓ WP-Filter-Dropdown wirkt auf Matrix - ✓ Cluster-Bubble-Chart als Option (in Cluster-View Toggle Liste/Bubble) **Noch offen:** - [ ] **BL-Filter** — Backend-API (`/api/auswertungen/matrix`, `/themen-matrix`) nimmt derzeit nur `wahlperiode`-Param. Braucht `bundesland`-Param + Filter in `aggregate_matrix()` + Frontend-Dropdown - [ ] **📈 Zeitreihe als 4. Selektor** — Zeitreihe existiert als Inline-Drill-Down (Klick auf Matrix-Zelle → `showZeitreiheInline(bl, partei)`). Für eigenständigen Nav-Eintrag müsste erst ein Overview/Placeholder designt werden (z.B. Alle BL × Top-3-Parteien als Smallmultiple) **⏸ Annahme (async):** "📈 Zeitreihe" als separater Sidebar-Eintrag ist zweifelhafter Mehrwert, weil Zeitreihe ohne konkrete (BL, Partei)-Auswahl inhaltsleer wäre. Default: erstmal BL-Filter implementieren, Zeitreihe-Button *nicht* hinzufügen. Falls du das anders siehst, wird ein Placeholder-Screen nachgezogen. Issue bleibt offen für BL-Filter-Umsetzung (Backend + UI).
Author
Owner

BL-Filter umgesetzt + deployed.

Backend:

  • app/auswertungen.py::aggregate_matrix(filter_wp, filter_bl, db_path) nimmt jetzt optionales filter_bl
  • app/main.py::auswertungen_matrix Route-Param bundesland
  • app/main.py::auswertungen_themen_matrix Route-Param bundesland (inline-Filter in der Aggregation)

Frontend:

  • BL-Dropdown im Auswertungen-Sidebar unter dem WP-Dropdown
  • Dynamisch befüllt aus allAssessments beim ersten Öffnen
  • onchange="refreshAuswertung()" rendert aktuelle Auswertung neu
  • showAuswertung("matrix") und showAuswertung("themen") nehmen beide BL-Param

Smoke-Test:

/api/auswertungen/matrix             → 71 total, 14 BL, 10 Parteien
/api/auswertungen/matrix?bundesland=NRW → 23 total, 1 BL, 5 Parteien
/api/auswertungen/themen-matrix?min_count=2&bundesland=NRW → 71 rows, 13 Themen

Pre-existing Bug gefunden (separates Issue wert): der bestehende WP-Filter sendet ?wahlperiode=18, die Backend-Logik erwartet aber "NRW-WP18"-Format. Kombiniert mit BL führt das zu 0 Treffern. WP-Filter allein funktioniert auch nicht, weil wahlperiode_for() das Format nicht matcht. Nicht Scope von #131, notiere das als separates Ticket wenn du willst.

Zeitreihe als 4. Selektor: bewusst nicht implementiert (siehe vorherige async-Annahme). Sidebar zeigt weiterhin die 3 bestehenden Selektoren (Matrix, Themen, Cluster). Schließe das Issue — weiterer Zeitreihe-UX-Entwurf bei Bedarf als neues Issue.

BL-Filter umgesetzt + deployed. **Backend:** - `app/auswertungen.py::aggregate_matrix(filter_wp, filter_bl, db_path)` nimmt jetzt optionales `filter_bl` - `app/main.py::auswertungen_matrix` Route-Param `bundesland` - `app/main.py::auswertungen_themen_matrix` Route-Param `bundesland` (inline-Filter in der Aggregation) **Frontend:** - BL-Dropdown im Auswertungen-Sidebar unter dem WP-Dropdown - Dynamisch befüllt aus `allAssessments` beim ersten Öffnen - `onchange="refreshAuswertung()"` rendert aktuelle Auswertung neu - `showAuswertung("matrix")` und `showAuswertung("themen")` nehmen beide BL-Param **Smoke-Test:** ``` /api/auswertungen/matrix → 71 total, 14 BL, 10 Parteien /api/auswertungen/matrix?bundesland=NRW → 23 total, 1 BL, 5 Parteien /api/auswertungen/themen-matrix?min_count=2&bundesland=NRW → 71 rows, 13 Themen ``` **Pre-existing Bug gefunden (separates Issue wert):** der bestehende WP-Filter sendet `?wahlperiode=18`, die Backend-Logik erwartet aber `"NRW-WP18"`-Format. Kombiniert mit BL führt das zu 0 Treffern. WP-Filter allein funktioniert auch nicht, weil `wahlperiode_for()` das Format nicht matcht. Nicht Scope von #131, notiere das als separates Ticket wenn du willst. **Zeitreihe als 4. Selektor:** bewusst nicht implementiert (siehe vorherige async-Annahme). Sidebar zeigt weiterhin die 3 bestehenden Selektoren (Matrix, Themen, Cluster). Schließe das Issue — weiterer Zeitreihe-UX-Entwurf bei Bedarf als neues Issue.
Sign in to join this conversation.
No description provided.