mirror of
https://code.equilibrium.co.ao/ITO/doneit-web.git
synced 2026-04-19 13:02:56 +00:00
performace
This commit is contained in:
@@ -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()
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user