Form.Field

Base Fields

error
(Maybe String)
data
{ required : ()
, plainText : ()
, wasMapped : No
, initial : String
, minlength : ()
, maxlength : ()
}
error
Bool
data
{ required : ()
, initial : Bool
}
int :
{ invalid : String -> error }
-> Field
error
(Maybe Int)
data
{ min : Int
, max : Int
, required : ()
, wasMapped : No
, step : Int
, initial : Int
}
{ invalid : String -> error }
-> Field
error
(Maybe Float)
data
{ min : Float
, max : Float
, required : ()
, wasMapped : No
, initial : Float
}

Multiple Choice Fields

List ( String, option )
-> (String -> error)
-> Field
error
(Maybe option)
data
(Options option)
{ required : ()
, wasMapped : No
}
{ min : Value valueType
, max : Value valueType
, initial : data -> Value valueType
, missing : error
, invalid : OutsideRange -> error
}
-> Field
error
(Maybe valueType)
data
kind
{ constraints
| required : ()
, initial : valueType
, min : valueType
, max : valueType
, wasMapped : No
}
-> Field
error
valueType
data
{ constraints | wasMapped : No }
= AboveRange
| BelowRange

Date/Time Fields

{ invalid : String -> error }
-> Field
error
(Maybe Date)
data
{ min : Date
, max : Date
, required : ()
, wasMapped : No
, initial : Date
}
{ invalid : String -> error }
-> Field
error
(Maybe TimeOfDay)
data
{ required : ()
, wasMapped : No
}
type alias TimeOfDay =
{ hours : Int
, minutes : Int
}

Other

type Field error parsed data kind constraints
= Field (FieldInfo error parsed data) kind
type alias FieldInfo error parsed data =
{ initialValue : Maybe (data -> String)
, decode : Maybe String -> ( Maybe parsed, List error )
, properties : List ( String, Value )
}
String
-> error
-> Field
error
String
data
{ required : ()
, plainText : ()
, wasMapped : No
, initial : String
}

Field Configuration

error
-> Field
error
(Maybe parsed)
data
kind
{ constraints | required : (), wasMapped : No }
-> Field error parsed data kind { constraints | wasMapped : No }
(parsed -> ( Maybe mapped, List error ))
-> Field error parsed data kind constraints
-> Field error mapped data kind { constraints | wasMapped : Yes }
(data -> Value valueType)
-> Field
error
value
data
kind
{ constraints | initial : valueType }
-> Field error value data kind constraints
map :
(parsed -> mapped)
-> Field error parsed data kind constraints
-> Field error mapped data kind { constraints | wasMapped : Yes }

Text Field Display Options

Field error parsed data Input { constraints | plainText : () }
-> Field error parsed data Input constraints
Field error parsed data Input { constraints | plainText : () }
-> Field error parsed data Input constraints
Field error parsed data Input { constraints | plainText : () }
-> Field error parsed data Input constraints
url :
Field error parsed data Input { constraints | plainText : () }
-> Field error parsed data Input constraints
Field error parsed data Input { constraints | plainText : () }
-> Field error parsed data Input constraints

Numeric Field Options

Value valueType
-> error
-> Field error parsed data kind { constraints | max : valueType }
-> Field error parsed data kind constraints
Value valueType
-> error
-> Field error parsed data kind { constraints | min : valueType }
-> Field error parsed data kind constraints
Value valueType
-> Field msg error value view { constraints | step : valueType }
-> Field msg error value view constraints
Int
-> error
-> Field error parsed data kind { constraints | minlength : () }
-> Field error parsed data kind constraints
Int
-> error
-> Field error parsed data kind { constraints | maxlength : () }
-> Field error parsed data kind constraints

Phantom Options

type No
type Yes