From 26b8eef75ade5afcbe45ea0393f8618f15020e7d Mon Sep 17 00:00:00 2001 From: ashoat Date: Sun, 11 Feb 2018 19:54:37 -0500 Subject: [PATCH] Use Modal's onDismiss to prevent Alert bug --- package-lock.json | 2 +- src/index.js | 15 ++++++++++++++- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index c314885..139d584 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "react-native-popover-tooltip", - "version": "1.1.1", + "version": "1.1.4", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/src/index.js b/src/index.js index 3f45312..c249823 100644 --- a/src/index.js +++ b/src/index.js @@ -102,6 +102,7 @@ class PopoverTooltip extends React.PureComponent { triangleOffset: 0, }; wrapperComponent: ?TouchableOpacity; + callOnDismiss: ?(() => void) = null; constructor(props: Props) { super(props); @@ -150,8 +151,12 @@ class PopoverTooltip extends React.PureComponent { } onPressItem = (userCallback: () => void) => { + if (this.state.isModalOpen) { + this.callOnDismiss = userCallback; + } else { + userCallback(); + } this.toggle(); - userCallback(); } onInnerContainerLayout = ( @@ -304,6 +309,7 @@ class PopoverTooltip extends React.PureComponent { { } } + onDismiss = () => { + if (this.callOnDismiss) { + this.callOnDismiss(); + this.callOnDismiss = null; + } + } + } const styles = StyleSheet.create({