Focus textbox. Updated pagination.
This commit is contained in:
parent
2e69ac5921
commit
8c33bc63d6
@ -51,12 +51,20 @@ class ChannelMessageService(BaseService):
|
||||
"username": user['username']
|
||||
}
|
||||
|
||||
async def offset(self, channel_uid, page=0, page_size=30):
|
||||
async def offset(self, channel_uid, page=0, timestamp = None, page_size=30):
|
||||
results = []
|
||||
offset = page * page_size
|
||||
try:
|
||||
if not timestamp:
|
||||
async for model in self.query("SELECT * FROM channel_message WHERE channel_uid=:channel_uid ORDER BY created_at DESC LIMIT :page_size OFFSET :offset",dict(channel_uid=channel_uid, page_size=page_size, offset=offset)):
|
||||
results.append(model)
|
||||
elif page >= 0:
|
||||
async for model in self.query("SELECT * FROM channel_message WHERE channel_uid=:channel_uid WHERE created_at > :timestamp ORDER BY created_at DESC LIMIT :page_size OFFSET :offset",dict(channel_uid=channel_uid, page_size=page_size, offset=offset,timestamp=timestamp )):
|
||||
results.append(model)
|
||||
else:
|
||||
async for model in self.query("SELECT * FROM channel_message WHERE channel_uid=:channel_uid WHERE created_at < :timestamp ORDER BY created_at DESC LIMIT :page_size OFFSET :offset",dict(channel_uid=channel_uid, page_size=page_size, offset=offset,timestamp=timestamp )):
|
||||
results.append(model)
|
||||
|
||||
except:
|
||||
pass
|
||||
results.sort(key=lambda x: x['created_at'])
|
||||
|
@ -38,6 +38,7 @@
|
||||
}
|
||||
}
|
||||
});
|
||||
textBox.focus();
|
||||
}
|
||||
|
||||
function updateTimes() {
|
||||
|
@ -71,10 +71,10 @@ class RPCView(BaseView):
|
||||
del record['email']
|
||||
return record
|
||||
|
||||
async def get_messages(self, channel_uid, offset=0):
|
||||
async def get_messages(self, channel_uid, offset=0,timestamp = None):
|
||||
self._require_login()
|
||||
messages = []
|
||||
for message in await self.services.channel_message.offset(channel_uid, offset):
|
||||
for message in await self.services.channel_message.offset(channel_uid, offset or 0,timestamp or None):
|
||||
extended_dict = await self.services.channel_message.to_extended_dict(message)
|
||||
messages.append(extended_dict)
|
||||
return messages
|
||||
|
Loading…
Reference in New Issue
Block a user