Start for Dev Branch

This commit is contained in:
2024-12-20 18:46:52 +01:00
parent a6c1eaf69f
commit acf5d1c2ea
16 changed files with 599 additions and 171 deletions

View File

@@ -43,6 +43,9 @@
:ui="{ divide: 'divide-gray-200 dark:divide-gray-800' }"
@select="(i) => router.push(`/inventoryitems/show/${i.id}`) "
:empty-state="{ icon: 'i-heroicons-circle-stack-20-solid', label: 'Keine Inventarartikel anzuzeigen' }"
v-model:sort="sortConfig"
sort-mode="manual"
@update:sort="setupPage"
>
@@ -50,6 +53,8 @@
</template>
<script setup>
import {sort} from "fast-sort"
definePageMeta({
middleware: "auth"
@@ -70,8 +75,13 @@ const dataStore = useDataStore()
const router = useRouter()
const items = ref([])
const sortConfig = ref({
column: "articleNumber",
direction: "desc"
})
const setupPage = async () => {
items.value = await useSupabaseSelect("inventoryitems","*", "articleNumber")
items.value = await useSupabaseSelect("inventoryitems","*")
}
setupPage()
@@ -96,17 +106,20 @@ const selectedColumns = ref(templateColumns)
const columns = computed(() => templateColumns.filter((column) => selectedColumns.value.includes(column)))
const searchString = ref('')
const filteredRows = computed(() => {
if(!searchString.value) {
return items.value
let sorted = []
if(sortConfig.value.direction === "asc"){
sorted = sort(items.value).asc(i => i[sortConfig.value.column])
} else {
sorted = sort(items.value).desc(i => i[sortConfig.value.column])
}
return items.value.filter(product => {
return Object.values(product).some((value) => {
return String(value).toLowerCase().includes(searchString.value.toLowerCase())
})
})
return useListFilter(searchString.value, sorted)
})