11<script setup>
2- import {ref } from " vue" ;
3- import i18n from " @/i18n/index.js" ;
4- import {statusPresentation } from " @/composables/useSettings.js" ;
52import StatusItem from " @/components/StatusItem.vue" ;
63
74const props = defineProps ([' filters' , ' field' , ' settings' ])
85const emit = defineEmits ([' filterChanged' ])
96const selectedFilter = defineModel ()
107
11- const isMenuOpen = ref (false )
12-
138const onFilterChanged = async (val ) => {
149 emit (' filterChanged' , props .field , val)
1510}
16-
17- const onFilterClear = async () => {
18- isMenuOpen .value = false
19- selectedFilter .value = null
20- emit (' filterChanged' , props .field , null )
21- }
2211 </script >
2312
2413<template >
@@ -29,14 +18,9 @@ const onFilterClear = async () => {
2918 :item-title =" item => settings.statuses[item]"
3019 @update:modelValue =" onFilterChanged"
3120 return-object
32- v-model:menu = " isMenuOpen "
21+ clearable
3322 density =" comfortable"
3423 >
35- <template v-slot :prepend-item >
36- <v-list-item :title =" i18n.global.t('All')" @click =" onFilterClear" ></v-list-item >
37- <v-divider class =" mt-2" ></v-divider >
38- </template >
39-
4024 <template v-slot :selection =" { item } " v-if =" field === ' status' " >
4125 <StatusItem :status =" item.raw" :statuses =" settings.statuses" statusPresentation =" icon_text" />
4226 </template >
0 commit comments