Added multiple search terms capability
This commit is contained in:
parent
1ac36f1b7d
commit
a4d2bde654
|
@ -21,28 +21,36 @@ export async function userPresence(_, { search, onlyServants }) {
|
||||||
({ extensionAttribute2 }) => extensionAttribute2 == 'Técnico-administrativo' || extensionAttribute2 == 'Docente'
|
({ extensionAttribute2 }) => extensionAttribute2 == 'Técnico-administrativo' || extensionAttribute2 == 'Docente'
|
||||||
)
|
)
|
||||||
|
|
||||||
search = search.toLowerCase().trim()
|
|
||||||
|
|
||||||
const filteredUsers = search
|
const searchTerms = search.split(' ')
|
||||||
? usersWithWifiDevices.filter(
|
|
||||||
user =>
|
let filteredUsers = usersWithWifiDevices
|
||||||
Object.keys(user).some(
|
|
||||||
key => typeof user[key] == 'string' && user[key].contains(search)
|
if (search) {
|
||||||
) ||
|
search = search.toLowerCase().trim()
|
||||||
user.wifiDevices?.some(
|
|
||||||
device =>
|
for (const term of searchTerms) {
|
||||||
device.status != 'OFFLINE' &&
|
|
||||||
(
|
filteredUsers = filteredUsers.filter(
|
||||||
device.ip?.startsWith(search) ||
|
user =>
|
||||||
device.apName?.contains(search) ||
|
Object.keys(user).some(
|
||||||
device.essid?.contains(search) ||
|
key => typeof user[key] == 'string' && user[key].contains(term)
|
||||||
device.hostname?.contains(search) ||
|
) ||
|
||||||
device.accessPoint?.name?.contains(search) ||
|
user.wifiDevices?.some(
|
||||||
device.accessPoint?.local?.contains(search)
|
device =>
|
||||||
)
|
device.status != 'OFFLINE' &&
|
||||||
)
|
(
|
||||||
)
|
device.ip?.startsWith(term) ||
|
||||||
: usersWithWifiDevices
|
device.apName?.contains(term) ||
|
||||||
|
device.essid?.contains(term) ||
|
||||||
|
device.hostname?.contains(term) ||
|
||||||
|
device.accessPoint?.name?.contains(term) ||
|
||||||
|
device.accessPoint?.local?.contains(term)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
const sortedUsers = filteredUsers
|
const sortedUsers = filteredUsers
|
||||||
.sort((a, b) => b.displayName.localeCompare(a.displayName))
|
.sort((a, b) => b.displayName.localeCompare(a.displayName))
|
||||||
|
|
Loading…
Reference in New Issue
Block a user