getto-systems / elm-field / Getto.Field

edit field utilities

type Msg
  = Set String

init = "name" |> Field.init signature attr ""

update msg model =
  Set value -> ( field |> Field.set value, Cmd.none )

view model =
  H.input
    [ model |> Field.value |> A.value
    , Set |> E.onInput
    ] []

Definition


type Model attr value

field attribute and id, name value


type alias Param a =
{ before : a, after : a }

field original value (before) and modified value (after)

Construction

init : String -> attr -> value -> String -> Model attr value

construct model from signature, attribute, default value, field name

signature = "info"
attr = ()

field = "name" |> Field.init signature attr ""

Getter

id : Model attr value -> String

field id

H.input [ field |> Field.id |> A.id ] []

name : Model attr value -> String

field name

H.input [ field |> Field.name |> A.name ] []

value : Model attr value -> value

field value

H.input [ field |> Field.value |> A.value ] []

id_value : Model attr value -> ( String, value )

( id, value )

name_value : Model attr value -> ( String, value )

( name, value )

param : value -> Model attr value -> Maybe ( String, Param value )

maybe ( name, Param )

Update

set : value -> Model attr value -> Model attr value

set value

field = field |> Field.set "John"

toggle : comparable -> Model attr (Set comparable) -> Model attr (Set comparable)

toggle Set entry

field = field |> Field.toggle "admin" }

Attribute

attribute : Model attr value -> attr

field attribute

setAttribute : attr -> Model attr value -> Model attr value

set attribute