From b3a0af2c2f7005711dd17c3579289654a5f942b8 Mon Sep 17 00:00:00 2001 From: Ajay Bura Date: Thu, 17 Mar 2022 09:32:53 +0530 Subject: [PATCH] Add sort util Signed-off-by: Ajay Bura --- src/util/sort.js | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 src/util/sort.js diff --git a/src/util/sort.js b/src/util/sort.js new file mode 100644 index 00000000..428aa98e --- /dev/null +++ b/src/util/sort.js @@ -0,0 +1,47 @@ +import initMatrix from '../client/initMatrix'; + +export function roomIdByLastActive(id1, id2) { + const room1 = initMatrix.matrixClient.getRoom(id1); + const room2 = initMatrix.matrixClient.getRoom(id2); + + return room2.getLastActiveTimestamp() - room1.getLastActiveTimestamp(); +} + +export function roomIdByAtoZ(aId, bId) { + let aName = initMatrix.matrixClient.getRoom(aId).name; + let bName = initMatrix.matrixClient.getRoom(bId).name; + + // remove "#" from the room name + // To ignore it in sorting + aName = aName.replaceAll('#', ''); + bName = bName.replaceAll('#', ''); + + if (aName.toLowerCase() < bName.toLowerCase()) { + return -1; + } + if (aName.toLowerCase() > bName.toLowerCase()) { + return 1; + } + return 0; +} + +export function memberByAtoZ(m1, m2) { + const aName = m1.name; + const bName = m2.name; + + if (aName.toLowerCase() < bName.toLowerCase()) { + return -1; + } + if (aName.toLowerCase() > bName.toLowerCase()) { + return 1; + } + return 0; +} +export function memberByPowerLevel(m1, m2) { + const pl1 = m1.powerLevel; + const pl2 = m2.powerLevel; + + if (pl1 > pl2) return -1; + if (pl1 < pl2) return 1; + return 0; +}