25 lines
868 B
Kotlin
25 lines
868 B
Kotlin
package dev.inmo.kmppscriptbuilder.core.ui
|
|
|
|
import androidx.compose.runtime.Composable
|
|
import dev.inmo.jsuikit.elements.DefaultButton
|
|
import dev.inmo.jsuikit.modifiers.UIKitButton
|
|
import dev.inmo.jsuikit.modifiers.UIKitMargin
|
|
import dev.inmo.jsuikit.modifiers.builder
|
|
import dev.inmo.kmppscriptbuilder.core.ui.utils.Drawer
|
|
import org.jetbrains.compose.web.dom.Div
|
|
|
|
actual class ListViewDrawer<T> : Drawer<ListView<T>> {
|
|
@Composable
|
|
override fun ListView<T>.draw() {
|
|
DefaultButton(addItemText, UIKitButton.Type.Primary ) { itemsList.add(createItem()) }
|
|
itemsList.forEach { item ->
|
|
Div(UIKitMargin.Small.builder()) {
|
|
buildView(item)
|
|
DefaultButton(removeItemText, UIKitButton.Type.Danger, UIKitMargin.Small) {
|
|
itemsList.remove(item)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|