reprogl

Форк
0
/
pagination.go 
34 строки · 686.0 Байт
1
package models
2

3
type (
4
	PaginationDirection uint
5
	URLGenerator        func(int, PaginationDirection) string
6
)
7

8
const (
9
	PaginationNext PaginationDirection = iota
10
	PaginationPrev
11
)
12

13
type ArticlesPaginator struct {
14
	Items        ArticleList
15
	CurrentPage  int
16
	PageCount    int
17
	URLGenerator URLGenerator
18
}
19

20
func (p *ArticlesPaginator) HasPrevious() bool {
21
	return p.CurrentPage > 1
22
}
23

24
func (p *ArticlesPaginator) HasNext() bool {
25
	return p.CurrentPage < p.PageCount
26
}
27

28
func (p *ArticlesPaginator) PreviousPageURL() string {
29
	return p.URLGenerator(p.CurrentPage, PaginationPrev)
30
}
31

32
func (p *ArticlesPaginator) NextPageURL() string {
33
	return p.URLGenerator(p.CurrentPage, PaginationNext)
34
}
35

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.