Focus textbox. Updated pagination.
This commit is contained in:
		
							parent
							
								
									2e69ac5921
								
							
						
					
					
						commit
						8c33bc63d6
					
				| @ -51,12 +51,20 @@ class ChannelMessageService(BaseService): | |||||||
|             "username": user['username']  |             "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 = [] |         results = [] | ||||||
|         offset = page * page_size  |         offset = page * page_size  | ||||||
|         try: |         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)): |                 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) |                     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:  |         except:  | ||||||
|             pass |             pass | ||||||
|         results.sort(key=lambda x: x['created_at']) |         results.sort(key=lambda x: x['created_at']) | ||||||
|  | |||||||
| @ -38,6 +38,7 @@ | |||||||
|                 } |                 } | ||||||
|             } |             } | ||||||
|         }); |         }); | ||||||
|  |         textBox.focus(); | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     function updateTimes() { |     function updateTimes() { | ||||||
|  | |||||||
| @ -71,10 +71,10 @@ class RPCView(BaseView): | |||||||
|                 del record['email'] |                 del record['email'] | ||||||
|             return record  |             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() |             self._require_login() | ||||||
|             messages = [] |             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) |                 extended_dict = await self.services.channel_message.to_extended_dict(message) | ||||||
|                 messages.append(extended_dict) |                 messages.append(extended_dict) | ||||||
|             return messages |             return messages | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user