From 0dc740d8f64b31ff49b7cfb51ddc2dde7b5c121e Mon Sep 17 00:00:00 2001 From: Joris Date: Sun, 26 Jun 2016 13:22:47 +0200 Subject: Confirm before payment deletion --- src/client/elm/LoggedIn/Home/Model.elm | 6 ++--- src/client/elm/LoggedIn/Home/Msg.elm | 1 - src/client/elm/LoggedIn/Home/Update.elm | 5 ---- src/client/elm/LoggedIn/Home/View/Table.elm | 39 ++++++++++++++++------------- 4 files changed, 24 insertions(+), 27 deletions(-) (limited to 'src/client/elm/LoggedIn/Home') diff --git a/src/client/elm/LoggedIn/Home/Model.elm b/src/client/elm/LoggedIn/Home/Model.elm index be32fb7..caedc29 100644 --- a/src/client/elm/LoggedIn/Home/Model.elm +++ b/src/client/elm/LoggedIn/Home/Model.elm @@ -14,8 +14,7 @@ import Model.Payment as Payment exposing (PaymentId, Payments, Frequency(..)) import Model.Payer exposing (Payers) type alias Model = - { paymentEdition : Maybe PaymentId - , currentPage : Int + { currentPage : Int , search : Form String Search } @@ -26,8 +25,7 @@ type alias Search = init : Model init = - { paymentEdition = Nothing - , currentPage = 1 + { currentPage = 1 , search = Form.initial (searchInitial Punctual) searchValidation } diff --git a/src/client/elm/LoggedIn/Home/Msg.elm b/src/client/elm/LoggedIn/Home/Msg.elm index 73b8980..b5f2566 100644 --- a/src/client/elm/LoggedIn/Home/Msg.elm +++ b/src/client/elm/LoggedIn/Home/Msg.elm @@ -8,6 +8,5 @@ import Model.Payment exposing (PaymentId) type Msg = NoOp - | ToggleEdit PaymentId | UpdatePage Int | SearchMsg Form.Msg diff --git a/src/client/elm/LoggedIn/Home/Update.elm b/src/client/elm/LoggedIn/Home/Update.elm index 160e279..d1a3239 100644 --- a/src/client/elm/LoggedIn/Home/Update.elm +++ b/src/client/elm/LoggedIn/Home/Update.elm @@ -18,11 +18,6 @@ update loggedData msg model = , Cmd.none ) - Home.ToggleEdit id -> - ( { model | paymentEdition = if model.paymentEdition == Just id then Nothing else Just id } - , Cmd.none - ) - Home.UpdatePage page -> ( { model | currentPage = page } , Cmd.none diff --git a/src/client/elm/LoggedIn/Home/View/Table.elm b/src/client/elm/LoggedIn/Home/View/Table.elm index fa0a93d..b86976c 100644 --- a/src/client/elm/LoggedIn/Home/View/Table.elm +++ b/src/client/elm/LoggedIn/Home/View/Table.elm @@ -28,6 +28,8 @@ import Model.User exposing (getUserName) import Model.Payment as Payment exposing (..) import Model.Translations exposing (getMessage) +import Dialog + view : LoggedData -> HomeModel.Model -> Payments -> Frequency -> Html Msg view loggedData homeModel payments frequency = let visiblePayments = @@ -63,13 +65,8 @@ headerLine loggedData frequency = paymentLine : LoggedData -> HomeModel.Model -> Frequency -> Payment -> Html Msg paymentLine loggedData homeModel frequency payment = - a - [ classList - [ ("row", True) - , ("edition", homeModel.paymentEdition == Just payment.id) - ] - , onClick (Msg.UpdateLoggedIn << LoggedInMsg.HomeMsg << HomeMsg.ToggleEdit <| payment.id) - ] + div + [ class "row" ] [ div [ class "cell category" ] [ text payment.name ] , div [ classList @@ -98,14 +95,22 @@ paymentLine loggedData homeModel frequency payment = ] Monthly -> text "" - , if loggedData.me == payment.userId - then - div - [ class "cell delete" ] - [ button - [ onClick (Msg.UpdateLoggedIn <| LoggedInMsg.DeletePayment payment.id)] - [ FontAwesome.times Color.white 20 ] - ] - else - div [ class "cell" ] [] + , div + [ class "cell delete" ] + [ if loggedData.me /= payment.userId + then + text "" + else + let dialogConfig = + { className = "paymentDialog" + , title = getMessage "ConfirmPaymentDelete" loggedData.translations + , body = always <| text "" + , confirm = getMessage "Confirm" loggedData.translations + , confirmMsg = always <| Ok <| Msg.UpdateLoggedIn <| LoggedInMsg.DeletePayment payment.id + , undo = getMessage "Undo" loggedData.translations + } + in button + [ onClick (Msg.Dialog <| Dialog.Open dialogConfig) ] + [ FontAwesome.trash Color.chestnutRose 18 ] + ] ] -- cgit v1.2.3