-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathCounter.elm
64 lines (40 loc) · 956 Bytes
/
Counter.elm
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
module Main exposing (..)
import Html exposing (..)
import Html.Events exposing (onClick)
main : Program Never Model Msg
main =
Html.beginnerProgram { model = initialModel, update = update, view = view }
-- MODEL
type alias Model =
Int
initialModel : Model
initialModel =
0
-- UPDATE
type Msg
= Increase
| Decrease
| Reset
update : Msg -> Model -> Model
update msg model =
case msg of
Increase ->
model + 1
Decrease ->
if model > 0 then
model - 1
else
model
Reset ->
initialModel
----
view : Model -> Html Msg
view model =
section []
[ h1 [] [ text "Counter" ]
, button [ onClick Decrease ] [ text "-" ]
, span [] [ text (toString model) ]
, button [ onClick Increase ] [ text "+" ]
, br [] []
, button [ onClick Reset ] [ text "Reset" ]
]