aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJoris2016-03-27 21:24:11 +0200
committerJoris2016-03-27 21:24:11 +0200
commit617d30c96792795ab8561a6262c4c5f4e023b6cf (patch)
tree3174d82e3839e942a4be17a065415b497405fd0b /src
parent0c9d2b91e73f045067f7bcce6e4235fc9008f309 (diff)
Regroup monthly modules
Diffstat (limited to 'src')
-rw-r--r--src/client/elm/LoggedIn/Action.elm4
-rw-r--r--src/client/elm/LoggedIn/Model.elm9
-rw-r--r--src/client/elm/LoggedIn/Monthly/Action.elm (renamed from src/client/elm/Model/Action/MonthlyAction.elm)6
-rw-r--r--src/client/elm/LoggedIn/Monthly/Model.elm (renamed from src/client/elm/Model/View/LoggedIn/Monthly.elm)12
-rw-r--r--src/client/elm/LoggedIn/Monthly/Update.elm21
-rw-r--r--src/client/elm/LoggedIn/Monthly/View.elm (renamed from src/client/elm/View/LoggedIn/Monthly.elm)19
-rw-r--r--src/client/elm/LoggedIn/Update.elm13
-rw-r--r--src/client/elm/LoggedIn/View.elm4
-rw-r--r--src/client/elm/Update/LoggedIn/Monthly.elm21
9 files changed, 55 insertions, 54 deletions
diff --git a/src/client/elm/LoggedIn/Action.elm b/src/client/elm/LoggedIn/Action.elm
index 32c7e0a..2872f1a 100644
--- a/src/client/elm/LoggedIn/Action.elm
+++ b/src/client/elm/LoggedIn/Action.elm
@@ -3,10 +3,10 @@ module LoggedIn.Action
) where
import Model.Payment exposing (Payments, Payment, PaymentId, PaymentFrequency)
-import Model.Action.MonthlyAction exposing (MonthlyAction)
import LoggedIn.Account.Action as AccountAction
import LoggedIn.AddPayment.Action as AddPaymentAction
+import LoggedIn.Monthly.Action as MonthlyAction
type Action =
NoOp
@@ -18,5 +18,5 @@ type Action =
| ValidateDeletePayment Payment PaymentFrequency
| ToggleEdit PaymentId
| UpdatePage Int
- | UpdateMonthly MonthlyAction
+ | UpdateMonthly MonthlyAction.Action
| UpdateAccount AccountAction.Action
diff --git a/src/client/elm/LoggedIn/Model.elm b/src/client/elm/LoggedIn/Model.elm
index c1c573f..8f0843e 100644
--- a/src/client/elm/LoggedIn/Model.elm
+++ b/src/client/elm/LoggedIn/Model.elm
@@ -3,21 +3,20 @@ module LoggedIn.Model
, init
) where
+import Model.View.LoggedIn.Edition exposing (..)
import Model.User exposing (Users, UserId)
import Model.Payment exposing (Payments, PaymentFrequency(..))
import Model.Payer exposing (Payers)
import Model.Init exposing (..)
-import Model.View.LoggedIn.Edition exposing (..)
-import Model.View.LoggedIn.Monthly exposing (..)
-
import LoggedIn.Account.Model as AccountModel
import LoggedIn.AddPayment.Model as AddPaymentModel
+import LoggedIn.Monthly.Model as MonthlyModel
type alias Model =
{ users : Users
, add : AddPaymentModel.Model
- , monthly : Monthly
+ , monthly : MonthlyModel.Model
, account : AccountModel.Model
, payments : Payments
, paymentsCount : Int
@@ -29,7 +28,7 @@ init : Init -> Model
init initData =
{ users = initData.users
, add = AddPaymentModel.init Punctual
- , monthly = initMonthly initData.monthlyPayments
+ , monthly = MonthlyModel.init initData.monthlyPayments
, account = AccountModel.init initData.me initData.incomes
, payments = initData.payments
, paymentsCount = initData.paymentsCount
diff --git a/src/client/elm/Model/Action/MonthlyAction.elm b/src/client/elm/LoggedIn/Monthly/Action.elm
index c2de3e5..bf974f9 100644
--- a/src/client/elm/Model/Action/MonthlyAction.elm
+++ b/src/client/elm/LoggedIn/Monthly/Action.elm
@@ -1,10 +1,10 @@
-module Model.Action.MonthlyAction
- ( MonthlyAction(..)
+module LoggedIn.Monthly.Action
+ ( Action(..)
) where
import Model.Payment exposing (Payment)
-type MonthlyAction =
+type Action =
ToggleDetail
| AddPayment Payment
| DeletePayment Payment
diff --git a/src/client/elm/Model/View/LoggedIn/Monthly.elm b/src/client/elm/LoggedIn/Monthly/Model.elm
index 3c6f66a..16009d6 100644
--- a/src/client/elm/Model/View/LoggedIn/Monthly.elm
+++ b/src/client/elm/LoggedIn/Monthly/Model.elm
@@ -1,17 +1,17 @@
-module Model.View.LoggedIn.Monthly
- ( Monthly
- , initMonthly
+module LoggedIn.Monthly.Model
+ ( Model
+ , init
) where
import Model.Payment exposing (Payments)
-type alias Monthly =
+type alias Model =
{ payments : Payments
, visibleDetail : Bool
}
-initMonthly : Payments -> Monthly
-initMonthly payments =
+init : Payments -> Model
+init payments =
{ payments = payments
, visibleDetail = False
}
diff --git a/src/client/elm/LoggedIn/Monthly/Update.elm b/src/client/elm/LoggedIn/Monthly/Update.elm
new file mode 100644
index 0000000..62b40e6
--- /dev/null
+++ b/src/client/elm/LoggedIn/Monthly/Update.elm
@@ -0,0 +1,21 @@
+module LoggedIn.Monthly.Update
+ ( update
+ ) where
+
+import LoggedIn.Monthly.Action as MonthlyAction
+import LoggedIn.Monthly.Model as MonthlyModel
+
+update : MonthlyAction.Action -> MonthlyModel.Model -> MonthlyModel.Model
+update action monthly =
+ case action of
+ MonthlyAction.ToggleDetail ->
+ { monthly | visibleDetail = not monthly.visibleDetail }
+ MonthlyAction.AddPayment payment ->
+ { monthly
+ | payments = payment :: monthly.payments
+ , visibleDetail = True
+ }
+ MonthlyAction.DeletePayment payment ->
+ { monthly
+ | payments = List.filter (((/=) payment.id) << .id) monthly.payments
+ }
diff --git a/src/client/elm/View/LoggedIn/Monthly.elm b/src/client/elm/LoggedIn/Monthly/View.elm
index ae7e6bc..f9ea3bf 100644
--- a/src/client/elm/View/LoggedIn/Monthly.elm
+++ b/src/client/elm/LoggedIn/Monthly/View.elm
@@ -1,5 +1,5 @@
-module View.LoggedIn.Monthly
- ( monthlyPayments
+module LoggedIn.Monthly.View
+ ( view
) where
import String
@@ -12,19 +12,20 @@ import Html.Events exposing (..)
import LoggedIn.Action as LoggedInAction
import LoggedIn.Model as LoggedInModel
+import LoggedIn.Monthly.Action as MonthlyAction
+import LoggedIn.Monthly.Model as MonthlyModel
+
import Model exposing (Model)
import Model.Payment as Payment exposing (Payments, Payment)
import Model.Translations exposing (getMessage, getParamMessage)
import Model.Action exposing (..)
-import Model.Action.MonthlyAction exposing (..)
-import Model.View.LoggedIn.Monthly exposing (Monthly)
import View.Icon exposing (renderIcon)
import View.Expand exposing (..)
import View.Price exposing (price)
-monthlyPayments : Address Action -> Model -> LoggedInModel.Model -> Html
-monthlyPayments address model loggedInModel =
+view : Address Action -> Model -> LoggedInModel.Model -> Html
+view address model loggedInModel =
let monthly = loggedInModel.monthly
in if List.length monthly.payments == 0
then
@@ -40,20 +41,20 @@ monthlyPayments address model loggedInModel =
, if monthly.visibleDetail then paymentsTable address model loggedInModel monthly else text ""
]
-monthlyCount : Address Action -> Model -> Monthly -> Html
+monthlyCount : Address Action -> Model -> MonthlyModel.Model -> Html
monthlyCount address model monthly =
let count = List.length monthly.payments
total = List.sum << List.map .cost <| monthly.payments
key = if count > 1 then "PluralMonthlyCount" else "SingularMonthlyCount"
in button
[ class "header"
- , onClick address (UpdateLoggedIn << LoggedInAction.UpdateMonthly <| ToggleDetail)
+ , onClick address (UpdateLoggedIn << LoggedInAction.UpdateMonthly <| MonthlyAction.ToggleDetail)
]
[ text (getParamMessage [toString count, price model total] key model.translations)
, expand ExpandDown monthly.visibleDetail
]
-paymentsTable : Address Action -> Model -> LoggedInModel.Model -> Monthly -> Html
+paymentsTable : Address Action -> Model -> LoggedInModel.Model -> MonthlyModel.Model -> Html
paymentsTable address model loggedInModel monthly =
div
[ class "table" ]
diff --git a/src/client/elm/LoggedIn/Update.elm b/src/client/elm/LoggedIn/Update.elm
index 35ffaff..3b8090a 100644
--- a/src/client/elm/LoggedIn/Update.elm
+++ b/src/client/elm/LoggedIn/Update.elm
@@ -23,14 +23,15 @@ import LoggedIn.AddPayment.Action as AddPaymentAction
import LoggedIn.AddPayment.Model as AddPaymentModel
import LoggedIn.AddPayment.Update as AddPaymentUpdate
+import LoggedIn.Monthly.Action as MonthlyAction
+import LoggedIn.Monthly.Model as MonthlyModel
+import LoggedIn.Monthly.Update as MonthlyUpdate
+
import Model exposing (Model)
import Model.User exposing (UserId)
import Model.Payment exposing (..)
-import Model.Action.MonthlyAction as Monthly
import Model.Translations exposing (Translations, getMessage)
-import Update.LoggedIn.Monthly exposing (updateMonthly)
-
update : Model -> LoggedInAction.Action -> LoggedInModel.Model -> (LoggedInModel.Model, Effects LoggedInAction.Action)
update model action loggedInView =
case action of
@@ -86,7 +87,7 @@ update model action loggedInView =
Monthly ->
( { loggedInView
| add = newAdd
- , monthly = updateMonthly (Monthly.AddPayment newPayment) loggedInView.monthly
+ , monthly = MonthlyUpdate.update (MonthlyAction.AddPayment newPayment) loggedInView.monthly
}
, Effects.none
)
@@ -108,7 +109,7 @@ update model action loggedInView =
case frequency of
Monthly ->
( { loggedInView
- | monthly = updateMonthly (Monthly.DeletePayment payment) loggedInView.monthly
+ | monthly = MonthlyUpdate.update (MonthlyAction.DeletePayment payment) loggedInView.monthly
}
, Effects.none
)
@@ -127,7 +128,7 @@ update model action loggedInView =
)
LoggedInAction.UpdateMonthly monthlyAction ->
- ( { loggedInView | monthly = updateMonthly monthlyAction loggedInView.monthly }
+ ( { loggedInView | monthly = MonthlyUpdate.update monthlyAction loggedInView.monthly }
, Effects.none
)
diff --git a/src/client/elm/LoggedIn/View.elm b/src/client/elm/LoggedIn/View.elm
index 8561d2c..25624ce 100644
--- a/src/client/elm/LoggedIn/View.elm
+++ b/src/client/elm/LoggedIn/View.elm
@@ -10,12 +10,12 @@ import Html.Attributes exposing (..)
import LoggedIn.Model as LoggedInModel
import LoggedIn.Account.View as AccountView
import LoggedIn.AddPayment.View as AddPaymentView
+import LoggedIn.Monthly.View as MonthlyView
import Model exposing (Model)
import Model.Payment exposing (Payments)
import Model.Action exposing (Action)
-import View.LoggedIn.Monthly exposing (monthlyPayments)
import View.LoggedIn.Table exposing (paymentsTable)
import View.LoggedIn.Paging exposing (paymentsPaging)
@@ -27,7 +27,7 @@ view address model loggedInModel =
, div
[ class "expandables" ]
[ AccountView.view address model loggedInModel
- , monthlyPayments address model loggedInModel
+ , MonthlyView.view address model loggedInModel
]
, paymentsTable address model loggedInModel
, paymentsPaging address loggedInModel
diff --git a/src/client/elm/Update/LoggedIn/Monthly.elm b/src/client/elm/Update/LoggedIn/Monthly.elm
deleted file mode 100644
index 3741e1f..0000000
--- a/src/client/elm/Update/LoggedIn/Monthly.elm
+++ /dev/null
@@ -1,21 +0,0 @@
-module Update.LoggedIn.Monthly
- ( updateMonthly
- ) where
-
-import Model.Action.MonthlyAction exposing (..)
-import Model.View.LoggedIn.Monthly exposing (..)
-
-updateMonthly : MonthlyAction -> Monthly -> Monthly
-updateMonthly action monthly =
- case action of
- ToggleDetail ->
- { monthly | visibleDetail = not monthly.visibleDetail }
- AddPayment payment ->
- { monthly
- | payments = payment :: monthly.payments
- , visibleDetail = True
- }
- DeletePayment payment ->
- { monthly
- | payments = List.filter (((/=) payment.id) << .id) monthly.payments
- }