From 6aa2c1e59c5cda58dc453224823f18f9426c153f Mon Sep 17 00:00:00 2001 From: henryB99 <56050356+henryB99@users.noreply.github.com> Date: Thu, 25 Jan 2024 15:56:53 +0100 Subject: [PATCH] Fix nested listbox selection behavior (#851) * Fix nested listbox selection behavior * Implement review feedback --- .../src/jsMain/kotlin/dev/fritz2/headless/components/listbox.kt | 2 +- .../jsMain/kotlin/dev/fritz2/headless/foundation/OpenClose.kt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/headless/src/jsMain/kotlin/dev/fritz2/headless/components/listbox.kt b/headless/src/jsMain/kotlin/dev/fritz2/headless/components/listbox.kt index cbb112b22..63fabd806 100644 --- a/headless/src/jsMain/kotlin/dev/fritz2/headless/components/listbox.kt +++ b/headless/src/jsMain/kotlin/dev/fritz2/headless/components/listbox.kt @@ -281,7 +281,7 @@ class Listbox(tag: Tag, id: String?) : Tag by tag, Ope value.handler?.invoke( this, - mousedowns.mapNotNull { e -> + clicks.mapNotNull { e -> e.preventDefault() e.stopImmediatePropagation() entries.current[index].let { diff --git a/headless/src/jsMain/kotlin/dev/fritz2/headless/foundation/OpenClose.kt b/headless/src/jsMain/kotlin/dev/fritz2/headless/foundation/OpenClose.kt index 8f1be940a..3676381ca 100644 --- a/headless/src/jsMain/kotlin/dev/fritz2/headless/foundation/OpenClose.kt +++ b/headless/src/jsMain/kotlin/dev/fritz2/headless/foundation/OpenClose.kt @@ -48,7 +48,7 @@ abstract class OpenClose: WithJob { return if (domNode is HTMLButtonElement) { clicks } else { - keydowns.filter { shortcutOf(it) in listOf(Keys.Space, Keys.Enter) } + merge(clicks, keydowns.filter { shortcutOf(it) in setOf(Keys.Space, Keys.Enter) }) } } }