Web-GUI: Gruppentabelle nach Strafpunkten filtern

Nur geteilte Gruppen (mit Strafpunkten) werden direkt angezeigt;
Gruppen ohne Strafpunkte landen in einem einklappbaren Bereich.
This commit is contained in:
Michael Stangl
2026-08-25 09:18:24 +02:00
parent 6ee33eb085
commit 118f2d0709
+13 -2
View File
@@ -409,11 +409,22 @@ async function zeigeVariante(i) {
}
html += '</tbody></table>';
const zeile = g => '<tr><td>' + g.name + '</td><td>' + g.anzahl + '</td><td>' +
g.teilungen + '</td><td>' + g.wert + '</td></tr>';
const geteilt = v.gruppen.filter(g => g.teilungen > 0 || g.wert > 0);
const ungeteilt = v.gruppen.filter(g => !(g.teilungen > 0 || g.wert > 0));
html += '<h2 style="margin-top:1rem">Gruppen</h2>' +
'<table><thead><tr><th>Gruppe</th><th>Personen</th><th>Teilungen</th><th>Strafpunkte</th></tr></thead><tbody>' +
v.gruppen.map(g => '<tr><td>' + g.name + '</td><td>' + g.anzahl + '</td><td>' +
g.teilungen + '</td><td>' + g.wert + '</td></tr>').join('') +
geteilt.map(zeile).join('') +
'</tbody></table>';
if (ungeteilt.length) {
html += '<details style="margin-top:.5rem">' +
'<summary>' + ungeteilt.length + ' Gruppen ohne Strafpunkte</summary>' +
'<table style="margin-top:.5rem"><thead><tr><th>Gruppe</th><th>Personen</th><th>Teilungen</th><th>Strafpunkte</th></tr></thead><tbody>' +
ungeteilt.map(zeile).join('') +
'</tbody></table></details>';
}
document.getElementById('ergebnisTabellen').innerHTML = html;
// Raumplan der gewaehlten Variante — inline einbetten (nicht als <img>),