From 4333cae43f679c4a49d750f759cf8225ddb4b49f Mon Sep 17 00:00:00 2001 From: Simon Michael Date: Thu, 17 Jul 2014 18:09:02 -0700 Subject: [PATCH] web: register chart improvements - bigger - plot is horizontal when balance is not changing - legend for commodities - some work towards stable commodity colors --- .../Hledger/Reports/TransactionsReports.hs | 4 +- hledger-web/Handler/RegisterR.hs | 67 +++++++++++++------ 2 files changed, 50 insertions(+), 21 deletions(-) diff --git a/hledger-lib/Hledger/Reports/TransactionsReports.hs b/hledger-lib/Hledger/Reports/TransactionsReports.hs index 9e3321d06..f8528a4ef 100644 --- a/hledger-lib/Hledger/Reports/TransactionsReports.hs +++ b/hledger-lib/Hledger/Reports/TransactionsReports.hs @@ -205,9 +205,9 @@ filterTransactionPostings m t@Transaction{tpostings=ps} = t{tpostings=filter (m -- | Split a transactions report whose items may involve several commodities, -- into one or more single-commodity transactions reports. -transactionsReportByCommodity :: TransactionsReport -> [TransactionsReport] +transactionsReportByCommodity :: TransactionsReport -> [(Commodity, TransactionsReport)] transactionsReportByCommodity tr = - [filterTransactionsReportByCommodity c tr | c <- transactionsReportCommodities tr] + [(c, filterTransactionsReportByCommodity c tr) | c <- transactionsReportCommodities tr] where transactionsReportCommodities (_,items) = nub $ sort $ map acommodity $ concatMap (amounts . triAmount) items diff --git a/hledger-web/Handler/RegisterR.hs b/hledger-web/Handler/RegisterR.hs index 0ad8e01cd..b5b4d3024 100644 --- a/hledger-web/Handler/RegisterR.hs +++ b/hledger-web/Handler/RegisterR.hs @@ -58,8 +58,8 @@ registerItemsHtml _ vd (balancelabel,items) = [hamlet| Description To/From Account(s) - Amount Out/In - #{balancelabel'} + Amount Out/In + #{balancelabel'} $forall i <- numberTransactionsReportItems items ^{itemAsHtml vd i} |] @@ -96,40 +96,69 @@ registerItemsHtml _ vd (balancelabel,items) = [hamlet| -- Data.Foldable.Foldable t1 => -- t1 (Transaction, t2, t3, t4, t5, MixedAmount) -- -> t -> Text.Blaze.Internal.HtmlM () -registerChartHtml :: [(String, [TransactionsReportItem])] -> HtmlUrl AppRoute +registerChartHtml :: [(Commodity, (String, [TransactionsReportItem]))] -> HtmlUrl AppRoute registerChartHtml percommoditytxnreports = -- have to make sure plot is not called when our container (maincontent) -- is hidden, eg with add form toggled [hamlet| - - +
+