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,
|
noBorder,
|
||||||
defaultCell,
|
defaultCell,
|
||||||
emptyCell,
|
emptyCell,
|
||||||
|
transposeCell,
|
||||||
|
transpose,
|
||||||
) where
|
) where
|
||||||
|
|
||||||
import Hledger.Data.Types (Amount)
|
import Hledger.Data.Types (Amount)
|
||||||
|
|
||||||
|
import qualified Data.List as List
|
||||||
|
|
||||||
|
|
||||||
data Type =
|
data Type =
|
||||||
TypeString
|
TypeString
|
||||||
@ -66,6 +70,10 @@ instance Foldable Border where
|
|||||||
noBorder :: (Lines border) => Border border
|
noBorder :: (Lines border) => Border border
|
||||||
noBorder = pure noLine
|
noBorder = pure noLine
|
||||||
|
|
||||||
|
transposeBorder :: Border lines -> Border lines
|
||||||
|
transposeBorder (Border left right top bottom) =
|
||||||
|
Border top bottom left right
|
||||||
|
|
||||||
|
|
||||||
data Cell border text =
|
data Cell border text =
|
||||||
Cell {
|
Cell {
|
||||||
@ -90,3 +98,10 @@ defaultCell text =
|
|||||||
|
|
||||||
emptyCell :: (Lines border, Monoid text) => Cell border text
|
emptyCell :: (Lines border, Monoid text) => Cell border text
|
||||||
emptyCell = defaultCell mempty
|
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
|
budgetReportAsSpreadsheet
|
||||||
ReportOpts{..}
|
ReportOpts{..}
|
||||||
(PeriodicReport colspans items totrow)
|
(PeriodicReport colspans items totrow)
|
||||||
= (if transpose_ then transpose else id) $
|
= (if transpose_ then Ods.transpose else id) $
|
||||||
|
|
||||||
-- heading row
|
-- heading row
|
||||||
(map headerCell $
|
(map headerCell $
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user