mirror of
https://github.com/nocodb/nocodb.git
synced 2026-04-29 12:36:39 +00:00
43 lines
1023 B
Vue
43 lines
1023 B
Vue
<script setup lang="ts">
|
|
import type { NcButtonSize } from '~/lib'
|
|
|
|
const props = defineProps<{
|
|
activeWorkspaceId?: string | undefined
|
|
modal?: boolean
|
|
type?: string
|
|
isOpen: boolean
|
|
size?: NcButtonSize
|
|
centered?: boolean
|
|
}>()
|
|
|
|
const { isUIAllowed } = useRoles()
|
|
|
|
const { orgRoles, workspaceRoles } = useRoles()
|
|
|
|
const projectStore = useProject()
|
|
const { isSharedBase } = storeToRefs(projectStore)
|
|
|
|
const workspaceStore = useWorkspace()
|
|
const { activeWorkspaceId: _activeWorkspaceId } = storeToRefs(workspaceStore)
|
|
|
|
const projectCreateDlg = ref(false)
|
|
|
|
const size = computed(() => props.size || 'small')
|
|
const centered = computed(() => props.centered ?? true)
|
|
</script>
|
|
|
|
<template>
|
|
<NcButton
|
|
v-if="isUIAllowed('projectCreate', { roles: workspaceRoles ?? orgRoles }) && !isSharedBase"
|
|
type="text"
|
|
:size="size"
|
|
:centered="centered"
|
|
@click="projectCreateDlg = true"
|
|
>
|
|
<slot />
|
|
<WorkspaceCreateProjectDlg v-model="projectCreateDlg" />
|
|
</NcButton>
|
|
</template>
|
|
|
|
<style scoped></style>
|