Mercurial > urweb
view demo/more/checkGroup.ur @ 1244:1eedc9086e6c
Use key information in more places, and catch cases where one key completion depends on another having happened already
author | Adam Chlipala <adamc@hcoop.net> |
---|---|
date | Sun, 18 Apr 2010 13:00:36 -0400 |
parents | 7facf72aaf0a |
children |
line wrap: on
line source
con t ctx data = list (data * xml ctx [] [] * source bool) fun create [ctx] [data] (items : list (data * xml ctx [] [] * bool)) = List.mapM (fn (d, x, b) => s <- source b; return (d, x, s)) items fun render [ctx] [data] [[Body] ~ ctx] (t : t ([Body] ++ ctx) data) = List.mapX (fn (_, x, s) => <xml><ccheckbox source={s}/> {x}<br/></xml>) t fun selected [ctx] [data] (t : t ctx data) = List.foldlM (fn (d, _, s) ls => s <- signal s; return (if s then d :: ls else ls)) [] t