Package-level declarations
Types
Link copied to clipboard
class RepeatableControl(val rowControls: Map<String, Control<*>>, val rowOrder: List<String>, label: String?, required: Boolean? = false, dependencies: Map<String, ControlDependency<*>>? = null, validationOptions: RepeatableValidation? = null) : Control<List<RepeatableRow>>
A control for dynamic lists of controls (rows).
Link copied to clipboard
data class RepeatableResultValue(val deletedRows: List<FormResultData>, val addedRows: List<FormResultData>, val modifiedRows: List<FormResultData>, val allCurrentRows: List<FormResultData>)
Result of a repeatable control, split by operation type.
Link copied to clipboard
data class RepeatableRow(val id: String = java.util.UUID.randomUUID().toString(), val index: Int = 0)
One row of a repeatable control. Its state lives in the global FormState.
Link copied to clipboard
class RepeatableRowManager(val rowControls: Map<String, Control<*>>, val formState: FormState, val validationOptions: RepeatableValidation?)
Functions
Link copied to clipboard
internal fun getRowTypes(controlState: ControlState<List<RepeatableRow>>, controlContext: ControlContext, rowControls: Map<String, Control<*>>, formState: FormState): Triple<List<RepeatableRow>, List<RepeatableRow>, List<RepeatableRow>>
Analyzes the state of a repeatable control and classifies the rows by operation type. Works on the global form state.
Link copied to clipboard
internal fun rowContexts(parentContext: ControlContext, row: RepeatableRow, rowControls: Map<String, Control<*>>): List<Pair<ControlContext, Control<*>>>
The row's controls, each with a context in which the repeatable control is the parent. A row is a separate data level: the states of its controls lie under name[rowId]/....