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