Skip to content

Instantly share code, notes, and snippets.

@bjonnh
Created April 5, 2019 22:06
Show Gist options
  • Save bjonnh/a1c4413b9b2b87413d3930f5fffd6140 to your computer and use it in GitHub Desktop.
Save bjonnh/a1c4413b9b2b87413d3930f5fffd6140 to your computer and use it in GitHub Desktop.
class TableRow(col1: String, col2: String, col3: String): BaseDataComponent() {
var col1 by obs(col1)
var col2 by obs(col2)
var col3 by obs(col3)
}
override fun start(state: Map<String, Any>) {
I18n.manager =
DefaultI18nManager(mapOf("pl" to require("./messages-pl.json"), "en" to require("./messages-en.json")))
root = Root("kvapp") {
span("Hello!")
lateinit var button: Button
hPanel(spacing = 20, alignItems = FlexAlignItems.CENTER) {
span("A label.")
button = button("Click me")
// do something with a Button instance
}
dataContainer(tablerows, { element, _, _ ->
Row {
cell(element.col1)
cell(element.col2)
cell(element.col3)
}
}, container = Table(
listOf("Column 1", "Column 2", "Column 3"),
setOf(TableType.BORDERED, TableType.CONDENSED, TableType.STRIPED, TableType.HOVER), responsive = true
), containerAdd = { component, element -> this.add(component)})
val formpanel = formPanel<Form> {
add(Form::text, Text(label = "Text field").apply {
placeholder = "Wow"
})
}
button.onClick {
tablerows.add(TableRow("foo", "bar", "bing"))
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment