File tree Expand file tree Collapse file tree 1 file changed +12
-8
lines changed Expand file tree Collapse file tree 1 file changed +12
-8
lines changed Original file line number Diff line number Diff line change @@ -309,14 +309,18 @@ const MultiselectHierarchicalMenuItem = ({
309
309
310
310
const onButtonClick = useCallback ( ( ) => {
311
311
if ( isOpen ) {
312
- // Clear all refinements
313
- levels . forEach ( level => {
314
- level . items . forEach ( subItem => {
315
- if ( subItem . isRefined ) {
316
- level . refine ( subItem . name )
317
- }
318
- } )
319
- } )
312
+ const currentLevel = levels [ index ]
313
+ const subLevel = levels [ index + 1 ]
314
+ if ( item . isRefined ) {
315
+ currentLevel . refine ( item . name )
316
+ }
317
+ if ( subLevel ) {
318
+ subLevel . items
319
+ . filter (
320
+ subItem => subItem . name . startsWith ( item . name ) && subItem . isRefined
321
+ )
322
+ . forEach ( subItem => subLevel . refine ( subItem . name ) )
323
+ }
320
324
}
321
325
setIsOpen ( ! isOpen )
322
326
} , [ isOpen , levels ] )
You can’t perform that action at this time.
0 commit comments