web: register page: clip linked accounts to 40 characters
This was the behaviour before adding the links.
This commit is contained in:
parent
adbdbf002c
commit
1fa4419cd1
@ -34,8 +34,13 @@ getRegisterR = do
|
||||
acctQuery = fromMaybe Any (inAccountQuery qopts)
|
||||
acctlink acc = (RegisterR, [("q", accountQuery acc)])
|
||||
otherTransAccounts =
|
||||
map (\(acct,(name,comma)) -> (acct, (T.pack name, T.pack comma))) .
|
||||
undecorateLinks . elideRightDecorated 40 . decorateLinks .
|
||||
addCommas . preferReal . otherTransactionAccounts m acctQuery
|
||||
addCommas xs = zip xs $ tail $ (","<$xs) ++ [T.empty]
|
||||
addCommas xs =
|
||||
zip xs $
|
||||
zip (map (T.unpack . accountSummarisedName . paccount) xs) $
|
||||
tail $ (", "<$xs) ++ [""]
|
||||
r@(balancelabel,items) = accountTransactionsReport ropts j m acctQuery
|
||||
balancelabel' = if isJust (inAccount qopts) then balancelabel else "Total"
|
||||
defaultLayout $ do
|
||||
@ -63,6 +68,28 @@ preferReal ps
|
||||
| otherwise = realps
|
||||
where realps = filter isReal ps
|
||||
|
||||
elideRightDecorated :: Int -> [(Maybe d, Char)] -> [(Maybe d, Char)]
|
||||
elideRightDecorated width s =
|
||||
if length s > width
|
||||
then take (width - 2) s ++ map ((,) Nothing) ".."
|
||||
else s
|
||||
|
||||
undecorateLinks :: [(Maybe acct, char)] -> [(acct, ([char], [char]))]
|
||||
undecorateLinks [] = []
|
||||
undecorateLinks xs0@(x:_) =
|
||||
case x of
|
||||
(Just acct, _) ->
|
||||
let (link, xs1) = span (isJust . fst) xs0
|
||||
(comma, xs2) = span (isNothing . fst) xs1
|
||||
in (acct, (map snd link, map snd comma)) : undecorateLinks xs2
|
||||
_ -> error "link name not decorated with account"
|
||||
|
||||
decorateLinks :: [(acct, ([char], [char]))] -> [(Maybe acct, char)]
|
||||
decorateLinks =
|
||||
concatMap
|
||||
(\(acct, (name, comma)) ->
|
||||
map ((,) (Just acct)) name ++ map ((,) Nothing) comma)
|
||||
|
||||
-- | Generate javascript/html for a register balance line chart based on
|
||||
-- the provided "TransactionsReportItem"s.
|
||||
registerChartHtml :: [(CommoditySymbol, (String, [TransactionsReportItem]))] -> HtmlUrl AppRoute
|
||||
|
||||
@ -26,9 +26,9 @@
|
||||
<td>
|
||||
#{textElideRight 30 (tdescription tacct)}
|
||||
<td .account>
|
||||
$forall (Posting { paccount = acc }, comma) <- otherTransAccounts torig
|
||||
$forall (Posting { paccount = acc }, (summName,comma)) <- otherTransAccounts torig
|
||||
<a href="@?{acctlink acc}##{tindex torig}" title="#{acc}">
|
||||
#{accountSummarisedName acc}</a>#{comma}
|
||||
#{summName}</a>#{comma}
|
||||
<td .amount style="text-align:right; white-space:nowrap;">
|
||||
$if not split || not (isZeroMixedAmount amt)
|
||||
^{mixedAmountAsHtml amt}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user