Mercurial > urweb
diff src/monoize.sml @ 797:2c463eee89fa
cselect
author | Adam Chlipala <adamc@hcoop.net> |
---|---|
date | Thu, 14 May 2009 09:33:48 -0400 |
parents | 87a7702d681d |
children | e92cfac1608f |
line wrap: on
line diff
--- a/src/monoize.sml Thu May 14 09:11:58 2009 -0400 +++ b/src/monoize.sml Thu May 14 09:33:48 2009 -0400 @@ -2563,7 +2563,7 @@ | SOME (_, src, _) => (strcat [str "<span><script type=\"text/javascript\">inp(\"input\",", (L'.EJavaScript (L'.Script, src, NONE), loc), - str ")</script></span>"], + str ",\"\")</script></span>"], fm)) | _ => (Print.prefaces "Targs" (map (fn t => ("T", CorePrint.p_con env t)) targs); raise Fail "No name passed to textbox tag")) @@ -2635,6 +2635,33 @@ let val sc = strcat [str "inp(\"input\",", (L'.EJavaScript (L'.Script, src, NONE), loc), + str ",\"\")"] + val sc = setAttrs sc + in + (strcat [str "<span><script type=\"text/javascript\">", + sc, + str "</script></span>"], + fm) + end) + + | "cselect" => + (case List.find (fn ("Source", _, _) => true | _ => false) attrs of + NONE => + let + val (ts, fm) = tagStart "select" + in + ((L'.EStrcat (ts, + (L'.EPrim (Prim.String "/>"), loc)), + loc), fm) + end + | SOME (_, src, _) => + let + val (xml, fm) = monoExp (env, st, fm) xml + + val sc = strcat [str "inp(\"select\",", + (L'.EJavaScript (L'.Script, src, NONE), loc), + str ",", + (L'.EJavaScript (L'.Script, xml, NONE), loc), str ")"] val sc = setAttrs sc in @@ -2644,6 +2671,8 @@ fm) end) + | "coption" => normal ("option", NONE, NONE) + | "tabl" => normal ("table", NONE, NONE) | _ => normal (tag, NONE, NONE) end