diff options
author | Adam Chlipala <adamc@hcoop.net> | 2009-10-20 12:48:53 -0400 |
---|---|---|
committer | Adam Chlipala <adamc@hcoop.net> | 2009-10-20 12:48:53 -0400 |
commit | 4ce29a476f2f02448db865787b55037b7b10da69 (patch) | |
tree | 06207c87f54c242948fab98a5331a12d0557c85d /demo/more/meta.ur | |
parent | 2fdb4d380392a2a221e4f0ebec1bf555e2c73ba3 (diff) |
Start of user management
Diffstat (limited to 'demo/more/meta.ur')
-rw-r--r-- | demo/more/meta.ur | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/demo/more/meta.ur b/demo/more/meta.ur new file mode 100644 index 00000000..2a8787f7 --- /dev/null +++ b/demo/more/meta.ur @@ -0,0 +1,27 @@ +con meta = fn (db :: Type, widget :: Type) => + {Nam : string, + Show : db -> xbody, + Widget : nm :: Name -> xml form [] [nm = widget], + WidgetPopulated : nm :: Name -> db -> xml form [] [nm = widget], + Parse : widget -> db, + Inject : sql_injectable db} + +fun default [t] (sh : show t) (rd : read t) (inj : sql_injectable t) name : meta (t, string) = + {Nam = name, + Show = txt, + Widget = fn [nm :: Name] => <xml><textbox{nm}/></xml>, + WidgetPopulated = fn [nm :: Name] n => + <xml><textbox{nm} value={show n}/></xml>, + Parse = readError, + Inject = _} + +val int = default +val float = default +val string = default +fun bool name = {Nam = name, + Show = txt, + Widget = fn [nm :: Name] => <xml><checkbox{nm}/></xml>, + WidgetPopulated = fn [nm :: Name] b => + <xml><checkbox{nm} checked={b}/></xml>, + Parse = fn x => x, + Inject = _} |