From 3e41505b81dba4c8344c7cbbc17b28112d037da4 Mon Sep 17 00:00:00 2001 From: hsiegeln <37154749+hsiegeln@users.noreply.github.com> Date: Sat, 18 Apr 2026 10:51:56 +0200 Subject: [PATCH] =?UTF-8?q?fix(filter):=20Liste=20schlie=C3=9Ft=20nur=20no?= =?UTF-8?q?ch=20bei=20OK/Abbrechen/Escape?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Der Klick-außerhalb-Handler fing gelegentlich Events von abgewählten Checkbox-Zeilen ab, weil deren Layout beim Re-Render kurz verschob und event.target außerhalb des Containers landete — das Menu schloss sich dann mitten im Filtern. Handler komplett entfernt; Escape und die expliziten Footer-Buttons bleiben die einzigen Wege zum Schließen. Co-Authored-By: Claude Opus 4.7 (1M context) --- src/lib/components/SearchFilter.svelte | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/src/lib/components/SearchFilter.svelte b/src/lib/components/SearchFilter.svelte index cc45a2f..96cd11e 100644 --- a/src/lib/components/SearchFilter.svelte +++ b/src/lib/components/SearchFilter.svelte @@ -48,20 +48,18 @@ else openMenu(); } - function handleClickOutside(e: MouseEvent) { - if (container && !container.contains(e.target as Node)) cancel(); - } - function handleKey(e: KeyboardEvent) { if (e.key === 'Escape' && open) cancel(); } + // Kein Klick-außerhalb-Handler: die Liste schließt sich nur noch explizit + // über OK/Abbrechen. Früher wurde bei Re-Render einer Checkbox-Zeile + // gelegentlich ein click-Target gesehen, das nicht mehr im container hing, + // was das Menu fälschlich schloss. $effect(() => { if (open) { - document.addEventListener('click', handleClickOutside); document.addEventListener('keydown', handleKey); return () => { - document.removeEventListener('click', handleClickOutside); document.removeEventListener('keydown', handleKey); }; }