feat(filter): Draft-Auswahl mit OK/Abbrechen-Buttons
All checks were successful
Build & Publish Docker Image / build-and-push (push) Successful in 1m17s

Der Filter-Dropdown sammelt Checkbox-Klicks jetzt nur noch lokal und
wendet sie erst beim „OK"-Klick auf den Store an. Solange der User
herumklickt, läuft die aktive Suche unverändert weiter. Abbrechen (per
Button, Klick außerhalb oder Escape) verwirft die Draft-Auswahl.

- Neuer searchFilterStore.commit(Set) für One-Shot-Apply (triggert den
  active-$effect nur ein einziges Mal).
- „Alle"-Quick-Action setzt draft = alle Domains explizit; erst beim
  Commit wird das wieder in die leere Menge überführt, damit neu
  freigeschaltete Admin-Domains weiterhin automatisch dabei sind.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
hsiegeln
2026-04-18 08:34:43 +02:00
parent 2e196b4834
commit 52858f94fe
2 changed files with 105 additions and 32 deletions

View File

@@ -62,6 +62,14 @@ class SearchFilterStore {
this.persist();
}
// Übernimmt eine vorbereitete Draft-Auswahl auf einmal — wird vom
// Filter-Dropdown genutzt, der Toggles erst lokal sammelt und erst beim
// „OK"-Klick committet. Triggert den active-$effect nur ein einziges Mal.
commit(next: Set<string>): void {
this.active = next;
this.persist();
}
// True wenn der User die Suche eingeschränkt hat (mindestens eine aber nicht alle).
get isFiltered(): boolean {
return this.active.size > 0 && this.active.size < this.domains.length;