annotate demo/more/meta.urs @ 1008:1911e84df461
Move stuff from bulkEdit to meta
author |
Adam Chlipala <adamc@hcoop.net> |
date |
Thu, 22 Oct 2009 11:51:31 -0400 |
parents |
d3af9e54c828 |
children |
59097824f19b |
rev |
line source |
adamc@1004
|
1 con meta = fn (db :: Type, widget :: Type) =>
|
adamc@1004
|
2 {Nam : string,
|
adamc@1004
|
3 Show : db -> xbody,
|
adamc@1004
|
4 Widget : nm :: Name -> xml form [] [nm = widget],
|
adamc@1004
|
5 WidgetPopulated : nm :: Name -> db -> xml form [] [nm = widget],
|
adamc@1004
|
6 Parse : widget -> db,
|
adamc@1004
|
7 Inject : sql_injectable db}
|
adamc@1004
|
8
|
adamc@1004
|
9 val int : string -> meta (int, string)
|
adamc@1004
|
10 val float : string -> meta (float, string)
|
adamc@1004
|
11 val string : string -> meta (string, string)
|
adamc@1004
|
12 val bool : string -> meta (bool, bool)
|
adamc@1007
|
13
|
adamc@1007
|
14 val textarea : string -> meta (string, string)
|
adamc@1007
|
15
|
adamc@1007
|
16 val allWidgets : ts ::: {(Type * Type)} -> $(map meta ts) -> folder ts
|
adamc@1007
|
17 -> xml form [] (map snd ts)
|
adamc@1008
|
18
|
adamc@1008
|
19 val allPopulatedTr : ts ::: {(Type * Type)} -> $(map meta ts) -> $(map fst ts) -> folder ts
|
adamc@1008
|
20 -> xml ([Tr] ++ form) [] (map snd ts)
|
adamc@1008
|
21
|
adamc@1008
|
22 val ensql : avail ::: {{Type}} -> ts ::: {(Type * Type)} -> $(map meta ts) -> $(map snd ts) -> folder ts
|
adamc@1008
|
23 -> $(map (sql_exp avail [] []) (map fst ts))
|