CheckboxControl

class CheckboxControl(label: String?, required: Boolean? = false, dependencies: Map<String, ControlDependency<*>>? = null, actions: List<ControlAction<Boolean>>? = null) : Control<Boolean>

Kontrolka do wprowadzania wartości logicznych (prawda/fałsz).

Renderuje checkbox z etykietą. Dla pól wymaganych używa standardowego checkboxa (true/false), dla opcjonalnych używa checkboxa z trzema stanami (true/false/null). Obsługuje automatyczne przełączanie między stanami.

Constructors

Link copied to clipboard
constructor(label: String?, required: Boolean? = false, dependencies: Map<String, ControlDependency<*>>? = null, actions: List<ControlAction<Boolean>>? = null)

Properties

Link copied to clipboard
private val actions: List<ControlAction<T>>?
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
internal val label: String?
Link copied to clipboard
internal val required: Boolean?
Link copied to clipboard
Link copied to clipboard
protected open val validator: ControlValidator<Boolean>

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: Boolean): Boolean

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<Boolean>, 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: Boolean?, 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: Boolean?, 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 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<Boolean>

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.