Column

data class Column<T>(id: String, lens: Lens<T, String>?, title: String, minWidth: Property?, maxWidth: Property?, hidden: Boolean, position: Int, sorting: Sorting, sortBy: Comparator<T>?, styling: BasicParams.(value: IndexedValue<StatefulItem<T>>) -> Unit, content: Td.(value: IndexedValue<StatefulItem<T>>, cellStore: Store<String>?, rowStore: SubStore<List<T>, T>) -> Unit, headerStyling: BasicParams.(sorting: Sorting) -> Unit, headerContent: Div.(column: Column<T>) -> Unit)

Main class to define the representation of the data class `T` of one table column. This class mainly is the result of the DSL configuration of the datatable.

Besides the main properties like the header title string or the Lens to grab the current String representation of the row data during the rendering process, one can also specify the sorting algorithm to fit the specific type (like a Date for example) or the appearance of the cell styling and content or the header styling and content.

Constructors

Column
Link copied to clipboard
js
fun <T> Column(id: String, lens: Lens<T, String>? = null, title: String = "", minWidth: Property? = null, maxWidth: Property? = null, hidden: Boolean = false, position: Int = 0, sorting: Sorting = Sorting.NONE, sortBy: Comparator<T>? = null, styling: BasicParams.(value: IndexedValue<StatefulItem<T>>) -> Unit = { _ -> }, content: Td.(value: IndexedValue<StatefulItem<T>>, cellStore: Store<String>?, rowStore: SubStore<List<T>, T>) -> Unit, headerStyling: BasicParams.(sorting: Sorting) -> Unit = {}, headerContent: Div.(column: Column<T>) -> Unit)

Properties

content
Link copied to clipboard
js
val content: Td.(value: IndexedValue<StatefulItem<T>>, cellStore: Store<String>?, rowStore: SubStore<List<T>, T>) -> Unit
headerContent
Link copied to clipboard
js
val headerContent: Div.(column: Column<T>) -> Unit
headerStyling
Link copied to clipboard
js
val headerStyling: BasicParams.(sorting: Sorting) -> Unit
hidden
Link copied to clipboard
js
val hidden: Boolean = false
id
Link copied to clipboard
js
val id: String
lens
Link copied to clipboard
js
val lens: Lens<T, String>? = null
maxWidth
Link copied to clipboard
js
val maxWidth: Property? = null
minWidth
Link copied to clipboard
js
val minWidth: Property? = null
position
Link copied to clipboard
js
val position: Int = 0
sortBy
Link copied to clipboard
js
val sortBy: Comparator<T>? = null
sorting
Link copied to clipboard
js
val sorting: Sorting
styling
Link copied to clipboard
js
val styling: BasicParams.(value: IndexedValue<StatefulItem<T>>) -> Unit
title
Link copied to clipboard
js
val title: String