FormState

class FormState

Reaktywne zarządzanie stanem wszystkich kontrolek formularza.

FormState przechowuje i zarządza stanami wszystkich kontrolek w formularzu, wykorzystując Compose State API dla automatycznej rekomposycji UI przy zmianach.

Główne funkcje:

  • Przechowywanie reaktywnych stanów kontrolek (MutableState)

  • Automatyczne wyzwalanie rekomposycji przy zmianach

  • Zarządzanie hierarchicznymi nazwami kontrolek (np. dla RepeatableControl)

  • Zbieranie danych z wszystkich kontrolek do przetworzenia

Stany kontrolek są indeksowane pełną ścieżką (np. "publicationsuuid.title"), co umożliwia obsługę złożonych, zagnieżdżonych struktur.

Constructors

Link copied to clipboard
constructor()

Properties

Link copied to clipboard
private val _controlStates: SnapshotStateMap<String, ControlState<*>>

Stan kontrolek formularza - reactive map która automatycznie triggeruje recomposition

Link copied to clipboard
val actionTriggered: MutableState<Boolean>

Flaga wysyłania formularza (triggerAction). True podczas wykonywania akcji (np. zapis, usunięcie).

Link copied to clipboard
val isLoading: MutableState<Boolean>

Flaga ładowania danych formularza (initData). True podczas początkowego pobierania danych z bazy.

Functions

Link copied to clipboard

Zbiera i przetwarza dane ze wszystkich kontrolek formularza.

Link copied to clipboard

Funkcja zwraca stany wszystkich kontrolek formularza

Link copied to clipboard

Funkcja zwraca stan kontrolki o danej nazwie

Link copied to clipboard
internal fun initializeStates(schema: FormSchema, initValues: Map<String, Any?>)

Inicjalizuje stany wszystkich kontrolek na podstawie wartości początkowych.

Link copied to clipboard
internal fun removeControlState(name: String)

Funkcja usuwa stan kontrolki o danej nazwie Automatycznie triggeruje recomposition dzięki mutableStateMapOf

Link copied to clipboard

Funkcja usuwa wszystkie stany kontrolek zaczynające się od danego prefiksu Automatycznie triggeruje recomposition dzięki mutableStateMapOf

Link copied to clipboard
internal fun setControlState(name: String, state: ControlState<*>)

Funkcja ustawia stan kontrolki o danej nazwie (może być hierarchiczna) Automatycznie triggeruje recomposition dzięki mutableStateMapOf