Extract component
This commit is contained in:
parent
8fd27638ac
commit
834f2128b0
33
web/src/components/UserTitle.vue
Normal file
33
web/src/components/UserTitle.vue
Normal file
|
@ -0,0 +1,33 @@
|
||||||
|
<template>
|
||||||
|
<div v-if="user">
|
||||||
|
<Avatar :src="user.thumbnailPhoto" size="56" left />
|
||||||
|
<div>
|
||||||
|
{{ user.displayName }}
|
||||||
|
<DistinguishedNameBreadcrumb :dn="user.dn" />
|
||||||
|
<RoleBadge
|
||||||
|
v-for="role in user.roles"
|
||||||
|
:key="role"
|
||||||
|
class="mr-1"
|
||||||
|
:role="role"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import Avatar from '../components/Avatar.vue'
|
||||||
|
import DistinguishedNameBreadcrumb from './ui/DistinguishedNameBreadcrumb.vue'
|
||||||
|
import RoleBadge from './ui/RoleBadge.vue'
|
||||||
|
|
||||||
|
export default {
|
||||||
|
components: { Avatar, DistinguishedNameBreadcrumb, RoleBadge },
|
||||||
|
props: {
|
||||||
|
user: {
|
||||||
|
type: Object,
|
||||||
|
default: () => ({})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style></style>
|
|
@ -10,8 +10,8 @@
|
||||||
:color="signalStrengthColor(value) + ' lighten-5'"
|
:color="signalStrengthColor(value) + ' lighten-5'"
|
||||||
small
|
small
|
||||||
v-bind="attrs"
|
v-bind="attrs"
|
||||||
v-on="on"
|
|
||||||
:outlined="$vuetify.theme.dark"
|
:outlined="$vuetify.theme.dark"
|
||||||
|
v-on="on"
|
||||||
>
|
>
|
||||||
<v-icon small left :color="signalStrengthColor(value) + ' darken-2'">
|
<v-icon small left :color="signalStrengthColor(value) + ' darken-2'">
|
||||||
{{ signalStrengthIcon(value) }}
|
{{ signalStrengthIcon(value) }}
|
||||||
|
|
|
@ -151,8 +151,8 @@
|
||||||
:elevation="0"
|
:elevation="0"
|
||||||
:color="loadColor(item.clients) + ' lighten-5'"
|
:color="loadColor(item.clients) + ' lighten-5'"
|
||||||
light
|
light
|
||||||
@click="navigateToAccessPoint(item)"
|
|
||||||
:outlined="$vuetify.theme.dark"
|
:outlined="$vuetify.theme.dark"
|
||||||
|
@click="navigateToAccessPoint(item)"
|
||||||
>
|
>
|
||||||
<v-icon left :color="loadColor(item.clients)">
|
<v-icon left :color="loadColor(item.clients)">
|
||||||
{{ loadIcon(item.clients) }}
|
{{ loadIcon(item.clients) }}
|
||||||
|
|
|
@ -12,8 +12,9 @@
|
||||||
<v-col v-if="!$apollo.queries.user.loading && username">
|
<v-col v-if="!$apollo.queries.user.loading && username">
|
||||||
<v-card>
|
<v-card>
|
||||||
<v-card-title class="font-weight-regular">
|
<v-card-title class="font-weight-regular">
|
||||||
Informações do usuário
|
<UserTitle :user="user" />
|
||||||
</v-card-title>
|
</v-card-title>
|
||||||
|
<v-divider />
|
||||||
<v-card-text v-if="user">
|
<v-card-text v-if="user">
|
||||||
<vue-json-pretty
|
<vue-json-pretty
|
||||||
:data="user"
|
:data="user"
|
||||||
|
@ -31,6 +32,7 @@
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import UserSelect from '../components/UserSelect'
|
import UserSelect from '../components/UserSelect'
|
||||||
|
import UserTitle from '../components/UserTitle.vue'
|
||||||
import VueJsonPretty from 'vue-json-pretty'
|
import VueJsonPretty from 'vue-json-pretty'
|
||||||
import gql from 'graphql-tag'
|
import gql from 'graphql-tag'
|
||||||
|
|
||||||
|
@ -38,7 +40,7 @@ import 'vue-json-pretty/lib/styles.css'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'UserInfo',
|
name: 'UserInfo',
|
||||||
components: { UserSelect, VueJsonPretty },
|
components: { UserSelect, VueJsonPretty, UserTitle },
|
||||||
data: () => ({
|
data: () => ({
|
||||||
username: null
|
username: null
|
||||||
}),
|
}),
|
||||||
|
|
|
@ -6,17 +6,7 @@
|
||||||
<v-container v-if="user">
|
<v-container v-if="user">
|
||||||
<v-card class="mb-2">
|
<v-card class="mb-2">
|
||||||
<v-card-title class="font-weight-regular">
|
<v-card-title class="font-weight-regular">
|
||||||
<Avatar :src="user.thumbnailPhoto" size="56" left />
|
<UserTitle :user="user" />
|
||||||
<div>
|
|
||||||
{{ user.displayName }}
|
|
||||||
<DistinguishedNameBreadcrumb :dn="user.dn" />
|
|
||||||
<RoleBadge
|
|
||||||
v-for="role in user.roles"
|
|
||||||
:key="role"
|
|
||||||
class="mr-1"
|
|
||||||
:role="role"
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
<v-spacer />
|
<v-spacer />
|
||||||
</v-card-title>
|
</v-card-title>
|
||||||
<v-divider />
|
<v-divider />
|
||||||
|
@ -37,16 +27,13 @@
|
||||||
import gql from 'graphql-tag'
|
import gql from 'graphql-tag'
|
||||||
|
|
||||||
import UserWifiDevicesDataTable from '../../components/DataTables/UserWifiDevicesDataTable.vue'
|
import UserWifiDevicesDataTable from '../../components/DataTables/UserWifiDevicesDataTable.vue'
|
||||||
import Avatar from '../../components/Avatar.vue'
|
|
||||||
import DistinguishedNameBreadcrumb from '../../components/ui/DistinguishedNameBreadcrumb.vue'
|
import UserTitle from '../../components/UserTitle.vue'
|
||||||
import RoleBadge from '../../components/ui/RoleBadge.vue'
|
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
components: {
|
components: {
|
||||||
UserWifiDevicesDataTable,
|
UserWifiDevicesDataTable,
|
||||||
Avatar,
|
UserTitle
|
||||||
DistinguishedNameBreadcrumb,
|
|
||||||
RoleBadge
|
|
||||||
},
|
},
|
||||||
apollo: {
|
apollo: {
|
||||||
user: {
|
user: {
|
||||||
|
|
Loading…
Reference in New Issue
Block a user