canceraiddev / elm-form-builder / Form.Field.FieldType

Field Type

FieldType


type FieldType
    = StringType StringFieldType
    | MultiStringType MultiStringFieldType
    | BoolType BoolFieldType
    | IntegerType IntegerFieldType


type StringFieldType
    = SimpleType SimpleFieldType
    | DateType DateFieldType
    | Select
    | SearchableSelect
    | HttpSelect
    | Radio


type SimpleFieldType
    = Text
    | Email
    | Phone
    | Url
    | TextArea
    | Time


type BoolFieldType
    = CheckboxType CheckboxFieldType
    | RadioBool
    | RadioEnum


type CheckboxFieldType
    = Checkbox
    | CheckboxConsent


type alias IntegerFieldType =
{ min : Maybe Basics.Int
, max : Maybe Basics.Int 
}


type MultiStringFieldType
    = MultiSelect
    | SearchableMultiSelect
    | MultiHttpSelect
    | Tags


type alias DateFieldType =
{ min : Maybe DateConfig
, max : Maybe DateConfig 
}


type DateConfig
    = DateAbsolute Time.Posix
    | DateOffset (( Time.Extra.Interval, Basics.Int ))


type ListStringFieldType
    = Tag

Decoder

decoder : Json.Decode.Decoder FieldType

Helpers

defaultValue : Time.Posix -> FieldType -> Maybe String

toClass : FieldType -> String

toMax : Time.Posix -> FieldType -> Maybe String

toMaxLength : FieldType -> Maybe Basics.Int

toMin : Time.Posix -> FieldType -> Maybe String

toType : FieldType -> String

dateOfBirth : DateFieldType

datePast : DateFieldType

dateFuture : DateFieldType

defaultInt : IntegerFieldType

age : IntegerFieldType