Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import Html exposing (Html, Attribute, input, strong, ul, li, em, div, text, button)
- import Html.App as Html
- import Html.Attributes exposing (..)
- import Html.Events exposing (onInput, onClick)
- main =
- Html.beginnerProgram { model = model, view = view, update = update }
- -- MODEL
- type alias Model =
- { subject : String
- , previous: List String
- }
- model : Model
- model =
- { subject = ""
- , previous = ["World", "Earth"]
- }
- -- UPDATE
- -- Delegates
- type Message
- = ReplaceSubject String
- | AddItem
- -- Something like Message<Model in, Model out>
- update : Message -> Model -> Model
- update message model =
- case message of
- ReplaceSubject newMessage ->
- { model | subject = newMessage }
- AddItem ->
- { model | previous = model.subject :: model.previous}
- -- VIEW
- prevEls previous =
- let
- children = List.map prevItem previous
- in
- ul [] children
- prevItem item =
- li [] [ text item ]
- view : Model -> Html Message
- view model =
- div [] [
- div []
- [ input [placeholder "SaĆatka", onInput ReplaceSubject] [text model.subject]
- , button [onClick AddItem] [text "Add"]
- ]
- , div []
- [ prevEls model.previous
- ]
- , div []
- [ strong [] [text "Hello"]
- , em [] [text model.subject ]
- ]
- ]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement