Skip to content

Commit 8e304ad

Browse files
Adnan Onerhazel54
Adnan Oner
authored andcommitted
Add manual state for popover
The manual state is used in the docs, but is not implemented. Using this popover will properly listen to setting the visiblity state on mount
1 parent fe00875 commit 8e304ad

File tree

1 file changed

+3
-1
lines changed

1 file changed

+3
-1
lines changed

src/popover/Popover.jsx

+3-1
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,8 @@ export default class Popover extends Component {
5858

5959
popper.addEventListener('mouseenter', this.handleMouseEnter.bind(this));
6060
popper.addEventListener('mouseleave', this.handleMouseLeave.bind(this));
61+
} else if (trigger === 'manual') {
62+
this.setState({ showPopper: this.props.visible });
6163
} else {
6264
if (this.reference.nodeName === 'INPUT' || this.reference.nodeName === 'TEXTAREA') {
6365
this.reference.addEventListener('focus', () => { this.setState({ showPopper: true })});
@@ -139,7 +141,7 @@ export default class Popover extends Component {
139141
Popover.propTypes = {
140142
width: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
141143
placement: PropTypes.oneOf(['top', 'top-start', 'top-end', 'bottom', 'bottom-start', 'bottom-end', 'left', 'left-start', 'left-end', 'right', 'right-start', 'right-end']),
142-
trigger: PropTypes.oneOf(['click', 'focus', 'hover']),
144+
trigger: PropTypes.oneOf(['click', 'focus', 'hover', 'manual']),
143145
title: PropTypes.string,
144146
content: PropTypes.oneOfType([PropTypes.node, PropTypes.string]),
145147
popperClass: PropTypes.string,

0 commit comments

Comments
 (0)