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:
commit
6809629f4c
@ -126,7 +126,7 @@
|
|||||||
<div class="flex items-center justify-between gap-2">
|
<div class="flex items-center justify-between gap-2">
|
||||||
<Autocomplete
|
<Autocomplete
|
||||||
value=""
|
value=""
|
||||||
:options="filterableFields.data"
|
:options="availableFilters"
|
||||||
@change="(e) => setfilter(e)"
|
@change="(e) => setfilter(e)"
|
||||||
:placeholder="__('First name')"
|
:placeholder="__('First name')"
|
||||||
>
|
>
|
||||||
@ -217,6 +217,19 @@ const filters = computed(() => {
|
|||||||
return convertFilters(filterableFields.data, allFilters)
|
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) {
|
function removeCommonFilters(commonFilters, allFilters) {
|
||||||
for (const key in commonFilters) {
|
for (const key in commonFilters) {
|
||||||
if (commonFilters.hasOwnProperty(key) && allFilters.hasOwnProperty(key)) {
|
if (commonFilters.hasOwnProperty(key) && allFilters.hasOwnProperty(key)) {
|
||||||
|
|||||||
@ -752,6 +752,7 @@ const quickFilterOptions = computed(() => {
|
|||||||
let fields = getFields()
|
let fields = getFields()
|
||||||
if (!fields) return []
|
if (!fields) return []
|
||||||
|
|
||||||
|
let existingQuickFilters = newQuickFilters.value.map((f) => f.fieldname)
|
||||||
let restrictedFieldtypes = [
|
let restrictedFieldtypes = [
|
||||||
'Tab Break',
|
'Tab Break',
|
||||||
'Section Break',
|
'Section Break',
|
||||||
@ -766,6 +767,7 @@ const quickFilterOptions = computed(() => {
|
|||||||
]
|
]
|
||||||
let options = fields
|
let options = fields
|
||||||
.filter((f) => f.label && !restrictedFieldtypes.includes(f.fieldtype))
|
.filter((f) => f.label && !restrictedFieldtypes.includes(f.fieldtype))
|
||||||
|
.filter((f) => !existingQuickFilters.includes(f.fieldname))
|
||||||
.map((field) => ({
|
.map((field) => ({
|
||||||
label: field.label,
|
label: field.label,
|
||||||
value: field.fieldname,
|
value: field.fieldname,
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user