cli: Commands.Balance.budgetReportAsSpreadsheet: also transpose border
This commit is contained in:
parent
2ed13afed4
commit
55c1246598
@ -13,10 +13,14 @@ module Hledger.Write.Spreadsheet (
|
||||
noBorder,
|
||||
defaultCell,
|
||||
emptyCell,
|
||||
transposeCell,
|
||||
transpose,
|
||||
) where
|
||||
|
||||
import Hledger.Data.Types (Amount)
|
||||
|
||||
import qualified Data.List as List
|
||||
|
||||
|
||||
data Type =
|
||||
TypeString
|
||||
@ -66,6 +70,10 @@ instance Foldable Border where
|
||||
noBorder :: (Lines border) => Border border
|
||||
noBorder = pure noLine
|
||||
|
||||
transposeBorder :: Border lines -> Border lines
|
||||
transposeBorder (Border left right top bottom) =
|
||||
Border top bottom left right
|
||||
|
||||
|
||||
data Cell border text =
|
||||
Cell {
|
||||
@ -90,3 +98,10 @@ defaultCell text =
|
||||
|
||||
emptyCell :: (Lines border, Monoid text) => Cell border text
|
||||
emptyCell = defaultCell mempty
|
||||
|
||||
transposeCell :: Cell border text -> Cell border text
|
||||
transposeCell cell =
|
||||
cell {cellBorder = transposeBorder $ cellBorder cell}
|
||||
|
||||
transpose :: [[Cell border text]] -> [[Cell border text]]
|
||||
transpose = List.transpose . map (map transposeCell)
|
||||
|
||||
@ -1223,7 +1223,7 @@ budgetReportAsSpreadsheet ::
|
||||
budgetReportAsSpreadsheet
|
||||
ReportOpts{..}
|
||||
(PeriodicReport colspans items totrow)
|
||||
= (if transpose_ then transpose else id) $
|
||||
= (if transpose_ then Ods.transpose else id) $
|
||||
|
||||
-- heading row
|
||||
(map headerCell $
|
||||
|
||||
Loading…
Reference in New Issue
Block a user