@@ -215,12 +215,12 @@ export const FilterFacetedSelector: FC<Props> = memo(props => {
215215 fieldKey ,
216216 value ,
217217 checked ,
218- fieldFilters ?. [ 0 ] , // choose values applies only to the first filter
218+ fieldFilters ?. [ 0 ] ?? ( multiChoices ? Filter . create ( fieldKey , [ ] , Filter . Types . ARRAY_CONTAINS_ALL ) : null ) , // choose values applies only to the first filter
219219 uncheckOthers
220220 ) ;
221221 onFieldFilterUpdate ( [ newFilter ] , 0 ) ;
222222 } ,
223- [ disabled , allShown , fieldDistinctValues , fieldKey , fieldFilters , onFieldFilterUpdate ]
223+ [ disabled , allShown , fieldDistinctValues , fieldKey , fieldFilters , onFieldFilterUpdate , multiChoices ]
224224 ) ;
225225
226226 const filteredFieldDistinctValues = useMemo ( ( ) => {
@@ -250,12 +250,15 @@ export const FilterFacetedSelector: FC<Props> = memo(props => {
250250 if ( ! newActiveFilterType ) return newFilters ;
251251
252252 const filterType = resolveFilterType ( newActiveFilterType ?. value , field ) ;
253+ let updatedFilterValues = fieldFilters [ 0 ] ?. getValue ( ) ;
254+ if ( updatedFilterValues && multiChoices && ! filterType . isMultiValued ( ) )
255+ updatedFilterValues = null ;
253256
254- newFilters = [ Filter . create ( fieldKey , fieldFilters [ 0 ] ?. getValue ( ) , filterType ) , null ] ;
257+ newFilters = [ Filter . create ( fieldKey , updatedFilterValues , filterType ) , null ] ;
255258
256259 onFieldFilterUpdate ( newFilters , 0 ) ;
257260 } ,
258- [ onFieldFilterUpdate , filterOptions , field , fieldFilters , fieldKey ]
261+ [ onFieldFilterUpdate , filterOptions , field , fieldFilters , fieldKey , multiChoices ]
259262 ) ;
260263
261264 if ( ! fieldDistinctValues || allShown === undefined ) return < LoadingSpinner /> ;
@@ -275,7 +278,7 @@ export const FilterFacetedSelector: FC<Props> = memo(props => {
275278 options = { filterOptions }
276279 placeholder = "Select a filter type..."
277280 required = { true }
278- value = { fieldFilters ?. [ 0 ] ?. getFilterType ( ) ?. getURLSuffix ( ) || '' }
281+ value = { fieldFilters ?. [ 0 ] ?. getFilterType ( ) ?. getURLSuffix ( ) || 'arraycontainsall ' }
279282 />
280283 }
281284 { ( fieldDistinctValues ?. length > showSearchLength || searchStr ) && (
0 commit comments