cli: Commands.Print.transactionToSpreadsheet: vertically merge common index, date, description and other cells
This commit is contained in:
parent
8b391e2a07
commit
cc58ac7bf5
@ -240,8 +240,7 @@ transactionToSpreadsheet ::
|
|||||||
AmountFormat -> Maybe Text -> [Text] ->
|
AmountFormat -> Maybe Text -> [Text] ->
|
||||||
Transaction -> [[Spr.Cell Spr.NumLines Text]]
|
Transaction -> [[Spr.Cell Spr.NumLines Text]]
|
||||||
transactionToSpreadsheet fmt baseUrl query t =
|
transactionToSpreadsheet fmt baseUrl query t =
|
||||||
map
|
addRowSpanHeader (idx:d:d2:status:code:description:comment:[])
|
||||||
(\p -> idx:d:d2:status:code:description:comment:p)
|
|
||||||
(postingToSpreadsheet fmt baseUrl query =<< tpostings t)
|
(postingToSpreadsheet fmt baseUrl query =<< tpostings t)
|
||||||
where
|
where
|
||||||
cell = Spr.defaultCell
|
cell = Spr.defaultCell
|
||||||
@ -255,6 +254,20 @@ transactionToSpreadsheet fmt baseUrl query t =
|
|||||||
code = cell $ tcode t
|
code = cell $ tcode t
|
||||||
comment = cell $ T.strip $ tcomment t
|
comment = cell $ T.strip $ tcomment t
|
||||||
|
|
||||||
|
addRowSpanHeader ::
|
||||||
|
[Spr.Cell border text] ->
|
||||||
|
[[Spr.Cell border text]] -> [[Spr.Cell border text]]
|
||||||
|
addRowSpanHeader common rows =
|
||||||
|
case rows of
|
||||||
|
[] -> []
|
||||||
|
[row] -> [common++row]
|
||||||
|
_ ->
|
||||||
|
let setSpan spn cell = cell{Spr.cellSpan = spn} in
|
||||||
|
zipWith (++)
|
||||||
|
(map (setSpan $ Spr.SpanVertical $ length rows) common :
|
||||||
|
repeat (map (setSpan Spr.Covered) common))
|
||||||
|
rows
|
||||||
|
|
||||||
postingToSpreadsheet ::
|
postingToSpreadsheet ::
|
||||||
(Spr.Lines border) =>
|
(Spr.Lines border) =>
|
||||||
AmountFormat -> Maybe Text -> [Text] ->
|
AmountFormat -> Maybe Text -> [Text] ->
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user