From 67952b4b407e73a72d4fd1ee8e143387314500b0 Mon Sep 17 00:00:00 2001 From: Philip Wedemann <22521688+hfhbd@users.noreply.github.com> Date: Wed, 7 Jul 2021 18:04:00 +0200 Subject: [PATCH] Use typed Element in ref to remove cast in usage (#828) --- .../kotlin/androidx/compose/web/attributes/AttrsBuilder.kt | 4 ++-- .../src/jsMain/kotlin/androidx/compose/web/elements/Base.kt | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/web/core/src/jsMain/kotlin/androidx/compose/web/attributes/AttrsBuilder.kt b/web/core/src/jsMain/kotlin/androidx/compose/web/attributes/AttrsBuilder.kt index dfd9f4a02e..ec0a2c90e1 100644 --- a/web/core/src/jsMain/kotlin/androidx/compose/web/attributes/AttrsBuilder.kt +++ b/web/core/src/jsMain/kotlin/androidx/compose/web/attributes/AttrsBuilder.kt @@ -12,7 +12,7 @@ open class AttrsBuilder : EventsListenerBuilder() { val styleBuilder = StyleBuilderImpl() val propertyUpdates = mutableListOf Unit, Any>>() - var refEffect: (DisposableEffectScope.(Element) -> DisposableEffectResult)? = null + var refEffect: (DisposableEffectScope.(TElement) -> DisposableEffectResult)? = null fun style(builder: StyleBuilder.() -> Unit) { styleBuilder.apply(builder) @@ -30,7 +30,7 @@ open class AttrsBuilder : EventsListenerBuilder() { fun tabIndex(value: Int) = attr(TAB_INDEX, value.toString()) fun spellCheck(value: Boolean) = attr(SPELLCHECK, value.toString()) - fun ref(effect: DisposableEffectScope.(Element) -> DisposableEffectResult) { + fun ref(effect: DisposableEffectScope.(TElement) -> DisposableEffectResult) { this.refEffect = effect } diff --git a/web/core/src/jsMain/kotlin/androidx/compose/web/elements/Base.kt b/web/core/src/jsMain/kotlin/androidx/compose/web/elements/Base.kt index e194bc3603..005b486ab3 100644 --- a/web/core/src/jsMain/kotlin/androidx/compose/web/elements/Base.kt +++ b/web/core/src/jsMain/kotlin/androidx/compose/web/elements/Base.kt @@ -89,8 +89,8 @@ inline fun > ComposeDomNode( currentComposer.endNode() } -class DisposableEffectHolder( - var effect: (DisposableEffectScope.(Element) -> DisposableEffectResult)? = null +class DisposableEffectHolder( + var effect: (DisposableEffectScope.(TElement) -> DisposableEffectResult)? = null ) @Composable @@ -100,7 +100,7 @@ fun TagElement( content: (@Composable ElementScope.() -> Unit)? ) { val scope = remember { ElementScopeImpl() } - val refEffect = remember { DisposableEffectHolder() } + val refEffect = remember { DisposableEffectHolder() } ComposeDomNode, DomElementWrapper, DomApplier>( factory = {