yesod-pagination-1.1.0.0: Pagination in Yesod

Safe HaskellNone

Yesod.Paginate

Contents

Description

Easy pagination for Yesod.

Synopsis

Paginating

paginateSource

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 *.

paginateWithSource

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

pageSize :: Int
 
currentPage :: Int
 
firstPageRoute :: Route app
 
pageRoute :: Int -> Route app
 

data Page route r Source

Returned by paginate and friends.

Constructors

Page 

Fields

pageResults :: [r]

Returned entities.

firstPage :: Maybe route

Link to first page.

nextPage :: Maybe route

Link to next page.

previousPage :: Maybe route

Link to previous page.

Instances

(Eq route, Eq r) => Eq (Page route r) 
(Read route, Read r) => Read (Page route r) 
(Show route, Show r) => Show (Page route r)