yesod-pagination-2.0.0: Pagination in Yesod

Safe HaskellNone
LanguageHaskell2010

Yesod.Paginate

Contents

Description

Easy pagination for Yesod.

Synopsis

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

paginateWith Source

Arguments

:: (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.

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)