bugfix
This commit is contained in:
parent
102475cfe5
commit
7bc59cfacf
@ -36,6 +36,22 @@ it fires two type of event
|
||||
'on_pageloaded':fire when a page data loads success
|
||||
"""
|
||||
|
||||
class BaseLoader:
|
||||
def loadPage(self,p):
|
||||
pass
|
||||
|
||||
def loadNextPage(self):
|
||||
if self.total_page > 0 and self.curpage >=self.total_page:
|
||||
return
|
||||
p = self.curpage + 1
|
||||
self.loadPage(p)
|
||||
|
||||
def loadPreviousPage(self):
|
||||
if self.curpage <= 1:
|
||||
return
|
||||
p = self.curpage - 1
|
||||
self.loadPage(p)
|
||||
|
||||
class PageLoader(EventDispatcher):
|
||||
def __init__(self,target=None, **options):
|
||||
self.loading = False
|
||||
@ -57,16 +73,6 @@ class PageLoader(EventDispatcher):
|
||||
self.register_event_type('on_pageloaded')
|
||||
self.newbegin = True
|
||||
|
||||
def getLocater(self):
|
||||
if self.newbegin:
|
||||
self.newbegin = False
|
||||
return 1
|
||||
|
||||
x = 1 / self.MaxbufferPage
|
||||
if self.dir != 'down':
|
||||
x = 1 - x
|
||||
return x
|
||||
|
||||
def on_newbegin(self):
|
||||
pass
|
||||
|
||||
@ -184,6 +190,16 @@ class RelatedLoader(PageLoader):
|
||||
self.widget = None
|
||||
self.register_event_type('on_deletepage')
|
||||
|
||||
def getLocater(self):
|
||||
if self.newbegin:
|
||||
self.newbegin = False
|
||||
return 1
|
||||
|
||||
x = 1 / self.MaxbufferPage
|
||||
if self.dir != 'down':
|
||||
x = 1 - x
|
||||
return x
|
||||
|
||||
def on_deletepage(self,d):
|
||||
pass
|
||||
|
||||
@ -304,6 +320,28 @@ class Paging(PageLoader):
|
||||
return
|
||||
self.loadPage(self.total_page)
|
||||
|
||||
class ListLoader(PageLoader):
|
||||
def __init__(self, data_list=[],**options):
|
||||
self._data_list = data_list
|
||||
PageLoader.__init__(self,**options)
|
||||
self.total_cnt = len(self._data_list)
|
||||
t = 0 if self.total_cnt % self.page_rows == 0 else 1
|
||||
self.total_page = self.total_cnt / self.page_rows + t
|
||||
|
||||
def loadPage(self,p):
|
||||
if p < 1:
|
||||
p = 1
|
||||
if p > self.total_page:
|
||||
d = []
|
||||
else :
|
||||
a = (p - 1) * self.page_rows
|
||||
b = p * self.page_rows
|
||||
d = self.d[a:b]
|
||||
return {
|
||||
"total":self.total_cnt,
|
||||
"rows":d
|
||||
}
|
||||
|
||||
class OneRecordLoader(PageLoader):
|
||||
def __init__(self,**options):
|
||||
PageLoader.__init__(self,**options)
|
||||
|
Loading…
Reference in New Issue
Block a user