SpecialColumn

abstract class SpecialColumn(width: Dp) : ReportColumn

Klasa bazowa dla specjalnych kolumn w systemie raportowania. Specjalne kolumny to kolumny funkcjonalne (np. akcje, kontrolki) które nie wyświetlają danych z bazy.

Charakterystyki:

  • Pusty nagłówek

  • Stała szerokość w dp

  • Nie obsługują filtrowania ani sortowania

  • Wymagają pełnego kontekstu (ReportState, onEvent) do renderowania

Parameters

width

Stała szerokość kolumny w dp

Inheritors

Constructors

Link copied to clipboard
constructor(width: Dp)

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
override fun createFilter(): Filter<*>

Specjalne kolumny nie obsługują filtrowania. Ta metoda rzuca wyjątek jeśli zostanie wywołana.

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
override fun RenderCell(item: Any?, modifier: Modifier)

Ta metoda jest nadpisywana jako final aby zapewnić, że nikt jej nie wywoła dla SpecialColumn. Zawsze powinna być używana wersja z pełnym kontekstem (ReportState i onEvent).

@Composable
abstract fun RenderCell(item: Any?, reportState: ReportState, onEvent: (ReportEvent) -> Unit, modifier: Modifier)

Renderuje zawartość komórki specjalnej z pełnym kontekstem raportu. Specjalne kolumny wymagają dostępu do stanu raportu i funkcji obsługi zdarzeń.

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.