Fixed the toggle emoji dropdown bug (#29012)

This commit is contained in:
J H 2024-01-30 13:38:49 +00:00 committed by GitHub
parent ff8937aa2c
commit 1467f1e1e1
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -164,6 +164,7 @@ class EmojiPickerMenuImpl extends PureComponent {
intl: PropTypes.object.isRequired, intl: PropTypes.object.isRequired,
skinTone: PropTypes.number.isRequired, skinTone: PropTypes.number.isRequired,
onSkinTone: PropTypes.func.isRequired, onSkinTone: PropTypes.func.isRequired,
pickerButtonRef: PropTypes.func.isRequired
}; };
static defaultProps = { static defaultProps = {
@ -178,7 +179,7 @@ class EmojiPickerMenuImpl extends PureComponent {
}; };
handleDocumentClick = e => { handleDocumentClick = e => {
if (this.node && !this.node.contains(e.target)) { if (this.node && !this.node.contains(e.target) && !this.props.pickerButtonRef.contains(e.target)) {
this.props.onClose(); this.props.onClose();
} }
}; };
@ -233,6 +234,7 @@ class EmojiPickerMenuImpl extends PureComponent {
emoji.native = emoji.colons; emoji.native = emoji.colons;
} }
if (!(event.ctrlKey || event.metaKey)) { if (!(event.ctrlKey || event.metaKey)) {
this.props.onClose(); this.props.onClose();
} }
this.props.onPick(emoji); this.props.onPick(emoji);
@ -407,6 +409,7 @@ class EmojiPickerDropdown extends PureComponent {
onSkinTone={onSkinTone} onSkinTone={onSkinTone}
skinTone={skinTone} skinTone={skinTone}
frequentlyUsedEmojis={frequentlyUsedEmojis} frequentlyUsedEmojis={frequentlyUsedEmojis}
pickerButtonRef={this.target}
/> />
</div> </div>
</div> </div>