performace

This commit is contained in:
Peter Maquiran
2023-09-29 16:40:50 +01:00
parent 7f1dbf13aa
commit 93ad41eab9
12 changed files with 175 additions and 106 deletions
+29 -25
View File
@@ -206,19 +206,15 @@ export class ChatSystemService {
async restoreRooms() {
try {
const rooms = await this.storage.get('Rooms');
const _rooms = await this.storage.get('Rooms');
if(rooms) {
for (let roomData of rooms.result.update) {
if(_rooms) {
for (let roomData of this.sortArrayISODate(_rooms)) {
await this.prepareRoom(roomData);
}
}
} catch(e){}
setTimeout(() => {
this.sortRoomList()
}, 10000)
}
async restoreUsers () {
@@ -230,6 +226,14 @@ export class ChatSystemService {
}
}
sortArrayISODate(messages: any): any[] {
return messages.sort((a,b) =>
new Date(b._updatedAt ).getTime()
-
new Date(a._updatedAt).getTime())
}
async getAllRooms (callback:Function = () =>{} , roomIdCallback = "") {
this.loadingWholeList = true
var rooms;
@@ -248,8 +252,17 @@ export class ChatSystemService {
let index = 0
if(rooms?.result?.update) {
for (let roomData of rooms.result.update) {
let _rooms = rooms?.result?.update
if(_rooms) {
_rooms = _rooms.map( e => {
e["_updatedAt"] = e._updatedAt || e._updatedAt['$date']
return e
})
for (let roomData of this.sortArrayISODate(_rooms) ) {
const roomId = this.getRoomId(roomData);
@@ -272,8 +285,8 @@ export class ChatSystemService {
const members = res['members'];
const users = members.filter(data => data.username != this.sessionStore.user.UserName);
rooms.result.update[index]['members'] = members
rooms.result.update[index]['membersExcludeMe'] = users
_rooms[index]['members'] = members
_rooms[index]['membersExcludeMe'] = users
await this.prepareRoom(roomData);
} else {
@@ -295,8 +308,8 @@ export class ChatSystemService {
const members = res['members'];
const users = members.filter(data => data.username != this.sessionStore.user.UserName);
rooms.result.update[index]['members'] = members
rooms.result.update[index]['membersExcludeMe'] = users
_rooms[index]['members'] = members
_rooms[index]['membersExcludeMe'] = users
await this.prepareRoom(roomData);
@@ -322,8 +335,8 @@ export class ChatSystemService {
const members = res['members'];
const users = members.filter(data => data.username != this.sessionStore.user.UserName);
rooms.result.update[index]['members'] = members
rooms.result.update[index]['membersExcludeMe'] = users
_rooms[index]['members'] = members
_rooms[index]['membersExcludeMe'] = users
await this.prepareRoom(roomData);
}
@@ -339,17 +352,8 @@ export class ChatSystemService {
}
this.loadingWholeList = false
await this.storage.set('Rooms', rooms);
this.sortRoomList()
setTimeout(() => {
this.sortRoomList()
}, 1000)
setTimeout(() => {
this.sortRoomList()
}, 10000)
await this.storage.set('Rooms', _rooms);
this.onRoomsLoad.executor()
}