jmpavlick/elm-html-form/2.0.1

NOTE: the latest version is 2.0.2

Html.Form

Form

Module instance

type alias Module error editor model fieldset msg =
{ init : ( Model editor -> model, Cmd msg ) -> ( model, Cmd msg )
, submitMsg : msg
, update : Msg editor -> model -> ( model, Cmd msg )
, fieldset : model -> fieldset
, errors :
model
-> List
{ editor : editor
, errors : List error
}
}
type Config error editor record fieldset model msg
= Config
{ toModel : model -> Model editor -> model
, fromModel : model -> Model editor
, toMsg : Msg editor -> msg
, toRecord : List editor -> Maybe record
, onSubmit : Result (List error) record -> msg
, index : Int
, initModel : Model editor -> Model editor
, fieldset : Fieldset model fieldset
, errors :
model
-> List
{ editor : editor
, errors : List error
}
-> List
{ editor : editor
, errors : List error
}
}
fieldset
-> { toModel : model -> Model editor -> model
, fromModel : model -> Model editor
, toMsg : Msg editor -> msg
, toRecord : List editor -> Maybe record
, onSubmit : Result (List error) record -> msg
}
-> Config error editor record fieldset model msg
(Maybe value -> editor)
-> FieldConfig error value editor msg
-> Config
error
editor
record
(Field error msg -> fieldset)
model
msg
-> Config error editor record fieldset model msg
Config error editor record fieldset model msg
-> Module error editor model fieldset msg
type alias Model editor =
Model editor
type alias Msg editor =
Msg editor

Field configuration

type alias Field error msg =
{ element : List (Attribute msg) -> Html msg
, errors : List error
, toAttrs : List (Attribute msg) -> List (Attribute msg)
, attrs :
{ onFocus : Attribute msg
, onBlur : Attribute msg
, onEvent : Attribute msg
, value : Attribute msg
}
}
type alias FieldConfig error value editor msg =
FieldConfig error value editor msg
type Fieldset model fieldset
= Fieldset (model -> fieldset)
type alias Element msg =
Element msg

Fields

input : FieldConfig error String editor msg
checkbox : FieldConfig error Bool editor msg
{ eventName : String
, decoder : Decoder value
, element : Element msg
, valueAttr :
{ wrap : Maybe value -> editor
, initialValue : Maybe value
}
-> editor
-> Attribute msg
}
-> FieldConfig error value editor msg

Field builders

Maybe value
-> FieldConfig error value editor msg
-> FieldConfig error value editor msg
type alias Validation error value editor =
Validation error value editor
Validation error value editor
-> FieldConfig error value editor msg
-> FieldConfig error value editor msg
Bool
-> FieldConfig error value editor msg
-> FieldConfig error value editor msg
Bool
-> FieldConfig error value editor msg
-> FieldConfig error value editor msg