import { Box, Text, TextButton } from '@wix/design-system'; import React from 'react'; import { ToolbarCollectionState } from '../../state'; import { FiltersMap } from '@wix/bex-core'; import { observer } from 'mobx-react-lite'; import { runInAction } from 'mobx'; export interface FiltersPanelAppliedFiltersSectionProps< T, F extends FiltersMap, > { state: ToolbarCollectionState; onClearButtonClicked?: () => unknown; } function _FiltersPanelAppliedFiltersSection( props: FiltersPanelAppliedFiltersSectionProps, ) { const { state, onClearButtonClicked } = props; const { collection } = state; const { translate: t, query } = collection; const { nonPersistentCustomFiltersCount } = query; return ( <> {t('cairo.appliedFilters', { num: nonPersistentCustomFiltersCount, })} { runInAction(() => { const { query: { nonPersistentCustomFilters }, } = collection; collection.emitter.emit('beforeClearFilters', { origin: 'sidebar', }); nonPersistentCustomFilters .filter((filter) => !filter._hideFromToolbar) .forEach((filter) => { filter?.reset({ emitEvents: ['change', 'refresh'] }); }); }); onClearButtonClicked?.(); state.sidePanel.focus.modalElement?.focus(); }} disabled={!nonPersistentCustomFiltersCount} > {t('cairo.clear')} ); } export const FiltersPanelAppliedFiltersSection = observer( _FiltersPanelAppliedFiltersSection, );