diff --git a/src/components/searchbox/NodeSearchFilter.vue b/src/components/searchbox/NodeSearchFilter.vue
index 6737eba5b..53df08dfe 100644
--- a/src/components/searchbox/NodeSearchFilter.vue
+++ b/src/components/searchbox/NodeSearchFilter.vue
@@ -7,18 +7,10 @@
optionLabel="name"
@change="updateSelectedFilterValue"
/>
- updateFilterValues(event.query)"
- completeOnFocus
- forceSelection
- dropdown
- >
+
@@ -26,43 +18,39 @@
import { NodeFilter, type FilterAndValue } from '@/services/nodeSearchService'
import Button from 'primevue/button'
import SelectButton from 'primevue/selectbutton'
-import AutoComplete from 'primevue/autocomplete'
-import { ref, onMounted } from 'vue'
+import Select from 'primevue/select'
+import { ref, onMounted, computed } from 'vue'
import { useNodeDefStore } from '@/stores/nodeDefStore'
-const filters = ref([])
+const filters = computed(() => nodeDefStore.nodeSearchService.nodeFilters)
const selectedFilter = ref()
-const filterValues = ref([])
+const filterValues = computed(() => selectedFilter.value?.fuseSearch.data ?? [])
const selectedFilterValue = ref('')
+const nodeDefStore = useNodeDefStore()
+
onMounted(() => {
- const nodeSearchService = useNodeDefStore().nodeSearchService
- filters.value = nodeSearchService.nodeFilters
- selectedFilter.value = nodeSearchService.nodeFilters[0]
+ selectedFilter.value = nodeDefStore.nodeSearchService.nodeFilters[0]
+ updateSelectedFilterValue()
})
-const emit = defineEmits(['addFilter'])
+const emit = defineEmits<{
+ (event: 'addFilter', filterAndValue: FilterAndValue): void
+}>()
const updateSelectedFilterValue = () => {
- updateFilterValues('')
if (filterValues.value.includes(selectedFilterValue.value)) {
return
}
selectedFilterValue.value = filterValues.value[0]
}
-const updateFilterValues = (query: string) => {
- filterValues.value = selectedFilter.value.fuseSearch.search(query)
-}
-
const submit = () => {
emit('addFilter', [
selectedFilter.value,
selectedFilterValue.value
] as FilterAndValue)
}
-
-onMounted(updateSelectedFilterValue)