diff options
Diffstat (limited to 'src/client/View/Payments')
-rw-r--r-- | src/client/View/Payments/Table.elm | 20 |
1 files changed, 14 insertions, 6 deletions
diff --git a/src/client/View/Payments/Table.elm b/src/client/View/Payments/Table.elm index 7fa2ff1..9033db8 100644 --- a/src/client/View/Payments/Table.elm +++ b/src/client/View/Payments/Table.elm @@ -5,6 +5,7 @@ module View.Payments.Table import Html exposing (..) import Html.Attributes exposing (..) import Html.Events exposing (..) +import Dict exposing (..) import Date import Date exposing (Date) @@ -12,7 +13,7 @@ import Date exposing (Date) import String exposing (append) import Model exposing (Model) -import Model.Payment exposing (Payments, Payment) +import Model.Payment exposing (..) import Model.View.PaymentView exposing (PaymentView) import Update exposing (..) @@ -31,24 +32,31 @@ paymentsTable model paymentView = , div [ class "cell cost" ] [ renderIcon "euro" ] , div [ class "cell user" ] [ renderIcon "user" ] , div [ class "cell date" ] [ renderIcon "calendar" ] + , div [ class "cell" ] [] ] ] ++ (paymentLines model paymentView)) paymentLines : Model -> PaymentView -> List Html paymentLines model paymentView = paymentView.payments - |> List.sortBy (Date.toTime << .creation) + |> Dict.toList + |> List.sortBy (\(_, payment) -> Date.toTime payment.creation) |> List.reverse |> List.map (paymentLine model paymentView) -paymentLine : Model -> PaymentView -> Payment -> Html -paymentLine model paymentView payment = +paymentLine : Model -> PaymentView -> PaymentWithId -> Html +paymentLine model paymentView (id, payment) = a - [ class ("row " ++ (if paymentView.edition == Just payment.id then "edition" else "")) - , onClick actions.address (UpdatePayment (ToggleEdit payment.id)) + [ class ("row " ++ (if paymentView.edition == Just id then "edition" else "")) + , onClick actions.address (UpdatePayment (ToggleEdit id)) ] [ div [ class "cell" ] [ text payment.name ] , div [ class "cell" ] [ text ((toString payment.cost) ++ " €") ] , div [ class "cell" ] [ text payment.userName ] , div [ class "cell" ] [ text (renderDate payment.creation model.translations) ] + , div + [ class "cell remove" + , onClick actions.address (UpdatePayment (Remove id)) + ] + [ renderIcon "times" ] ] |