[Ur] Weird behavior with dyn tags in recursive call
David Snider
david at davidsnider.net
Tue May 10 09:25:21 EDT 2011
I was trying to modify the tree example to be a collapsing tree and when
this renders the javascript ends up getting spewed out all over the
form. It looks like it's getting escaped or something.
style treeView
functor Make(M : sig
type key
con id :: Name
con parent :: Name
con cols :: {Type}
constraint [id] ~ [parent]
constraint [id, parent] ~ cols
val key_inj : sql_injectable_prim key
table tab : ([id = key, parent = option key] ++ cols)
end) = struct
open M
fun tree (f : $([id = key, parent = option key] ++ cols) -> xbody)
(root : option M.key) =
let
fun recurse (root : option key) =
queryX' (SELECT * FROM tab WHERE {eqNullable' (SQL
tab.{parent}) root})
(fn r =>
children <- recurse (Some r.Tab.id);
s <- source False;
return <xml>
<a onclick={set s True}> {f r.Tab}</a>
<dyn signal={v <- signal s;
if v then
return <xml><div>{children}</div></xml>
else return <xml/>}/>
</xml>)
in
recurse root
end
end
More information about the Ur
mailing list