Safe Haskell | None |
---|
Easy pagination for Yesod.
- paginate :: (PersistEntity r, RenderRoute site, YesodPersist site, YesodPersistBackend site ~ SqlPersistT, PersistEntityBackend r ~ SqlBackend) => HandlerT site IO (Page r)
- paginateWith :: (PersistEntity r, From SqlQuery SqlExpr SqlBackend t, RenderRoute site, YesodPersist site, YesodPersistBackend site ~ SqlPersistT) => (t -> SqlQuery (SqlExpr (Entity r))) -> HandlerT site IO (Page r)
- paginateWithConfig :: (PersistEntity r, From SqlQuery SqlExpr SqlBackend t, RenderRoute site, YesodPersist site, YesodPersistBackend site ~ SqlPersistT) => PageConfig -> (t -> SqlQuery (SqlExpr (Entity r))) -> HandlerT site IO (Page r)
- data PageConfig = PageConfig {
- pageSize :: Int64
- currentPage :: Int64
- def :: Default a => a
- data Page r = Page {
- pageResults :: [Entity r]
- pageCount :: Int64
- nextPage :: Maybe Text
- previousPage :: Maybe Text
Paginating
:: (PersistEntity r, RenderRoute site, YesodPersist site, YesodPersistBackend site ~ SqlPersistT, PersistEntityBackend r ~ SqlBackend) | |
=> HandlerT site IO (Page r) | Returned page. |
Paginate a model using default options - nothing special.
:: (PersistEntity r, From SqlQuery SqlExpr SqlBackend t, RenderRoute site, YesodPersist site, YesodPersistBackend site ~ SqlPersistT) | |
=> (t -> SqlQuery (SqlExpr (Entity r))) | SQL query. |
-> HandlerT site IO (Page r) | Returned page. |
Paginate a model, given an esqueleto query.
:: (PersistEntity r, From SqlQuery SqlExpr SqlBackend t, RenderRoute site, YesodPersist site, YesodPersistBackend site ~ SqlPersistT) | |
=> PageConfig | Preferred config. |
-> (t -> SqlQuery (SqlExpr (Entity r))) | SQL query. |
-> HandlerT site IO (Page r) | Returned page. |
Paginate a model, given a configuration and an esqueleto query.
Datatypes
data PageConfig Source
Which page we're on, and how big it is.
paginate
and paginateWith
build this datatype based on the current
query string parameters. Use paginateWithConfig
to provide your own.
PageConfig | |
|