ReportColumn

abstract class ReportColumn(val header: String, val width: ColumnWidth, val filterable: Boolean, val sortable: Boolean)

Klasa bazowa dla wszystkich kolumn w systemie raportowania. Definiuje wspólną funkcjonalność dla wyświetlania danych w tabeli z obsługą filtrowania i sortowania.

Parameters

header

Nagłówek kolumny wyświetlany w tabeli

width

Szerokość kolumny (stała lub elastyczna)

filterable

Czy kolumna może być filtrowana

sortable

Czy kolumna może być sortowana

Inheritors

Constructors

Link copied to clipboard
constructor(header: String, width: ColumnWidth, filterable: Boolean, sortable: Boolean)

Properties

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
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
abstract 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
abstract 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.