From b195ecb345132895e0564e4e849196d137e24cdd Mon Sep 17 00:00:00 2001 From: Mark Lentczner Date: Mon, 26 Jul 2010 02:39:15 +0000 Subject: make module list use new collapsers --- src/Haddock/Backends/Xhtml.hs | 12 ++++++------ src/Haddock/Backends/Xhtml/Layout.hs | 4 +--- src/Haddock/Backends/Xhtml/Utils.hs | 10 ++++++---- 3 files changed, 13 insertions(+), 13 deletions(-) (limited to 'src/Haddock/Backends') diff --git a/src/Haddock/Backends/Xhtml.hs b/src/Haddock/Backends/Xhtml.hs index 94ee6347..7eb3180d 100644 --- a/src/Haddock/Backends/Xhtml.hs +++ b/src/Haddock/Backends/Xhtml.hs @@ -279,13 +279,13 @@ mkNodeList ss p ts = case ts of mkNode :: [String] -> String -> ModuleTree -> Html mkNode ss p (Node s leaf pkg short ts) = - collBtn +++ htmlModule +++ shortDescr +++ htmlPkg +++ subtree + htmlModule +++ shortDescr +++ htmlPkg +++ subtree where - collBtn = case ts of - [] -> noHtml - _ -> collapsebutton p + modAttrs = case ts of + [] -> [theclass "module"] + _ -> collapser p "module" - htmlModule = thespan ! [theclass "module" ] << + htmlModule = thespan ! modAttrs << (if leaf then ppModule (mkModule (stringToPackageId (fromMaybe "" pkg)) (mkModuleName mdl)) @@ -297,7 +297,7 @@ mkNode ss p (Node s leaf pkg short ts) = shortDescr = maybe noHtml origDocToHtml short htmlPkg = maybe noHtml (thespan ! [theclass "package"] <<) pkg - subtree = mkNodeList (s:ss) p ts ! [identifier p] + subtree = mkNodeList (s:ss) p ts ! [identifier p, theclass "show"] -- | Turn a module tree into a flat list of full module names. E.g., diff --git a/src/Haddock/Backends/Xhtml/Layout.hs b/src/Haddock/Backends/Xhtml/Layout.hs index 3535ba0e..9e45b812 100644 --- a/src/Haddock/Backends/Xhtml/Layout.hs +++ b/src/Haddock/Backends/Xhtml/Layout.hs @@ -163,9 +163,7 @@ subInstances id_ = maybe noHtml wrap . instTable wrap = (subSection <<) . (subCaption +++) instTable = fmap (thediv ! [identifier id_, theclass "show"] <<) . subTable subSection = thediv ! [theclass $ "subs instances"] - subCaption = paragraph ! [theclass cs, onclick js] << "Instances" - cs = "caption collapser" - js = "toggleSection(this,'" ++ id_ ++ "')" + subCaption = paragraph ! collapser id_ "caption" << "Instances" subMethods :: [Html] -> Html diff --git a/src/Haddock/Backends/Xhtml/Utils.hs b/src/Haddock/Backends/Xhtml/Utils.hs index 61f0894d..30abfdcd 100644 --- a/src/Haddock/Backends/Xhtml/Utils.hs +++ b/src/Haddock/Backends/Xhtml/Utils.hs @@ -25,7 +25,7 @@ module Haddock.Backends.Xhtml.Utils ( hsep, onclick, - collapsebutton, collapseId, + collapser, collapseId, ) where @@ -182,9 +182,11 @@ linkedAnchor n = anchor ! [href ('#':n)] -- below to a 'plusFile' and the 'display:block;' to a 'display:none;' when we -- use cookies from JavaScript to have a more persistent state. -collapsebutton :: String -> Html -collapsebutton id_ = - image ! [ src "minus.gif", theclass "coll", onclick ("toggle(this,'" ++ id_ ++ "')"), alt "show/hide" ] +collapser :: String -> String -> [HtmlAttr] +collapser id_ classes = [ theclass cs, onclick js ] + where + cs = unwords (words classes ++ ["collapser"]) + js = "toggleSection(this,'" ++ id_ ++ "')" -- A quote is a valid part of a Haskell identifier, but it would interfere with -- cgit v1.2.3