[Fencommits] fenserve: turn /table into a (at this point very primitive) table view
Benja Fallenstein
benja.fallenstein at gmail.com
Wed May 30 19:22:23 EEST 2007
Wed May 30 19:22:13 EEST 2007 Benja Fallenstein <benja.fallenstein at gmail.com>
* turn /table into a (at this point very primitive) table view
diff -rN -u old-fenserve/fendata/Main.hs new-fenserve/fendata/Main.hs
--- old-fenserve/fendata/Main.hs 2007-05-30 19:22:22.000000000 +0300
+++ new-fenserve/fendata/Main.hs 2007-05-30 19:22:22.000000000 +0300
@@ -215,19 +215,14 @@
showTable req s = (
makePage s ("List of "++plural cat++" in the database") "" $
(new+++) . (hr+++) . (+++new) .
- catFor (Map.toList $ stateItems s) $ \(id, Item fields cats) ->
- if cat `Set.member` cats then
- (+++ para (formP (?root++"delItem") (hidden "item" (show id)
- +++ mdotted
- [ link (?root++"item/"++show id++"?returnTo=table")
- "[Edit item]"
- , button "[Delete item]"
- , ital $ "Categorized as "
- +++ commaList (map (bold.capitalize) (Set.toList cats))]))
- +++ hr)
- . para
- . catFor (Map.toList fields) $ \(f,v) ->
- bold (capitalize f) +++ ": " +++ v +++ br else toHTML "",
+ tag "table" [("border","1")] $
+ (tag "tr" [] $ catFor cols $ \col -> tag "th" [] $ capitalize col) +++
+ (catFor (Map.toList $ stateItems s) $ \(id, Item fields cats) ->
+ if cat `Set.member` cats then tag "tr" [] $
+ catFor cols $ \col -> tag "td" [] $
+ link (?root++"item/"++show id++"?returnTo=table") $
+ fields Map.! col
+ else toHTML ""),
s) where new = para . formP (?root++"newItem")
. (+++ hidden "returnTo" "table")
. (+++ " " +++ mdot +++ " "
@@ -235,6 +230,8 @@
. mdotted . for (Map.keys $ stateSchema s) $ \cat ->
button' "cat" cat $ bold ("[New "+++cat+++"]")
cat = fromMaybe (head $ Map.keys $ stateSchema s) (lookM req "cat")
+ cols = flip fromMaybe (fmap read $ lookM req "cols") $
+ take 1 $ stateSchema s Map.! cat
showItem :: (?root :: String) =>
String -> Request -> MyState -> (HTML, MyState)
More information about the Fencommits
mailing list