From 76f8b85eb9f796d6df861a04f702ef5f48630795 Mon Sep 17 00:00:00 2001 From: Joris Date: Tue, 29 Mar 2016 23:46:47 +0200 Subject: Move logged data to LoggedIn component --- src/client/elm/LoggedIn/Home/View/Table.elm | 46 ++++++++++++++--------------- 1 file changed, 23 insertions(+), 23 deletions(-) (limited to 'src/client/elm/LoggedIn/Home/View/Table.elm') diff --git a/src/client/elm/LoggedIn/Home/View/Table.elm b/src/client/elm/LoggedIn/Home/View/Table.elm index e49fd05..58f2d0b 100644 --- a/src/client/elm/LoggedIn/Home/View/Table.elm +++ b/src/client/elm/LoggedIn/Home/View/Table.elm @@ -4,13 +4,14 @@ module LoggedIn.Home.View.Table import Dict exposing (..) import Date exposing (Date) -import Signal exposing (Address) import String exposing (append) import Html exposing (..) import Html.Attributes exposing (..) import Html.Events exposing (..) +import LoggedData exposing (LoggedData) + import LoggedIn.Action as LoggedInAction import LoggedIn.Home.Action as HomeAction @@ -18,48 +19,47 @@ import LoggedIn.Home.Model as HomeModel import LoggedIn.Home.View.Date exposing (..) import LoggedIn.Home.View.Price exposing (price) -import Model exposing (Model) import Model.User exposing (getUserName) import Model.Payment exposing (..) -import Model.Translations exposing (getMessage) -import Action exposing (..) +import Action +import Mailbox import View.Icon exposing (renderIcon) -paymentsTable : Address Action -> Model -> HomeModel.Model -> Html -paymentsTable address model homeModel = +paymentsTable : LoggedData -> HomeModel.Model -> Html +paymentsTable loggedData homeModel = div [ class "table" ] - ( headerLine model :: paymentLines address model homeModel) + ( headerLine loggedData :: paymentLines loggedData homeModel) -headerLine : Model -> Html -headerLine model = +headerLine : LoggedData -> Html +headerLine loggedData = div [ class "header" ] [ div [ class "cell category" ] [ renderIcon "shopping-cart" ] - , div [ class "cell cost" ] [ text model.conf.currency ] + , div [ class "cell cost" ] [ text loggedData.conf.currency ] , div [ class "cell user" ] [ renderIcon "user" ] , div [ class "cell date" ] [ renderIcon "calendar" ] , div [ class "cell" ] [] ] -paymentLines : Address Action -> Model -> HomeModel.Model -> List Html -paymentLines address model homeModel = - homeModel.payments +paymentLines : LoggedData -> HomeModel.Model -> List Html +paymentLines loggedData homeModel = + loggedData.payments |> List.sortBy (Date.toTime << .creation) |> List.reverse |> List.drop ((homeModel.currentPage - 1) * perPage) |> List.take perPage - |> List.map (paymentLine address model homeModel) + |> List.map (paymentLine loggedData homeModel) -paymentLine : Address Action -> Model -> HomeModel.Model -> Payment -> Html -paymentLine address model homeModel payment = +paymentLine : LoggedData -> HomeModel.Model -> Payment -> Html +paymentLine loggedData homeModel payment = a [ classList [ ("row", True) , ("edition", homeModel.paymentEdition == Just payment.id) ] - , onClick address (UpdateLoggedIn << LoggedInAction.HomeAction << HomeAction.ToggleEdit <| payment.id) + , onClick Mailbox.address (Action.UpdateLoggedIn << LoggedInAction.HomeAction << HomeAction.ToggleEdit <| payment.id) ] [ div [ class "cell category" ] [ text payment.name ] , div @@ -68,11 +68,11 @@ paymentLine address model homeModel payment = , ("refund", payment.cost < 0) ] ] - [ text (price model payment.cost) ] + [ text (price loggedData.conf payment.cost) ] , div [ class "cell user" ] [ payment.userId - |> getUserName homeModel.users + |> getUserName loggedData.users |> Maybe.withDefault "−" |> text ] @@ -80,17 +80,17 @@ paymentLine address model homeModel payment = [ class "cell date" ] [ span [ class "shortDate" ] - [ text (renderShortDate payment.creation model.translations) ] + [ text (renderShortDate payment.creation loggedData.translations) ] , span [ class "longDate" ] - [ text (renderLongDate payment.creation model.translations) ] + [ text (renderLongDate payment.creation loggedData.translations) ] ] - , if homeModel.account.me == payment.userId + , if loggedData.me == payment.userId then div [ class "cell delete" ] [ button - [ onClick address (UpdateLoggedIn <| LoggedInAction.HomeAction <| HomeAction.DeletePayment payment Punctual)] + [ onClick Mailbox.address (Action.UpdateLoggedIn <| LoggedInAction.DeletePayment payment Punctual)] [ renderIcon "times" ] ] else -- cgit v1.2.3