This commit is contained in:
2023-12-02 13:09:23 +01:00
parent 098bc97fa4
commit 45da05c9a4
46 changed files with 2889 additions and 5793 deletions

View File

@@ -68,72 +68,37 @@
v-model="showDocumentModal"
fullscreen
>
<UCard>
<!-- <a
v-if="selectedDocument"
target="_blank"
:href="`http://localhost:1337${selectedDocument.file.data.url}`"
class="p-2"
>
Anzeigen
</a>-->
{{selectedDocument}}
<UCard class="h-full">
<embed
:src="pdfSource"
class="bigPreview mb-3"
:src="selectedDocument.url"
/>
<UBadge
v-for="tag in selectedDocument.tags"
>
{{tag}}
</UBadge>
<!-- <UFormGroup
label="Tags:"
<UFormGroup
label="Ordner ändern:"
>
<USelectMenu
v-if="selectedDocument"
multiple
searchable
searchable-placeholder="Suchen..."
:options="tags"
v-on:change="update('documents',selectedDocument.id, {tags: selectedDocument.tags})"
v-model="selectedDocument.tags"
:options="folders"
v-on:change="changeFolder"
v-model="newFolder"
value-attribute="label"
/>
</UFormGroup>
<UFormGroup
label="Status:"
class="mb-3"
>
<USelectMenu
:options="states"
v-model="selectedDocument.state"
v-on:change="update('documents',selectedDocument.id,{state: selectedDocument.state})"
/>
</UFormGroup>-->
<div>
<VuePDF
ref="vuePDFRef"
:pdf="pdf"
fit-parent
:page="page"
/>
</div>
<div class="mt-3">
<UButton @click="page = page > 1 ? page - 1 : page">
Prev
</UButton>
<span class="mx-3">{{ page }} / {{ pages }}</span>
<UButton @click="page = page < pages ? page + 1 : page">
Next
</UButton>
</div>
</UCard>
</USlideover>
<!-- TODO: Tab Height always Full -->
<UTabs
:items="folders"
orientation="vertical"
@@ -143,8 +108,8 @@
<template #item="{item}">
<div class="documentList">
<div
v-if="documentsComposed.filter(doc => doc.folder === item.label).length > 0"
v-for="document in documentsComposed.filter(doc => doc.folder === item.label)"
v-if="documents.filter(doc => doc.folder === item.label).length > 0"
v-for="document in documents.filter(doc => doc.folder === item.label)"
class="documentListItem"
>
<embed
@@ -187,25 +152,14 @@
</template>
<script setup>
definePageMeta({
middleware: "auth"
})
const supabase = useSupabaseClient()
const user = useSupabaseUser()
const documents = (await supabase.from("documents").select()).data
const documentsComposed = ref([])
async function composeDocs () {
for(const doc of documents){
let fileurl = (await supabase.storage.from('documents').createSignedUrl(doc.path,60*60)).data.signedUrl
documentsComposed.value.push({...doc, url: fileurl})
}
}
await composeDocs()
const {documents} = storeToRefs(useDataStore())
const tabOpen = ref(0)
const uploadModalOpen = ref(false)
@@ -271,10 +225,28 @@ const uploadFile = async () => {
uploadModalOpen.value = false;
}
const updateDocument = async () => {
await update('documents', selectedDocument.id, {tags: selectedDocument.tags, state: selectedDocument.state})
const changeFolder = async () => {
console.log("Change Folder")
console.log(selectedDocument.value.path)
let filename = selectedDocument.value.path.split("/")[2]
let newPath = `${user.value.app_metadata.tenant}/${newFolder.value}/${filename}`
console.log(newPath)
const { data, error } = await supabase
.storage
.from('documents')
.move(selectedDocument.value.path, newPath )
console.log(data)
console.log(error)
}
const newFolder = ref("")
const selectedDocument = ref({})
const showDocumentModal = ref(false)
@@ -290,12 +262,13 @@ const openDocument = async (document) => {
.documentList {
display: flex;
flex-direction: row;
flex-wrap: wrap;
}
.documentListItem {
display:block;
width: 15vw;
height: 25vh;
height: 30vh;
padding:1em;
margin: 0.7em;
border: 1px solid lightgrey;
@@ -309,7 +282,7 @@ const openDocument = async (document) => {
.previewEmbed {
width: 100%;
height: 18vh;
height: 22vh;
overflow: hidden;
-ms-overflow-style: none; /* IE and Edge */
scrollbar-width: none; /* Firefox */
@@ -318,4 +291,9 @@ const openDocument = async (document) => {
.previewEmbed::-webkit-scrollbar {
display: none;
}
.bigPreview {
height: 70vh;
width: 100%;
}
</style>