diff options
Diffstat (limited to 'src/client/elm')
-rw-r--r-- | src/client/elm/LoggedIn/Action.elm | 4 | ||||
-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.elm | 6 | ||||
-rw-r--r-- | src/client/elm/LoggedIn/Update.elm | 17 | ||||
-rw-r--r-- | src/client/elm/LoggedIn/View.elm | 5 |
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 |