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({