KotlinPublicationScriptsBui.../web/src/jsMain/kotlin/dev/inmo/kmppscriptbuilder/web/utils/keepScrolling.kt

11 lines
288 B
Kotlin

package dev.inmo.kmppscriptbuilder.web.utils
import kotlinx.browser.document
inline fun <R> keepScrolling(crossinline block: () -> R): R = document.body ?.let {
val (x, y) = (it.scrollLeft to it.scrollTop)
return block().also { _ ->
it.scrollTo(x, y)
}
} ?: block()