From 5c110716cfda6e616a795edd12f2012b132dca9f Mon Sep 17 00:00:00 2001 From: Joris Date: Sun, 2 Apr 2017 17:51:12 +0200 Subject: Add a chart on payments by month by categories --- src/client/Update.elm | 64 +++++++++++++++++++++++++-------------------------- 1 file changed, 32 insertions(+), 32 deletions(-) (limited to 'src/client/Update.elm') diff --git a/src/client/Update.elm b/src/client/Update.elm index 7006d5a..4284b65 100644 --- a/src/client/Update.elm +++ b/src/client/Update.elm @@ -2,35 +2,28 @@ module Update exposing ( update ) -import Task -import Platform.Cmd exposing (Cmd) import Navigation exposing (Location) +import Platform.Cmd exposing (Cmd) +import Task -import Page exposing (Page) - -import Server - -import Msg exposing (..) - +import Dialog +import Dialog.Update as DialogUpdate +import LoggedIn.Model as LoggedIn +import LoggedIn.Msg as LoggedIn +import LoggedIn.Stat.Msg as Stat +import LoggedIn.Update as LoggedIn import Model exposing (Model) import Model.Translations exposing (getMessage) import Model.View as V - -import LoggedIn.Model as LoggedInModel -import LoggedIn.Msg as LoggedInMsg -import LoggedIn.Update as LoggedInUpdate - +import Msg exposing (..) +import Page exposing (Page(..)) +import Server import SignIn.Model as SignInModel import SignIn.Msg as SignInMsg import SignIn.Update as SignInUpdate - -import Dialog -import Dialog.Update as DialogUpdate - import Tooltip - -import Utils.Http exposing (errorKey) import Utils.Cmd exposing ((:>)) +import Utils.Http exposing (errorKey) update : Msg -> Model -> (Model, Cmd Msg) update msg model = @@ -40,7 +33,14 @@ update msg model = (model, Cmd.none) UpdatePage page -> - ({ model | page = page }, Cmd.none) + ( { model | page = page } + , if page == Statistics + then + let msg = UpdateLoggedIn <| LoggedIn.StatMsg <| Stat.UpdateChart + in Task.perform (\_ -> msg) (Task.succeed ()) + else + Cmd.none + ) SignIn email -> ( applySignIn model (SignInMsg.WaitingServer) @@ -51,7 +51,7 @@ update msg model = ) GoLoggedInView init -> - ( { model | view = V.LoggedInView (LoggedInModel.init init) } + ( { model | view = V.LoggedInView (LoggedIn.init model.currentTime init) } , Cmd.none ) @@ -92,7 +92,7 @@ update msg model = CreatePayment name cost date category frequency -> ( model , Server.createPayment name cost date category frequency (\result -> case result of - Ok paymentId -> UpdateLoggedIn <| LoggedInMsg.ValidateCreatePayment paymentId name cost date category frequency + Ok paymentId -> UpdateLoggedIn <| LoggedIn.ValidateCreatePayment paymentId name cost date category frequency Err _ -> Error "CreatePaymentError" ) ) @@ -100,7 +100,7 @@ update msg model = EditPayment paymentId name cost date category frequency -> ( model , Server.editPayment paymentId name cost date category frequency (\result -> case result of - Ok _ -> UpdateLoggedIn <| LoggedInMsg.ValidateEditPayment paymentId name cost date category frequency + Ok _ -> UpdateLoggedIn <| LoggedIn.ValidateEditPayment paymentId name cost date category frequency Err _ -> Error "EditPaymentError" ) ) @@ -108,7 +108,7 @@ update msg model = DeletePayment paymentId -> ( model , Server.deletePayment paymentId (\result -> case result of - Ok _ -> UpdateLoggedIn <| LoggedInMsg.ValidateDeletePayment paymentId + Ok _ -> UpdateLoggedIn <| LoggedIn.ValidateDeletePayment paymentId Err _ -> Error "DeletePaymentError" ) ) @@ -116,7 +116,7 @@ update msg model = CreateIncome amount date -> ( model , Server.createIncome amount date (\result -> case result of - Ok incomeId -> UpdateLoggedIn <| LoggedInMsg.ValidateCreateIncome incomeId amount date + Ok incomeId -> UpdateLoggedIn <| LoggedIn.ValidateCreateIncome incomeId amount date Err _ -> Error "CreateIncomeError" ) ) @@ -124,7 +124,7 @@ update msg model = EditIncome incomeId amount date -> ( model , Server.editIncome incomeId amount date (\result -> case result of - Ok _ -> UpdateLoggedIn <| LoggedInMsg.ValidateEditIncome incomeId amount date + Ok _ -> UpdateLoggedIn <| LoggedIn.ValidateEditIncome incomeId amount date Err _ -> Error "EditIncomeError" ) ) @@ -132,7 +132,7 @@ update msg model = DeleteIncome incomeId -> ( model , Server.deleteIncome incomeId (\result -> case result of - Ok _ -> UpdateLoggedIn <| LoggedInMsg.ValidateDeleteIncome incomeId + Ok _ -> UpdateLoggedIn <| LoggedIn.ValidateDeleteIncome incomeId Err _ -> Error "DeleteIncomeError" ) ) @@ -140,7 +140,7 @@ update msg model = CreateCategory name color -> ( model , Server.createCategory name color (\result -> case result of - Ok categoryId -> UpdateLoggedIn <| LoggedInMsg.ValidateCreateCategory categoryId name color + Ok categoryId -> UpdateLoggedIn <| LoggedIn.ValidateCreateCategory categoryId name color Err _ -> Error "CreateCategoryError" ) ) @@ -148,7 +148,7 @@ update msg model = EditCategory categoryId name color -> ( model , Server.editCategory categoryId name color (\result -> case result of - Ok _ -> UpdateLoggedIn <| LoggedInMsg.ValidateEditCategory categoryId name color + Ok _ -> UpdateLoggedIn <| LoggedIn.ValidateEditCategory categoryId name color Err _ -> Error "EditCategoryError" ) ) @@ -156,7 +156,7 @@ update msg model = DeleteCategory categoryId -> ( model , Server.deleteCategory categoryId (\result -> case result of - Ok _ -> UpdateLoggedIn <| LoggedInMsg.ValidateDeleteCategory categoryId + Ok _ -> UpdateLoggedIn <| LoggedIn.ValidateDeleteCategory categoryId Err _ -> Error "DeleteCategoryError" ) ) @@ -170,11 +170,11 @@ applySignIn model signInMsg = _ -> model -applyLoggedIn : Model -> LoggedInMsg.Msg -> (Model, Cmd Msg) +applyLoggedIn : Model -> LoggedIn.Msg -> (Model, Cmd Msg) applyLoggedIn model loggedInMsg = case model.view of V.LoggedInView loggedInView -> - let (view, cmd) = LoggedInUpdate.update model loggedInMsg loggedInView + let (view, cmd) = LoggedIn.update model loggedInMsg loggedInView in ( { model | view = V.LoggedInView view } , Cmd.map UpdateLoggedIn cmd ) -- cgit v1.2.3