aboutsummaryrefslogtreecommitdiff
path: root/src/client/elm/Update/LoggedIn/Monthly.elm
diff options
context:
space:
mode:
authorJoris2015-12-29 22:38:42 +0100
committerJoris2015-12-29 22:38:42 +0100
commita7db22556b91bc7c499e010b4c051f4442ad8ce2 (patch)
tree9f991523cee681bf179c191260b95672f1c44def /src/client/elm/Update/LoggedIn/Monthly.elm
parentc79fa3e212e8bb49f950da3c3218e32e3b9df2ec (diff)
downloadbudget-a7db22556b91bc7c499e010b4c051f4442ad8ce2.tar.gz
budget-a7db22556b91bc7c499e010b4c051f4442ad8ce2.tar.bz2
budget-a7db22556b91bc7c499e010b4c051f4442ad8ce2.zip
Using persona to validate emails
Diffstat (limited to 'src/client/elm/Update/LoggedIn/Monthly.elm')
-rw-r--r--src/client/elm/Update/LoggedIn/Monthly.elm27
1 files changed, 27 insertions, 0 deletions
diff --git a/src/client/elm/Update/LoggedIn/Monthly.elm b/src/client/elm/Update/LoggedIn/Monthly.elm
new file mode 100644
index 0000000..1379323
--- /dev/null
+++ b/src/client/elm/Update/LoggedIn/Monthly.elm
@@ -0,0 +1,27 @@
+module Update.LoggedIn.Monthly
+ ( MonthlyAction(..)
+ , updateMonthly
+ ) where
+
+import Model.Payment exposing (Payment, PaymentId)
+import Model.View.LoggedIn.Monthly exposing (..)
+
+type MonthlyAction =
+ ToggleDetail
+ | AddPayment Payment
+ | DeletePayment PaymentId
+
+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 id ->
+ { monthly
+ | payments <- List.filter (\payment -> payment.id /= id) monthly.payments
+ }