From c2cdafb4bb324e6b49f7b2213b7ca247c43aa98a Mon Sep 17 00:00:00 2001 From: Shariq Ansari Date: Fri, 28 Feb 2025 01:55:37 +0530 Subject: [PATCH] fix: add quick filter --- frontend/src/components/ViewControls.vue | 32 ++++++++++++++++++++++-- 1 file changed, 30 insertions(+), 2 deletions(-) diff --git a/frontend/src/components/ViewControls.vue b/frontend/src/components/ViewControls.vue index 6fb8beda..c8506e63 100644 --- a/frontend/src/components/ViewControls.vue +++ b/frontend/src/components/ViewControls.vue @@ -666,7 +666,13 @@ const customizeQuickFilter = ref(false) const newQuickFilters = ref([]) function addQuickFilter(f) { - // + if (!newQuickFilters.value.some((filter) => filter.fieldname === f.value)) { + newQuickFilters.value.push({ + label: f.label, + fieldname: f.value, + fieldtype: f.fieldtype, + }) + } } function removeQuickFilter(f) { @@ -679,7 +685,29 @@ function saveQuickFilters() { // } -const quickFilterOptions = [] +const quickFilterOptions = computed(() => { + let fields = getFields() + if (!fields) return [] + + let restrictedFieldtypes = ['Tab Break', 'Section Break', 'Column Break'] + let options = fields + .filter((f) => f.label && !restrictedFieldtypes.includes(f.fieldtype)) + .map((field) => ({ + label: field.label, + value: field.fieldname, + fieldtype: field.fieldtype, + })) + + if (!options.some((f) => f.fieldname === 'name')) { + options.push({ + label: __('Name'), + fieldname: 'name', + fieldtype: 'Data', + }) + } + + return options +}) const quickFilterList = computed(() => { let filters = quickFilters.data || []