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 ()