aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoris2016-03-27 21:13:37 +0200
committerJoris2016-03-27 21:13:37 +0200
commit0c9d2b91e73f045067f7bcce6e4235fc9008f309 (patch)
tree6aa101db10b72408a9cfa256312cb34e7ec22dff
parent7c050fe2d2c3e8f190e019e1613d37b9d8ef22b9 (diff)
Regroup add payment modules
-rw-r--r--src/client/elm/LoggedIn/Action.elm4
-rw-r--r--src/client/elm/LoggedIn/AddPayment/Action.elm (renamed from src/client/elm/Model/Action/AddPaymentAction.elm)6
-rw-r--r--src/client/elm/LoggedIn/AddPayment/Model.elm (renamed from src/client/elm/Model/View/LoggedIn/AddPayment.elm)12
-rw-r--r--src/client/elm/LoggedIn/AddPayment/Update.elm (renamed from src/client/elm/Update/LoggedIn/AddPayment.elm)29
-rw-r--r--src/client/elm/LoggedIn/AddPayment/View.elm (renamed from src/client/elm/View/LoggedIn/AddPayment.elm)26
-rw-r--r--src/client/elm/LoggedIn/Model.elm6
-rw-r--r--src/client/elm/LoggedIn/Update.elm17
-rw-r--r--src/client/elm/LoggedIn/View.elm5
8 files changed, 53 insertions, 52 deletions
diff --git a/src/client/elm/LoggedIn/Action.elm b/src/client/elm/LoggedIn/Action.elm
index bd224cd..32c7e0a 100644
--- a/src/client/elm/LoggedIn/Action.elm
+++ b/src/client/elm/LoggedIn/Action.elm
@@ -4,13 +4,13 @@ module LoggedIn.Action
import Model.Payment exposing (Payments, Payment, PaymentId, PaymentFrequency)
import Model.Action.MonthlyAction exposing (MonthlyAction)
-import Model.Action.AddPaymentAction exposing (AddPaymentAction)
import LoggedIn.Account.Action as AccountAction
+import LoggedIn.AddPayment.Action as AddPaymentAction
type Action =
NoOp
- | UpdateAdd AddPaymentAction
+ | UpdateAdd AddPaymentAction.Action
| UpdatePayments Payments
| AddPayment String String PaymentFrequency
| ValidateAddPayment PaymentId String Int PaymentFrequency
diff --git a/src/client/elm/Model/Action/AddPaymentAction.elm b/src/client/elm/LoggedIn/AddPayment/Action.elm
index 2d4f92a..41d4f5b 100644
--- a/src/client/elm/Model/Action/AddPaymentAction.elm
+++ b/src/client/elm/LoggedIn/AddPayment/Action.elm
@@ -1,8 +1,8 @@
-module Model.Action.AddPaymentAction
- ( AddPaymentAction(..)
+module LoggedIn.AddPayment.Action
+ ( Action(..)
) where
-type AddPaymentAction =
+type Action =
NoOp
| UpdateName String
| UpdateCost String
diff --git a/src/client/elm/Model/View/LoggedIn/AddPayment.elm b/src/client/elm/LoggedIn/AddPayment/Model.elm
index c7680bb..2aa32c2 100644
--- a/src/client/elm/Model/View/LoggedIn/AddPayment.elm
+++ b/src/client/elm/LoggedIn/AddPayment/Model.elm
@@ -1,6 +1,6 @@
-module Model.View.LoggedIn.AddPayment
- ( AddPayment
- , initAddPayment
+module LoggedIn.AddPayment.Model
+ ( Model
+ , init
) where
import Result as Result exposing (Result(..))
@@ -9,7 +9,7 @@ import Json.Decode exposing ((:=))
import Model.Translations exposing (..)
import Model.Payment exposing (PaymentFrequency(..))
-type alias AddPayment =
+type alias Model =
{ name : String
, nameError : Maybe String
, cost : String
@@ -18,8 +18,8 @@ type alias AddPayment =
, waitingServer : Bool
}
-initAddPayment : PaymentFrequency -> AddPayment
-initAddPayment frequency =
+init : PaymentFrequency -> Model
+init frequency =
{ name = ""
, nameError = Nothing
, cost = ""
diff --git a/src/client/elm/Update/LoggedIn/AddPayment.elm b/src/client/elm/LoggedIn/AddPayment/Update.elm
index 4c9c484..eb4384b 100644
--- a/src/client/elm/Update/LoggedIn/AddPayment.elm
+++ b/src/client/elm/LoggedIn/AddPayment/Update.elm
@@ -1,45 +1,46 @@
-module Update.LoggedIn.AddPayment
- ( updateAddPayment
+module LoggedIn.AddPayment.Update
+ ( update
, addPaymentError
) where
import Maybe
import Json.Decode as Json exposing ((:=))
-import Model.Action.AddPaymentAction exposing (..)
-import Model.View.LoggedIn.AddPayment exposing (..)
+import LoggedIn.AddPayment.Action as AddPaymentAction
+import LoggedIn.AddPayment.Model as AddPaymentModel
+
import Model.Translations exposing (Translations, getMessage)
import Model.Payment exposing (PaymentFrequency(..))
-updateAddPayment : AddPaymentAction -> AddPayment -> AddPayment
-updateAddPayment action addPayment =
+update : AddPaymentAction.Action -> AddPaymentModel.Model -> AddPaymentModel.Model
+update action addPayment =
case action of
- NoOp ->
+ AddPaymentAction.NoOp ->
addPayment
- UpdateName name ->
+ AddPaymentAction.UpdateName name ->
{ addPayment | name = name }
- UpdateCost cost ->
+ AddPaymentAction.UpdateCost cost ->
{ addPayment | cost = cost }
- AddError nameError costError ->
+ AddPaymentAction.AddError nameError costError ->
{ addPayment
| nameError = nameError
, costError = costError
, waitingServer = False
}
- ToggleFrequency ->
+ AddPaymentAction.ToggleFrequency ->
{ addPayment
| frequency = if addPayment.frequency == Punctual then Monthly else Punctual
}
- WaitingServer ->
+ AddPaymentAction.WaitingServer ->
{ addPayment | waitingServer = True }
-addPaymentError : Translations -> String -> Maybe AddPaymentAction
+addPaymentError : Translations -> String -> Maybe AddPaymentAction.Action
addPaymentError translations jsonErr =
let decoder =
Json.object2 (,)
@@ -49,6 +50,6 @@ addPaymentError translations jsonErr =
Err _ ->
Nothing
Ok (mbNameKey, mbCostKey) ->
- Just <| AddError
+ Just <| AddPaymentAction.AddError
(Maybe.map (flip getMessage translations) mbNameKey)
(Maybe.map (flip getMessage translations) mbCostKey)
diff --git a/src/client/elm/View/LoggedIn/AddPayment.elm b/src/client/elm/LoggedIn/AddPayment/View.elm
index 010ecd3..50f7708 100644
--- a/src/client/elm/View/LoggedIn/AddPayment.elm
+++ b/src/client/elm/LoggedIn/AddPayment/View.elm
@@ -1,5 +1,5 @@
-module View.LoggedIn.AddPayment
- ( addPayment
+module LoggedIn.AddPayment.View
+ ( view
) where
import Result exposing (..)
@@ -12,13 +12,13 @@ import Html.Events exposing (..)
import LoggedIn.Action as LoggedInAction
import LoggedIn.Model as LoggedInModel
+import LoggedIn.AddPayment.Action as AddPaymentAction
+import LoggedIn.AddPayment.Model as AddPaymentModel
+
import Model exposing (Model)
import Model.Payment exposing (PaymentFrequency(..))
import Model.Translations exposing (getMessage)
import Model.Action as Action exposing (..)
-import Model.Action.AddPaymentAction exposing (..)
-
-import Model.View.LoggedIn.AddPayment exposing (..)
import View.Events exposing (onSubmitPrevDefault)
import View.Icon exposing (..)
@@ -26,8 +26,8 @@ import View.Icon exposing (..)
import Utils.Maybe exposing (isJust)
import Utils.Either exposing (toMaybeError)
-addPayment : Address Action -> Model -> LoggedInModel.Model -> Html
-addPayment address model loggedInModel =
+view : Address Action -> Model -> LoggedInModel.Model -> Html
+view address model loggedInModel =
H.form
[ let update =
if loggedInModel.add.waitingServer
@@ -53,7 +53,7 @@ addPayment address model loggedInModel =
]
]
-addPaymentName : Address Action -> AddPayment -> Html
+addPaymentName : Address Action -> AddPaymentModel.Model -> Html
addPaymentName address addPayment =
div
[ classList
@@ -64,7 +64,7 @@ addPaymentName address addPayment =
[ input
[ id "nameInput"
, value addPayment.name
- , on "input" targetValue (Signal.message address << UpdateLoggedIn << LoggedInAction.UpdateAdd << UpdateName)
+ , on "input" targetValue (Signal.message address << UpdateLoggedIn << LoggedInAction.UpdateAdd << AddPaymentAction.UpdateName)
, maxlength 20
]
[]
@@ -78,7 +78,7 @@ addPaymentName address addPayment =
text ""
]
-addPaymentCost : Address Action -> Model -> AddPayment -> Html
+addPaymentCost : Address Action -> Model -> AddPaymentModel.Model -> Html
addPaymentCost address model addPayment =
div
[ classList
@@ -89,7 +89,7 @@ addPaymentCost address model addPayment =
[ input
[ id "costInput"
, value addPayment.cost
- , on "input" targetValue (Signal.message address << UpdateLoggedIn << LoggedInAction.UpdateAdd << UpdateCost)
+ , on "input" targetValue (Signal.message address << UpdateLoggedIn << LoggedInAction.UpdateAdd << AddPaymentAction.UpdateCost)
, maxlength 7
]
[]
@@ -103,12 +103,12 @@ addPaymentCost address model addPayment =
text ""
]
-paymentFrequency : Address Action -> Model -> AddPayment -> Html
+paymentFrequency : Address Action -> Model -> AddPaymentModel.Model -> Html
paymentFrequency address model addPayment =
button
[ type' "button"
, class "frequency"
- , onClick address (UpdateLoggedIn << LoggedInAction.UpdateAdd <| ToggleFrequency)
+ , onClick address (UpdateLoggedIn << LoggedInAction.UpdateAdd <| AddPaymentAction.ToggleFrequency)
]
[ div
[ classList
diff --git a/src/client/elm/LoggedIn/Model.elm b/src/client/elm/LoggedIn/Model.elm
index 0f677c1..c1c573f 100644
--- a/src/client/elm/LoggedIn/Model.elm
+++ b/src/client/elm/LoggedIn/Model.elm
@@ -8,15 +8,15 @@ import Model.Payment exposing (Payments, PaymentFrequency(..))
import Model.Payer exposing (Payers)
import Model.Init exposing (..)
-import Model.View.LoggedIn.AddPayment 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
type alias Model =
{ users : Users
- , add : AddPayment
+ , add : AddPaymentModel.Model
, monthly : Monthly
, account : AccountModel.Model
, payments : Payments
@@ -28,7 +28,7 @@ type alias Model =
init : Init -> Model
init initData =
{ users = initData.users
- , add = initAddPayment Punctual
+ , add = AddPaymentModel.init Punctual
, monthly = initMonthly initData.monthlyPayments
, account = AccountModel.init initData.me initData.incomes
, payments = initData.payments
diff --git a/src/client/elm/LoggedIn/Update.elm b/src/client/elm/LoggedIn/Update.elm
index e017423..35ffaff 100644
--- a/src/client/elm/LoggedIn/Update.elm
+++ b/src/client/elm/LoggedIn/Update.elm
@@ -19,15 +19,16 @@ import LoggedIn.Model as LoggedInModel
import LoggedIn.Account.Action as AccountAction
import LoggedIn.Account.Update as AccountUpdate
+import LoggedIn.AddPayment.Action as AddPaymentAction
+import LoggedIn.AddPayment.Model as AddPaymentModel
+import LoggedIn.AddPayment.Update as AddPaymentUpdate
+
import Model exposing (Model)
import Model.User exposing (UserId)
import Model.Payment exposing (..)
import Model.Action.MonthlyAction as Monthly
-import Model.Action.AddPaymentAction as AddPayment
-import Model.View.LoggedIn.AddPayment exposing (..)
import Model.Translations exposing (Translations, getMessage)
-import Update.LoggedIn.AddPayment exposing (updateAddPayment, addPaymentError)
import Update.LoggedIn.Monthly exposing (updateMonthly)
update : Model -> LoggedInAction.Action -> LoggedInModel.Model -> (LoggedInModel.Model, Effects LoggedInAction.Action)
@@ -37,7 +38,7 @@ update model action loggedInView =
LoggedInAction.NoOp -> (loggedInView, Effects.none)
LoggedInAction.UpdateAdd addPaymentAction ->
- ( { loggedInView | add = updateAddPayment addPaymentAction loggedInView.add }
+ ( { loggedInView | add = AddPaymentUpdate.update addPaymentAction loggedInView.add }
, Effects.none
)
@@ -47,19 +48,19 @@ update model action loggedInView =
)
LoggedInAction.AddPayment name cost frequency ->
- ( { loggedInView | add = updateAddPayment AddPayment.WaitingServer loggedInView.add }
+ ( { loggedInView | add = AddPaymentUpdate.update AddPaymentAction.WaitingServer loggedInView.add }
, Server.addPayment name cost frequency
|> Task.map (\paymentId ->
case String.toInt cost of
Err _ ->
- LoggedInAction.UpdateAdd (AddPayment.AddError Nothing (Just (getMessage "CostRequired" model.translations)))
+ LoggedInAction.UpdateAdd (AddPaymentAction.AddError Nothing (Just (getMessage "CostRequired" model.translations)))
Ok costNumber ->
LoggedInAction.ValidateAddPayment paymentId name costNumber frequency
)
|> flip Task.onError (\err ->
case err of
BadResponse 400 jsonErr ->
- case addPaymentError model.translations jsonErr of
+ case AddPaymentUpdate.addPaymentError model.translations jsonErr of
Just addPaymentAction -> Task.succeed (LoggedInAction.UpdateAdd addPaymentAction)
Nothing -> Task.succeed LoggedInAction.NoOp
_ ->
@@ -70,7 +71,7 @@ update model action loggedInView =
LoggedInAction.ValidateAddPayment paymentId name cost frequency ->
let newPayment = Payment paymentId (Date.fromTime model.currentTime) name cost loggedInView.account.me
- newAdd = initAddPayment frequency
+ newAdd = AddPaymentModel.init frequency
in case frequency of
Punctual ->
( { loggedInView
diff --git a/src/client/elm/LoggedIn/View.elm b/src/client/elm/LoggedIn/View.elm
index 8817dd2..8561d2c 100644
--- a/src/client/elm/LoggedIn/View.elm
+++ b/src/client/elm/LoggedIn/View.elm
@@ -8,14 +8,13 @@ import Html exposing (..)
import Html.Attributes exposing (..)
import LoggedIn.Model as LoggedInModel
-
import LoggedIn.Account.View as AccountView
+import LoggedIn.AddPayment.View as AddPaymentView
import Model exposing (Model)
import Model.Payment exposing (Payments)
import Model.Action exposing (Action)
-import View.LoggedIn.AddPayment exposing (addPayment)
import View.LoggedIn.Monthly exposing (monthlyPayments)
import View.LoggedIn.Table exposing (paymentsTable)
import View.LoggedIn.Paging exposing (paymentsPaging)
@@ -24,7 +23,7 @@ view : Address Action -> Model -> LoggedInModel.Model -> Html
view address model loggedInModel =
div
[ class "loggedIn" ]
- [ addPayment address model loggedInModel
+ [ AddPaymentView.view address model loggedInModel
, div
[ class "expandables" ]
[ AccountView.view address model loggedInModel