# HG changeset patch # User Adam Chlipala # Date 1224016908 14400 # Node ID 260b680a6a04a935912260cc8ea016b7fb11168a # Parent c1e96b387115f3efa8f69faf7de05f7875c4ed19 lform -> form diff -r c1e96b387115 -r 260b680a6a04 lib/basis.urs --- a/lib/basis.urs Tue Oct 14 16:37:43 2008 -0400 +++ b/lib/basis.urs Tue Oct 14 16:41:48 2008 -0400 @@ -283,14 +283,14 @@ con page = xhtml [] [] con xbody = xml [Body] [] [] con xtr = xml [Body, Tr] [] [] -con xform = xml [Body, LForm] [] [] +con xform = xml [Body, Form] [] [] (*** HTML details *) con html = [Html] con head = [Head] con body = [Body] -con form = [Body, LForm] +con form = [Body, Form] con tabl = [Body, Table] con tr = [Body, Tr] @@ -319,34 +319,34 @@ val a : bodyTag [Link = transaction page] -val lform : ctx ::: {Unit} -> bind ::: {Type} +val form : ctx ::: {Unit} -> bind ::: {Type} -> fn [[Body] ~ ctx] => xml form [] bind -> xml ([Body] ++ ctx) [] [] -con lformTag = fn (ty :: Type) (inner :: {Unit}) (attrs :: {Type}) => +con formTag = fn (ty :: Type) (inner :: {Unit}) (attrs :: {Type}) => ctx ::: {Unit} - -> fn [[LForm] ~ ctx] => + -> fn [[Form] ~ ctx] => nm :: Name -> unit - -> tag attrs ([LForm] ++ ctx) inner [] [nm = ty] -val textbox : lformTag string [] [Value = string] -val password : lformTag string [] [] -val ltextarea : lformTag string [] [] + -> tag attrs ([Form] ++ ctx) inner [] [nm = ty] +val textbox : formTag string [] [Value = string] +val password : formTag string [] [] +val textarea : formTag string [] [] -val checkbox : lformTag bool [] [Checked = bool] +val checkbox : formTag bool [] [Checked = bool] con radio = [Body, Radio] -val radio : lformTag string radio [] +val radio : formTag string radio [] val radioOption : unit -> tag [Value = string] radio [] [] [] con select = [Select] -val lselect : lformTag string select [] -val loption : unit -> tag [Value = string] select [] [] [] +val select : formTag string select [] +val option : unit -> tag [Value = string] select [] [] [] val submit : ctx ::: {Unit} -> use ::: {Type} - -> fn [[LForm] ~ ctx] => + -> fn [[Form] ~ ctx] => unit -> tag [Action = $use -> transaction page] - ([LForm] ++ ctx) ([LForm] ++ ctx) use [] + ([Form] ++ ctx) ([Form] ++ ctx) use [] (*** Tables *) diff -r c1e96b387115 -r 260b680a6a04 src/monoize.sml --- a/src/monoize.sml Tue Oct 14 16:37:43 2008 -0400 +++ b/src/monoize.sml Tue Oct 14 16:41:48 2008 -0400 @@ -1361,7 +1361,7 @@ | _ => (Print.prefaces "Targs" (map (fn t => ("T", CorePrint.p_con env t)) targs); raise Fail "No name passed to textarea tag")) | "password" => input "password" - | "ltextarea" => + | "textarea" => (case targs of [_, (L.CName name, _)] => let @@ -1393,7 +1393,7 @@ normal ("input", SOME (L'.EPrim (Prim.String (" type=\"radio\" name=\"" ^ name ^ "\"")), loc))) - | "lselect" => + | "select" => (case targs of [_, (L.CName name, _)] => let @@ -1411,14 +1411,14 @@ | _ => (Print.prefaces "Targs" (map (fn t => ("T", CorePrint.p_con env t)) targs); raise Fail "No name passed to lselect tag")) - | "loption" => normal ("option", NONE) + | "option" => normal ("option", NONE) | "tabl" => normal ("table", NONE) | _ => normal (tag, NONE) end | L.EApp ((L.ECApp ( - (L.ECApp ((L.EFfi ("Basis", "lform"), _), _), _), + (L.ECApp ((L.EFfi ("Basis", "form"), _), _), _), _), _), xml) => let diff -r c1e96b387115 -r 260b680a6a04 src/urweb.grm --- a/src/urweb.grm Tue Oct 14 16:37:43 2008 -0400 +++ b/src/urweb.grm Tue Oct 14 16:41:48 2008 -0400 @@ -955,8 +955,8 @@ val et = tagIn END_TAG in if #1 tag = et then - if et = "lform" then - (EApp ((EVar (["Basis"], "lform"), pos), + if et = "form" then + (EApp ((EVar (["Basis"], "form"), pos), xml), pos) else (EApp (#2 tag, xml), pos) diff -r c1e96b387115 -r 260b680a6a04 tests/crud.ur --- a/tests/crud.ur Tue Oct 14 16:37:43 2008 -0400 +++ b/tests/crud.ur Tue Oct 14 16:41:48 2008 -0400 @@ -54,7 +54,7 @@ fso <- oneOrNoRows (SELECT tab.{{mapT2T fstTT M.cols}} FROM tab WHERE tab.Id = {id}); case fso : (Basis.option {Tab : $(mapT2T fstTT M.cols)}) of None => return Not found! - | Some fs => return + | Some fs => return
{foldT2R2 [fstTT] [colMeta] [fn cols :: {(Type * Type)} => xml form [] (mapT2T sndTT cols)] (fn (nm :: Name) (t :: (Type * Type)) (rest :: {(Type * Type)}) [[nm] ~ rest] (v : t.1) (col : colMeta t) @@ -67,7 +67,7 @@ [M.cols] fs.Tab M.cols} - +
fun delete (id : int) = () <- dml (DELETE FROM tab WHERE Id = {id}); @@ -117,7 +117,7 @@
- +
{foldT2R [colMeta] [fn cols :: {(Type * Type)} => xml form [] (mapT2T sndTT cols)] (fn (nm :: Name) (t :: (Type * Type)) (rest :: {(Type * Type)}) [[nm] ~ rest] (col : colMeta t) (acc : xml form [] (mapT2T sndTT rest)) => @@ -128,7 +128,7 @@ [M.cols] M.cols} - +
end