aboutsummaryrefslogtreecommitdiff
path: root/src/client/elm/LoggedIn/Home/Update.elm
blob: 562cd20ffeeb814f8579ab9b85930ad9addf85b7 (plain)
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
module LoggedIn.Home.Update exposing
  ( update
  )

import Form exposing (Form)

import LoggedData exposing (LoggedData)

import LoggedIn.Home.Msg as HomeMsg
import LoggedIn.Home.Model as HomeModel

update : LoggedData -> HomeMsg.Msg -> HomeModel.Model -> (HomeModel.Model, Cmd HomeMsg.Msg)
update loggedData msg homeModel =
  case msg of

    HomeMsg.NoOp -> (homeModel, Cmd.none)

    HomeMsg.ToggleEdit id ->
      ( { homeModel | paymentEdition = if homeModel.paymentEdition == Just id then Nothing else Just id }
      , Cmd.none
      )

    HomeMsg.UpdatePage page ->
      ( { homeModel | currentPage = page }
      , Cmd.none
      )

    HomeMsg.ShowMonthlyDetail ->
      ( { homeModel | monthlyDetail = True }
      , Cmd.none
      )

    HomeMsg.ToggleMonthlyDetail ->
      ( { homeModel | monthlyDetail = not homeModel.monthlyDetail }
      , Cmd.none
      )

    HomeMsg.SearchMsg formMsg ->
      ( { homeModel
        | search = Form.update formMsg homeModel.search
        , currentPage =
            case formMsg of
              Form.Input "searchText" _ -> 1
              _ -> homeModel.currentPage
        }
      , Cmd.none
      )

    HomeMsg.AddPaymentMsg formMsg ->
      ( { homeModel
        | addPayment = Form.update formMsg homeModel.addPayment
        }
      , Cmd.none
      )