DP
(\s -> case s of... )
ptrn1 -> Prev
ptrn2 -> Next
ptrn3 ->
Size: a a a
DP
(\s -> case s of... )
ptrn1 -> Prev
ptrn2 -> Next
ptrn3 ->
DP
type Msg
= Prev
| Next
| PageChanged String
update : Msg -> State -> State
update msg (State internal) =
case msg of
Prev ->
State { current = internal.current - 1, total = 10 }
Next ->
State { current = internal.current + 1, total = 10 }
PageChanged str ->
State { current = 10, total = 10 }
view : (State -> msg) -> State -> Html msg
view toMsg (State internal) =
div []
[ button [ onClick <| toMsg (update Prev (State internal)) ] [ text "<" ]
, span [] [ text " " ]
, input
[ type_ "text"
, value <| String.fromInt internal.current
-- onInput PageChanged
]
[]
, span [] [ text " / " ]
, span [] [ text (String.fromInt internal.total) ]
, span [] [ text " " ]
, button [ onClick <| toMsg (update Next (State internal)) ] [ text ">" ]
]
MP
(\s -> case s of... )
ptrn1 -> Prev
ptrn2 -> Next
ptrn3 ->
MP
DP
DP
MP
DP
DP
MP
DP
onInput = (\s -> PageChanged s)
DP
DP
MP
onInput = (\s -> PageChanged s)
DP
AD
AY
AY
MP
DP