Merge pull request #848 from frappe/mergify/bp/main-hotfix/pr-847

fix: hide selected filters from filter list (backport #847)
This commit is contained in:
Shariq Ansari 2025-05-26 12:16:29 +05:30 committed by GitHub
commit 6809629f4c
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 16 additions and 1 deletions

View File

@ -126,7 +126,7 @@
<div class="flex items-center justify-between gap-2">
<Autocomplete
value=""
:options="filterableFields.data"
:options="availableFilters"
@change="(e) => setfilter(e)"
:placeholder="__('First name')"
>
@ -217,6 +217,19 @@ const filters = computed(() => {
return convertFilters(filterableFields.data, allFilters)
})
const availableFilters = computed(() => {
if (!filterableFields.data) return []
const selectedFieldNames = new Set()
for (const filter of filters.value) {
selectedFieldNames.add(filter.fieldname)
}
return filterableFields.data.filter(
(field) => !selectedFieldNames.has(field.fieldname),
)
})
function removeCommonFilters(commonFilters, allFilters) {
for (const key in commonFilters) {
if (commonFilters.hasOwnProperty(key) && allFilters.hasOwnProperty(key)) {

View File

@ -752,6 +752,7 @@ const quickFilterOptions = computed(() => {
let fields = getFields()
if (!fields) return []
let existingQuickFilters = newQuickFilters.value.map((f) => f.fieldname)
let restrictedFieldtypes = [
'Tab Break',
'Section Break',
@ -766,6 +767,7 @@ const quickFilterOptions = computed(() => {
]
let options = fields
.filter((f) => f.label && !restrictedFieldtypes.includes(f.fieldtype))
.filter((f) => !existingQuickFilters.includes(f.fieldname))
.map((field) => ({
label: field.label,
value: field.fieldname,