Introduced Temp for Columns and Filters

Implemented Filters in createddocuments
This commit is contained in:
2025-02-05 15:10:08 +01:00
parent d586f8d9a6
commit 8b6aa4b502
3 changed files with 27 additions and 8 deletions

View File

@@ -58,8 +58,8 @@ const dataType = dataStore.dataTypes[type]
const selectedItem = ref(0) const selectedItem = ref(0)
const selectedColumns = ref(dataType.templateColumns.filter(i => !i.disabledInTable)) const selectedColumns = ref(tempStore.columns[type] ? tempStore.columns[type] : dataType.templateColumns.filter(i => !i.disabledInTable))
const columns = computed(() => dataType.templateColumns.filter((column) => !column.disabledInTable && selectedColumns.value.includes(column))) const columns = computed(() => dataType.templateColumns.filter((column) => !column.disabledInTable && selectedColumns.value.find(i => i.key === column.key)))
const searchString = ref(tempStore.searchStrings[props.type] ||'') const searchString = ref(tempStore.searchStrings[props.type] ||'')
@@ -151,6 +151,7 @@ const filteredRows = computed(() => {
by="key" by="key"
:color="selectedColumns.length !== dataType.templateColumns.filter(i => !i.disabledInTable).length ? 'primary' : 'white'" :color="selectedColumns.length !== dataType.templateColumns.filter(i => !i.disabledInTable).length ? 'primary' : 'white'"
:ui-menu="{ width: 'min-w-max' }" :ui-menu="{ width: 'min-w-max' }"
@change="tempStore.modifyColumns(type,selectedColumns)"
> >
<template #label> <template #label>
Spalten Spalten

View File

@@ -35,6 +35,7 @@
multiple multiple
class="hidden lg:block" class="hidden lg:block"
by="key" by="key"
@change="tempStore.modifyFilter('createddocuments',selectedTypes)"
> >
<template #label> <template #label>
Typ Typ
@@ -50,6 +51,7 @@
multiple multiple
class="hidden lg:block" class="hidden lg:block"
by="key" by="key"
@change="tempStore.modifyColumns('createddocuments',selectedColumns)"
> >
<template #label> <template #label>
Spalten Spalten
@@ -156,6 +158,7 @@ defineShortcuts({
}) })
const dataStore = useDataStore() const dataStore = useDataStore()
const tempStore = useTempStore()
const router = useRouter() const router = useRouter()
const items = ref([]) const items = ref([])
@@ -208,8 +211,8 @@ const templateColumns = [
sortable: true sortable: true
} }
] ]
const selectedColumns = ref(templateColumns) const selectedColumns = ref(tempStore.columns["createddocuments"] ? tempStore.columns["createddocuments"] : templateColumns)
const columns = computed(() => templateColumns.filter((column) => selectedColumns.value.includes(column))) const columns = computed(() => templateColumns.filter((column) => selectedColumns.value.find(i => i.key === column.key)))
const templateTypes = [ const templateTypes = [
{ {
@@ -232,8 +235,10 @@ const templateTypes = [
label: "Auftragsbestätigungen" label: "Auftragsbestätigungen"
} }
] ]
const selectedTypes = ref(templateTypes) const selectedTypes = ref(tempStore.filters["createddocuments"] ? tempStore.filters["createddocuments"] : templateTypes)
const types = computed(() => templateTypes.filter((type) => selectedTypes.value.includes(type))) const types = computed(() => {
return templateTypes.filter((type) => selectedTypes.value.find(i => i.key === type.key))
})
const selectItem = (item) => { const selectItem = (item) => {
console.log(item) console.log(item)
@@ -251,7 +256,6 @@ const displayCurrency = (value, currency = "€") => {
const searchString = ref('') const searchString = ref('')
const showDrafts = ref(false)
const filteredRows = computed(() => { const filteredRows = computed(() => {
let temp = items.value.filter(i => types.value.find(x => x.key === i.type)) let temp = items.value.filter(i => types.value.find(x => x.key === i.type))

View File

@@ -4,6 +4,8 @@ import {defineStore} from 'pinia'
export const useTempStore = defineStore('temp', () => { export const useTempStore = defineStore('temp', () => {
const searchStrings = ref({}) const searchStrings = ref({})
const filters = ref({})
const columns = ref({})
function modifySearchString(type,input) { function modifySearchString(type,input) {
searchStrings.value[type] = input searchStrings.value[type] = input
@@ -13,11 +15,23 @@ export const useTempStore = defineStore('temp', () => {
searchStrings.value[type] = "" searchStrings.value[type] = ""
} }
function modifyFilter(type,input) {
filters.value[type] = input
}
function modifyColumns(type,input) {
columns.value[type] = input
}
return { return {
searchStrings, searchStrings,
modifySearchString, modifySearchString,
clearSearchString clearSearchString,
filters,
modifyFilter,
columns,
modifyColumns,
} }