fix(filter): Liste schließt nur noch bei OK/Abbrechen/Escape
All checks were successful
Build & Publish Docker Image / build-and-push (push) Successful in 1m16s
All checks were successful
Build & Publish Docker Image / build-and-push (push) Successful in 1m16s
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) <noreply@anthropic.com>
This commit is contained in:
@@ -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);
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user