[Fencommits] fenserve: try to clean up showItem

Tuukka Hastrup Tuukka.Hastrup at iki.fi
Fri Jun 1 02:40:04 EEST 2007


Fri Jun  1 02:37:16 EEST 2007  Tuukka Hastrup <Tuukka.Hastrup at iki.fi>
  * try to clean up showItem
diff -rN -u old-fenserve/fendata/Main.hs new-fenserve/fendata/Main.hs
--- old-fenserve/fendata/Main.hs	2007-06-01 02:40:01.000000000 +0300
+++ new-fenserve/fendata/Main.hs	2007-06-01 02:40:01.000000000 +0300
@@ -266,24 +266,26 @@
 showItem :: (?root :: String, ?state :: MyState) => 
             String -> Request -> MyState -> (HTML, MyState)
 showItem item req s = let Item fields cats = stateItems s Map.! read item in (
-    makePage "Item editor" "" $
+  makePage "Item editor" "" $
     formP "" . ((returnTo&buttons&hr)&) . (&hr&buttons) .
-    catFor (Set.toList cats) $ \cat -> let cfs = stateSchema s Map.! cat in
-        (h3 (capitalize cat) &) . para
-        . (& HTML ("<p><a href='"++ ?root++"addField?item="++item
-           ++ "&category="++cat
-           ++ "&returnTo=item/"++item++html (escape ("?returnTo="++escape uri))
-           ++ "'>[Add a field to the "++capitalize cat++" category]</a><br>"))
-        . catFor cfs $ \field ->
-            capitalize field & ": " 
-            & (if field == "body" then (br &) . textarea field 5 80
+      catFor (Set.toList cats) $ \cat -> let cfs = stateSchema s Map.! cat in
+        ( h3 (capitalize cat)
+        , para $ catFor cfs $ \field ->
+            (  capitalize field, ": "
+            , (if field == "body" then (br &) . textarea field 5 80
                  else textfield field) (fields Map.! field)
-            & br,
-    s) where uri = fromMaybe "" (lookM req "returnTo")
-             returnTo = flip (maybe $ HTML "") (lookM req "returnTo") $ \uri ->
-                 hidden "returnTo" uri
-             buttons = HTML $ "<p><button>[Save]</button> "++html mdot++" "++
-                 "<a href='"++ ?root++html uri++"'>[Cancel]</a></form>"
+            , br )
+        , para $ qlink "addField"
+            [ P "item" item
+            , P "category" cat
+            , P "returnTo" $ "item/"++item++escape ("?returnTo="++escape uri)
+            ]
+            ("[Add a field to the ", capitalize cat, " category]")),
+  s) where uri = fromMaybe "" $ lookM req "returnTo"
+           returnTo = flip (maybe $ HTML "") (lookM req "returnTo") $
+               hidden "returnTo"
+           buttons = para ( button "[Save]", " ", mdot, " "
+                          , link (?root++uri) "[Cancel]" )
     
     
 updateItem :: (?root :: String) => 




More information about the Fencommits mailing list