Fixed Document Upload

This commit is contained in:
2025-01-07 11:22:03 +01:00
parent 46fb5de260
commit 96184e4853

View File

@@ -13,15 +13,21 @@ const {type, elementId} = props
const dataStore = useDataStore() const dataStore = useDataStore()
const profileStore = useProfileStore() const profileStore = useProfileStore()
const tags = dataStore.getDocumentTags
const uploadModalOpen = ref(false) const uploadModalOpen = ref(false)
const uploadInProgress = ref(false) const uploadInProgress = ref(false)
const fileUploadFormData = ref({ const fileUploadFormData = ref({
tags: ["Dokument"],
project: null, project: null,
tenant: profileStore.currentTenant tenant: profileStore.currentTenant
}) })
const availableTags = ref([])
const selectedTags = ref([])
const setup = async () => {
availableTags.value = await useSupabaseSelect("filetags")
}
setup()
const openModal = () => { const openModal = () => {
uploadModalOpen.value = true uploadModalOpen.value = true
@@ -33,7 +39,7 @@ const uploadFiles = async () => {
let fileData = fileUploadFormData.value let fileData = fileUploadFormData.value
fileData[type] = elementId fileData[type] = elementId
await dataStore.uploadFiles(fileData, document.getElementById("fileUploadInput").files,true) await useFiles().uploadFiles(fileData, document.getElementById("fileUploadInput").files,selectedTags.value,true)
uploadModalOpen.value = false; uploadModalOpen.value = false;
uploadInProgress.value = false; uploadInProgress.value = false;
@@ -44,7 +50,7 @@ const uploadFiles = async () => {
<USlideover <USlideover
v-model="uploadModalOpen" v-model="uploadModalOpen"
> >
<UCard :ui="{ ring: '', divide: 'divide-y divide-gray-100 dark:divide-gray-800' }"> <UCard :ui="{ ring: '', divide: 'divide-y divide-gray-100 dark:divide-gray-800' }" class="h-full">
<template #header> <template #header>
<div class="flex items-center justify-between"> <div class="flex items-center justify-between">
<h3 class="text-base font-semibold leading-6 text-gray-900 dark:text-white"> <h3 class="text-base font-semibold leading-6 text-gray-900 dark:text-white">
@@ -76,13 +82,15 @@ const uploadFiles = async () => {
> >
<USelectMenu <USelectMenu
multiple multiple
option-attribute="name"
value-attribute="id"
searchable searchable
searchable-placeholder="Suchen..." searchable-placeholder="Suchen..."
:options="tags" :options="availableTags"
v-model="fileUploadFormData.tags" v-model="selectedTags"
> >
<template #label> <template #label>
<span v-if="fileUploadFormData.tags.length > 0">{{fileUploadFormData.tags.join(", ")}}</span> <span v-if="selectedTags.length > 0">{{selectedTags.map(i => availableTags.find(x => x.id === i).name).join(", ")}}</span>
<span v-else>Keine Tags ausgewählt</span> <span v-else>Keine Tags ausgewählt</span>
</template> </template>
</USelectMenu> </USelectMenu>