Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- paginate :: MonadHandler m => PerPage -> [a] -> m (Pages a)
- paginate' :: PerPage -> [a] -> PageNumber -> Pages a
- paginateWith :: MonadHandler m => PaginationConfig -> [a] -> m (Pages a)
- selectPaginated :: (MonadHandler m, PersistEntity record, PersistEntityBackend record ~ BaseBackend backend, PersistQueryRead backend) => PerPage -> [Filter record] -> [SelectOpt record] -> ReaderT backend m (Pages (Entity record))
- selectPaginated' :: (MonadIO m, PersistEntity record, PersistEntityBackend record ~ BaseBackend backend, PersistQueryRead backend) => PerPage -> [Filter record] -> [SelectOpt record] -> PageNumber -> ReaderT backend m (Pages (Entity record))
- selectPaginatedWith :: (MonadHandler m, PersistEntity record, PersistEntityBackend record ~ BaseBackend backend, PersistQueryRead backend) => PaginationConfig -> [Filter record] -> [SelectOpt record] -> ReaderT backend m (Pages (Entity record))
- getCurrentPage :: MonadHandler m => m PageNumber
- data PaginationConfig = PaginationConfig {}
- newtype PageParamName = PageParamName {}
- defaultPaginationConfig :: PaginationConfig
Documentation
paginate' :: PerPage -> [a] -> PageNumber -> Pages a Source #
A version where the current page is given
This can be used to avoid the monadic context altogether.
>>>
paginate' 3 ([1..10] :: [Int]) 1
Pages {pagesCurrent = Page {pageItems = [1,2,3], pageNumber = 1}, pagesPrevious = [], pagesNext = [2,3,4], pagesLast = 4}
>>>
paginate' 3 ([1..10] :: [Int]) 2
Pages {pagesCurrent = Page {pageItems = [4,5,6], pageNumber = 2}, pagesPrevious = [1], pagesNext = [3,4], pagesLast = 4}
>>>
paginate' 3 ([1..10] :: [Int]) 3
Pages {pagesCurrent = Page {pageItems = [7,8,9], pageNumber = 3}, pagesPrevious = [1,2], pagesNext = [4], pagesLast = 4}
>>>
paginate' 3 ([1..10] :: [Int]) 4
Pages {pagesCurrent = Page {pageItems = [10], pageNumber = 4}, pagesPrevious = [1,2,3], pagesNext = [], pagesLast = 4}
>>>
paginate' 3 ([1..10] :: [Int]) 5
Pages {pagesCurrent = Page {pageItems = [], pageNumber = 5}, pagesPrevious = [1,2,3,4], pagesNext = [], pagesLast = 4}
paginateWith :: MonadHandler m => PaginationConfig -> [a] -> m (Pages a) Source #
Paginate a list of items given a pagination config
selectPaginated :: (MonadHandler m, PersistEntity record, PersistEntityBackend record ~ BaseBackend backend, PersistQueryRead backend) => PerPage -> [Filter record] -> [SelectOpt record] -> ReaderT backend m (Pages (Entity record)) Source #
Paginate out of a persistent database
selectPaginated' :: (MonadIO m, PersistEntity record, PersistEntityBackend record ~ BaseBackend backend, PersistQueryRead backend) => PerPage -> [Filter record] -> [SelectOpt record] -> PageNumber -> ReaderT backend m (Pages (Entity record)) Source #
A version where the current page is given
This can be used to avoid the
context.MonadHandler
selectPaginatedWith :: (MonadHandler m, PersistEntity record, PersistEntityBackend record ~ BaseBackend backend, PersistQueryRead backend) => PaginationConfig -> [Filter record] -> [SelectOpt record] -> ReaderT backend m (Pages (Entity record)) Source #
Paginate out of a persistent database given a pagination config
getCurrentPage :: MonadHandler m => m PageNumber Source #
data PaginationConfig Source #
newtype PageParamName Source #
Instances
Eq PageParamName Source # | |
Defined in Yesod.Paginator.PaginationConfig (==) :: PageParamName -> PageParamName -> Bool # (/=) :: PageParamName -> PageParamName -> Bool # | |
Read PageParamName Source # | |
Defined in Yesod.Paginator.PaginationConfig readsPrec :: Int -> ReadS PageParamName # readList :: ReadS [PageParamName] # | |
Show PageParamName Source # | |
Defined in Yesod.Paginator.PaginationConfig showsPrec :: Int -> PageParamName -> ShowS # show :: PageParamName -> String # showList :: [PageParamName] -> ShowS # | |
PathPiece PageParamName Source # | |
Defined in Yesod.Paginator.PaginationConfig fromPathPiece :: Text -> Maybe PageParamName # toPathPiece :: PageParamName -> Text # |