feat: message and attachment download
Signed-off-by: Sebastian <krupinski01@gmail.com>
This commit is contained in:
@@ -3,6 +3,7 @@ import { computed, ref, watch } from 'vue'
|
||||
import { useUser } from '@KTXC'
|
||||
import type { EntityObject, MessageObject } from '@MailManager/models'
|
||||
import { SecurityLevel } from '@/utile/emailSanitizer'
|
||||
import { useMailStore } from '@/stores/mailStore'
|
||||
import ReaderEmpty from './reader/ReaderEmpty.vue'
|
||||
import ReaderToolbar from './reader/ReaderToolbar.vue'
|
||||
import ReaderHeader from './reader/ReaderHeader.vue'
|
||||
@@ -25,6 +26,7 @@ const emit = defineEmits<{
|
||||
|
||||
// User settings
|
||||
const { getSetting } = useUser()
|
||||
const mailStore = useMailStore()
|
||||
|
||||
// Per-message overrides
|
||||
const allowImages = ref(false)
|
||||
@@ -94,6 +96,14 @@ const handleMove = () => {
|
||||
}
|
||||
}
|
||||
|
||||
const handleDownload = async (partIndex?: number) => {
|
||||
if (!props.entity) {
|
||||
return
|
||||
}
|
||||
|
||||
await mailStore.downloadMessage(props.entity, partIndex)
|
||||
}
|
||||
|
||||
const handleFlag = () => {
|
||||
if (props.entity) {
|
||||
emit('flag', props.entity)
|
||||
@@ -125,13 +135,17 @@ const handleCompose = () => {
|
||||
@move="handleMove"
|
||||
@delete="handleDelete"
|
||||
@flag="handleFlag"
|
||||
@download="handleDownload()"
|
||||
@toggle-images="toggleImages"
|
||||
@set-security-level="setSecurityLevel"
|
||||
/>
|
||||
|
||||
<!-- Message content -->
|
||||
<div class="message-content">
|
||||
<ReaderHeader :message="message!" />
|
||||
<ReaderHeader
|
||||
:entity="props.entity"
|
||||
@download-attachment="handleDownload"
|
||||
/>
|
||||
|
||||
<v-divider />
|
||||
|
||||
|
||||
Reference in New Issue
Block a user