diff options
author | Adam Chlipala <adam@chlipala.net> | 2012-07-21 13:55:35 -0400 |
---|---|---|
committer | Adam Chlipala <adam@chlipala.net> | 2012-07-21 13:55:35 -0400 |
commit | 17e8230265e8fb22d583c4ba33d4243f24d6b8bc (patch) | |
tree | dd773f933c8b843112da1e81715f42c40cab8d8f /src/monoize.sml | |
parent | a8e63939847f6fb02b2dc030adca09e554adb89f (diff) |
<active>
Diffstat (limited to 'src/monoize.sml')
-rw-r--r-- | src/monoize.sml | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/src/monoize.sml b/src/monoize.sml index 86d8389f..403e0b84 100644 --- a/src/monoize.sml +++ b/src/monoize.sml @@ -3234,7 +3234,7 @@ fun monoExp (env, st, fm) (all as (e, loc)) = val (style, fm) = monoExp (env, st, fm) style val (dynStyle, fm) = monoExp (env, st, fm) dynStyle - val dynamics = ["dyn", "ctextbox", "ccheckbox", "cselect", "coption", "ctextarea"] + val dynamics = ["dyn", "ctextbox", "ccheckbox", "cselect", "coption", "ctextarea", "active"] fun isSome (e, _) = case e of @@ -3541,9 +3541,19 @@ fun monoExp (env, st, fm) (all as (e, loc)) = (L'.EStrcat ((L'.EJavaScript (L'.Script, e), loc), (L'.EPrim (Prim.String ("))</script>")), loc)), loc)), loc), fm) - | _ => raise Fail "Monoize: Bad dyn attributes" + | _ => raise Fail "Monoize: Bad <dyn> attributes" end + | "active" => + (case attrs of + [("Code", e, _)] => + ((L'.EStrcat + ((L'.EPrim (Prim.String ("<script type=\"text/javascript\">active(execD(")), loc), + (L'.EStrcat ((L'.EJavaScript (L'.Script, e), loc), + (L'.EPrim (Prim.String ("))</script>")), loc)), loc)), loc), + fm) + | _ => raise Fail "Monoize: Bad <active> attributes") + | "submit" => normal ("input type=\"submit\"", NONE) | "image" => normal ("input type=\"image\"", NONE) | "button" => normal ("input type=\"submit\"", NONE) |