Include filter
This commit is contained in:
parent
d4b338c6dc
commit
37a3d801d0
|
@ -1,10 +1,12 @@
|
|||
import prisma from '../../prisma'
|
||||
|
||||
export async function wifiDevices(parent, { take = 50, skip = 0, search, sortBy, sortDesc }) {
|
||||
export async function wifiDevices(parent, { take = 50, skip = 0, search, sortBy, sortDesc, onlineOnly }) {
|
||||
const mode = 'insensitive'
|
||||
|
||||
if (!search) search = ''
|
||||
|
||||
if (!onlineOnly) onlineOnly = undefined
|
||||
|
||||
const where = {
|
||||
OR: [
|
||||
{ hostname: { contains: search, mode } },
|
||||
|
@ -16,7 +18,8 @@ export async function wifiDevices(parent, { take = 50, skip = 0, search, sortBy,
|
|||
{ controller: { contains: search, mode } },
|
||||
{ user: { displayName: { contains: search, mode } } },
|
||||
{ user: { sAMAccountName: { contains: search, mode } } }
|
||||
]
|
||||
],
|
||||
status: onlineOnly && 'ONLINE'
|
||||
}
|
||||
|
||||
return {
|
||||
|
|
|
@ -37,7 +37,8 @@ const typeDefs = gql`
|
|||
take: Int
|
||||
skip: Int
|
||||
sortBy: WifiDevicesResultSortBy = "signalStrength"
|
||||
sortDesc: Boolean = false
|
||||
sortDesc: Boolean = false,
|
||||
onlineOnly: Boolean = false
|
||||
): WifiDevicesResult! @auth(roles: ["superAdmin"])
|
||||
|
||||
"Users that uses the Wi-Fi"
|
||||
|
|
|
@ -3,17 +3,25 @@
|
|||
<v-toolbar class="mb-2" flat outlined>
|
||||
<v-text-field
|
||||
v-model="search"
|
||||
style="max-width: 300px"
|
||||
label="Pesquisar"
|
||||
prepend-icon="mdi-devices"
|
||||
clearable
|
||||
hide-details
|
||||
:loading="$apollo.queries.wifiDevices.loading && !!search"
|
||||
/>
|
||||
|
||||
<v-spacer />
|
||||
|
||||
<v-switch
|
||||
v-model="onlineOnly"
|
||||
class="mx-2"
|
||||
label="Somente online"
|
||||
hide-details
|
||||
/>
|
||||
|
||||
<v-select
|
||||
v-model="itemsPerPage"
|
||||
style="max-width: 130px"
|
||||
class="shrink"
|
||||
:items="[10, 20, 30, 50, 100]"
|
||||
label="Items por página"
|
||||
|
@ -87,7 +95,8 @@ export default {
|
|||
page: 1,
|
||||
itemsPerPage: 10,
|
||||
sortBy: 'signalStrength',
|
||||
sortDesc: false
|
||||
sortDesc: false,
|
||||
onlineOnly: false
|
||||
}),
|
||||
computed: {
|
||||
computedWifiDevices() {
|
||||
|
@ -108,6 +117,9 @@ export default {
|
|||
}
|
||||
},
|
||||
watch: {
|
||||
onlineOnly() {
|
||||
this.page = 1
|
||||
},
|
||||
search(newValue) {
|
||||
this.page = 1
|
||||
|
||||
|
@ -130,6 +142,7 @@ export default {
|
|||
$take: Int
|
||||
$sortBy: WifiDevicesResultSortBy
|
||||
$sortDesc: Boolean
|
||||
$onlineOnly: Boolean
|
||||
) {
|
||||
wifiDevices(
|
||||
search: $search
|
||||
|
@ -137,6 +150,7 @@ export default {
|
|||
take: $take
|
||||
sortBy: $sortBy
|
||||
sortDesc: $sortDesc
|
||||
onlineOnly: $onlineOnly
|
||||
) {
|
||||
total
|
||||
data {
|
||||
|
@ -176,7 +190,8 @@ export default {
|
|||
skip: this.page * this.itemsPerPage - this.itemsPerPage,
|
||||
take: this.itemsPerPage,
|
||||
sortBy: this.sortBy,
|
||||
sortDesc: this.sortDesc
|
||||
sortDesc: this.sortDesc,
|
||||
onlineOnly: this.onlineOnly
|
||||
}
|
||||
}
|
||||
},
|
||||
|
|
Loading…
Reference in New Issue
Block a user