SectionControl

class SectionControl(val controls: List<String>, val collapsible: Boolean = true, val initiallyExpanded: Boolean = true, val columns: Int = 1, label: String, dependencies: Map<String, ControlDependency<*>>? = null) : Control<Unit>

Kontrolka do grupowania i organizacji innych kontrolek w sekcje.

Renderuje grupę kontrolek w karcie z nagłówkiem. Obsługuje składanie/rozwijanie sekcji, układanie kontrolek w kolumnach oraz zarządzanie relacjami rodzic-dziecko między kontrolkami. Umożliwia logiczne organizowanie formularza w tematyczne sekcje.

Constructors

Link copied to clipboard
constructor(controls: List<String>, collapsible: Boolean = true, initiallyExpanded: Boolean = true, columns: Int = 1, label: String, dependencies: Map<String, ControlDependency<*>>? = null)

Properties

Link copied to clipboard
private val actions: List<ControlAction<T>>?
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
protected lateinit var errorManager: ErrorManager
Link copied to clipboard
protected lateinit var formActionTrigger: FormActionTrigger
Link copied to clipboard
protected lateinit var formSchema: FormSchema
Link copied to clipboard
protected lateinit var formState: FormState
Link copied to clipboard
protected val hasStandardLayout: Boolean
Link copied to clipboard

Flaga określająca, rolę kontrolki w hierarchii.

Link copied to clipboard
Link copied to clipboard
internal val label: String?
Link copied to clipboard
internal val required: Boolean?
Link copied to clipboard
Link copied to clipboard
protected open override val validator: ControlValidator<Unit>

Validator odpowiedzialny za walidację tej kontrolki. Każdy typ kontrolki dostarcza własną implementację (np. StringValidator). Domyślnie pusta implementacja

Functions

Link copied to clipboard
protected open fun convertToResult(controlContext: ControlContext, state: ControlState<*>): ControlResultData

Konwertuje wewnętrzny stan kontrolki (ControlState) na wynik do zapisu (ControlResultData). Może być przesłonięta dla niestandardowych konwersji (np. w RepeatableControl).

Link copied to clipboard
internal open fun copyInitToValue(value: Unit)

Tworzy głęboką kopię wartości początkowej dla bieżącej wartości. Kluczowe dla typów mutowalnych (np. List), aby zmiany w value nie wpływały na initValue.

Link copied to clipboard
@Composable
protected open override fun Display(controlContext: ControlContext, controlState: ControlState<Unit>, isRequired: Boolean)

Abstrakcyjna metoda renderowania specyficznego interfejsu kontrolki. Każdy konkretny typ kontrolki (np. StringControl) musi ją zaimplementować.

Link copied to clipboard
@Composable
protected fun DisplayFieldErrors(controlContext: ControlContext)

Pomocnicza funkcja renderująca błędy walidacji dla tej kontrolki.

Link copied to clipboard
protected fun executeActions(controlContext: ControlContext, newValue: Unit?, scope: CoroutineScope, payload: Any? = null)

Wykonuje zdefiniowane akcje dla tej kontrolki, zazwyczaj po zmianie wartości.

Link copied to clipboard
internal fun executeInitActions(controlContext: ControlContext, currentValue: Unit?, scope: CoroutineScope)
Link copied to clipboard
internal fun getResult(controlContext: ControlContext, state: ControlState<*>): ControlResultData

Pobiera wynik kontrolki (wartość bieżącą i początkową) do dalszego przetwarzania. Jeśli kontrolka jest niewidoczna, jej currentValue jest ustawiane na null.

Link copied to clipboard
internal open override fun initializeControlLifecycle(formState: FormState, formSchema: FormSchema, errorManager: ErrorManager, formActionTrigger: FormActionTrigger)

Ustawia referencje do komponentów formularza. Jest to drugi etap inicjalizacji kontrolki, wywoływany przez FormHandler. Daje dostęp do globalnego stanu, schemy i managera błędów. Dodatkowo umożliwia wykonanie dodatkowych kroków inicjalizacyjnych wymaganych przez określone kontrolki

Link copied to clipboard
internal open fun registerChildrenInGlobalMap(controlContext: ControlContext): Map<String, Control<*>>

Funkcja do rejestracji dzieci na globalnej mapie Zawiera referencje do kontrolek zdefiniowanych w kontrolce posiadającej własne

Link copied to clipboard
@Composable
internal fun Render(controlContext: ControlContext, controlState: ControlState<*>)

Renderuje kontrolkę w interfejsie użytkownika. Ta metoda jest publicznym API dla FormScreen. Obsługuje logikę widoczności.

Link copied to clipboard
internal open fun setInitValue(controlContext: ControlContext, value: Any?): ControlState<Unit>

Ustawia początkową wartość kontrolki i tworzy jej stan (ControlState).

Link copied to clipboard
internal fun validateControl(controlContext: ControlContext, state: ControlState<*>)

Uruchamia proces walidacji dla tej kontrolki przy użyciu przypisanego walidatora.