Skip to content
Snippets Groups Projects
Commit 275c4f44 authored by Remi  PLANEL's avatar Remi PLANEL
Browse files

disabled filter if no facetDistribution

parent 3e0e2036
No related branches found
No related tags found
2 merge requests!203Foldseek pages,!186Refactor facet autocomplete
Pipeline #120236 passed with warnings with stages
in 6 minutes and 42 seconds
This commit is part of merge request !186. Comments created here will be created in the context of that merge request.
......@@ -180,7 +180,12 @@ const autocompleteItems = computed(() => {
}
})
const hasFacetDistribution = computed(() => {
const toValFacetDistribution = toValue(props.facetDistribution)
return toValFacetDistribution !== undefined && Object.keys(toValFacetDistribution).length > 0
})
function updateAutocompleteFocused(isFocused: boolean) {
isAutocompleteFocused.value = isFocused
......@@ -188,11 +193,6 @@ function updateAutocompleteFocused(isFocused: boolean) {
function emitUpdateModelValue(filters: MaybeRef<FilterItem[] | undefined>) {
console.log("dans emit model")
console.log(filters)
// const meiliFilter = toMeiliFilter(toValue(filters))
// emit("meiliFilters", meiliFilter)
emit('update:modelValue', toValue(filters))
}
......@@ -227,7 +227,7 @@ function isItemFilter(type: string | undefined) {
</script>
<template>
<v-autocomplete :model-value="props.modelValue" class="mx-2" @click:clear="clearFilters" v-bind="autocompleteProps"
@update:focused="updateAutocompleteFocused" @update:modelValue="emitUpdateModelValue">
@update:focused="updateAutocompleteFocused" @update:modelValue="emitUpdateModelValue" :disabled="!hasFacetDistribution">
<template #item="{ props, item }">
<v-list-item v-if="isItemFilter(item?.raw?.type)" v-bind="{ ...props, active: false }" :title="item.title"
:prepend-icon="item?.raw?.icon ? item.raw.icon : undefined"
......
......@@ -58,6 +58,8 @@ const props = withDefaults(defineProps<Props>(), {
}
});
// const facetDistribution: Ref<Record<string, Record<string, number>> | undefined> = useState(`refseqFacetDistribution`)
......@@ -140,8 +142,6 @@ const msFilterCompo = ref<FilterItem[] | undefined>(undefined)
const computedFilter = computed(() => {
const toValFilters = toValue(msFilterCompo)
let filtersStr: string | undefined = undefined
if (toValFilters !== undefined && toValFilters.length > 0) {
......@@ -170,8 +170,6 @@ const computedFilter = computed(() => {
watch(computedFilter, () => {
console.log("dans le watch meilifilters")
console.log(toValue(computedFilter))
if (toValue(isValidFilters) && (toValue(computedFilter) !== undefined || toValue(filterInputValues) === null)) {
searchOrFilter()
emitRefreshRes()
......@@ -199,22 +197,12 @@ const lastFilterItem = computed(() => {
})
const isValidFilters = computed(() => {
console.log("dans is valid filter")
console.log("idvalidfilters", msFilterCompo)
const toValFilterItems = toValue(msFilterCompo)
console.log(toValFilterItems)
console.log(typeof toValFilterItems)
console.log(Array.isArray(toValFilterItems))
console.log(toValFilterItems?.length)
if (toValFilterItems === undefined || Array.isArray(toValFilterItems) && toValFilterItems?.length === 0) {
return true
}
else {
const toValLastFilterItem = toValue(lastFilterItem)
console.log("the last filter")
console.log(toValFilterItems)
if (toValLastFilterItem !== undefined) {
console.log(toValLastFilterItem.type)
console.log(toValLastFilterItem.type === 'value')
......@@ -223,14 +211,11 @@ const isValidFilters = computed(() => {
// || (toValFilterStep === 0 && toValLastFilterItem.type === "outerOperator" && toValLastFilterItem.value.split("-")[0] === "AND")
}
}
console.log("retrun false")
return false
})
async function searchOrFilter() {
console.log("dans searchOrFilter")
console.log("is valide filter : ", toValue(isValidFilters))
if (toValue(isValidFilters)) {
// do something, it will be called at most 1 time per second
try {
......@@ -253,7 +238,6 @@ async function searchOrFilter() {
function emitRefreshRes() {
const q = search.value
console.log("dans le emitrefresh res")
emit("refresh:search", {
index: props.autocompleteMeiliFacetsProps.db,
query: q,
......@@ -300,6 +284,8 @@ function focusedOrBlur(isFocused: boolean) {
}
}
</script>
<template>
<v-card flat color="transparent">
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment