From b65128fcc409df63309d8fc6d9d1da9d07cc0473 Mon Sep 17 00:00:00 2001
From: Azri Kahar <42867097+azrikahar@users.noreply.github.com>
Date: Fri, 10 Sep 2021 03:08:24 +0800
Subject: [PATCH] add click event for user tooltip & go to user page (#7954)
---
.../components/user-popover/user-popover.vue | 27 +++++++++----------
1 file changed, 13 insertions(+), 14 deletions(-)
diff --git a/app/src/views/private/components/user-popover/user-popover.vue b/app/src/views/private/components/user-popover/user-popover.vue
index 90b49e5e7f..eaebc34df6 100644
--- a/app/src/views/private/components/user-popover/user-popover.vue
+++ b/app/src/views/private/components/user-popover/user-popover.vue
@@ -15,7 +15,7 @@
{{ error }}
-
+
@@ -36,15 +36,8 @@ import api from '@/api';
import { getRootPath } from '@/utils/get-root-path';
import { userName } from '@/utils/user-name';
import { addTokenToURL } from '@/api';
-
-type User = {
- first_name: string;
- last_name: string;
- email: string;
- avatar: {
- id: string;
- };
-};
+import { useRouter } from 'vue-router';
+import { User } from '@directus/shared/types';
export default defineComponent({
props: {
@@ -56,6 +49,8 @@ export default defineComponent({
setup(props) {
const { t } = useI18n();
+ const router = useRouter();
+
const loading = ref(false);
const error = ref(null);
const data = ref(null);
@@ -83,7 +78,7 @@ export default defineComponent({
data.value = null;
});
- return { t, loading, error, data, active, avatarSrc, userName };
+ return { t, loading, error, data, active, avatarSrc, userName, navigateToUser };
async function fetchUser() {
loading.value = true;
@@ -92,7 +87,7 @@ export default defineComponent({
try {
const response = await api.get(`/users/${props.user}`, {
params: {
- fields: ['email', 'first_name', 'last_name', 'avatar.id', 'role.name', 'status', 'email'],
+ fields: ['id', 'first_name', 'last_name', 'avatar.id', 'role.name', 'status', 'email'],
},
});
data.value = response.data.data;
@@ -102,6 +97,10 @@ export default defineComponent({
loading.value = false;
}
}
+
+ function navigateToUser() {
+ if (data.value) router.push(`/users/${data.value.id}`);
+ }
},
});
@@ -114,8 +113,8 @@ export default defineComponent({
.user-box {
display: flex;
min-width: 300px;
- height: 80px;
- margin: 8px 4px;
+ padding: 8px 4px;
+ cursor: pointer;
.v-avatar {
margin-right: 16px;