lib: fix alignment in budget report
This commit is contained in:
parent
d094138910
commit
92e7370f1f
@ -262,18 +262,24 @@ budgetReportSpan (PeriodicReport (spans, _, _)) = DateSpan (spanStart $ head spa
|
||||
|
||||
-- | Render a budget report as plain text suitable for console output.
|
||||
budgetReportAsText :: ReportOpts -> BudgetReport -> String
|
||||
budgetReportAsText ropts budgetr =
|
||||
budgetReportAsText ropts budgetr@(PeriodicReport ( _, rows, _)) =
|
||||
printf "Budget performance in %s:\n\n" (showDateSpan $ budgetReportSpan budgetr)
|
||||
++
|
||||
tableAsText ropts showcell (budgetReportAsTable ropts budgetr)
|
||||
where
|
||||
actualwidth =
|
||||
maximum [ maybe 0 (length . showMixedAmountOneLineWithoutPrice) amt
|
||||
| (_, _, _, amtandgoals, _, _) <- rows
|
||||
, (amt, _) <- amtandgoals ]
|
||||
budgetwidth =
|
||||
maximum [ maybe 0 (length . showMixedAmountOneLineWithoutPrice) goal
|
||||
| (_, _, _, amtandgoals, _, _) <- rows
|
||||
, (_, goal) <- amtandgoals ]
|
||||
-- XXX lay out actual, percentage and/or goal in the single table cell for now, should probably use separate cells
|
||||
showcell :: (Maybe Change, Maybe BudgetGoal) -> String
|
||||
showcell (mactual, mbudget) = actualstr ++ " " ++ budgetstr
|
||||
where
|
||||
actualwidth = 7
|
||||
percentwidth = 4
|
||||
budgetwidth = 5
|
||||
actual = fromMaybe 0 mactual
|
||||
actualstr = printf ("%"++show actualwidth++"s") (showamt actual)
|
||||
budgetstr = case mbudget of
|
||||
|
||||
Loading…
Reference in New Issue
Block a user