diff options
| -rw-r--r-- | src/HaddockHtml.hs | 19 | 
1 files changed, 12 insertions, 7 deletions
| diff --git a/src/HaddockHtml.hs b/src/HaddockHtml.hs index 17cab01e..07c33bee 100644 --- a/src/HaddockHtml.hs +++ b/src/HaddockHtml.hs @@ -303,7 +303,7 @@ mkNode ss (Node s leaf pkg short ts) id = htmlNode      genSubTree :: HtmlTable -> Int -> [ModuleTree] -> (Html,Int)      genSubTree htmlTable id [] = (sub_tree,id)        where -        sub_tree = vanillaTable ! [identifier id_s, thestyle "display:none;"] << htmlTable +        sub_tree = collapsed vanillaTable id_s htmlTable      genSubTree htmlTable id (x:xs) = genSubTree (htmlTable </> u) id' xs              where          (u,id') = mkNode (s:ss) x id @@ -664,7 +664,7 @@ ppHsDataDecl summary instances is_newty  	   | otherwise  	   =  inst_hdr inst_id </>  		 tda [theclass "body"] <<  -		    collapsed inst_id ( +		    collapsed thediv inst_id (  			spacedTable1 << (  			   aboves (map (declBox.ppInstHead) instances)  		        ) @@ -843,7 +843,7 @@ ppHsClassDecl summary instances orig_c  	   | otherwise   	   =  s8 </> inst_hdr inst_id </>  		 tda [theclass "body"] <<  -		   collapsed inst_id ( +		   collapsed thediv inst_id (  		      spacedTable1 << (  			aboves (map (declBox.ppInstHead) instances)  		  )) @@ -1168,13 +1168,18 @@ namedAnchor n = anchor ! [name (escapeStr n)]  --  -- A section of HTML which is collapsible via a +/- button.  -- + +-- TODO: Currently the initial state is non-collapsed. Change the 'minusFile' +-- 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 plusFile, theclass "coll", onclick ("toggle(this,'" ++ id ++ "')"), alt "show/hide" ] +  image ! [ src minusFile, theclass "coll", onclick ("toggle(this,'" ++ id ++ "')"), alt "show/hide" ] -collapsed :: String -> Html -> Html -collapsed id html = -  thediv ! [identifier id, thestyle "display:none;"] << html +collapsed :: (HTML a) => (Html -> Html) -> String -> a -> Html +collapsed fn id html = +  fn ! [identifier id, thestyle "display:block;"] << html  -- A quote is a valid part of a Haskell identifier, but it would interfere with  -- the ECMA script string delimiter used in collapsebutton above. | 
