add headerCustomizer to table

This commit is contained in:
InsanusMokrassar 2022-01-25 20:13:03 +06:00
parent 2a76519843
commit 598e481f75
3 changed files with 9 additions and 2 deletions

1
.gitignore vendored
View File

@ -11,6 +11,7 @@ out/
secret.gradle secret.gradle
local.properties local.properties
local.*
kotlin-js-store/ kotlin-js-store/

View File

@ -2,6 +2,8 @@
## 0.0.23 ## 0.0.23
* New parameter of tables `headerCustomizer`
## 0.0.22 ## 0.0.22
* Add opportunity to customize table header cells * Add opportunity to customize table header cells

View File

@ -14,6 +14,7 @@ fun <T> DefaultTable(
dataList: SnapshotStateList<T>, dataList: SnapshotStateList<T>,
vararg tableModifiers: UIKitModifier, vararg tableModifiers: UIKitModifier,
attributesCustomizer: AttrBuilderContext<HTMLTableElement> = {}, attributesCustomizer: AttrBuilderContext<HTMLTableElement> = {},
headerCustomizer: AttrBuilderContext<HTMLTableSectionElement> = {},
headerCellCustomizer: AttrsBuilder<HTMLTableCellElement>.(i: Int) -> Unit = {}, headerCellCustomizer: AttrsBuilder<HTMLTableCellElement>.(i: Int) -> Unit = {},
rowAttributes: AttrsBuilder<HTMLTableRowElement>.(t: T) -> Unit = {}, rowAttributes: AttrsBuilder<HTMLTableRowElement>.(t: T) -> Unit = {},
cellCustomizer: AttrsBuilder<HTMLTableCellElement>.(i: Int, t: T) -> Unit = { _, _ -> }, cellCustomizer: AttrsBuilder<HTMLTableCellElement>.(i: Int, t: T) -> Unit = { _, _ -> },
@ -27,7 +28,7 @@ fun <T> DefaultTable(
attributesCustomizer() attributesCustomizer()
} }
) { ) {
Thead { Thead(headerCustomizer) {
Tr { Tr {
headerBuilders.forEachIndexed { i, t -> headerBuilders.forEachIndexed { i, t ->
Th( Th(
@ -40,6 +41,7 @@ fun <T> DefaultTable(
} }
} }
} }
Tbody { Tbody {
dataList.forEach { dataList.forEach {
Tr( Tr(
@ -68,6 +70,7 @@ fun <T> DefaultTable(
dataList: SnapshotStateList<T>, dataList: SnapshotStateList<T>,
vararg tableModifiers: UIKitModifier, vararg tableModifiers: UIKitModifier,
attributesCustomizer: AttrBuilderContext<HTMLTableElement> = {}, attributesCustomizer: AttrBuilderContext<HTMLTableElement> = {},
headerCustomizer: AttrBuilderContext<HTMLTableSectionElement> = {},
headerCellCustomizer: AttrsBuilder<HTMLTableCellElement>.(i: Int, title: String) -> Unit = { _, _ -> }, headerCellCustomizer: AttrsBuilder<HTMLTableCellElement>.(i: Int, title: String) -> Unit = { _, _ -> },
rowAttributes: AttrsBuilder<HTMLTableRowElement>.(t: T) -> Unit = {}, rowAttributes: AttrsBuilder<HTMLTableRowElement>.(t: T) -> Unit = {},
cellCustomizer: AttrsBuilder<HTMLTableCellElement>.(i: Int, t: T) -> Unit = { _, _ -> }, cellCustomizer: AttrsBuilder<HTMLTableCellElement>.(i: Int, t: T) -> Unit = { _, _ -> },
@ -89,6 +92,7 @@ fun <T> DefaultTable(
dataList, dataList,
tableModifiers = tableModifiers, tableModifiers = tableModifiers,
attributesCustomizer, attributesCustomizer,
headerCustomizer,
headerCellCustomizer, headerCellCustomizer,
rowAttributes, rowAttributes,
cellCustomizer, cellCustomizer,