From 5650db5e88cc266962b58947c7e515c86af9f58d Mon Sep 17 00:00:00 2001 From: Shagen Ogandzhanian Date: Tue, 24 Aug 2021 00:17:19 +0200 Subject: [PATCH] Don't store any attribute values but rather reset one that needed and remove the rest --- .../kotlin/org/jetbrains/compose/web/DomApplier.kt | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/web/core/src/jsMain/kotlin/org/jetbrains/compose/web/DomApplier.kt b/web/core/src/jsMain/kotlin/org/jetbrains/compose/web/DomApplier.kt index 59ec4db962..7e7c5c6a34 100644 --- a/web/core/src/jsMain/kotlin/org/jetbrains/compose/web/DomApplier.kt +++ b/web/core/src/jsMain/kotlin/org/jetbrains/compose/web/DomApplier.kt @@ -90,17 +90,18 @@ internal open class DomNodeWrapper(open val node: Node) { internal class DomElementWrapper(override val node: HTMLElement): DomNodeWrapper(node) { - private var currentAttrs: Map? = null fun updateAttrs(attrs: Map) { - currentAttrs?.forEach { - node.removeAttribute(it.key) + attrs.forEach { (name, value) -> + node.setAttribute(name, value) } - attrs.forEach { - node.setAttribute(it.key, it.value) + node.getAttributeNames().forEach { name -> + if (name == "style") return + if (!attrs.containsKey(name)) { + node.removeAttribute(name) + } } - currentAttrs = attrs } fun updateProperties(list: List Unit, Any>>) {