canceraiddev/elm-form-builder/15.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 {})
| SearchableSelectField SearchableSelectFieldProperties
| HttpSelectField HttpSelectFieldProperties
| RadioField RadioFieldProperties
= MultiSelectField (MultiSelectFieldProperties {})
| SearchableMultiSelectField SearchableMultiSelectFieldProperties
| MultiHttpSelectField MultiHttpSelectFieldProperties
| TagField (TagFieldProperties {})
= CheckboxField CheckboxFieldProperties
| RadioBoolField RadioBoolFieldProperties
| RadioEnumField RadioEnumFieldProperties
= AgeField AgeFieldProperties
StringFieldProperties
{ regexValidation : List RegexValidation }
-> Field
StringFieldProperties
{ forbiddenDomains : List ForbiddenDomain }
-> Field
dateOfBirth : StringFieldProperties {} -> Field
datePast : StringFieldProperties {} -> Field
dateFuture : StringFieldProperties {} -> Field
StringFieldProperties
{ regexValidation : List RegexValidation }
-> Field
url :
StringFieldProperties
{ regexValidation : List RegexValidation }
-> Field
StringFieldProperties
{ regexValidation : List RegexValidation }
-> Field
checkbox : BoolFieldProperties {} -> Field
radioBool : RadioBoolFieldProperties -> Field
radioEnum : RadioEnumFieldProperties -> Field
select : SelectFieldProperties {} -> Field
searchableSelect : SearchableSelectFieldProperties -> Field
httpSelect : HttpSelectFieldProperties -> Field
multiSelect : MultiSelectFieldProperties {} -> Field
searchableMultiSelect : SearchableMultiSelectFieldProperties -> Field
multiHttpSelect : MultiHttpSelectFieldProperties -> Field
radio : RadioFieldProperties -> Field
age : AgeFieldProperties -> Field
tag : TagFieldProperties {} -> Field

Properties

type alias AgeFieldProperties =
FieldProperties { value : Maybe Int }
FieldProperties {}
type alias DateFieldProperties =
StringFieldProperties
{ tipe : DateFieldType
, parsedDate : Maybe Posix
}
StringFieldProperties
{ tipe : SimpleFieldType
, regexValidation : List RegexValidation
}
type alias SelectFieldProperties a =
StringFieldProperties
{ a
| default : Maybe String
, options : List Option
, placeholder : String
, hasSelectablePlaceholder : Bool
}
SelectFieldProperties
{ showDropdown : Bool
, searchInput : String
}
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 }
type alias TagFieldProperties a =
MultiStringFieldProperties
{ a | inputBar : String, placeholder : Maybe 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

updateTagsValue : Bool -> String -> Field -> Field

Predicates

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

Encode

encode : Field -> Value

Metadata

metadataKey : String -> Maybe String