From 9ecc501f0caf0cd72650204f1ef77cc5603ed2f2 Mon Sep 17 00:00:00 2001 From: Douglas Barone Date: Thu, 28 Apr 2022 13:33:59 -0400 Subject: [PATCH] Improved sorting --- server/package-lock.json | 4 +-- server/package.json | 2 +- server/src/resolvers/Query/userPresence.js | 40 ++++++++++++---------- web/package-lock.json | 4 +-- web/package.json | 2 +- web/src/views/UserPresence.vue | 2 -- 6 files changed, 27 insertions(+), 27 deletions(-) diff --git a/server/package-lock.json b/server/package-lock.json index 1a8daec..b5060cd 100755 --- a/server/package-lock.json +++ b/server/package-lock.json @@ -1,12 +1,12 @@ { "name": "ifms-pti-svr", - "version": "2.13.3", + "version": "2.14.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "ifms-pti-svr", - "version": "2.13.3", + "version": "2.14.0", "license": "ISC", "dependencies": { "@prisma/client": "^3.13.0", diff --git a/server/package.json b/server/package.json index 15aab3d..2e2ea75 100755 --- a/server/package.json +++ b/server/package.json @@ -1,6 +1,6 @@ { "name": "ifms-pti-svr", - "version": "2.13.3", + "version": "2.14.0", "description": "Servidor do Portal de TI do IFMS", "main": "src/index.js", "scripts": { diff --git a/server/src/resolvers/Query/userPresence.js b/server/src/resolvers/Query/userPresence.js index e9d5c11..cd91107 100644 --- a/server/src/resolvers/Query/userPresence.js +++ b/server/src/resolvers/Query/userPresence.js @@ -44,26 +44,28 @@ export async function userPresence(_, { search, onlyServants }) { ) : usersWithWifiDevices - const sortedUsers = filteredUsers.sort((a, b) => { - const [aStatus, bStatus] = [ - a.wifiDevices[0].status, - b.wifiDevices[0].status - ] - if ( - (aStatus == 'ONLINE' && bStatus == 'RECENT') || - (aStatus == 'ONLINE' && bStatus == 'OFFLINE') || - (aStatus == 'RECENT' && bStatus == 'OFFLINE') - ) - return -1 - if ( - (bStatus == 'ONLINE' && aStatus == 'RECENT') || - (bStatus == 'ONLINE' && aStatus == 'OFFLINE') || - (bStatus == 'RECENT' && aStatus == 'OFFLINE') - ) - return 1 + const sortedUsers = filteredUsers + .sort((a, b) => b.displayName.localeCompare(a.displayName)) + .sort((a, b) => { + const [aStatus, bStatus] = [ + a.wifiDevices[0].status, + b.wifiDevices[0].status + ] + if ( + (aStatus == 'ONLINE' && bStatus == 'RECENT') || + (aStatus == 'ONLINE' && bStatus == 'OFFLINE') || + (aStatus == 'RECENT' && bStatus == 'OFFLINE') + ) + return -1 + if ( + (bStatus == 'ONLINE' && aStatus == 'RECENT') || + (bStatus == 'ONLINE' && aStatus == 'OFFLINE') || + (bStatus == 'RECENT' && aStatus == 'OFFLINE') + ) + return 1 - return 0 - }) + return a.wifiDevices[0].lastSeen < b.wifiDevices[0].lastSeen ? 1 : -1 + }) const userPresence = sortedUsers .map(userPresence => ({ diff --git a/web/package-lock.json b/web/package-lock.json index b8496a7..2856a3f 100755 --- a/web/package-lock.json +++ b/web/package-lock.json @@ -1,12 +1,12 @@ { "name": "ifms-pti", - "version": "2.13.3", + "version": "2.14.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "ifms-pti", - "version": "2.13.3", + "version": "2.14.0", "dependencies": { "@mdi/font": "^6.6.96", "apollo-link-ws": "^1.0.20", diff --git a/web/package.json b/web/package.json index 9aed291..f69f6d0 100755 --- a/web/package.json +++ b/web/package.json @@ -1,6 +1,6 @@ { "name": "ifms-pti", - "version": "2.13.3", + "version": "2.14.0", "private": true, "scripts": { "serve": "vue-cli-service serve", diff --git a/web/src/views/UserPresence.vue b/web/src/views/UserPresence.vue index 0d60f8c..38ba34f 100644 --- a/web/src/views/UserPresence.vue +++ b/web/src/views/UserPresence.vue @@ -16,8 +16,6 @@ class="mt-5 ml-4" hint="Somente servidores" label="Somente servidores" - v-bind="attrs" - v-on="on" >