diff options
Diffstat (limited to 'tests/crud.ur')
-rw-r--r-- | tests/crud.ur | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/tests/crud.ur b/tests/crud.ur index 7f0fc71c..c596eaad 100644 --- a/tests/crud.ur +++ b/tests/crud.ur @@ -1,4 +1,4 @@ -con colMeta' = fn t :: Type => {Show : t -> xbody} +con colMeta' = fn t :: Type => {Nam : string, Show : t -> xbody} con colMeta = fn cols :: {Type} => $(Top.mapTT colMeta' cols) functor Make(M : sig @@ -22,8 +22,8 @@ fun main () : transaction page = {foldTRX2 [idT] [colMeta'] [tr] (fn (nm :: Name) (t :: Type) (rest :: {Type}) => [[nm] ~ rest] => - fn v funcs => <tr> - <td>{funcs.Show v}</td> + fn v col => <tr> + <td>{col.Show v}</td> </tr>) [M.cols] (fs.T -- #Id) M.cols} </tr> @@ -36,7 +36,16 @@ fun main () : transaction page = <h1>{cdata M.title}</h1> <table border={1}> - <tr> <th>ID</th> </tr> + <tr> + <th>ID</th> + {foldTRX [colMeta'] [tr] + (fn (nm :: Name) (t :: Type) (rest :: {Type}) => + [[nm] ~ rest] => + fn col => <tr> + <th>{cdata col.Nam}</th> + </tr>) + [M.cols] M.cols} + </tr> {rows} </table> </body></html> |