Skip to content

Commit 5888ad7

Browse files
authored
fix(react-10): check if dropdown is open before stopping propagation (#11701)
1 parent 3b108d5 commit 5888ad7

File tree

2 files changed

+36
-18
lines changed

2 files changed

+36
-18
lines changed

packages/react/src/components/MultiSelect/FilterableMultiSelect.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -463,7 +463,9 @@ export default class FilterableMultiSelect extends React.Component {
463463
// toggleMenu behavior for the toggleButton to correctly open and
464464
// close the menu.
465465
onMouseUp(event) {
466-
event.stopPropagation();
466+
if (isOpen) {
467+
event.stopPropagation();
468+
}
467469
},
468470
});
469471
const inputProps = getInputProps({

packages/react/src/components/MultiSelect/MultiSelect-story.js

Lines changed: 33 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -269,25 +269,41 @@ WithInitialSelectedItems.parameters = {
269269
};
270270

271271
export const _Filterable = withReadme(readme, () => {
272-
const {
273-
listBoxMenuIconTranslationIds,
274-
selectionFeedback,
275-
...multiSelectProps
276-
} = props();
272+
// const {
273+
// listBoxMenuIconTranslationIds,
274+
// selectionFeedback,
275+
// ...multiSelectProps
276+
// } = props();
277277

278278
return (
279-
<div style={{ width: 300 }}>
280-
<FilterableMultiSelect
281-
{...multiSelectProps}
282-
items={items}
283-
itemToString={(item) => (item ? item.text : '')}
284-
placeholder={defaultPlaceholder}
285-
translateWithId={(id) => listBoxMenuIconTranslationIds[id]}
286-
selectionFeedback={selectionFeedback}
287-
onMenuChange={(e) => {
288-
multiSelectProps.onMenuChange(e);
289-
}}
290-
/>
279+
<div style={{ display: 'flex' }}>
280+
<div style={{ width: '300px', padding: '1rem' }}>
281+
<FilterableMultiSelect
282+
titleText="FilterableMultiSelect"
283+
placeholder={defaultPlaceholder}
284+
itemToString={(item) => (item ? item.text : '')}
285+
items={items}
286+
id="filterable-1"
287+
/>
288+
</div>
289+
<div style={{ width: '300px', padding: '1rem' }}>
290+
<FilterableMultiSelect
291+
titleText="FilterableMultiSelect"
292+
placeholder={defaultPlaceholder}
293+
itemToString={(item) => (item ? item.text : '')}
294+
items={items}
295+
id="filterable-2"
296+
/>
297+
</div>
298+
<div style={{ width: '300px', padding: '1rem' }}>
299+
<FilterableMultiSelect
300+
titleText="FilterableMultiSelect"
301+
placeholder={defaultPlaceholder}
302+
itemToString={(item) => (item ? item.text : '')}
303+
items={items}
304+
id="filterable-3"
305+
/>
306+
</div>
291307
</div>
292308
);
293309
});

0 commit comments

Comments
 (0)