Mercurial > urweb
diff demo/more/bulkEdit.ur @ 1008:1911e84df461
Move stuff from bulkEdit to meta
author | Adam Chlipala <adamc@hcoop.net> |
---|---|
date | Thu, 22 Oct 2009 11:51:31 -0400 |
parents | c6e948ec79e9 |
children |
line wrap: on
line diff
--- a/demo/more/bulkEdit.ur Thu Oct 22 11:37:58 2009 -0400 +++ b/demo/more/bulkEdit.ur Thu Oct 22 11:51:31 2009 -0400 @@ -23,25 +23,11 @@ open M - fun ensql [avail] (r : $(map snd visible)) : $(map (sql_exp avail [] []) (map fst visible)) = - map2 [meta] [snd] [fn ts :: (Type * Type) => sql_exp avail [] [] ts.1] - (fn [ts] meta v => @sql_inject meta.Inject (meta.Parse v)) - [_] folder visible r - fun main () = items <- queryX (SELECT t.{keyName}, t.{{map fst visible}} FROM t) (fn r => <xml><entry><tr> <hidden{keyName} value={show r.T.keyName}/> - {useMore (foldR2 [meta] [fst] [fn cols :: {(Type * Type)} => - xml [Body, Form, Tr] [] (map snd cols)] - (fn [nm :: Name] [p :: (Type * Type)] [rest :: {(Type * Type)}] [[nm] ~ rest] - (m : meta p) v (acc : xml [Body, Form, Tr] [] (map snd rest)) => - <xml> - <td>{m.WidgetPopulated [nm] v}</td> - {useMore acc} - </xml>) - <xml/> - [_] folder visible (r.T -- keyName))} + {useMore (allPopulatedTr visible (r.T -- keyName) folder)} </tr></entry></xml>); return <xml><body> @@ -58,7 +44,7 @@ and save r = List.app (fn user => dml (update [map fst visible] ! - (ensql (user -- keyName)) + (ensql visible (user -- keyName) folder) t (WHERE t.{keyName} = {[readError user.keyName]}))) r.Users; main ()