Start for Dev Branch
This commit is contained in:
@@ -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)
|
||||
|
||||
})
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user