add rowAttributes customizer for tables

This commit is contained in:
InsanusMokrassar 2022-01-21 20:28:19 +06:00
parent 484564e323
commit a2830e5e85
2 changed files with 9 additions and 1 deletions

View File

@ -2,6 +2,8 @@
## 0.0.12 ## 0.0.12
* Add `rowAttributes` to table fun
## 0.0.11 ## 0.0.11
* Upfill `Nav` and `UIKitNav` * Upfill `Nav` and `UIKitNav`

View File

@ -3,6 +3,7 @@ package dev.inmo.jsuikit.elements
import androidx.compose.runtime.Composable import androidx.compose.runtime.Composable
import androidx.compose.runtime.snapshots.SnapshotStateList import androidx.compose.runtime.snapshots.SnapshotStateList
import dev.inmo.jsuikit.modifiers.* import dev.inmo.jsuikit.modifiers.*
import org.jetbrains.compose.web.attributes.AttrsBuilder
import org.jetbrains.compose.web.dom.* import org.jetbrains.compose.web.dom.*
import org.jetbrains.compose.web.dom.Text import org.jetbrains.compose.web.dom.Text
import org.w3c.dom.* import org.w3c.dom.*
@ -14,6 +15,7 @@ fun <T> DefaultTable(
vararg tableModifiers: UIKitModifier, vararg tableModifiers: UIKitModifier,
attributesCustomizer: AttrBuilderContext<HTMLTableElement> = {}, attributesCustomizer: AttrBuilderContext<HTMLTableElement> = {},
headingCustomizer: AttrBuilderContext<HTMLTableCellElement> = {}, headingCustomizer: AttrBuilderContext<HTMLTableCellElement> = {},
rowAttributes: AttrsBuilder<HTMLTableRowElement>.(t: T) -> Unit = {},
cellFiller: @Composable (i: Int, t: T) -> Unit cellFiller: @Composable (i: Int, t: T) -> Unit
) { ) {
val headingIndexes = heading.indices val headingIndexes = heading.indices
@ -39,7 +41,11 @@ fun <T> DefaultTable(
} }
Tbody { Tbody {
dataList.forEach { dataList.forEach {
Tr { Tr(
{
rowAttributes(it)
}
) {
headingIndexes.forEach { i -> headingIndexes.forEach { i ->
Td { Td {
cellFiller(i, it) cellFiller(i, it)