view demo/more/expandable.ur @ 1168:69f1d39d3f2d

Use COALESCE to hide NULL results of aggregate functions; fix bug with improper ordering of query result columns
author Adam Chlipala <adamc@hcoop.net>
date Thu, 25 Feb 2010 14:55:35 -0500
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>