Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- paginate :: MonadHandler m => PerPage -> [a] -> m (Pages a)
- paginate' :: PerPage -> [a] -> PageNumber -> 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))
- getCurrentPage :: MonadHandler m => m PageNumber
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}
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
getCurrentPage :: MonadHandler m => m PageNumber Source #