var self = this
self.page_size = parseInt(opts.pagesize) || 10
self.page = 1
self.num_pages = 5
self.count = 0
self.show_all = false
update_count(new_count)
{
self.count = new_count
self.num_pages = 1 + Math.floor(self.count / self.page_size)
self.page = 1
self.paginate()
}
update_pagesize(e){
var new_size = parseInt(e.target.value)
if (new_size > 0)
{
self.page_size = new_size
self.num_pages = 1 + Math.floor(self.count / self.page_size)
self.page = 1
}
}
goto(e) {
self.page = parseInt(e.target.value)
}
first(e){
self.page = 1
self.paginate()
}
last(e){
self.page = self.num_pages
self.paginate()
}
next(e){
if(self.page1) {
self.page -= 1
self.paginate()
}
}
all(){
self.show_all = !self.show_all
if(self.show_all){
self.parent.paginate(0,self.count)
}else{
self.page = 1
self.paginate()
}
}
paginate(){
var first = (self.page - 1) * self.page_size
var last = (self.page * self.page_size)
self.parent.paginate(first, last)
}