Skip to content

Instantly share code, notes, and snippets.

@tippenein
Created July 7, 2016 20:33
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save tippenein/807764b48a179a500b9a11b4f124fb00 to your computer and use it in GitHub Desktop.
Save tippenein/807764b48a179a500b9a11b4f124fb00 to your computer and use it in GitHub Desktop.
type alias Person =
{ name : String
}
type alias Model =
{ persons : List Person
}
model : Model
model =
{ persons = fetchPersons }
fetchPersons : List Person
fetchPersons = [Person "whatever", Person "derp"]
-- UPDATE
type Msg
= Search String
update : Msg -> Model -> Model
update msg model =
case msg of
Search term ->
{ model | persons = List.filter (\person -> String.contains term person.name) fetchPersons }
-- VIEW
personList ps =
Html.ul [] (List.map personListElement ps)
personListElement p = Html.li [] [text p.name]
view : Model -> Html Msg
view model =
div []
[ input [ placeholder "search persons", onInput Search ] []
, personList model.persons
]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment