From 25af66b90eb666612fe7863cad4aeec98b017fda Mon Sep 17 00:00:00 2001 From: Eric Olkowski Date: Wed, 19 Jul 2023 09:13:28 -0400 Subject: [PATCH] fix(SelectToggle): corrected removeEventListener on unmount for v5 --- .../components/Select/SelectToggle.tsx | 21 ++++++------------- 1 file changed, 6 insertions(+), 15 deletions(-) diff --git a/packages/react-core/src/deprecated/components/Select/SelectToggle.tsx b/packages/react-core/src/deprecated/components/Select/SelectToggle.tsx index 2fc07511e15..1a1267cbd99 100644 --- a/packages/react-core/src/deprecated/components/Select/SelectToggle.tsx +++ b/packages/react-core/src/deprecated/components/Select/SelectToggle.tsx @@ -104,7 +104,7 @@ class SelectToggleBase extends React.Component { } componentWillUnmount() { - document.removeEventListener('click', this.onDocClick); + document.removeEventListener('click', this.onDocClick, { capture: true }); document.removeEventListener('touchstart', this.onDocClick); document.removeEventListener('keydown', this.handleGlobalKeys); } @@ -124,17 +124,8 @@ class SelectToggleBase extends React.Component { }; handleGlobalKeys = (event: KeyboardEvent) => { - const { - parentRef, - menuRef, - hasFooter, - footerRef, - isOpen, - variant, - onToggle, - onClose, - moveFocusToLastMenuItem - } = this.props; + const { parentRef, menuRef, hasFooter, footerRef, isOpen, variant, onToggle, onClose, moveFocusToLastMenuItem } = + this.props; const escFromToggle = parentRef && parentRef.current && parentRef.current.contains(event.target as Node); const escFromWithinMenu = menuRef && menuRef.current && menuRef.current.contains && menuRef.current.contains(event.target as Node); @@ -307,7 +298,7 @@ class SelectToggleBase extends React.Component { aria-label={ariaLabel} onBlur={onBlur} // eslint-disable-next-line @typescript-eslint/no-unused-vars - onClick={event => { + onClick={(event) => { onToggle(event, !isOpen); if (isOpen) { onClose(); @@ -334,7 +325,7 @@ class SelectToggleBase extends React.Component { )} onBlur={onBlur} // eslint-disable-next-line @typescript-eslint/no-unused-vars - onClick={event => { + onClick={(event) => { if (!isDisabled) { onToggle(event, !isOpen); if (isOpen) { @@ -350,7 +341,7 @@ class SelectToggleBase extends React.Component { type={type} className={css(buttonStyles.button, styles.selectToggleButton, styles.modifiers.plain)} aria-label={ariaLabel} - onClick={event => { + onClick={(event) => { onToggle(event, !isOpen); if (isOpen) { onClose();