budget: more regular layout, simple fixed-width columns
old:
Balance changes in 2018/03/19w12:
|| 2018/03/19w12
===================++=================
<unbudgeted>:aaa || 0
bbb || 1.33 [0]
bbb:bbbbbbbbbbbbb || 1.25 [42% of 3]
ccc || 0 [0% of 0]
ddd || 0 [0% of 0]
eee || 0.75 [75% of 1]
fff || 3.50 [50% of 7]
ggg || 1.25 [0]
hhh || 0 [0% of 6]
iii || 0 [0% of 0]
-------------------++-----------------
|| 8.08
new:
|| 2018/03/19w12
===================++========================
<unbudgeted>:aaa || 0
bbb || 1.33 [ 0]
bbb:bbbbbbbbbbbbb || 1.25 [ 42% of 3]
ccc || 0 [ 0% of 0]
ddd || 0 [ 0% of 0]
eee || 0.75 [ 75% of 1]
fff || 3.50 [ 50% of 7]
ggg || 1.25 [ 0]
hhh || 0 [ 0% of 6]
iii || 0 [ 0% of 0]
-------------------++------------------------
|| 8.08
This commit is contained in:
parent
550425810f
commit
6970a4c6e8
@ -667,11 +667,22 @@ multiBalanceReportWithBudgetAsText opts budgetr actualr =
|
||||
actualandbudgetamts = combine (balanceReportAsTable opts actualr) (balanceReportAsTable opts budgetr)
|
||||
|
||||
showcell :: (ActualAmount, Maybe BudgetAmount) -> String
|
||||
showcell (actual, Nothing) = showamt actual
|
||||
showcell (actual, Just budget) =
|
||||
case percentage actual budget of
|
||||
Just pct -> printf "%s [%s%% of %s]" (showamt actual) (show $ roundTo 0 pct) (showamt budget)
|
||||
Nothing -> printf "%s [%s]" (showamt actual) (showamt budget)
|
||||
showcell (actual, mbudget) =
|
||||
case (actual, mbudget) of
|
||||
(actual, Nothing) ->
|
||||
printf ("%"++show actualwidth++"s " ++ replicate (percentwidth + 7 + budgetwidth) ' ') (showamt actual)
|
||||
(actual, Just budget) ->
|
||||
case percentage actual budget of
|
||||
Just pct ->
|
||||
printf ("%"++show actualwidth++"s [%"++show percentwidth++"s%% of %"++show budgetwidth++"s]")
|
||||
(showamt actual) (show $ roundTo 0 pct) (showamt budget)
|
||||
Nothing ->
|
||||
printf ("%"++show actualwidth++"s ["++replicate (percentwidth+5) ' '++"%"++show budgetwidth++"s]")
|
||||
(showamt actual) (showamt budget)
|
||||
where
|
||||
actualwidth = 7
|
||||
percentwidth = 3
|
||||
budgetwidth = 4
|
||||
|
||||
percentage :: ActualAmount -> BudgetAmount -> Maybe Percentage
|
||||
percentage actual budget =
|
||||
|
||||
Loading…
Reference in New Issue
Block a user