From 9797fae40f24b6dfefd37c4ad8af63307f8d4988 Mon Sep 17 00:00:00 2001 From: Trip Tate Date: Wed, 22 Apr 2020 15:08:24 -0400 Subject: [PATCH 1/2] persist the blur event so clients can use it --- src/Mentions.tsx | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/Mentions.tsx b/src/Mentions.tsx index bef7e7c..bc171bb 100644 --- a/src/Mentions.tsx +++ b/src/Mentions.tsx @@ -247,6 +247,11 @@ class Mentions extends React.Component { }; public onBlur = (event?: React.FocusEvent) => { + // the timeout causes onBlur to be called async, which causes the react synthetic + // event to be nullified. persist it if possible so clients can use it. + if (event.persist) { + event.persist(); + } this.focusId = window.setTimeout(() => { const { onBlur } = this.props; this.setState({ isFocus: false }); From 079e17d96bf37aeb967ad5fb9d19c11b04c181ee Mon Sep 17 00:00:00 2001 From: Trip Tate Date: Wed, 13 May 2020 22:12:12 -0400 Subject: [PATCH 2/2] make sure there is an event to persist --- src/Mentions.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Mentions.tsx b/src/Mentions.tsx index bc171bb..ad1ff52 100644 --- a/src/Mentions.tsx +++ b/src/Mentions.tsx @@ -249,7 +249,7 @@ class Mentions extends React.Component { public onBlur = (event?: React.FocusEvent) => { // the timeout causes onBlur to be called async, which causes the react synthetic // event to be nullified. persist it if possible so clients can use it. - if (event.persist) { + if (event && event.persist) { event.persist(); } this.focusId = window.setTimeout(() => {