24 lines
611 B
Vue
24 lines
611 B
Vue
|
<template>
|
||
|
<q-btn v-if="isGranted" flat dense :icon="shortcut.icon" :to="{ name: shortcut.link }" />
|
||
|
</template>
|
||
|
|
||
|
<script lang="ts">
|
||
|
import { computed, defineComponent, PropType } from 'vue';
|
||
|
import { hasPermissions } from 'src/utils/permission';
|
||
|
import { FG_Plugin } from 'src/plugins';
|
||
|
|
||
|
export default defineComponent({
|
||
|
name: 'ShortcutLink',
|
||
|
props: {
|
||
|
shortcut: {
|
||
|
required: true,
|
||
|
type: Object as PropType<FG_Plugin.Shortcut>,
|
||
|
},
|
||
|
},
|
||
|
setup(props) {
|
||
|
const isGranted = computed(() => hasPermissions(props.shortcut.permissions || []));
|
||
|
return { isGranted };
|
||
|
},
|
||
|
});
|
||
|
</script>
|