Revert "Start for Dev Branch"

This reverts commit acf5d1c2ea
This commit is contained in:
2024-12-20 17:49:24 +00:00
parent acf5d1c2ea
commit 8abfce0fa1
16 changed files with 170 additions and 598 deletions

View File

@@ -2,7 +2,7 @@
import {BlobReader, BlobWriter, ZipWriter} from "@zip.js/zip.js";
import {useSupabaseSelectDocuments, useSupabaseSelectSingle} from "~/composables/useSupabase.js";
import {useSupabaseSelectDocuments} from "~/composables/useSupabase.js";
definePageMeta({
middleware: "auth"
@@ -11,8 +11,6 @@ const dataStore = useDataStore()
const supabase = useSupabaseClient()
const user = useSupabaseUser()
const toast = useToast()
const router = useRouter()
const route = useRoute()
dataStore.fetchDocuments()
@@ -21,31 +19,29 @@ const uploadInProgress = ref(false)
const fileUploadFormData = ref({
tags: ["Eingang"],
path: "",
tenant: dataStore.currentTenant,
folder: null
tenant: dataStore.currentTenant
})
let tags = dataStore.getDocumentTags
const selectedTags = ref("Eingang")
const documents = ref([])
const folders = ref([])
const currentFolder = ref(null)
const selectedPath = ref("_")
const loadingDocs = ref(false)
const isDragTarget = ref(false)
const setupPage = async () => {
folders.value = await useSupabaseSelect("folders")
//documents.value = await useSupabaseSelectDocuments("*, project(id,name), customer(id,name), contract(id,name), vendor(id,name), plant(id,name), vehicle(id,licensePlate), product(id,name), profile(id,fullName) ")
//documents.value = await useSupabaseSelectDocuments("*",null, selectedPath.value)
//console.log(documents.value)
documents.value = await useSupabaseSelectDocuments("*",null)
folders.value = dataStore.ownTenant.documentFolders
if(route.query) {
if(route.query.folder) {
console.log(route.query.folder)
currentFolder.value = await useSupabaseSelectSingle("folders", route.query.folder)
}
}
documents.value = await useSupabaseSelectDocuments("*",null,selectedPath.value)
//await supabase.from("documents").select().eq("folderPath",selectedPath.value).eq("tenant",dataStore.currentTenant)
//console.log(await supabase.from("documents").select().eq("folderPath",selectedPath.value))
const dropZone = document.getElementById("drop_zone")
@@ -75,63 +71,37 @@ const setupPage = async () => {
setupPage()
const currentFolders = computed(() => {
if(folders.value.length > 0) {
/*console.log(folders.value[0].path.split("/").filter(x => x.length > 0))
console.log(selectedPath.value.split("/").filter(x => x.length > 0))*/
let tempFolders = folders.value.filter(i => currentFolder.value ? i.parent === currentFolder.value.id : !i.parent)
let tempFolders = folders.value.filter(i => (i.path.split("_").filter(x => x.length > 0) || []).length === selectedPath.value.split("_").filter(x => x.length > 0).length + 1)
tempFolders = tempFolders.filter(i => i.path.includes(selectedPath.value))
return tempFolders
} else return []
}
})
const breadcrumbLinks = computed(() => {
if(currentFolder.value) {
let parents = []
const addParent = (parent) => {
parents.push(parent)
if(parent.parent) {
addParent(folders.value.find(i => i.id === currentFolder.value.parent))
}
}
if(currentFolder.value.parent) {
addParent(folders.value.find(i => i.id === currentFolder.value.parent))
}
return [{
label: "Home",
click: () => {
changeFolder(null)
},
icon: "i-heroicons-folder"
return [{
label: "Home",
click: () => {
changePath("_")
},
...parents.map(i => {
return {
label: folders.value.find(x => x.id === i.id).name,
click: () => {
changeFolder(i)
},
icon: "i-heroicons-folder"
}
}),
{
label: currentFolder.value.name,
click: () => {
changeFolder(currentFolder.value)
},
icon: "i-heroicons-folder"
}]
icon: "i-heroicons-folder"
},...selectedPath.value.split("_").filter(x => x.length > 0).map((i,index) => {
let re = new RegExp(".+?" + i )
let path = selectedPath.value.match(re)[0]
} else {
return [{
label: "Home",
return {
label: folders.value.find(x => x.path === path).name ||path,
click: () => {
changeFolder(null)
changePath(path)
},
icon: "i-heroicons-folder"
}]
}
}
})]
})
@@ -140,22 +110,23 @@ const breadcrumbLinks = computed(() => {
const filteredDocuments = computed(() => {
return documents.value.filter(i => currentFolder.value ? i.folder === currentFolder.value.id : !i.folder)
/*if(selectedTags.value !== "Archiviert") {
return documents.value.filter(i => i.tags.find(t => selectedTags.value === t) && !i.tags.includes("Archiviert"))
} else {
return documents.value.filter(i => i.tags.find(t => selectedTags.value === t))
}*/
return documents.value
})
const changeFolder = async (newFolder) => {
const changePath = async (newPath) => {
loadingDocs.value = true
currentFolder.value = newFolder
if(newFolder) {
fileUploadFormData.value.folder = newFolder.id
await router.push(`/documents?folder=${newFolder.id}`)
} else {
fileUploadFormData.value.folder = null
await router.push(`/documents`)
}
selectedPath.value = newPath
setupPage()
}
@@ -163,7 +134,7 @@ const uploadFiles = async (files) => {
uploadInProgress.value = true;
if(files) {
await dataStore.uploadFiles({tags: ["Ablage"],tenant: dataStore.currentTenant,folder: currentFolder.value.id}, files, true)
await dataStore.uploadFiles({tags: ["Ablage"],tenant: dataStore.currentTenant, folderPath: selectedPath.value}, files, true)
} else {
await dataStore.uploadFiles(fileUploadFormData.value, document.getElementById("fileUploadInput").files, true)
@@ -242,7 +213,7 @@ const downloadSelected = async () => {
<template>
<UDashboardNavbar
title="Dateien"
title="Dokumente"
>
</UDashboardNavbar>
@@ -283,7 +254,7 @@ const downloadSelected = async () => {
<a
class="w-1/6 folderIcon flex flex-col p-5 m-2"
v-for="folder in currentFolders"
@click="changeFolder(folder)"
@click="changePath(folder.path)"
>
<UIcon
@@ -294,8 +265,8 @@ const downloadSelected = async () => {
</a>
</div>
<UDivider class="my-5" v-if="currentFolder">{{currentFolder.name}}</UDivider>
<UDivider class="my-5" v-else>Ablage</UDivider>
<UDivider class="my-5" v-if="currentFolders.length > 0">Dokumente</UDivider>
<div v-if="!loadingDocs">
<DocumentList