DateTimeColumn

class DateTimeColumn<T : Any>(header: String, val kClass: KClass<T>, val adapter: DateTimeAdapter<T>, width: Float = 1.0f, sortable: Boolean = true, filterable: Boolean = true) : ReportColumn

Generyczna kolumna do wyświetlania danych daty i/lub czasu w raporcie. Wykorzystuje adapter DateTimeAdapter do formatowania i obsługi różnych typów daty/czasu.

Parameters

header

Nagłówek kolumny

kClass

Klasa typu T, używana do deserializacji filtra.

adapter

Adapter specyficzny dla typu T, służący do formatowania i konwersji.

width

Względna szerokość kolumny (domyślnie 1.0)

sortable

Czy kolumna obsługuje sortowanie (domyślnie true)

filterable

Czy kolumna obsługuje filtrowanie (domyślnie true)

Type Parameters

T

Typ daty/czasu (np. LocalDate, LocalDateTime, Instant, LocalTime).

Constructors

Link copied to clipboard
constructor(header: String, kClass: KClass<T>, adapter: DateTimeAdapter<T>, width: Float = 1.0f, sortable: Boolean = true, filterable: Boolean = true)

Properties

Link copied to clipboard
private val adapter: DateTimeAdapter<T>
Link copied to clipboard
val filter: Filter<*>?

Leniwa inicjalizacja filtra dla kolumny. Filtr jest tworzony tylko jeśli kolumna obsługuje filtrowanie.

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
private val kClass: KClass<T>
Link copied to clipboard
Link copied to clipboard

Functions

Link copied to clipboard
fun ReportColumn.asList(maxVisibleItems: Int = 3): MultiRowColumn

Przekształca dowolną kolumnę w kolumnę wyświetlającą listę wartości.

Link copied to clipboard
open override fun createFilter(): Filter<*>

Tworzy instancję filtra odpowiedniego dla typu danych tej kolumny. Musi być zaimplementowana przez klasy potomne.

Link copied to clipboard

Tworzy filtr i odpowiadające mu dane filtra. Używane przy inicjalizacji filtrów w tabeli.

Link copied to clipboard
protected open fun createFilterData(filter: Filter<*>): FilterData

Tworzy domyślne dane filtra dla danego filtra. Może być nadpisana przez klasy potomne dla zmiany domyślnego działania.

Link copied to clipboard
@Composable
open override fun RenderCell(item: Any?, modifier: Modifier)

Renderuje zawartość komórki dla danego elementu danych. Musi być zaimplementowana przez klasy potomne.

Link copied to clipboard
@Composable
private fun <T : FilterData> RenderFilter(onEvent: (ReportEvent) -> Unit, columnKey: String, filter: Filter<T>, data: FilterData)

Funkcja renderująca filtr - zmienia * w T dla typu generycznego. Wymagana aby zadowolić kompilator przy obsłudze typów generycznych.

Link copied to clipboard
@Composable
fun RenderHeader(onEvent: (ReportEvent) -> Unit, columnKey: String, reportState: ReportState, modifier: Modifier = Modifier)

Renderuje nagłówek kolumny z obsługą menu filtrowania. Automatycznie wyświetla ikone aktywnego filtra i obsługuje kliknięcia w nagłówek.