Page indicator

This commit is contained in:
Gregor Kleen 2018-03-16 14:09:12 +01:00
parent ba918129c9
commit 2cfd87de87
5 changed files with 15 additions and 6 deletions

View File

@ -1,3 +1,4 @@
SummerTerm year@Integer: Sommersemester #{tshow year}
WinterTerm year@Integer: Wintersemester #{tshow year}/#{tshow $ succ year}
PSLimitNonPositive: “pagesize” muss größer als null sein
PSLimitNonPositive: “pagesize” muss größer als null sein
Page n@Int64 num@Int64: Seite #{tshow n} von #{tshow num}

View File

@ -30,7 +30,7 @@ getTermShowR = do
--
let
termData = E.from $ \term -> do
E.orderBy [E.desc $ term E.^. TermStart ]
-- E.orderBy [E.desc $ term E.^. TermStart ]
let courseCount :: E.SqlExpr (E.Value Int)
courseCount = E.sub_select . E.from $ \course -> do
E.where_ $ term E.^. TermId E.==. course E.^. CourseTermId

View File

@ -3,6 +3,7 @@
, RecordWildCards
, OverloadedStrings
, TemplateHaskell
, QuasiQuotes
, LambdaCase
, ViewPatterns
#-}
@ -116,10 +117,13 @@ dbTable PSValidator{..} DBTable{ dbtIdent = (toPathPiece -> dbtIdent), .. } = do
mapM_ (addMessageI "warning") errs
rows <- runDB $ E.select sqlQuery'
(rows, [E.Value rowCount]) <- runDB $ (,) <$> E.select sqlQuery' <*> E.select (E.countRows <$ dbtSQLQuery :: E.SqlQuery (E.SqlExpr (E.Value Int64)))
bool return (sendResponse <=< tblLayout) psShortcircuit $ do
encodeCellTable dbtAttrs' dbtColonnade rows
let table = encodeCellTable dbtAttrs' dbtColonnade rows
$(widgetFile "table-layout")
where
tblLayout :: Widget -> Handler Html
tblLayout = widgetToPageContent >=> (\tbl -> withUrlRenderer $(hamletFile "templates/table-layout.hamlet"))
tblLayout tbl' = do
tbl <- widgetToPageContent tbl'
withUrlRenderer $(hamletFile "templates/table-layout-wrapper.hamlet")

View File

@ -0,0 +1 @@
^{pageBody tbl}

View File

@ -1 +1,4 @@
^{pageBody tbl}
<div .table>
^{table}
<p style="text-align:center">
_{MsgPage (succ psPage) (succ $ div rowCount psLimit)}