Fixed pager page and pages value when no items present.

This commit is contained in:
mikestefanello 2024-09-13 09:16:20 -04:00
parent 5a6cec5294
commit e4370e8ba0
2 changed files with 13 additions and 2 deletions

View file

@ -34,6 +34,7 @@ type Pager struct {
func NewPager(ctx echo.Context, itemsPerPage int) Pager {
p := Pager{
ItemsPerPage: itemsPerPage,
Pages: 1,
Page: 1,
}
@ -53,7 +54,12 @@ func NewPager(ctx echo.Context, itemsPerPage int) Pager {
// This should be used rather than setting either items or pages directly.
func (p *Pager) SetItems(items int) {
p.Items = items
p.Pages = int(math.Ceil(float64(items) / float64(p.ItemsPerPage)))
if items > 0 {
p.Pages = int(math.Ceil(float64(items) / float64(p.ItemsPerPage)))
} else {
p.Pages = 1
}
if p.Page > p.Pages {
p.Page = p.Pages