diff tests/crud.ur @ 336:34847732cefc

Crud gets column headings
author Adam Chlipala <adamc@hcoop.net>
date Sat, 13 Sep 2008 20:04:28 -0400
parents 9601c717d2f3
children 18d5affa790d
line wrap: on
line diff
--- a/tests/crud.ur	Sat Sep 13 19:53:07 2008 -0400
+++ b/tests/crud.ur	Sat Sep 13 20:04:28 2008 -0400
@@ -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 @@
                                 {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 @@
                 <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>