Mercurial > urweb
view demo/more/expandable.ur @ 1232:efbefd6e3f6c
When applying multiple policies at once, filter the policy set at the beginning, removing unmatchable policies
author | Adam Chlipala <adamc@hcoop.net> |
---|---|
date | Tue, 13 Apr 2010 09:31:04 -0400 |
parents | 7facf72aaf0a |
children |
line wrap: on
line source
con t ctx = source bool * xml ctx [] [] fun create [ctx] (x : xml ctx [] []) = s <- source False; return (s, x) fun expand [ctx] (t : t ctx) = set t.1 True fun collapse [ctx] (t : t ctx) = set t.1 False fun render [ctx] [[Body] ~ ctx] (t : t ([Body] ++ ctx)) = <xml><dyn signal={b <- signal t.1; return (if b then <xml> <button value="-" onclick={collapse t}/><br/> {t.2} </xml> else <xml> <button value="+" onclick={expand t}/><br/> </xml>)}/></xml>