From f8851c7b5248fd8bcd6e0ebeeec6cde45f681e17 Mon Sep 17 00:00:00 2001 From: Pranav C Date: Wed, 15 May 2024 11:18:18 +0000 Subject: [PATCH] fix: lock logical op for filter group as well --- packages/nc-gui/composables/useViewFilters.ts | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/packages/nc-gui/composables/useViewFilters.ts b/packages/nc-gui/composables/useViewFilters.ts index 2f73de8d36..8b8a1d6064 100644 --- a/packages/nc-gui/composables/useViewFilters.ts +++ b/packages/nc-gui/composables/useViewFilters.ts @@ -192,6 +192,16 @@ export function useViewFilters( } } + const placeholderGroupFilter = (): Filter => { + const logicalOps = new Set(filters.value.slice(1).map((filter) => filter.logical_op)) + + return { + is_group: true, + status: 'create', + logical_op: logicalOps.size === 1 ? logicalOps.values().next().value : 'and', + } + } + const loadAllChildFilters = async (filters: Filter[]) => { // Array to store promises of child filter loading const promises = [] @@ -464,11 +474,7 @@ export function useViewFilters( const addFilterGroup = async () => { const child = placeholderFilter() - const placeHolderGroupFilter: Filter = { - is_group: true, - status: 'create', - logical_op: 'and', - } + const placeHolderGroupFilter: Filter = placeholderGroupFilter() if (nestedMode.value) placeHolderGroupFilter.children = [child]