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 | |
| parent | 2ba3903b23ef41e3a0b08579f23bb38405b96ab6 (diff) | |
don't collapse entries in module list when clicking on links
Diffstat (limited to 'src')
| -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  | 
