|
|
@ -1,13 +1,14 @@ |
|
|
|
<script lang="ts" setup> |
|
|
|
<script lang="ts" setup> |
|
|
|
import { useTitle } from '@vueuse/core' |
|
|
|
import { useTitle } from '@vueuse/core' |
|
|
|
import type { WorkspaceType } from 'nocodb-sdk' |
|
|
|
import type { WorkspaceType } from 'nocodb-sdk' |
|
|
|
import { isEeUI } from '#imports' |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const router = useRouter() |
|
|
|
const router = useRouter() |
|
|
|
const route = router.currentRoute |
|
|
|
const route = router.currentRoute |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const { isUIAllowed } = useRoles() |
|
|
|
|
|
|
|
|
|
|
|
const workspaceStore = useWorkspace() |
|
|
|
const workspaceStore = useWorkspace() |
|
|
|
const { isWorkspaceOwnerOrCreator, isWorkspaceOwner, activeWorkspace, workspaces } = storeToRefs(workspaceStore) |
|
|
|
const { activeWorkspace, workspaces } = storeToRefs(workspaceStore) |
|
|
|
const { loadCollaborators } = workspaceStore |
|
|
|
const { loadCollaborators } = workspaceStore |
|
|
|
|
|
|
|
|
|
|
|
const tab = computed({ |
|
|
|
const tab = computed({ |
|
|
@ -61,7 +62,7 @@ onMounted(() => { |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
|
|
|
|
|
|
|
|
<NcTabs v-model:activeKey="tab"> |
|
|
|
<NcTabs v-model:activeKey="tab"> |
|
|
|
<template v-if="isWorkspaceOwnerOrCreator"> |
|
|
|
<template v-if="isUIAllowed('workspaceSettings')"> |
|
|
|
<a-tab-pane key="collaborators" class="w-full"> |
|
|
|
<a-tab-pane key="collaborators" class="w-full"> |
|
|
|
<template #tab> |
|
|
|
<template #tab> |
|
|
|
<div class="flex flex-row items-center px-2 pb-1 gap-x-1.5"> |
|
|
|
<div class="flex flex-row items-center px-2 pb-1 gap-x-1.5"> |
|
|
@ -73,7 +74,7 @@ onMounted(() => { |
|
|
|
</a-tab-pane> |
|
|
|
</a-tab-pane> |
|
|
|
</template> |
|
|
|
</template> |
|
|
|
|
|
|
|
|
|
|
|
<template v-if="isWorkspaceOwner && isEeUI"> |
|
|
|
<template v-if="isUIAllowed('workspaceBilling')"> |
|
|
|
<a-tab-pane key="billing" class="w-full"> |
|
|
|
<a-tab-pane key="billing" class="w-full"> |
|
|
|
<template #tab> |
|
|
|
<template #tab> |
|
|
|
<div class="flex flex-row items-center px-2 pb-1 gap-x-1.5"> |
|
|
|
<div class="flex flex-row items-center px-2 pb-1 gap-x-1.5"> |
|
|
@ -84,7 +85,7 @@ onMounted(() => { |
|
|
|
<WorkspaceBilling /> |
|
|
|
<WorkspaceBilling /> |
|
|
|
</a-tab-pane> |
|
|
|
</a-tab-pane> |
|
|
|
</template> |
|
|
|
</template> |
|
|
|
<template v-if="isWorkspaceOwner && isEeUI"> |
|
|
|
<template v-if="isUIAllowed('workspaceManage')"> |
|
|
|
<a-tab-pane key="settings" class="w-full"> |
|
|
|
<a-tab-pane key="settings" class="w-full"> |
|
|
|
<template #tab> |
|
|
|
<template #tab> |
|
|
|
<div class="flex flex-row items-center px-2 pb-1 gap-x-1.5" data-testid="nc-workspace-settings-tab-settings"> |
|
|
|
<div class="flex flex-row items-center px-2 pb-1 gap-x-1.5" data-testid="nc-workspace-settings-tab-settings"> |
|
|
|