diff --git a/frontend/src/lib/components/TaxonomicFilter/taxonomicFilterLogic.test.ts b/frontend/src/lib/components/TaxonomicFilter/taxonomicFilterLogic.test.ts index b67486a2a9854..ba13bd2b240df 100644 --- a/frontend/src/lib/components/TaxonomicFilter/taxonomicFilterLogic.test.ts +++ b/frontend/src/lib/components/TaxonomicFilter/taxonomicFilterLogic.test.ts @@ -14,6 +14,7 @@ import { AppContext } from '~/types' import { taxonomicFilterLogic } from 'lib/components/TaxonomicFilter/taxonomicFilterLogic' import { groupsModel } from '~/models/groupsModel' import { actionsModel } from '~/models/actionsModel' +import { columnConfiguratorLogic } from 'lib/components/ResizableTable/columnConfiguratorLogic' jest.mock('lib/api') @@ -39,6 +40,7 @@ describe('taxonomicFilterLogic', () => { teamLogic.mount() actionsModel.mount() groupsModel.mount() + columnConfiguratorLogic({ selectedColumns: [] }).mount() }) const setupLogic = (clearSearchOnSelection?: boolean): void => { @@ -73,6 +75,15 @@ describe('taxonomicFilterLogic', () => { searchQuery: 'tomato', }) }) + + it('clears the search query when the column configurator saves', async () => { + await expectLogic(logic, () => { + logic.actions.setSearchQuery('tomato') + columnConfiguratorLogic.actions.save() + }).toMatchValues({ + searchQuery: '', + }) + }) }) describe('with the default of clearing search query on selection', () => { diff --git a/frontend/src/lib/components/TaxonomicFilter/taxonomicFilterLogic.tsx b/frontend/src/lib/components/TaxonomicFilter/taxonomicFilterLogic.tsx index d526b9b464f5b..c86466ca56768 100644 --- a/frontend/src/lib/components/TaxonomicFilter/taxonomicFilterLogic.tsx +++ b/frontend/src/lib/components/TaxonomicFilter/taxonomicFilterLogic.tsx @@ -25,6 +25,7 @@ import { FEATURE_FLAGS } from 'lib/constants' import { ActionStack, CohortIcon, PropertyIcon } from 'lib/components/icons' import { keyMapping } from 'lib/components/PropertyKeyInfo' import { getEventDefinitionIcon, getPropertyDefinitionIcon } from 'scenes/data-management/events/DefinitionHeader' +import { columnConfiguratorLogic } from 'lib/components/ResizableTable/columnConfiguratorLogic' const eventTaxonomicGroupProps = { getPopupHeader: (eventDefinition: EventDefinition): string => { @@ -49,6 +50,7 @@ export const taxonomicFilterLogic = kea({ groupPropertiesModel, ['allGroupProperties'], ], + actions: [columnConfiguratorLogic, ['save']], }, actions: () => ({ moveUp: true, @@ -360,6 +362,10 @@ export const taxonomicFilterLogic = kea({ ], }, listeners: ({ actions, values, props }) => ({ + save: () => { + // implemented as a listener not on reducer so that the change is reflected in the infinite list data + actions.setSearchQuery('') + }, selectItem: ({ group, value, item }) => { if (item && value) { props.onChange?.(group, value, item)