From b145e03e5e25cfd59f544312efe3ea93e265a8ce Mon Sep 17 00:00:00 2001 From: Adam Chlipala Date: Sat, 13 Sep 2008 20:04:28 -0400 Subject: Crud gets column headings --- tests/crud.ur | 17 +++++++++++++---- tests/crud.urs | 2 +- tests/crud1.ur | 8 ++++---- 3 files changed, 18 insertions(+), 9 deletions(-) (limited to 'tests') 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 => - {funcs.Show v} + fn v col => + {col.Show v} ) [M.cols] (fs.T -- #Id) M.cols} @@ -36,7 +36,16 @@ fun main () : transaction page =

{cdata M.title}

- + + + {foldTRX [colMeta'] [tr] + (fn (nm :: Name) (t :: Type) (rest :: {Type}) => + [[nm] ~ rest] => + fn col => + + ) + [M.cols] M.cols} + {rows}
ID
ID
{cdata col.Nam}
diff --git a/tests/crud.urs b/tests/crud.urs index 4741af00..988c5458 100644 --- a/tests/crud.urs +++ b/tests/crud.urs @@ -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 diff --git a/tests/crud1.ur b/tests/crud1.ur index 2253d459..f9d67ed8 100644 --- a/tests/crud1.ur +++ b/tests/crud1.ur @@ -6,9 +6,9 @@ open Crud.Make(struct val title = "Crud1" val cols = { - A = {Show = txt _}, - B = {Show = txt _}, - C = {Show = txt _}, - D = {Show = txt _} + A = {Nam = "A", Show = txt _}, + B = {Nam = "B", Show = txt _}, + C = {Nam = "C", Show = txt _}, + D = {Nam = "D", Show = txt _} } end) -- cgit v1.2.3