Safe Haskell | None |
---|---|
Language | Haskell2010 |
Easy pagination for Yesod.
- paginate :: (From SqlQuery SqlExpr SqlBackend a, SqlSelect a a1, YesodPersist site, YesodPersistBackend site ~ Connection) => PageConfig app -> HandlerT site IO (Page (Route app) a1)
- paginateWith :: (From SqlQuery SqlExpr SqlBackend a1, SqlSelect a a2, YesodPersist site, YesodPersistBackend site ~ Connection) => PageConfig app -> (a1 -> SqlQuery a) -> HandlerT site IO (Page (Route app) a2)
- data PageConfig app = PageConfig {
- pageSize :: Int
- currentPage :: Int
- firstPageRoute :: Route app
- pageRoute :: Int -> Route app
- data Page route r = Page {
- pageResults :: [r]
- firstPage :: Maybe route
- nextPage :: Maybe route
- previousPage :: Maybe route
Paginating
paginate :: (From SqlQuery SqlExpr SqlBackend a, SqlSelect a a1, YesodPersist site, YesodPersistBackend site ~ Connection) => PageConfig app -> HandlerT site IO (Page (Route app) a1) Source
Paginate a model, given a configuration. This just performs a SELECT
*
.
:: (From SqlQuery SqlExpr SqlBackend a1, SqlSelect a a2, YesodPersist site, YesodPersistBackend site ~ Connection) | |
=> PageConfig app | Preferred config. |
-> (a1 -> SqlQuery a) | SQL query. |
-> HandlerT site IO (Page (Route app) a2) | Returned page. |
Paginate a model, given a configuration and an esqueleto query.
Datatypes
data PageConfig app Source
Metadata about how pagination should work.
PageConfig | |
|
Returned by paginate
and friends.
Page | |
|