diff --git a/packages/nc-gui-v2/components/smartsheet-toolbar/ColumnFilter.vue b/packages/nc-gui-v2/components/smartsheet-toolbar/ColumnFilter.vue index 933e03a636..87d9420912 100644 --- a/packages/nc-gui-v2/components/smartsheet-toolbar/ColumnFilter.vue +++ b/packages/nc-gui-v2/components/smartsheet-toolbar/ColumnFilter.vue @@ -4,7 +4,7 @@ import { UITypes } from 'nocodb-sdk' import FieldListAutoCompleteDropdown from './FieldListAutoCompleteDropdown.vue' import Smartsheet from '~/components/tabs/Smartsheet.vue' import { useNuxtApp } from '#app' -import { inject, useViewFilters } from '#imports' +import { inject, useViewFilters, watchEffect } from '#imports' import { comparisonOpList } from '~/utils/filterUtils' import { ActiveViewInj, MetaInj, ReloadViewDataHookInj } from '~/context' import MdiDeleteIcon from '~icons/mdi/close-box' @@ -12,6 +12,8 @@ import MdiAddIcon from '~icons/mdi/plus' const { nested = false, parentId } = defineProps<{ nested?: boolean; parentId?: string }>() +const emit = defineEmits(['update:filters-length']) + const meta = inject(MetaInj) const activeView = inject(ActiveViewInj) const reloadDataHook = inject(ReloadViewDataHookInj) @@ -83,6 +85,13 @@ const logicalOps = [ { value: 'and', text: 'AND' }, { value: 'or', text: 'OR' }, ] + +watch( + () => filters?.value?.length, + (length) => { + emit('update:filters-length', length ?? 0) + }, +)