mirror of
https://github.com/InsanusMokrassar/JSUIKitKBindings.git
synced 2025-12-04 21:35:40 +00:00
Compare commits
12 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 40c3c0f437 | |||
| e46b2e0ddd | |||
| 2db4e48571 | |||
| e13a2fd241 | |||
| b3b19ed2b7 | |||
| d590762d28 | |||
| 65703d1c22 | |||
| 814045a43f | |||
| 1f36657857 | |||
| a2830e5e85 | |||
| 484564e323 | |||
| b5e93bc829 |
16
CHANGELOG.md
16
CHANGELOG.md
@@ -1,5 +1,21 @@
|
||||
# Changelog
|
||||
|
||||
## 0.0.15
|
||||
|
||||
* Add support of link icons
|
||||
|
||||
## 0.0.14
|
||||
|
||||
* Add DefaultTable parameter cellCustomizer
|
||||
|
||||
## 0.0.13
|
||||
|
||||
* Add `Icon#Custom`
|
||||
|
||||
## 0.0.12
|
||||
|
||||
* Add `rowAttributes` to table fun
|
||||
|
||||
## 0.0.11
|
||||
|
||||
* Upfill `Nav` and `UIKitNav`
|
||||
|
||||
@@ -9,4 +9,4 @@ android.enableJetifier=true
|
||||
# Project data
|
||||
|
||||
group=dev.inmo
|
||||
version=0.0.11
|
||||
version=0.0.15
|
||||
|
||||
@@ -219,13 +219,15 @@ sealed class Icon(val name: String) {
|
||||
}
|
||||
attributesCustomizer()
|
||||
}
|
||||
if (type == UIKitIconType.Button) {
|
||||
Button(configurer)
|
||||
} else {
|
||||
Span(configurer)
|
||||
when (type) {
|
||||
UIKitIconType.Default -> Span(configurer)
|
||||
UIKitIconType.Link -> A(href = "#", configurer)
|
||||
UIKitIconType.Button -> Button(configurer)
|
||||
}
|
||||
}
|
||||
|
||||
class Custom(name: String) : Icon(name)
|
||||
|
||||
@Composable
|
||||
fun drawAsButton(
|
||||
vararg modifiers: UIKitModifier,
|
||||
@@ -241,4 +243,12 @@ sealed class Icon(val name: String) {
|
||||
attributesCustomizer: AttrBuilderContext<out HTMLElement> = {},
|
||||
onClick: ((Event) -> Unit)? = null
|
||||
) = invoke(*modifiers, type = UIKitIconType.Default, ratio = ratio, onClick = onClick, attributesCustomizer = attributesCustomizer)
|
||||
|
||||
@Composable
|
||||
fun drawAsLink(
|
||||
vararg modifiers: UIKitModifier,
|
||||
ratio: Float? = null,
|
||||
attributesCustomizer: AttrBuilderContext<out HTMLElement> = {},
|
||||
onClick: ((Event) -> Unit)? = null
|
||||
) = invoke(*modifiers, type = UIKitIconType.Link, ratio = ratio, onClick = onClick, attributesCustomizer = attributesCustomizer)
|
||||
}
|
||||
|
||||
@@ -3,6 +3,7 @@ package dev.inmo.jsuikit.elements
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.runtime.snapshots.SnapshotStateList
|
||||
import dev.inmo.jsuikit.modifiers.*
|
||||
import org.jetbrains.compose.web.attributes.AttrsBuilder
|
||||
import org.jetbrains.compose.web.dom.*
|
||||
import org.jetbrains.compose.web.dom.Text
|
||||
import org.w3c.dom.*
|
||||
@@ -14,7 +15,9 @@ fun <T> DefaultTable(
|
||||
vararg tableModifiers: UIKitModifier,
|
||||
attributesCustomizer: AttrBuilderContext<HTMLTableElement> = {},
|
||||
headingCustomizer: AttrBuilderContext<HTMLTableCellElement> = {},
|
||||
cellFiller: @Composable (i: Int, t: T) -> Unit
|
||||
rowAttributes: AttrsBuilder<HTMLTableRowElement>.(t: T) -> Unit = {},
|
||||
cellCustomizer: AttrsBuilder<HTMLTableCellElement>.(i: Int, t: T) -> Unit = { _, _ -> },
|
||||
cellFiller: @Composable ElementScope<HTMLTableCellElement>.(i: Int, t: T) -> Unit
|
||||
) {
|
||||
val headingIndexes = heading.indices
|
||||
Table(
|
||||
@@ -39,9 +42,17 @@ fun <T> DefaultTable(
|
||||
}
|
||||
Tbody {
|
||||
dataList.forEach {
|
||||
Tr {
|
||||
Tr(
|
||||
{
|
||||
rowAttributes(it)
|
||||
}
|
||||
) {
|
||||
headingIndexes.forEach { i ->
|
||||
Td {
|
||||
Td(
|
||||
{
|
||||
cellCustomizer(i, it)
|
||||
}
|
||||
) {
|
||||
cellFiller(i, it)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user