Use binding mechanism for the Pagination component
- Rename PaginationEvent to PaginateEvent - Add PaginationBinder interfacemaster
parent
37d42e9a94
commit
c149bbfc06
@ -0,0 +1,26 @@
|
||||
package navigation
|
||||
|
||||
// PaginationBinder is an interface that everything that every type that wants to bind to an pagination component must implement.
|
||||
type PaginationBinder interface {
|
||||
Page() int // Page returns the current page, as a 1-based index. A value of 0 means there is no active page.
|
||||
Pages() int // Pages returns the total number of pages.
|
||||
SetPage(page int) // SetPage changes the current page as a 1-based index. A value of 0 means there is no active page.
|
||||
}
|
||||
|
||||
// PaginationInfo implements the PaginationBinder interface and represents the current state of a pagination component.
|
||||
type PaginationInfo struct {
|
||||
CurrentPage int // The current page as a 1-based index. A value of 0 means there is no current page.
|
||||
TotalPages int // The number of total pages.
|
||||
}
|
||||
|
||||
func (p *PaginationInfo) Page() int {
|
||||
return p.CurrentPage
|
||||
}
|
||||
|
||||
func (p *PaginationInfo) Pages() int {
|
||||
return p.TotalPages
|
||||
}
|
||||
|
||||
func (p *PaginationInfo) SetPage(page int) {
|
||||
p.CurrentPage = page
|
||||
}
|
Loading…
Reference in New Issue