diff options
author | Mark Lentczner <markl@glyphic.com> | 2010-08-17 23:06:02 +0000 |
---|---|---|
committer | Mark Lentczner <markl@glyphic.com> | 2010-08-17 23:06:02 +0000 |
commit | 960d04affed43d771a94d8179c68e31f515f64ec (patch) | |
tree | 13cbfaf6be8862c8e6dbbeb94a3d38566c374e3f /src/Haddock/Backends | |
parent | 2ba3903b23ef41e3a0b08579f23bb38405b96ab6 (diff) |
don't collapse entries in module list when clicking on links
Diffstat (limited to 'src/Haddock/Backends')
-rw-r--r-- | src/Haddock/Backends/Xhtml.hs | 19 |
1 files changed, 13 insertions, 6 deletions
diff --git a/src/Haddock/Backends/Xhtml.hs b/src/Haddock/Backends/Xhtml.hs index 8ea55e9b..1ae8b12d 100644 --- a/src/Haddock/Backends/Xhtml.hs +++ b/src/Haddock/Backends/Xhtml.hs @@ -262,12 +262,19 @@ mkNode :: [String] -> String -> ModuleTree -> Html mkNode ss p (Node s leaf pkg short ts) = htmlModule +++ shortDescr +++ htmlPkg +++ subtree where - modAttrs = case ts of - [] -> [theclass "module"] - _ -> collapseControl p True "module" - - htmlModule = thespan ! modAttrs << - (if leaf + modAttrs = case (ts, leaf) of + (_:_, False) -> collapseControl p True "module" + (_, _ ) -> [theclass "module"] + + cBtn = case (ts, leaf) of + (_:_, True) -> thespan ! collapseControl p True "" << spaceHtml + (_, _ ) -> noHtml + -- We only need an explicit collapser button when the module name + -- is also a leaf, and so is a link to a module page. Indeed, the + -- spaceHtml is a minor hack and does upset the layout a fraction. + + htmlModule = thespan ! modAttrs << (cBtn +++ + if leaf then ppModule (mkModule (stringToPackageId (fromMaybe "" pkg)) (mkModuleName mdl)) else toHtml s |