canceraiddev/elm-form-builder/10.0.0

NOTE: the latest version is 28.0.1

Form.Field

Field type and helper functions

Field

type Field
= StringField_ StringField
| MultiStringField_ MultiStringField
| BoolField_ BoolField
| NumericField_ NumericField
= SimpleField SimpleFieldProperties
| DateField DateFieldProperties
| SelectField SelectFieldProperties
| HttpSelectField HttpSelectFieldProperties
| RadioField RadioFieldProperties
= MultiSelectField (MultiSelectFieldProperties {})
| SearchableMultiSelectField SearchableMultiSelectFieldProperties
| MultiHttpSelectField MultiHttpSelectFieldProperties
= CheckboxField CheckboxFieldProperties
| RadioBoolField RadioBoolFieldProperties
| RadioEnumField RadioEnumFieldProperties
= AgeField AgeFieldProperties
text : StringFieldProperties {} -> Field
email : StringFieldProperties {} -> Field
dateOfBirth : StringFieldProperties {} -> Field
datePast : StringFieldProperties {} -> Field
phone : StringFieldProperties {} -> Field
url : StringFieldProperties {} -> Field
textarea : StringFieldProperties {} -> Field
checkbox : BoolFieldProperties {} -> Field
radioBool : RadioBoolFieldProperties -> Field
radioEnum : RadioEnumFieldProperties -> Field
select : SelectFieldProperties -> Field
httpSelect : HttpSelectFieldProperties -> Field
multiSelect : MultiSelectFieldProperties {} -> Field
searchableMultiSelect : SearchableMultiSelectFieldProperties -> Field
multiHttpSelect : MultiHttpSelectFieldProperties -> Field
radio : RadioFieldProperties -> Field
age : AgeFieldProperties -> Field

Properties

type alias AgeFieldProperties =
FieldProperties { value : Maybe Int }
FieldProperties {}
type alias DateFieldProperties =
StringFieldProperties
{ tipe : DateFieldType
, parsedDate : Maybe Posix
}
StringFieldProperties { tipe : SimpleFieldType }
StringFieldProperties
{ default : Maybe String
, options : List Option
, placeholder : String
, hasSelectablePlaceholder : Bool
}
StringFieldProperties
{ url : String
, default : Maybe String
, options : RemoteData (Error String) (List Option)
, placeholder : String
, hasSelectablePlaceholder : Bool
}
MultiStringFieldProperties
{ a
| placeholder : String
, showDropdown : Bool
, options : List Option
}
MultiSelectFieldProperties
{ searchableOptions : List Option
, searchInput : String
}
MultiStringFieldProperties
{ placeholder : String
, showDropdown : Bool
, url : String
, options : RemoteData (Error String) (List Option)
}
StringFieldProperties
{ default : Maybe String
, options : List Option
, direction : Direction
}
type alias BoolFieldProperties a =
FieldProperties { a | value : Bool }
BoolFieldProperties { tipe : CheckboxFieldType }
FieldProperties { value : Maybe Bool }
FieldProperties
{ value : Maybe Value
, default : Maybe Value
, options : List Value
}
type alias StringFieldProperties a =
FieldProperties { a | value : String }

Getters

getBoolProperties : Field -> Maybe Bool
getEnabledBy : Field -> Maybe String
getUnhiddenBy : Field -> Maybe String
getLabel : Field -> String
getNumericValue : Field -> Maybe Int
getOrder : Field -> Int
getProperties : Field -> CommonFieldProperties
getStringValue : Field -> Maybe String
getUrl : Field -> Maybe String

Setters

updateRadioBoolValue : Maybe Bool -> Field -> Field
updateRemoteOptions : RemoteData (Error String) (List Option) -> Field -> Field
updateMultiStringOption : Option -> Bool -> Field -> Field
maybeUpdateStringValue : Maybe String -> Field -> Field

Keep existing field if the value is Nothing

Predicates

isCheckbox : Field -> Bool
isColumn : Field -> Bool

Encode

encode : Field -> Value

Metadata

metadataKey : String -> Maybe String