Package-level declarations

Types

Link copied to clipboard
Link copied to clipboard
interface BaseFieldState<out O> : FieldState<O>
Link copied to clipboard
data class Button(val name: String, val label: Label = Label(name, isRequired = true)) : Labeled
Link copied to clipboard
Link copied to clipboard
typealias Changer<O> = (O?) -> Unit
Link copied to clipboard
data class ErrorFeedback(val message: String) : Feedback
Link copied to clipboard
data class FailurePhase<out O>(val output: O, val reasons: List<String>) : FormPhase<O, Nothing>
Link copied to clipboard
interface Feedback
Link copied to clipboard
class Feedbacks(val items: List<Feedback>)
Link copied to clipboard
Link copied to clipboard
abstract class Fields<out O : Any>(initial: FieldsState<O>) : Validable, Clearable, Finishable, Resetable
Link copied to clipboard
data class FieldsState<out O>(val output: O, val feedbacks: Feedbacks)
Link copied to clipboard
interface FieldState<out O>
Link copied to clipboard
interface Form<out R, out O : Any, out F : Fields<O>> : FormInfo, Resetable, Clearable, Hideable
Link copied to clipboard
class FormAction(val label: Label, val handler: () -> Unit)
Link copied to clipboard
class FormActions(val cancel: FormAction, val submit: FormAction)
Link copied to clipboard
interface FormBox
Link copied to clipboard
interface FormBoxState
Link copied to clipboard
typealias FormField<R, F> = Form<R, *, F>
Link copied to clipboard
interface FormInfo
Link copied to clipboard
interface FormPhase<out O, out R>
Link copied to clipboard
interface FormStage : FormInfo
Link copied to clipboard
data class FormState<out O, out R>(val visibility: Visibility, val phase: FormPhase<O, R>)
Link copied to clipboard
data class Label(val text: String, isRequired: Boolean = false)
Link copied to clipboard
interface ListField<E> : Field<List<E>, ListFieldState<E>> , ListFieldState<E>
Link copied to clipboard
interface ListFieldState<E> : FieldState<List<E>>
Link copied to clipboard
data class MultiFormStageState<out S>(val current: S, val isFirst: Boolean, val isLast: Boolean)
Link copied to clipboard
interface MultiStageForm<out R, out O : Any, S : FormStage> : Resetable, Clearable, Hideable
Link copied to clipboard
data class MultiStageFormStageProgress(val step: Int, val total: Int)
Link copied to clipboard
data class MultiStageFormStageState<out R, out O, out S : FormStage>(val visibility: Visibility, val stages: List<S>, val stage: MultiFormStageState<S>, val phase: FormPhase<O, R>, val output: O)
Link copied to clipboard
data class Option(val label: String, val value: String = label, val selected: Boolean = false)
Link copied to clipboard
@Serializable
data class Range<out T>(val start: T, val end: T)
Link copied to clipboard
Link copied to clipboard
interface RangeFieldState<out O : Any> : FieldState<Range<O>>
Link copied to clipboard
interface Searchable
Link copied to clipboard
interface SearchableState
Link copied to clipboard
Link copied to clipboard
class SubmitActionsBuilder<P, R> : Actions0Builder<Unit>
Link copied to clipboard
Link copied to clipboard
interface SubmitConfig : Logable
Link copied to clipboard
data class SubmittingPhase<out O>(val output: O) : FormPhase<O, Nothing>
Link copied to clipboard
data class SuccessPhase<out O, out R>(val output: O, val result: R) : FormPhase<O, R>
Link copied to clipboard
Link copied to clipboard
interface TransState<out I, out O> : FieldState<O>
Link copied to clipboard
data class ValidatingPhase<out O>(val output: O) : FormPhase<O, Nothing>
Link copied to clipboard
data class WarningFeedback(val message: String) : Feedback

Functions

Link copied to clipboard
fun <O> BaseField(name: KMutableProperty0<O?>, label: String = name.name, visibility: Visibility = Visibilities.Visible, hint: String = label, onChange: Changer<O>? = null, factory: ValidationFactory<O>? = null): BaseField<O>
Link copied to clipboard
fun Fields<*>.button(label: String, name: String = label): Button
Link copied to clipboard
fun <O> Fields<*>.field(name: KMutableProperty0<O?>, label: String = name.name, visibility: Visibility = Visibilities.Visible, hint: String = label, onChange: Changer<O>? = null, factory: ValidationFactory<O>? = null): BaseField<O>
Link copied to clipboard
fun <R, P : Any, F : Fields<P>> Form(heading: String, details: String, fields: F, config: SubmitConfig, builder: SubmitBuilder<P, R>): Form<R, P, F>
fun <R, P : Any, F : Fields<P>> Form(heading: String, details: String, fields: F, config: SubmitConfig, visibility: Visibility, builder: SubmitBuilder<P, R>): Form<R, P, F>
Link copied to clipboard
fun <T : Any> Fields<*>.list(name: KProperty0<MutableList<T>>, label: String = name.name, visibility: Visibility = Visibilities.Visible, onChange: Changer<List<T>>? = null, factory: ValidationFactory<List<T>>? = null): ListField<T>
Link copied to clipboard
fun Validity<*>.reasons(): List<String>
Link copied to clipboard
inline fun SubmitConfig(logger: Logger = Logger("Unset", listOf(ConsoleAppender())), exitOnSuccess: Boolean = SubmitConfigImpl.exitOnSuccess): SubmitConfig
Link copied to clipboard
fun Validity<*>.toErrors(): List<ErrorFeedback>
Link copied to clipboard
fun <R, P : Any, F : Fields<P>> F.toForm(heading: String, details: String, config: SubmitConfig, builder: SubmitBuilder<P, R>): Form<R, P, F>
fun <R : Any, O : Any, S : FormStage> Collection<S>.toForm(output: O, config: SubmitConfig, visibility: Visibility, builder: SubmitBuilder<O, R>): MultiStageForm<R, O, S>
fun <R, P : Any, F : Fields<P>> F.toForm(heading: String, details: String, config: SubmitConfig, visibility: Visibility, builder: SubmitBuilder<P, R>): Form<R, P, F>
fun <R, P : Any, F : Fields<P>> F.toForm(heading: String, details: String, logger: LoggerFactory, exitOnSuccess: Boolean = true, visibility: Visibility = Visibilities.Visible, builder: SubmitBuilder<P, R>): Form<R, P, F>
Link copied to clipboard
fun Logable.toFormConfig(logger: Logger = this.logger, exitOnSuccess: Boolean = SubmitConfigImpl.exitOnSuccess): SubmitConfig
Link copied to clipboard
inline fun <T : Enum<T>> T?.toOption(label: String = this?.name ?: "null"): Option
Link copied to clipboard
inline fun Logable.toSubmitConfig(logger: Logger = this.logger, exitOnSuccess: Boolean = SubmitConfigImpl.exitOnSuccess): SubmitConfig
Link copied to clipboard
fun Validity<*>.toWarnings(): List<WarningFeedback>