ReportState
data class ReportState(val data: List<Map<String, Any?>> = emptyList(), val isLoading: Boolean = false, val error: String? = null, val pagination: ReportPaginationState = ReportPaginationState(), var columnKeysOrder: List<String> = emptyList(), val visibleColumns: Set<String> = emptySet(), val originalVisibleColumns: Set<String> = emptySet(), val sortOrder: List<Pair<String, SortDirection>> = emptyList(), val filterData: Map<String, FilterData> = emptyMap(), val searchQuery: String = "")
Reaktywny stan raportu przechowujący wszystkie dane potrzebne do renderowania tabeli.
ReportState to niezmutowalna klasa danych implementująca wzorzec jednokierunkowego przepływu danych (unidirectional data flow). Każda zmiana tworzy nowy obiekt stanu.
Składa się z następujących sekcji:
Dane i stan: Dane tabeli, ładowanie, błędy
Paginacja: Aktualna strona, rozmiar strony, całkowita liczba elementów
Kolumny: Kolejność i widoczność kolumn
Filtrowanie: Stany wszystkich filtrów kolumn i wyszukiwania globalnego
Sortowanie: Aktualnie aktywne kryteria sortowania
Constructors
Link copied to clipboard
constructor(data: List<Map<String, Any?>> = emptyList(), isLoading: Boolean = false, error: String? = null, pagination: ReportPaginationState = ReportPaginationState(), columnKeysOrder: List<String> = emptyList(), visibleColumns: Set<String> = emptySet(), originalVisibleColumns: Set<String> = emptySet(), sortOrder: List<Pair<String, SortDirection>> = emptyList(), filterData: Map<String, FilterData> = emptyMap(), searchQuery: String = "")