多维表格
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

93 lines
2.6 KiB

<script setup lang="ts">
import MdiFlashOutlineIcon from '~icons/mdi/flash-outline'
import MdiDownloadOutlineIcon from '~icons/mdi/download-outline'
import MdiUploadOutlineIcon from '~icons/mdi/upload-outline'
import MdiViewListOutlineIcon from '~icons/mdi/view-list-outline'
import MdiHookIcon from '~icons/mdi/hook'
const { isUIAllowed } = useUIPermission()
// TODO:: identify based on meta
const isView = ref(false)
const showWebhookDrawer = ref(false)
function exportCsv() {
// TODO
}
function importCsv() {
// TODO
}
function openSharedViewModal() {
// TODO:
}
function openWebhookModal() {
showWebhookDrawer.value = true
}
</script>
<template>
<a-menu offset-y transition="slide-y-transition" mode="horizontal">
<a-sub-menu key="sub1">
<template #icon>
<setting-outlined />
</template>
<template #title>
<span class="flex items-center gap-2">
<MdiFlashOutlineIcon />
{{ $t('general.more') }}
</span>
</template>
<a-menu-item key="action:downloadCSV" v-t="['c:actions']" @click="exportCsv">
<span class="flex items-center gap-2">
<MdiDownloadOutlineIcon class="text-primary" />
<!-- Download as CSV -->
{{ $t('activity.downloadCSV') }}
</span>
</a-menu-item>
<a-menu-item
v-if="isUIAllowed('csvImport') && !isView"
key="action:uploadCSV"
v-t="['a:actions:upload-csv']"
@click="importCsv"
>
<span class="flex items-center gap-2">
<MdiUploadOutlineIcon class="text-primary" />
<!-- Upload CSV -->
{{ $t('activity.uploadCSV') }}
</span>
</a-menu-item>
<a-menu-item
v-if="isUIAllowed('SharedViewList') && !isView"
key="action:listSharedView"
v-t="['a:actions:shared-view-list']"
@click="openSharedViewModal"
>
<span class="flex items-center gap-2">
<MdiViewListOutlineIcon class="text-primary" />
<!-- Shared View List -->
{{ $t('activity.listSharedView') }}
</span>
</a-menu-item>
<a-menu-item
v-if="isUIAllowed('webhook') && !isView"
key="action:webhooks"
v-t="['c:actions:webhook']"
@click="openWebhookModal"
>
<span class="flex items-center gap-2">
<MdiHookIcon class="text-primary" />
<!-- TODO: i18n -->
Webhooks
</span>
</a-menu-item>
</a-sub-menu>
</a-menu>
<WebhookDrawer v-if="showWebhookDrawer" v-model="showWebhookDrawer" />
</template>
<style scoped></style>