| Safe Haskell | None |
|---|
Yesod.Paginate
Contents
Description
Easy pagination for Yesod.
- paginate :: (YesodPersist site, SqlSelect a s, MonadResource (YesodPersistBackend site (HandlerT site IO)), From SqlQuery SqlExpr SqlBackend a, MonadSqlPersist (YesodPersistBackend site (HandlerT site IO))) => PageConfig site -> HandlerT site IO (Page (Route site) s)
- paginateWith :: (YesodPersist site, SqlSelect a s, MonadResource (YesodPersistBackend site (HandlerT site IO)), From SqlQuery SqlExpr SqlBackend q, MonadSqlPersist (YesodPersistBackend site (HandlerT site IO))) => PageConfig site -> (q -> SqlQuery a) -> HandlerT site IO (Page (Route site) s)
- 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
Arguments
| :: (YesodPersist site, SqlSelect a s, MonadResource (YesodPersistBackend site (HandlerT site IO)), From SqlQuery SqlExpr SqlBackend a, MonadSqlPersist (YesodPersistBackend site (HandlerT site IO))) | |
| => PageConfig site | Preferred config. |
| -> HandlerT site IO (Page (Route site) s) | Returned page. |
Paginate a model, given a configuration. This just performs a SELECT
*.
Arguments
| :: (YesodPersist site, SqlSelect a s, MonadResource (YesodPersistBackend site (HandlerT site IO)), From SqlQuery SqlExpr SqlBackend q, MonadSqlPersist (YesodPersistBackend site (HandlerT site IO))) | |
| => PageConfig site | Preferred config. |
| -> (q -> SqlQuery a) | SQL query. |
| -> HandlerT site IO (Page (Route site) s) | Returned page. |
Paginate a model, given a configuration and an esqueleto query.
Datatypes
data PageConfig app Source
Metadata about how pagination should work.
Constructors
| PageConfig | |
Fields
| |
Returned by paginate and friends.
Constructors
| Page | |
Fields
| |